AI が 30,000 ストランドのリアルタイム 3D ヘア レンダリングを推進
- 研究者は、2D 画像から完全な 3D 髪のジオメトリを生成できるニューラル ネットワークを開発しました。
- ネットワークはミリ秒以内に最大 30,000 本の髪の毛をレンダリングできます。
- ウェーブ、カーリー、ストレートなど、さまざまなヘアスタイルをスムーズにサンプリングして補間できます。
仮想人間をデジタル化する場合、マシン上でリアルな髪の毛をレンダリングするのがおそらく最も難しい作業です。目、鼻、耳などの他のオブジェクトと比較して、髪にはさまざまな形状の変化があり、各一本鎖の変形可能性のレベルとその体積構造により、非常に複雑になる可能性があります。
既存のシステムが高品質の 3D ヘア モデルを生成できないわけではありませんが、通常は特定のハードウェアとソフトウェアのセットアップが必要であり、これらは簡単には導入できません。最新の技術の中にはデータ駆動型のアプローチを利用しているものもありますが、メモリ容量が限られているリアルタイム アプリケーションやシステムには実現できません。
現在、マイクロソフト、ピンスクリーン、南カリフォルニア大学の研究者は、2D 画像からリアルタイムで完全な 3D ヘア ジオメトリを生成できる深層学習モデルを構築しました。
点群や体積グリッドの形で構造を合成するのではなく、髪束を直接作成します。この方法は非多様体構造により適しており、より高い詳細と精度を提供できます。
ヘアネット
HairNet と呼ばれるニューラル ネットワークは、3D ヘア ジオメトリを継続的に生成して表現することができます。ウェーブ、カーリー、ストレートなど、さまざまなヘアスタイルをスムーズにサンプリングして補間できます。
ニューラル ネットワーク パイプラインは、前処理、髪束の生成、再構築の 3 つのステップで構成されます。
HairNet には、2D 画像から髪の高レベルの特徴を (ベクトル形式で) 抽出するための畳み込みエンコーダーと、頭皮上に均等に分散された 32*32 のストランド特徴を生成するための逆畳み込みデコーダーが含まれています。これらのストランドの特徴は頭皮空間上で補間され、最終的に一連の 3D 点として表現されます。
ネットワークアーキテクチャ |研究者提供
レンダリングされたヘアスタイルをより妥当な空間に近づけるために、研究者はボディモデルと髪の毛の間に「再構成損失」と「衝突損失」を導入しました。彼らは、入力画像を重みとして使用して損失を調整し、精度をさらに向上させました。
トレーニング
研究者は、ランダムな視点からの 40,000 のヘアスタイルと 160,000 枚の 2 次元写真を含む大規模なデータセットでニューラル ネットワークをトレーニングしました。その後、ネットワークは 1 枚の 2D 写真から、さまざまなスタイル、色、長さの 3D 髪を再生成する方法を学習しました。
HairNet を使用して 2D イメージから髪をレンダリングする |研究者提供
AI は、CUDA ディープ ニューラル ネットワーク ライブラリを利用した PyTorch フレームワークを使用して、Nvidia Titan Xp GPU (グラフィック プロセッシング ユニット) 上でトレーニングされました。
参照:arXiv:1806.07467
ミリ秒以内に最大 30,000 本の髪の毛をレンダリングできます。さらに、ビデオを模倣して各ストランドをレンダリングすることができ、すべて相互作用します。
今後の取り組み
研究チームは、自分たちの技術はまだ完璧ではないと結論付けました。アフロ、変態、バズカットなどのエキゾチックなヘアスタイルには対応できません。ただし、より多くのバリエーションを含む大規模なデータセットでネットワークをトレーニングすると、この問題を解決できる可能性があります。
読む:AI は誰でもどんなポーズにもできる |目に見えないポーズで人間の画像を合成する
この手法は、指定された画像内で髪がわずかに隠れている場合にも失敗します。したがって、将来的には、よりランダム オクルージョンを統合することでトレーニング データセットを改善する予定です。
産業技術