・2D画像から完全な3Dの髪の形状を生成するニューラルネットワークが開発された。
・このネットワークは、数ミリ秒間に最大3万本の毛髪を描画できる。
・ウェーブ、カール、ストレートなど、様々なヘアスタイルをスムーズにサンプリングし、補間することができる。
バーチャル・ヒューマン【仮想人間】をデジタル化する際、機械上でリアルな毛髪を描画することは、おそらく最も困難なタスクです。目や鼻、耳などの他のオブジェクトと比較して、髪の毛は形状のバリエーションが豊富で、一本一本が変形しやすく、ボリューム感のある構造であるため、非常に複雑になる可能性があります。
既存のシステムが高品質な3Dヘアモデルを生成できないわけではありませんが、一般的に特定のハードウェアとソフトウェアのセットアップが必要で、簡単に導入できるものではありません。最近の技術には、データ駆動型のアプローチもありますが、リアルタイムアプリケーションやメモリ容量が限られたシステムでは実現不可能です。
今回、Microsoft、Pinscreen、南カリフォルニア大学の研究者たちが、2D画像から完全な3Dの髪の形状をリアルタイムで生成できるディープラーニングモデルを構築しました。
点群【点の集合】や体積グリッドの形で構造を合成するのではなく、髪の毛の束を直接作成するのです。この方法は、非多様体構造に適しており、より高い詳細度と精度を提供できる可能性があります。
ヘアネット
ヘアネットと呼ばれるニューラルネットワークは、3Dの髪の形状を連続的に生成し、表現することが可能です。ウェーブ、カール、ストレートなど、様々なヘアスタイルをスムーズにサンプリングし、補間することができます。
ニューラルネットワークのパイプラインは、前処理、髪の生成、再構成の3つのステップで構成されています。
ヘアネットは、2D画像から髪の高次特徴量(ベクトル形式)を抽出する畳み込みエンコーダと、頭皮上に均等に分布する32×32本の房の特徴量を生成する逆畳み込みデコーダを備えています。そして、これらの房の特徴は頭皮空間上で補間され、最終的に一連の3Dの点として表現されるのです。
ネットワークアーキテクチャ
研究者提供
描画されたヘアスタイルをより妥当な空間へと押し上げるため、研究者たちは、身体モデルと髪の束の間に「再構成損失」と「衝突損失」を導入し、さらに、入力画像を重みとして使って損失を調整し、精度を向上させました。
訓練
4万点のヘアスタイルと16万点のランダムな視点による2D写真を含む大規模なデータセットで、ニューラルネットワークを学習させました。また、1枚の2D写真から、様々なスタイル、色、長さの3Dの髪を再生することを学習させました。
ヘアネットを用いた2D画像からの毛髪の描画
研究者提供
このAIは、CUDAディープニューラルネットワークライブラリを搭載したPyTorchフレームワークを用いて、Nvidia Titan Xp GPU(Graphical Processing Unitの略【3Dグラフィックスを描画する際に必要な計算処理を行う半導体チップ】)上で学習させたものです。
最大3万本の髪をミリ秒単位で描画することができるうえ、動画を模倣して、それぞれの髪の束を描画することができます。
今後の課題
研究チームは、この技術はまだ完璧ではないと結論付けています。アフロ、縮れ毛、丸刈りのような特殊なヘアスタイルを扱うことができないのです。それでも、より多くのバリエーションを含む膨大なデータセットでネットワークを訓練すれば、この問題を解決できるかもしれません。
また、与えられた画像の中で髪がわずかに隠れている場合にも、この技術は失敗します。そのため、将来的には、よりランダムなオクルージョン【遮蔽を表現する手法】を組み込んで、学習データセットを改善する予定です。