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

カーネギーメロン大学が公開している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

DensePose: Dense Human Pose Estimation In The Wild (CVPR 2018 Oral)

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

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

AI Learns Human Pose Estimation From Videos | Two Minute Papers #237

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

2019年追記:最近はRunway MLというツールで手軽にDensePoseを試すことができるぞ↓



スポンサーリンク

関連記事

OpenCVで平均顔を作るチュートリアル
Unity ARKitプラグインサンプルのドキュメントを読む
ZBrushのハードサーフェイス用ブラシ
物理ベースレンダリングのためのマテリアル設定チートシート
ニューラルネットワークで画像分類
PCA (主成分分析)
Maya 2015から標準搭載されたMILA
Mayaのレンダリング アトリビュート
3Dグラフィックスの入門書
ドットインストールのWordPress入門レッスン
トランスフォーマー/ロストエイジのメイキング
映画『ブレードランナー 2049』のVFX
3Dスキャンに基づくプロシージャルフェイシャルアニメーション
ZBrushCoreのTransposeとGizmo 3D
UnityのGlobal Illumination
PyDataTokyo主催のDeep Learning勉強会
ZBrushと液晶ペンタブレットでドラゴンをモデリングするチュートリアル動画
ガメラ生誕50周年
Two Minute Papers:最新の研究論文を数分間で紹介するYouTubeチャンネル
ZBrush 2018へのアップグレード
『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ
RefineNet (Multi-Path Refinement Network):ディープラーニン...
ラクガキの立体化 目標設定
Raspberry Pi 2のGPIOピン配置
UnityのTransformクラスについて調べてみた
OpenCVの超解像(SuperResolution)モジュールを試す
チャットツール用bot開発フレームワーク『Hubot』
フリーのUV展開ツール Roadkill UV Tool
3D映画のポストプロダクション 2D-3D変換
3DCGのモデルを立体化するサービス
Web経由でRaspberry PiのGPIOを操作したい
UnityプロジェクトをGitHubで管理する
軽量なジオメトリ処理ライブラリ『libigl』
Unity ARKitプラグインサンプルのチュートリアルを読む
3D復元技術の情報リンク集
リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
複数視点画像から3次元形状を復元するライブラリ『openMVG』
3Dデータ処理ライブラリ『Open3D』
UnityからROSを利用できる『ROS#』
openMVGをWindows10 Visual Studio 2015環境でビルドする
ZBrush 2018での作業環境を整える

コメント