著者: Jun Gao, NVIDIA, University of Toronto, Vector Institute (jung@nvidia.com) Tianchang Shen, NVIDIA, University of Toronto, Vector Institute (frshen@nvidia.com) Zian Wang, NVIDIA, University of Toronto, Vector Institute (zianw@nvidia.com) Wenzheng Chen, NVIDIA, University of Toronto, Vector Institute (wenzchen@nvidia.com) Kangxue Yin, NVIDIA (kangxuey@nvidia.com) Daiqing Li, NVIDIA (daiqingl@nvidia.com) Or Litany, NVIDIA (olitany@nvidia.com) Zan Gojcic, NVIDIA (zgojcic@nvidia.com) Sanja Fidler, NVIDIA, University of Toronto, Vector Institute (sfidler@nvidia.com) 概要 複数の産業が大規模な3D仮想世界のモデリングへと移行するにつれて、3Dコンテンツの量、質、多様性の面でスケーラブルなコンテンツ作成ツールの必要性が明らかになっています。本研究では、3Dレンダリングエンジンで直接消費でき、下流アプリケーションで即座に使用できるテクスチャ付きメッシュを合成する、高性能な3D生成モデルのトレーニングを目指します。3D生成モデリングに関する以前の研究は、幾何学的な詳細が欠けていたり、生成できるメッシュトポロジーが限定的であったり、通常テクスチャをサポートしていなかったり、合成プロセスでニューラルレンダラーを利用していたりするため、一般的な3Dソフトウェアでの使用が容易ではありませんでした。本研究では、複雑なトポロジー、豊かな幾何学的詳細、高忠実度テクスチャを備えた、直接テクスチャ付き3Dメッシュを生成する生成モデルであるGET3Dを導入します。微分可能な表面モデリング、微分可能なレンダリング、および2D敵対的生成ネットワーク(GAN)における最近の成功を活用して、2D画像コレクションからモデルをトレーニングします。GET3Dは、車、椅子、動物、バイク、人間、建物に至るまで、高品質な3Dテクスチャ付きメッシュを生成でき、以前の方法よりも大幅な改善を達成しています。プロジェクトページはこちら: https://nv-tlabs.github.io/GET3D 1 はじめに 多様で高品質な3Dコンテンツは、ゲーム、ロボット工学、建築、ソーシャルプラットフォームなど、いくつかの産業においてますます重要になっています。しかし、3Dアセットの手動作成は非常に時間がかかり、特定の技術的知識と芸術的なモデリングスキルが必要です。主な課題の1つはスケールです。Turbosquid [ ]やSketchfab [ ]のような3Dマーケットプレイスで3Dモデルを見つけることはできますが、ゲームや映画を、すべて異なる外観を持つキャラクターの群衆で埋めるために多くの3Dモデルを作成するには、依然としてかなりのアーティストの時間が必要です。 4 3 コンテンツ作成プロセスを容易にし、さまざまな(初心者)ユーザーがアクセスできるようにするため、高品質で多様な3Dアセットを生成できる3D生成ネットワークが最近、活発な研究分野となっています [ , , , , , , , , , , ]。しかし、現在の現実世界のアプリケーションで実用的に役立つためには、3D生成モデルは理想的には以下の要件を満たす必要があります。 詳細な幾何学と任意のトポロジーを持つ形状を生成する能力があること、 出力はテクスチャ付きメッシュであること。これはBlender [ ]やMaya [ ]のような標準的なグラフィックスソフトウェアパッケージで使用される主要な表現であり、 明示的な3D形状よりも広く利用可能な2D画像を利用して監督できること。 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) 3D生成モデリングに関する以前の研究は、上記の要件のサブセットに焦点を当ててきましたが、現在までのところ、すべての要件を満たす方法は(表 )ありません。たとえば、3D点群を生成する手法 [ , 68, 75] は通常、テクスチャを生成せず、後処理でメッシュに変換する必要があります。 1 5 ボクセルを生成する手法は、幾何学的な詳細が欠けており、テクスチャを生成しないことが多い [ , , , ]。ニューラルフィールドに基づく生成モデル [ , ] は、形状の抽出に焦点を当てていますが、テクスチャは無視します。これらのほとんどは、明示的な3D監督も必要とします。最後に、テクスチャ付き3Dメッシュを直接出力する手法 [ , ] は、通常、事前に定義された形状テンプレートを必要とし、複雑なトポロジーやトポロジーが可変な形状を生成できません。 66 20 27 40 43 14 54 53 最近では、ニューラルボリュームレンダリング [ ] および2D敵対的生成ネットワーク(GAN)[ , , , , ] における急速な進歩が、3D認識型画像合成 [ , , , , , ] の台頭につながっています。しかし、この系統の研究は、合成プロセスにおけるニューラルレンダリングを使用して、マルチビュー整合性のある画像を合成することを目的としており、意味のある3D形状が生成されることを保証しません。マーチングキューブアルゴリズム [ ] を使用して、基礎となるニューラルフィールド表現からメッシュを潜在的に取得できますが、対応するテクスチャを抽出することは簡単ではありません。 45 34 35 33 29 52 7 57 8 49 51 25 39 本研究では、実用的に有用な3D生成モデルのすべての要件に取り組むことを目的とした新しいアプローチを導入します。具体的には、高解像度の幾何学的およびテクスチャの詳細、および任意のメッシュトポロジーを持つ、直接テクスチャ付き3Dメッシュを出力する3D形状の生成モデルであるGET3Dを提案します。本アプローチの中心は、微分可能な*明示的*表面抽出手法 [ ] と微分可能なレンダリング技術 [ , ] を利用する生成プロセスです。前者は、任意のトポロジーを持つテクスチャ付き3Dメッシュを直接最適化および出力することを可能にし、後者は、2D画像でモデルをトレーニングすることを可能にし、それによって2D画像合成用に開発された強力で成熟した識別器を活用します。モデルは直接メッシュを生成し、効率的な(微分可能な)グラフィックスレンダラーを使用するため、画像解像度1024×1024までモデルをスケーリングしてトレーニングでき、高品質な幾何学的およびテクスチャの詳細を学習できます。 60 47 37 ShapeNet [ ]、Turbosquid [ ]、およびRenderpeople [ ] の車、椅子、動物、バイク、人間、建物などの複雑な形状を持つ複数のカテゴリで、最先端の無条件3D形状生成性能を実証しています。明示的なメッシュを出力表現として使用することで、GET3Dは非常に柔軟であり、たとえば、(a) 高度な微分可能レンダリング [ ] を使用して、教師なしで、分解されたマテリアルおよびビュー依存の照明効果を生成するように学習すること、(b) CLIP [ ] 埋め込みを使用したテキストガイド付き3D形状生成など、他のタスクに簡単に適応できます。 9 4 2 12 56 2 関連研究 形状と外観の3D生成モデル、および3D認識型生成画像合成における最近の進歩をレビューします。 近年、2D生成モデルは高解像度画像合成 [ , , , , , , ] においてフォトリアリスティックな品質を達成しています。この進歩は、3Dコンテンツ生成の研究にも影響を与えています。初期のアプローチは、2D CNNジェネレータを3Dボクセルグリッド [ , , , , ] に直接拡張することを目的としていましたが、3D畳み込みの高メモリフットプリントと計算複雑性は、高解像度での生成プロセスを妨げます。代替として、他の研究は点群 [ , , , ]、暗黙的 [ , ]、またはオクツリー [ ] の表現を検討してきました。しかし、これらの研究は主に形状生成に焦点を当てており、外観は無視しています。また、それらの出力表現は、標準的なグラフィックスエンジンと互換性を持たせるために後処理する必要があります。 3D生成モデル 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 私たちの研究に最も近い、Textured3DGAN [ , ] とDIBR [ ] はテクスチャ付き3Dメッシュを生成しますが、テンプレートメッシュの変形として生成を定式化しているため、複雑なトポロジーや genus が可変な形状の生成を防いでいますが、これは私たちの手法では可能です。PolyGen [ ] とSurfGen [ ] は任意のトポロジーを持つメッシュを生成できますが、テクスチャは合成しません。 54 53 11 48 41 ニューラルボリュームレンダリング [ ] および暗黙的表現 [ , ] の成功に触発され、最近の研究では3D認識型画像合成 [ , , , , , , , , , ] の問題に取り組むようになりました。しかし、ニューラルボリュームレンダリングネットワークは通常、クエリが遅く、トレーニング時間が長くなり [ , ]、解像度が制限された画像を生成します。GIRAFFE [ ] とStyleNerf [ ] は、低解像度でニューラルレンダリングを実行し、その後2D CNNで結果をアップサンプリングすることにより、トレーニングとレンダリングの効率を向上させます。しかし、パフォーマンスの向上は、マルチビュー整合性の低下という代償を伴います。EG3D [ ] は、デュアルディスクリミネーターを使用することで、この問題を部分的に軽減できます。それにもかかわらず、ニューラルレンダリングに基づいた手法からテクスチャ付き表面を抽出することは、簡単な作業ではありません。対照的に、GET3Dは、標準的なグラフィックスエンジンで容易に使用できるテクスチャ付き3Dメッシュを直接出力します。 3D認識型生成画像合成 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 手法 ここでは、テクスチャ付き3D形状を合成するためのGET3Dフレームワークを提示します。生成プロセスは2つの部分に分かれています。1つは任意のトポロジーの表面メッシュを微分可能に生成するジオメトリブランチ、もう1つは表面点でのクエリで色を生成できるテクスチャフィールドを生成するテクスチャブランチです。後者は、たとえばマテリアルなどの他の表面プロパティに拡張できます(セクション )。トレーニング中、効率的な微分可能ラスタライザーを使用して、結果のテクスチャ付きメッシュを2D高解像度画像にレンダリングします。プロセス全体は微分可能であり、2D識別器からの勾配を両方のジェネレータブランチに伝播することにより、画像(関心のあるオブジェクトを示すマスク付き)からの敵対的トレーニングを可能にします。モデルの概要を 図 に示します。以下では、まずセクション で3Dジェネレータを導入し、次にセクション で微分可能レンダリングと損失関数について説明します。 4.3.1 2 3.1 3.2 3.1 3Dテクスチャ付きメッシュの生成モデル ガウス分布からのサンプリングをメッシュ とテクスチャ にマッピングする3Dジェネレータ = ( ) を学習することを目指します。 M E M, E G z 同じジオメトリが異なるテクスチャを持つことがあり、同じテクスチャが異なるジオメトリに適用できるため、2つのランダムな入力ベクトル 1 ∈ R512と 2 ∈ R512をサンプリングします。StyleGAN [ , , ] に従い、非線形マッピングネットワーク geoと texを使用して、 1と 2を中間潜在ベクトル 1 = geo( 1)と 2 = tex( 2)にマッピングし、これらはさらに3D形状とテクスチャの生成を制御する*スタイル*を生成するために使用されます。ジオメトリのジェネレータをセクション で、テクスチャジェネレータをセクション で正式に紹介します。 z z 34 35 33 f f z z w f z w f z 3.1.1 3.1.2 3.1.1 ジオメトリジェネレータ ジオメトリジェネレータは、最近提案された微分可能な表面表現であるDMTet [ ]を組み込むように設計されています。DMTetは、変形可能な四面体グリッド [ , ] 上の符号付き距離場(SDF)としてジオメトリを表し、そこからマーチングテトラヘドラ [ ] を通じて微分可能に表面を回復できます。グリッドの頂点を移動させることでグリッドを変形させると、解像度の利用が改善されます。表面抽出にDMTetを採用することで、任意のトポロジーとgenusを持つ明示的なメッシュを生成できます。次にDMTetの簡単な要約を提供し、詳細については元の論文を参照してください。 60 22 24 17 ( )をオブジェクトが含まれる完全な3D空間とし、ここで は四面体グリッド の頂点です。各四面体 ∈ は、4つの頂点{ }で定義され、 ∈ {1*, . . . , K*}, ここで は四面体の総数、および ∈ ∈ R3。その 3D座標に加えて、各頂点 は、SDF値 ∈ Rと初期の正規座標からの頂点の変形∆ ∈ R3を含みます。この表現により、微分可能なマーチングテトラヘドラ [ ] を通じて明示的なメッシュを回復できます。ここで、連続空間のSDF値は、変形された頂点 ′ = + ∆ での値 の重心補間によって計算されます。 VT , T VT T Tk T v ak , v bk , v ck , v dk k K v ik VT , v ik i v i si v i 60 v v i v i si 1 ∈ R512を、条件付き3D畳み込みおよび全結合層のシーケンスを通じて、各頂点 でのSDF値と変形にマッピングします。具体的には、まず 1で条件付けられた特徴ボリュームを生成するために3D畳み込み層を使用します。次に、三線形補間を使用して各頂点 ∈ の特徴をクエリし、SDF値 と変形∆ を出力するMLPにフィードします。高解像度でのモデリングが必要な場合(例:ホイールの細い構造を持つバイク)、[ ] に従い、ボリュームサブディビジョンをさらに使用します。 ネットワークアーキテクチャ w v i w v i VT si v i 60 すべての頂点の と∆ を取得した後、微分可能なマーチングテトラヘドラアルゴリズムを使用して明示的なメッシュを抽出します。マーチングテトラヘドラは、 の符号に基づいて、各四面体内の表面トポロジーを決定します。特に、メッシュ面は、sign( ) /= sign( ) の場合に抽出されます。ここで、 は四面体の辺の頂点のインデックスを示し、その面の頂点 は線形補間としてmi,j = v 0 i sj−v 0 j si sj−si と決定されます。上記の式はsi 6= sj の場合にのみ評価されることに注意してください。したがって、微分可能であり、mi,jの勾配はSDF値siと変形∆viに逆伝播できます。この表現により、siの異なる符号を予測することで、任意のトポロジーを持つ形状を簡単に生成できます。 微分可能メッシュ抽出 si v i si si sj i, j m i,j 3.1.2 テクスチャジェネレータ 生成された形状が任意の genus とトポロジーを持つ可能性があるため、出力メッシュと一致するテクスチャマップを直接生成することは簡単ではありません。そのため、テクスチャをテクスチャフィールド [ ] としてパラメータ化します。 50 具体的には、テクスチャフィールドを、表面点 ∈ R3の3D位置を、 2で条件付けられた関数 にマッピングし、その位置でのRGBカラー ∈ R3を生成します。テクスチャフィールドはジオメトリに依存するため、このマッピングにジオメトリ潜在コード 1も条件付けます。これにより、 = ( *,* 1 ⊕ 2) となります。ここで⊕は連結を示します。 p w ft c w c ft p w w 3Dオブジェクト [ ] の再構築や3D認識型画像 [ ] の生成において、効率的で表現力豊かなトライプレーン表現を使用してテクスチャフィールドを表します。具体的には、[ , ] に従い、条件付き2D畳み込みニューラルネットワークを使用して、潜在コード 1 ⊕ 2を、サイズ × ×( × 3)の3つの軸配置直交特徴プレーンにマッピングします。ここで、 = 256は空間解像度、 = 32はチャネル数を示します。 ネットワークアーキテクチャ 55 8 8 35 w w N N C N C 特徴プレーンが与えられると、表面点 p の特徴ベクトル f t ∈ R 32 は、 f t = P e ρ(πe(p)) として回復できます。ここで、πe(p) は点 p の特徴プレーン e への投影、ρ(·) は特徴の双線形補間を表します。さらに全結合層を使用して、集約された特徴ベクトル f t をRGBカラー c にマッピングします。なお、3D認識型画像合成でニューラルフィールド表現を使用する他の研究とは異なり、テクスチャフィールドは、表面点の位置(ビームに沿った密なサンプルとは対照的に)でのみサンプリングする必要があります。これにより、高解像度画像のレンダリングの計算複雑性が大幅に削減され、構築によりマルチビュー整合性のある画像が生成されることが保証されます。 3.2 微分可能レンダリングとトレーニング トレーニング中にモデルを監督するために、微分可能レンダラーを利用してマルチビュー3Dオブジェクト再構築を実行するNvdiffrec [ ] に触発されます。具体的には、微分可能レンダラー[ ]を使用して、抽出された3Dメッシュとテクスチャフィールドを2D画像にレンダリングし、実物または生成されたオブジェクトからレンダリングされた画像を区別しようとする2D識別器でネットワークを監督します。 47 37 データセットの画像を取得するために使用されたカメラ分布Cが既知であると仮定します。生成された形状をレンダリングするために、Cからカメラ をランダムにサンプリングし、高最適化された微分可能ラスタライザーNvdiffrast [ ] を使用して、3Dメッシュを2Dシルエットおよび各ピクセルがメッシュ表面上の対応する3D点の座標を含む画像にレンダリングします。これらの座標は、さらにテクスチャフィールドをクエリしてRGB値を取得するために使用されます。抽出されたメッシュを直接操作するため、高解像度画像を効率的にレンダリングでき、モデルを最大1024×1024の画像解像度でトレーニングできます。 微分可能レンダリング c 37 敵対的目的関数を使用してモデルをトレーニングします。StyleGAN [ ] の識別器アーキテクチャを採用し、R1正則化 [ ] を備えた同じ非飽和GAN目的関数を使用します。RGB画像とシルエットの両方に動作する単一の識別器よりも、RGB画像用とシルエット用の2つの別々の識別器を使用すると、より良い結果が得られることが経験的にわかりました。 を識別器とし、 がRGB画像またはシルエットのいずれかであるとします。敵対的目的関数は次のように定義されます。 識別器と目的関数 34 42 Dx x ここで、 ( )は ( ) = − log(1 +exp(− ))と定義され、 は実画像分布、 はレンダリング、 はハイパーパラメータです。 は微分可能であるため、勾配は2D画像から3Dジェネレータに逆伝播できます。 g u g u u px R λ R どのビューでも表示されない内部の浮動面を除去するために、頂点の隣接する頂点のSDF値の間に定義されたクロスエントロピー損失を使用して、ジオメトリジェネレータをさらに正則化します [ ]: 正則化 47 ここで、 は二項クロスエントロピー損失、 はシグモイド関数を表します。式 の合計は、四面体グリッドのユニークなエッジのセットS について定義され、sign( ) /= sign( ) です。 H σ 2 e si sj 全体的な損失関数は次のように定義されます。 ここで、 は正則化のレベルを制御するハイパーパラメータです。 µ 4 実験 広範な実験を実施してモデルを評価します。まず、ShapeNet [ ] およびTurbosquid [ ] データセットを使用して、GET3Dが生成する3Dテクスチャ付きメッシュの品質を既存の手法と比較します。次に、セクション で設計の選択についてアブレーションを行います。最後に、セクション で下流アプリケーションに適合させることでGET3Dの柔軟性を示します。追加の実験結果と実装詳細は付録に記載されています。 9 4 4.2 4.3 4.1 合成データセットでの実験 ShapeNet [ ] での評価のために、複雑な形状を持つ3つのカテゴリ( 、 、 )を使用します。それぞれ7497、6778、337個の形状が含まれています。各カテゴリをランダムにトレーニング(70%)、検証(10%)、テスト(20%)に分割し、トレーニングセットに重複がある形状をテストセットから削除します。トレーニングデータをレンダリングするために、各形状の上半球からカメラポーズをランダムにサンプリングします。 と のカテゴリでは24個のランダムなビューを使用し、 では形状が少ないため100個のビューを使用します。ShapeNetのモデルには単純なテクスチャしかないため、TurboSquid [ ] から収集した*動物*データセット(442形状)でもGET3Dを評価します。ここではテクスチャがより詳細であり、トレーニング、検証、テストに上記のように分割します。最後に、GET3Dの汎用性を示すために、Turbosquid(563形状)から収集した*家*データセット、およびRenderpeople [ ](500形状)から収集した*人間*データセットでの定性的な結果も示します。各カテゴリで個別のモデルをトレーニングします。 データセット 9 車 椅子 バイク 車 椅子 バイク 4 2 GET3Dを2つのグループの研究と比較します。 3D監督に依存する3D生成モデル:PointFlow [ ] とOccNet [ ]。これらの手法はテクスチャなしの形状のみを生成することに注意してください。 3D認識型画像生成手法:GRAF [ ]、PiGAN [ ]、およびEG3D [ ]。 ベースライン 1) 68 43 2) 57 7 8 合成品質を評価するために、生成された形状の形状とテクスチャの両方を メトリクス