著者: 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メッシュを生成する enerative model for xplicit extured meshesであるGET3Dを紹介します。2D画像コレクションからモデルをトレーニングするために、微分可能な表面モデリング、微分可能なレンダリング、および2D敵対的生成ネットワーク(GAN)の最近の成功を活用します。GET3Dは、車、椅子、動物、バイク、人間キャラクターから建物まで、高品質の3Dテクスチャ付きメッシュを生成でき、以前の方法よりも大幅な改善を達成しています。プロジェクトページはこちら: G E T 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形状のための enerative model for xplicit extured meshesであるGET3Dを提案します。本アプローチの中心は、微分可能な*明示的*表面抽出法 [ ] と微分可能なレンダリング技術 [ , ] を利用する生成プロセスです。前者により、任意のトポロジーを持つテクスチャ付き3Dメッシュを直接最適化および出力できます。後者により、2D画像でモデルをトレーニングできるため、2D画像合成用に開発された強力で成熟した識別器を活用できます。モデルは直接メッシュを生成し、高効率な(微分可能な)グラフィックスレンダラーを使用するため、モデルを最大1024×1024の画像解像度でトレーニングするためにスケールアップでき、高品質の幾何学的およびテクスチャの詳細を学習できます。 G E T 3D 60 47 37 ShapeNet [ ]、Turbosquid [ ]、Renderpeople [ ] の車、椅子、動物、人間キャラクター、建物などの複雑なジオメトリを持つ複数のカテゴリで、最先端の無条件3D形状生成パフォーマンスを実証しています。明示的なメッシュを出力表現として使用するGET3Dは非常に柔軟であり、他のタスクにも簡単に適応できます。具体的には、 高度な微分可能レンダリング [ ] を使用して、教師なしで分解されたマテリアルおよびビュー依存の照明効果を生成するように学習すること、 CLIP [ ] 埋め込みを使用したテキストガイド型3D形状生成。 9 4 2 (a) 12 (b) 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メッシュを生成しますが、テンプレートメッシュの変形として生成を定式化しているため、複雑なトポロジーや可変属を持つ形状の生成を防ぎます。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テクスチャ付きメッシュの生成モデル ガウス分布からのサンプリング ∈ N (0*,* ) を、テクスチャ を持つメッシュ にマッピングする3Dジェネレーター = ( ) を学習することを目指します。 z I E M 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を採用することにより、任意のトポロジーと属を持つ明示的なメッシュを生成できます。次に、DMTetの簡単な概要を示し、詳細については元の論文を参照してください。 60 22 24 17 ( ) をオブジェクトが存在する完全な3D空間とし、ここで は四面体グリッド の頂点です。各四面体 ∈ は、 ∈ {1*, . . . , K*}、ここで は四面体の総数、および ∈ ∈ R3です。各頂点 は、その3D座標に加えて、SDF値 ∈ Rと、初期の正規座標からの変形∆ ∈ R3を含みます。この表現により、微分可能なマーチングテトラヘドラ [ ] を介して明示的なメッシュを復元できます。ここで、連続空間でのSDF値は、変形された頂点 ′ = + ∆ での値 の重心補間によって計算されます。 VT , T VT T Tk T k K v ik VT , v ik v i si v i 60 v v i v i si 1 ∈ R512を、条件付き3D畳み込みおよび全結合層のシリーズを介して、各頂点 でのSDF値と変形にマッピングします。具体的には、まず3D畳み込み層を使用して、 1で条件付けされた特徴ボリュームを生成します。次に、重心補間を使用して各頂点 ∈ の特徴をクエリし、それをMLPに供給してSDF値 と変形∆ を出力します。高解像度でのモデリングが必要な場合(例:ホイールの細い構造を持つバイク)、[ ] に従い、ボリュームサブディビジョンをさらに使用します。 ネットワークアーキテクチャ w v i w v i VT si v i 60 すべての頂点の および∆ を取得した後、微分可能なマーチングテトラヘドラアルゴリズムを使用して明示的なメッシュを抽出します。マーチングテトラヘドラは、 の符号に基づいて、各四面体内の表面トポロジーを決定します。特に、メッシュ面は、sign( ) /= sign( ) の場合に抽出されます。ここで、 は四面体のエッジの頂点のインデックスを示し、その面の頂点**m** は線形補間によって決定されます。 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 i,j 3.1.2 テクスチャジェネレーター 出力メッシュと整合性のあるテクスチャマップを直接生成することは、生成された形状が任意の属とトポロジーを持つ可能性があるため、容易ではありません。そのため、テクスチャをテクスチャフィールド [ ] でパラメータ化します。 50 具体的には、テクスチャフィールドを関数*ft*でモデル化し、表面ポイント ∈ R3の3D位置を、 2で条件付けされて、その位置のRGB色 ∈ R3にマッピングします。テクスチャフィールドはジオメトリに依存するため、このマッピングにジオメトリ潜在コード 1で条件付けも行い、 = ( *,* 1 ⊕ 2) とします。ここで、⊕は連結を表します。 p w 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の特徴ベクトルft ∈ R 32 は、ft = P e ρ(πe(p)) として回復できます。ここで、πe(p) はポイントpの特徴平面eへの投影であり、ρ(·) は特徴の双線形補間を表します。追加の全結合層を使用して、集約された特徴ベクトルftをRGB色cにマッピングします。注:3D認識型画像合成 でニューラルフィールド表現を使用する他の研究とは異なり、テクスチャフィールドは表面ポイントの位置でのみサンプリングする必要があります(レイに沿った密なサンプリングとは対照的)。これにより、高解像度画像のレンダリングの計算複雑性が大幅に削減され、構築によりマルチビュー整合性のある画像が生成されることが保証されます。 3.2 微分可能レンダリングとトレーニング トレーニング中にモデルを教師あり学習させるために、微分可能なレンダラーを利用したマルチビュー3Dオブジェクト再構築を実行するNvdiffrec [ ] からインスピレーションを得ます。具体的には、微分可能なレンダラー [ ] を使用して、抽出された3Dメッシュとテクスチャフィールドを2D画像にレンダリングし、2D識別器でネットワークを教師あり学習させます。この識別器は、画像を実オブジェクトまたは生成されたオブジェクトからレンダリングされたものと区別しようとします。 47 37 データセットの画像取得に使用されたカメラ分布Cが既知であると仮定します。生成された形状をレンダリングするために、Cからカメラcをランダムにサンプリングし、最適化された微分可能なラスタライザーNvdiffrast [ ] を使用して、3Dメッシュを2Dシルエットおよび各ピクセルが対応する3Dの座標を持つ画像にレンダリングします。 微分可能レンダリング 37 メッシュ表面のポイント。これらの座標は、さらにテクスチャフィールドをクエリしてRGB値を取得するために使用されます。抽出されたメッシュを直接操作するため、高効率で高解像度画像をレンダリングでき、モデルを最大1024×1024の画像解像度でトレーニングできます。 敵対的目的関数を使用してモデルをトレーニングします。StyleGAN [ ] の識別器アーキテクチャを採用し、R1正規化 [ ] を持つ同じ非飽和GAN目的関数を使用します。経験的に、RGB画像とシルエットにそれぞれ1つずつ、2つの別々の識別器を使用すると、両方を操作する単一の識別器よりも優れた結果が得られることがわかりました。 を識別器とし、 がRGB画像またはシルエットのいずれかであるとします。敵対的目的関数は次のように定義されます。 識別器と目的関数 34 42 Dx x ここで、 ( ) は ( ) = − log(1 +exp(− )) と定義され、 は実画像の分布、 はレンダリング、 はハイパーパラメータです。 は微分可能であるため、勾配は2D画像から3Dジェネレーターに逆伝播できます。 g u g u u px R λ R いずれのビューでも表示されない内部浮動面を除去するために、隣接する頂点のSDF値 [ ] の間に定義されたクロスエントロピー損失でジオメトリジェネレーターをさらに正規化します。 正規化 47 ここで、 は二項クロスエントロピー損失、 はシグモイド関数を表します。式 の合計は、四面体グリッドのユニークなエッジS*e*のセットについて定義され、sign( ) /= sign( ) です。 H σ 2 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 合成品質を評価するために、生成された形状のジオメトリとテ メトリクス