MeshCoder: LLM-Powered Structured Mesh Code Generation from Point Clouds
MeshCoder: LLM-Powered Structured Mesh Code Generation from Point Clouds
基本情報
arXiv IDは2508.14879v1です(https://arxiv.org/abs/2508.14879 )。
著者は12名で構成されており、Bingquan DaiとLi Ray Luoが筆頭著者です。
主要な所属機関はShanghai Artificial Intelligence Laboratoryです。
その他にTsinghua University、Harbin Institute of Technology (Shenzhen)などが含まれます。
Beijing Institute of Technology、AI Thrust HKUST(GZ)も参加機関です。
投稿日は2025年08月22日(推定)で、カテゴリはcs.CL、cs.LG、cs.CVです。
簡単に説明すると
この研究は、3D点群データから編集可能なBlender Pythonスクリプトを自動生成するAIシステム「MeshCoder」を提案している。従来の3D形状生成手法では、アーティストが求める高品質な四角形メッシュや部位分割された構造を作ることが困難だった。MeshCoderは、大規模言語モデル(LLM)を活用して、点群を入力として受け取り、各部位ごとに実行可能なBlenderコードを生成する。これにより、複雑な3D形状を構造化された編集しやすい形で再構築でき、パラメータを変更するだけで形状の編集も可能になる。プロジェクトのホームページは https://daibingquan.github.io/MeshCoder で公開されている。約100万個のオブジェクトと対応するコードのペアで学習しており、41のカテゴリの室内オブジェクトを高精度で再構築できる。
1. 研究概要
1.1 背景と動機
3Dアセット制作において、従来の生成手法では3つの重要な課題が存在します。
第一に、既存の手法では部位分割されていない一体型のメッシュを生成するため、UV展開やマテリアル割り当て、
部位単位での操作などアーティストの実際のワークフローに適用することが困難です。
第二に、マーチングキューブアルゴリズムなどで生成されるメッシュは不規則な三角形面で構成されており、
アーティストが求める整った四角形メッシュとは大きく異なります。
第三に、現在の生成手法は構造化されていない自動回帰的な生成をするため、
アーティストが行うような原始図形の変形、曲線の押し出し、ブール演算といった構造的な操作に対応できません。
従来のドメイン特化言語(DSL)を用いた形状プログラム生成手法も存在しますが、
立方体や球体などの単純な原始図形の組み合わせしか表現できず、
現実世界の複雑な形状には対応できないという制限があります。
また、大規模な形状-コードペアデータセットの不足も深刻な課題となっています。
1.2 主要な貢献
本研究は3D点群から編集可能なBlender Pythonスクリプトを生成するMeshCoderフレームワークを提案し、
以下の3つの主要な貢献をしました。
- 複雑な幾何学形状の表現を可能にする包括的なBlender Python APIセットの開発
- 大規模な形状-コードペアデータセット構築のための新しいパイプライン手法の提案
- 3D点群から部位レベルのコード生成をするマルチモーダル大規模言語モデルの訓練
2. 提案手法
2.1 手法の概要
MeshCoderは3D点群から編集可能なBlender Pythonスクリプトを生成するマルチステップフレームワークです。
全体的なアプローチは以下の4つの主要なステップで構成されています。
まず、部位レベルの合成データセット構築をします。
5つの基本形状タイプ(Primitive、Translation、Bridge Loop、Boolean、Array)を定義し、
確率的プログラムを用いて約1000万個の部位-コードペアを生成します。
次に、このデータセットを用いて部位-コード推論モデルを訓練します。
形状トークナイザーとLlama-3.2-1Bベースの微調整されたLLMで構成され、
個別の部位点群からBlender Pythonコードを予測します。
第3段階では、Infinigen-Indoorデータセットの各オブジェクトを部位に分解します。
訓練済みの部位-コード推論モデルを用いて各部位のコードを生成し、
空間関係に基づいて全部位のコードを結合してオブジェクト全体のコードを構築します。
最後に、構築されたオブジェクト-コードデータセット(約100万個)を用いて、
オブジェクト全体の点群から部位レベルのコード生成をするマルチモーダルLLMを訓練します。
2.2 技術的詳細
形状トークナイザーは三面投影ベースの設計を採用しています。
入力点群を3つの直交平面(XY、XZ、YZ)に投影し、各平面で特徴を抽出します。
これらの三面特徴をパッチ化して1次元シーケンスに変換し、トランスフォーマーブロックで処理します。
最終的に、学習可能なクエリトークンセットがクロスアテンションを通じて
三面トークンから情報を集約し、固定長の形状トークンを生成します。
LLM部分はLlama-3.2-1BをベースモデルとしてLoRAで微調整します。
形状トークンがLLMの単語埋め込みと同じ次元になるよう設定し、
次トークン予測のクロスエントロピー損失で訓練されます。
Blender Python APIセットは5つのカテゴリの基本形状を定義します。
Primitiveは立方体、円柱、球体、円錐、トーラスの基本図形です。
Translationは2D断面形状を3D軌道に沿って掃引する操作です。
Bridge Loopは複数の2D形状を順番に接続して3D形状を構築します。
Booleanは和集合、差集合などのブール演算を適用します。
Arrayは1次元または2次元の配列パターンで形状を複製します。
2.3 新規性
本手法の新規性は主に3つの観点で既存手法と大きく異なります。
第一に、表現力の大幅な向上です。
従来のDSLベース手法は立方体や球体などの単純な原始図形の組み合わせに限定されていました。
本手法は曲線の押し出し、複雑な断面形状、ブール演算など、
実際のアーティストが使用する高度な操作をサポートしています。
第二に、大規模データセット構築の独創的なパイプライン手法です。
部位レベルの合成データで部位-コード推論モデルを訓練し、
それを用いて既存のオブジェクトデータセットから大規模な
オブジェクト-コードペアデータセットを自動構築する手法は初の試みです。
第三に、部位レベルでの構造化コード生成です。
既存の形状-コード手法がオブジェクト全体を1つのプログラムとして扱うのに対し、
本手法は各部位を独立したコードブロックとして表現し、
部位間の空間関係を保持しながら全体のコードを構成します。
これにより編集性と解釈性が従来手法に比べて大きく向上し、コードの変更だけで形状編集が可能になります。
3. 実験結果
3.1 実験設定
実験ではInfinigen-Indoorデータセットを用いて41カテゴリ、約100万オブジェクトで訓練を実施しました。
部位-コード推論モデルはAdamWオプティマイザーを使用し、バッチサイズ512、学習率10^-4で20エポック訓練しました。
オブジェクト-コード推論モデルは部位-コード推論モデルの重みで初期化し、バッチサイズ256、学習率10^-4で10エポック訓練しました。
評価指標としてIoU(Intersection over Union)とL2チャンファー距離(CD)を使用しています。
IoUは予測結果と正解を32^3のボクセルグリッドで計算し、CDは点群間の距離を測定しています。
比較対象としてShape2Prog、PLADという代表的な形状-コード生成手法を使用しました。
3.2 主要な結果
定量的評価において、MeshCoderは既存手法を大きく上回る性能を達成しました。
全カテゴリ平均でIoUが86.75%、L2 CD距離が0.063×10^-2という優秀な結果を記録しています。
特に個別カテゴリではランプ(IoU: 86.23%)、椅子(81.87%)、ソファ(93.81%)、
ダイニングテーブル(88.14%)、トイレ(89.10%)で高い精度を達成しました。
Shape2Progは全カテゴリ平均でIoU 45.03%、CD 6.01×10^-2の性能でした。
PLADはIoU 67.62%、CD 1.87×10^-2の結果となり、
MeshCoderが両手法を大きく上回っていることが確認されました。
定性的評価では、MeshCoderが複雑な部位構造を持つオブジェクトも正確に再構築できることが示されました。
既存手法が単純な原始図形の組み合わせしか表現できないのに対し、
MeshCoderは実際のアーティスト品質に近い四角形メッシュを生成可能です。
3.3 既存手法との比較
MeshCoderの主要な優位性は3つの観点で確認できます。
再構築精度の観点では、IoUとCD距離の両方でMeshCoderが最高性能を記録しました。
Shape2Progと比較してIoUで約1.93倍、PLADと比較して約1.28倍の向上を達成しています。
表現能力の観点では、従来手法が単純な原始図形の組み合わせに制限されるのに対し、
MeshCoderは曲線の押し出し、ブール演算、配列パターンなど高度な操作を表現可能です。
最大100を超える部位を持つ複雑なオブジェクトも正確に再構築できます。
メッシュ品質の観点では、MeshCoderが生成するメッシュは部位分割された四角形主体の構造を持ち、
UV展開やマテリアル割り当てなど実際のワークフローに直接適用可能です。
既存手法が生成する低解像度ボクセルや不規則な三角形メッシュとは品質が大きく異なります。
4. 実用性評価
4.1 実装の容易性
MeshCoderの実装は比較的容易で、既存のBlender環境があれば追加のソフトウェア導入は不要です。
生成されるコードは標準的なBlender Python APIを使用するため、
Blenderの基本操作に慣れたユーザーであれば理解しやすい構造となっています。
ただし、形状トークナイザーとLLMの学習には相当な計算リソースが必要です。
論文では詳細が明記されていませんが、NVIDIA A100 GPUを使用した学習環境が想定されています。
推論時はより軽量なハードウェアでも実行可能と考えられます。
4.2 計算効率
訓練時の計算効率は、部位-コード推論モデルで20エポック、
オブジェクト-コード推論モデルで10エポックの学習が必要です。
約1000万個の部位データと100万個のオブジェクトデータでの学習は、
現代的なGPU環境でも相当な時間を要すると予想されます。
推論時の計算効率について論文中で詳細な測定値は報告されていませんが、
点群からコード生成までの処理は比較的高速と考えられます。
生成されたコードのBlender実行時間は、オブジェクトの複雑さに依存しますが、
一般的な室内オブジェクトであれば数秒から数分程度で完了すると推定されます。
4.3 応用可能性
MeshCoderの応用可能性は非常に広範囲にわたります。
リバースエンジニアリング分野では、3Dスキャンデータや写真測量で得られた点群から、
編集可能なCADモデルを自動生成できる可能性があります。
これは製造業や建築分野で特に価値が高いアプリケーションです。
3Dコンテンツ制作分野では、ゲーム開発や映像制作において、
アーティストのワークフローに適合する高品質メッシュの生成が可能です。
部位分割された構造により、リギングやアニメーション制作も効率化できます。
教育・研究分野では、3D形状の理解やモデリング手法の学習において、
コードベースの表現により解釈性と編集性を提供できます。
LLMとの組み合わせにより、自然言語による形状編集指示も将来的に可能になる可能性があります。
ただし、現在の手法は人工物(室内オブジェクト)に特化しており、
有機的な形状(人体、動物、植物など)への適用は課題として残されています。
5. まとめと所感
5.1 論文の意義
MeshCoderは3D形状生成分野における重要な転換点となる研究です。
従来の形状生成手法が抱えていた3つの根本的課題(部位分割の欠如、不規則な三角形メッシュ、
非構造的生成)を同時に解決する包括的なソリューションを提示しています。
特に注目すべきは、大規模言語モデルと3D幾何学処理を効果的に統合した点です。
自然言語処理の最新技術を3D分野に応用することで、
従来のDSLベース手法では実現できなかった表現力と拡張性を獲得しました。
実用的観点では、生成されるメッシュがアーティストのワークフローに直接適用可能な品質を持つことが重要です。
部位分割された四角形主体のメッシュ構造は、UV展開、マテリアル割り当て、
リギングなど実際の制作工程で必須の要素を満たしています。
技術的観点では、部位レベルでの合成データ生成から始まり、
段階的にオブジェクト全体のコード生成まで発展させる学習戦略が効果的です。
約100万オブジェクトという大規模データセットの構築も、この分野の研究基盤として価値があります。
5.2 今後の展望
MeshCoderの今後の発展には複数の方向性が考えられます。
表現能力の拡張では、現在の5つの基本形状タイプに加えて、
より複雑な幾何学操作や材質表現を含むAPI拡張が期待されます。
有機的形状への対応も重要な課題で、NURBS曲面やサブディビジョンサーフェスなどの
高度な表現手法との統合が必要になります。
性能向上の観点では、より大規模なLLMや改良された形状トークナイザーの採用により、
再構築精度と生成品質のさらなる向上が期待できます。
推論速度の最適化も実用性向上のために重要です。
インタラクション機能の強化では、自然言語による形状編集指示や、
部分的な修正要求への対応などが考えられます。
「椅子の背もたれを高くして」といった直感的な指示でコード修正を行える
対話的システムの実現が将来的な目標となります。
産業応用の拡大では、建築設計、工業デザイン、医療機器設計など、
より専門的な分野への適用が検討できます。
各分野特有のAPI群や制約条件を組み込んだ特化版の開発も有望です。
最終的には、MeshCoderのようなコードベース形状表現が3D形状処理の新しい標準となり、
設計、製造、シミュレーション、可視化など様々な用途で活用される可能性があります。
この研究は、そうした未来への重要な第一歩として位置づけられます。