DensePose:画像中の人物表面のUV座標を推定する

カーネギーメロン大学が公開している2D画像からの人体骨格推定ライブラリOpenPoseの元の研究である”Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields“が発表されて以降、2D画像・動画からの骨格推定の研究とソースコードの公開が活発な印象。

DensePoseは、骨格ではなく、動画中の人物領域の3DサーフェスのUV座標を推定するという、とても具体的なタスクの研究。面白そうなので論文がarXivに公開されてからすぐに読んだのでした。
ただ、CGに詳しくない人には課題設定がピンと来ないんじゃないかな。

DensePose: Dense Human Pose Estimation In The Wild


Dense human pose estimation(密な人体姿勢推定)は、画像中の人物のRGB画素全てを3Dの人体サーフェスへマッピングすることを目的としています。

  • 5万枚のCOCOデータセットの画像に対して人力で2D画像と3Dサーフェスの対応関係をアノテーションした大規模なground-truthデータセット「DensePose-COCO」を提案します。
  • Mask-RCNNを改良し、動画の毎秒複数フレームに写るそれぞれの人物領域の各人体パーツのUV座標を密に回帰推定する「DensePose-RCNN」を提案します。

DensePose-COCOデータセットも公開予定だそうです。
https://github.com/arXivTimes/arXivTimes/issues/638



ソースコードがGitHubで公開されましたね↓
https://github.com/facebookresearch/DensePose

Dockerfileもあるので試すのは楽か?
2018年12月 追記:試した方がいます↓
http://whoopsidaisies.hatenablog.com/entry/2018/12/03/193759

これって、顔画像で言うところのFace Alignmentに近い役割ができて、Body Alignmentって言っても良さそう。
画像中から人物表面のUV座標が推定できれば、身体の模様(つまり服装)を比べたり、入れ替えたり、描き替えたりできるんですよね。

著者にFacebook AI Researchの人が2人入ってるけど、やっぱり目指すのは画像からの個人識別なんですかね。
https://research.fb.com/facebook-open-sources-densepose/
https://shiropen.com/seamless/facebook-ai-densepose

論文では、データセットを作るためのアノテーションツールを設計と、アノテーションの質の評価についても載っている。



ちゃんと解きたいタスクに適したデータセットを用意して、タスクに適したネットワークを設計する、ってのが機械学習の良いアプローチなのだろうか。
機械学習でOverfitting(過学習)と呼ばれる現象は、データセットとタスクのギャップと言えるのかもしれない。

2019年追記:最近はRunway MLというツールで手軽にDensePoseを試すことができるぞ↓
Runway ML:クリエイターのための機械学習ツール
表現のための機械学習(というかディープラーニング)がじわじわと来ている、と勝手に思っている。実際、グラフィックス系のカンファレンスでもディープラーニングのセッションが大盛況だし。クリエイターが機械学習の恩恵を受けられるアプリケーションは、A...

関連記事

Adobe Photoshop CS4 Extendedの3...

ニューラルネットワークで画像分類

リメイク版ロボコップスーツのメイキング

Python for Unity:UnityEditorでP...

アニゴジ関連情報

3Dスキャンに基づくプロシージャルフェイシャルアニメーション

ZBrushで仮面ライダー3号を造る ベース編

Mayaのポリゴン分割ツールの進化

Blender 2.81でIntel Open Image ...

Pythonのソースコードに特化した検索エンジン『Nulle...

UnityのGlobal Illumination

ZBrushでメカ物を作るチュートリアル動画

UnityでLight Shaftを表現する

映画から想像するVR・AR時代のGUIデザイン

Google App Engineのデプロイ失敗

ゴジラ(2014)のメイキング

ZBrushと液晶ペンタブレットでドラゴンをモデリングするチ...

JavaScriptとかWebGLとかCanvasとか

Faceshiftで表情をキャプチャしてBlender上でM...

TensorFlowでCGを微分できる『TensorFlow...

Kinect for Windows v2の日本価格決定

映画『ミュータント・タートルズ』を観てきた

Fast R-CNN:ディープラーニングによる一般物体検出手...

OpenCVの顔検出過程を可視化した動画

オープンソースの顔認識フレームワーク『OpenBR』

映画『シン・ウルトラマン』 メイキング記事まとめ

手を動かしながら学ぶデータマイニング

MFnMeshクラスのsplit関数

UnityでPoint Cloudを表示する方法

3Dモデルを立体視で確認できるVRアプリを作っている

iPhone x ロボットハッカソン~RomoのiPhone...

ManuelBastioniLAB:人体モデリングできるBl...

PGGAN:段階的に解像度を上げて学習を進めるGAN

Googleが画像解析旅行ガイドアプリのJetpac社を買収

OpenMVS:Multi-View Stereoによる3次...

Polyscope:3Dデータ操作用GUIライブラリ

ZBrushでアマビエを作る その2

Structure from Motion (多視点画像から...

BlenderのGeometry Nodeで遊ぶ

Dlib:C++の機械学習ライブラリ

BlenderのPython環境にPyTorchをインストー...

Point Cloud Libraryに動画フォーマットが追...

コメント