ICONで、1枚の人物写真から3Dモデルを作成する

1.はじめに

 従来から、1枚の人物写真から3Dモデルを作成する技術はありましたが、かなりポーズに制約がありました。今回ご紹介するのは、ボディ推定プロセスにフィードバックを掛けることによってこのポーズの制約を緩和したICONという技術です。

 この論文は、2021.12に提出されました。

2.ICONとは?

 ICONは、Implicit Clothed humans Obtained from Normals(法線から得られた暗黙の服を着た人間)の略です。

 下図はICONの概要で、ボディガイドによる予測(Body-guided normal predictions)と3D再構成(Local-feature based implicit 3D representation)の2つので構成されています。

 ボディガイドによる予測では、写真から取り出した人間のRGB画像を出力すると共に、SMPL(簡易人体モデル)の推定結果を元に前・後方向から見た衣服を着たモデルの推定結果を出力します。

 このSMPL推定プロセスにおいて、法線を利用した形状改良のフィードバックを掛けることで精度を向上させている点が今回の技術のミソです。

 3D再構成では、それらの出力結果から可視性を考慮して陰関数曲面(占有フィールドの等値面)を推定します。

3.コード

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

 まず、セットアップを行います。今回は、元のコードがcolabにminicondaで新たな環境を作って動かすものになっているので、20分くらい時間がかかりますが、コーヒーでも飲んでゆっくりお待ちください。

 なお、セットアップの途中で下記のような「まだ操作中ですか?」という表示が現れることがあります。その時は「私はロボットではありません」をクリックして下さい。最近、googleは良くこの警告を入れて来て、反応がないと接続を切断するのでご注意下さい。

*ご注意:このブロックの完了に25分以上掛かる場合は、一部のサイトからのダウンロードが上手く行っていないことが考えられます。その場合は「ランライム/ランタイムを接続解除して削除」を押してリセットし、再度実行して下さい。

 まず、サンプル画像を見てみましょう。ご自分で用意した画像を使用したい場合は、examples フォルダにその画像をアップロードして下さい。

 

 それでは、3Dモデルを作成してみましょう。表示されたサンプル画像の中から1つ選んで filename に記入し、実行します。ここでは、filename = 05.jpg と設定しています。

 下記を実行すると作成した動画がダウンロード出来ます。その際、stylecloth を設定すると「着衣」、body を設定すると「ボディ」、full を設定すると「ボディ+着衣」の動画が選択出来ます。

 その他、results/icon-filter には、以下の画像データが出力されます。また、objフォルダには*.objファイルデータが保存されています。

gif/05_smpl.gif
png/05_smpl.png
png/05_overlap.png
png/05_cloth.png

 

 その他の画像サンプルでもやってみましょうか。

 最終的に出力する3Dモデルの形状の精度はまだ粗いですが、かなりアクロバティックなポーズでも3Dモデルの作成が可能になったようです。

 では、また。

(オリジナルgithub)https://github.com/YuliangXiu/ICON

2022.11.9 アップデート

オリジナルgithubの改定に伴い、コードをアップデートしました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

アバター

ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。