Nexus: Native Mesh Generation with Diffusion
Nexusは、オクトリーベースの疎なボクセルを用いた粗から密への頂点生成と、連続的な頂点ごとの埋め込みによるグローバルなトポロジー復元へとプロセスを分離することで、高品質な3Dメッシュを生成する新しい拡散ベースのフレームワークであり、従来の自己回帰的手法を品質と堅牢性の両面において凌駕している。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
あなたは、お気に入りのビデオゲームや映画に出てくるような3Dの世界を構築しようとしていると想像してください。これらの世界をリアルに見せるために、コンピュータは「メッシュ」を使用します。これは、物体の形を与えるために物体を包み込む、小さな三角形で作られた目に見えない網のようなものです。長い間、コンピュータにこの網を描く方法を教える最善の方法は、コンピュータに、非常に高速で非常に厳格なロボットのように振る舞わせ、特定の順序で、一つひとつの小さなパーツを組み立てさせることでした。それは、左下の角から右上の角まで、決して先へ進んだり全体像を見たりすることを許されず、一つひとつのレンガを一つずつ置くことで家を建てるようなものです。もしロボットが最初のレンガでミスをすると、家全体が歪んでしまう可能性があり、先へ進むことができないため、完成させるのに時間がかかります。
しかし、もしコンピュータが、その形全体を一度に「夢見る」ことができたらどうでしょう?これは、コンピュータグラフィックスの研究者たちが投げかけている大きな問いです。彼らは、この「レンガを一つずつ積む」スタイルから脱却し、「拡散(ディフュージョン)」と呼ばれる手法を使いたいと考えています。拡散を、霧の雲がゆっくりと晴れていき、その下に彫像が現れる様子を見ることに例えてみましょう。物体をパーツごとに組み立てるのではなく、コンピュータは無秩序なノイズの雲から始まり、完璧な3Dオブジェクトが現れるまで、徐々にそれを洗練させていくのです。課題は、3D形状が非常にトリッキーであることでした。それらは単なる平らな画像ではなく、「骨格」(三角形)を持っており、それらが完璧に接続されている必要があります。もしコンピュータが形は正しく作ったとしても、骨格が間違っていれば、物体はバラバラになってしまいます。
ここで、「Nexus」と呼ばれる新しい論文が登場します。Nexusの開発者たちは、3Dメッシュをレンガを積むロボットのように作るのをやめ、粘土を形作る彫刻家のように扱うことに決めました。彼らは、2つの大きな並行ステップを用いて3Dメッシュを生成する、新しいシステムを作り上げました。これにより、パーツを特定の順序で並べる必要性を完全にスキップしました。まず、特別な「霧を晴らす」プロセスを使用して、物体の点(頂点)がどこにあるべきかを判断し、粗い塊から詳細なモデルへと形を構築します。次に、巧妙で新しい数学的トリックを用いて、順番を推測することなく、それらの点がどのように結合して三角形を形成するかを判断します。
この論文は、この新しい考え方が古い手法の最大の問題を解決することを示唆しています。従来の「レンガを一つずつ積む」アプローチでは、エラーが蓄積しやすく、一つのミスがモデル全体を台無しにしてしまうことがあり、複雑な形状を作るのに時間がかかります。しかし、Nexusはこれらの罠を回避しているようです。テストにおいて、このシステムは、以前の最高の手法よりも優れた、高品質な3Dモデルを生成しました。研究者たちは、どのコンピュータが作ったのかを知らされない状態で、実際の3Dアーティストに結果を見てもらいました。すると、アーティストたちは圧倒的にNexusが作った形状を好みました。この論文は、コンピュータに形全体を一度に見せ、「霧を晴らす」テクニックを使うことで、以前よりもはるかに速く、かつ確実に、複雑で芸術的な3D世界を作成できることを示しています。
古いやり方:記憶力の悪いロボット
なぜNexusがこれほど重要なのかを理解するために、コンピュータがどのように3D形状を作っていたかを見てみましょう。複雑な彫刻を電話越しに友人に説明しようとしていると想像してください。古いやり方はこうでした。「まず、ここに点を置いて。次に、あそこに点を置いて。それらを繋いで。それから、もう一つ点を置いて……」という具合です。あなたはすべての点と接続を、一つひとつ順番に、厳格な列としてリストアップしなければなりませんでした。これは「自己回帰的(オートレグレッシブ)」なプロセスと呼ばれます。
この一行ずつ進むアプローチの問題は、非常に長い指示リストを使った「伝言ゲーム」をしているようなものであることです。もし最初の指示で小さなミスをすると、次の指示が意味をなさなくなる可能性があり、彫刻全体がねじれた無残な姿になってしまいます。また、コンピュータは次のステップを開始する前に一つのステップが終わるのを待たなければならないため、複雑なものを構築するのに長い時間がかかります。それは、巨大な壁画を描く際に、一度に数インチ四方しか塗ることが許されず、次の正方形に進む前に塗料が乾くのを待たなければならないようなものです。
新しいやり方:形を夢見る
Nexusは、「全体を一度に夢見ることができるなら、なぜパーツごとに作る必要があるのか?」と問いかけることで、ゲームのルールを変えました。研究者たちは、この手法を「拡散(ディフュージョン)」と呼んでいます。このように考えてみてください。渦巻くカラフルな霧が入った瓶があるとします。その霧の中に、隠された形が待っています。コンピュータは、ランダムで乱雑な霧で満たされた瓶から始まります。次に、一歩下がって、「この霧を少し取り除いたら、どんな形が見え始めてくるだろうか?」と問いかけます。これを何度も繰り返し、ノイズをゆっくりと取り除いていくことで、完璧な3Dオブジェクトが飛び出してきます。
しかし、落とし穴があります。3Dオブジェクトは単なる滑らかな塊ではありません。それは三角形の網でできています。コンピュータは、点がどこにあるか(ジオメトリ)と、それらがどのように接続されるか(トポロジー)という2つのことを知る必要があります。従来の拡散手法は、物体の種類によって三角形の数が変わるため、「どのように接続されるか」という部分で苦戦し、コンピュータは順番を推測することに混乱してしまいました。
Nexusの2ステップの魔法
Nexusは、互いに待つ必要のない、2つの別々の超高速タスクに仕事を分割することで、この問題を解決しました。
ステップ1:オクトリー・スカルプター(点を見つける)
まず、システムは物体の点がどこにあるべきかを判断します。物体全体を一度に見る代わりに、「階層的オクトリー」を使用します。巨大な3Dルービックキューブを想像してください。コンピュータはまず、キューブ全体を見ます。物体はその中にあるでしょうか? もしそうなら、そのキューブを8つの小さなキューブに分割します。それぞれの小さなキューブをチェックします。もし小さなキューブに物体の一部が含まれていれば、その一つをさらに8つのより小さなキューブに分割します。これを繰り返して、より詳細になっていき、最終的に点が存在する正確な場所を見つけ出します。
これは、大きな石のブロックから始まり、角を削って大まかな形を作り、次に小さな破片を削って曲線を作り、最後に小さな道具を使って細部を彫り出す彫刻家のようなものです。コンピュータはこのキューブの各レベルでこの「霧を晴らす」プロセスを行い、粗い塊から鋭く詳細なオブジェクトへと形を構築していきます。階層的に行うことで、非常に効率的であり、物体のサイズに惑わされることもありません。
ステップ2:時空の織り手(点を繋ぐ)
点が特定されたら、次はそれらを繋いで三角形を作る必要があります。これが最も難しい部分です。研究者たちは、「時空間隔(Spacetime Interval)」と呼ばれる新しい数学的トリックを考案しました。
たくさんの点が空間に浮いていると想像してください。通常の数学では、2つの点が近くにあれば「接続されている」とみなされます。しかし、3D形状においては、2つの点が近くにあっても「接続されていない」ことがあります(例えば、薄い紙の反対側にある2つの点のように)。古い数学では、このことで混乱が生じていました。
「時空間隔」は、二つの側面を持つ特別な定規のようなものです。「空間」の側面と「時間」の側面です。コンピュータはすべての点に対して、空間の部分と時間の部分の両方を持つ秘密のコードを与えます。2つの点が接続されるべきかどうかを判断するために、コンピュータは単にそれらの間の距離を測るだけではありません。空間の距離と時間の距離の差を測定します。もし空間の部分が時間の部分よりも大きければ、それらは接続されます。もし時間の部分の方が大きければ、それらは離れたままになります。
これは奇妙に聞こえますが、魔法のように機能します。これにより、コンピュータは、点は近いけれど触れてはいけないものや、遠いけれど接続されるべきものがある複雑な形状を扱うことができます。それは、たとえ点が正しい場所にいないように見えても、点をつなぐ目に見えない糸を見ることができる特別な眼鏡を持っているようなものです。このトリックを使うことで、コンピュータは順番を推測することなく、接続のネットワーク全体を一度に把握することができるのです。
結果が示すこと
研究者たちは、インターネット上の何千もの玩具や物体を含む、膨大な3Dモデルのデータセットを用いてNexusをテストしました。そして、依然として古い「レンガを一つずつ積む」アプローチを使用している既存の最高の手法と比較しました。
結果は明白でした。Nexusの方がより良い形状を作りました。モデルには穴が少なく、壊れた部分も少なく、より本物の物体に近い見た目でした。研究者たちが、どのコンピュータが作ったのかを知らされない状態で、3Dアーティストに好きなモデルを選んでもらったところ、アーティストたちは93%の確率でNexusのモデルを選びました。これは大きな勝利です。
また、論文はNexusが非常にタフであることを示しました。入力データが乱雑であったり、ノイズが含まれていたりしても(質の悪い3Dスキャンのように)、Nexusはクリーンな形状を作り上げることができました。また、数千の三角形を持つ物体を扱うことも可能でした。以前の手法では時間がかかっていたことです。実際、Nexusは単一のコンピュータチップ上で、最大2万個の三角形を持つ複雑なシーンを約60秒で生成することができました。
なぜこれが重要なのか
この論文は、コンピュータにロボットのように3D世界を構築させる必要はないということを示唆しています。「夢見る」プロセス(拡散)を用い、「時空間隔」という接続を理解するための新しい方法を与えることで、より美しく、より正確で、より迅速に作成できる3D形状を生み出せるのです。
研究者たちは、自分たちの手法がまだ完璧ではないことも認めています。点の生成には約1分かかり、物体の面が正しい方向を向いていることを確認するために、追加の修正が必要になることもあります。しかし、核となるアイデア――つまり、特定の順序でソートすることなく複雑な3Dメッシュを生成できるということ――は、3Dアートやゲーミングの未来における強力な新しい方向性であるように思われます。それは、コンピュータが、私たちの夢の中にあるものと同じくらい自然で流動的な、未知の世界を作り出すための扉を開くものです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。