cedro-blog

4D-Humansで、3Dモデル推定とトラッキングを行う

1.はじめに

 今回ご紹介するのは、特殊なポーズでも3Dモデル推定が可能な4D-Humansという技術です。

2.4D-Humansとは?

 下記が4D-Humansの概略図です。まず、HMR 2.0と呼ばれるトランスフォーマー構造のネットワークで人間のポーズの特徴量を抽出し、3Dモデル推定します(左図)。これによって、従来では3Dモデル推定が困難であった特殊なポーズでも、モデル推定を可能にしています。

 次に、3Dモデル推定の結果を元に、あるシーンと次のシーンを比較し適切な補正を掛けることによって、人物の精度の良いTrackingも可能にしています(右図)。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンクをクリックし表示されたノートブックの先頭にある「Open in Colab」ボタンをクリックすると動かせます。

 まず、セットアップを行います。

 

 まず、静止画から3Dモデルを推定してみましょう。picで静止画(jpg)を指定して実行します。自分の用意した静止画(jpg)を使用する場合は、example_data/images/ にアップロードして下さい。

 

 それでは、3Dモデルを推定した静止画を見てみましょう。

 サイドビューも同時に推定していますね。

 次に、動画から3Dモデル推定してみましょう。ちょっと面倒ですが、!python track.py video.source=の後に、推定したい動画のパスを記入して実行します。

 

 それでは3Dモデルを推定した動画を見てみましょう。

 従来の3Dモデル推定技術では、こういった体が逆さまになるようなポーズは上手く推定できなかったのですが、4D-Humansでは見事に3Dモデル推定出来ていますね。

(オリジナルgithub)https://github.com/shubham-goel/4D-Humans

(twitter投稿)