CAD-Recode: ポイントクラウドからのCADコードのリバースエンジニアリング
CAD-Recode: Reverse Engineering CAD Code from Point Clouds
December 18, 2024
著者: Danila Rukhovich, Elona Dupont, Dimitrios Mallis, Kseniya Cherenkova, Anis Kacem, Djamila Aouada
cs.AI
要旨
コンピュータ支援設計(CAD)モデルは、一般的にパラメトリックスケッチを順次描画し、CAD操作を適用して3Dモデルを取得することによって構築されます。3D CAD逆設計の問題は、ポイントクラウドなどの3D表現からスケッチとCAD操作のシーケンスを再構築することを含みます。本論文では、CADシーケンス表現、ネットワーク設計、およびデータセットの3つのレベルで新しい貢献を通じてこの課題に取り組みます。特に、CADスケッチ押し出しシーケンスをPythonコードとして表現します。提案されたCAD-Recodeは、ポイントクラウドをPythonコードに変換し、実行するとCADモデルが再構築されるようにします。事前に訓練された大規模言語モデル(LLM)がPythonコードに露出していることを活用し、比較的小規模なLLMをCAD-Recodeのデコーダーとして利用し、軽量なポイントクラウドプロジェクターと組み合わせます。CAD-Recodeは、提案された多様なCADシーケンスの合成データセットを用いて単独で訓練されます。CAD-Recodeは、より少ない入力ポイントを必要としながら、3つのデータセット全体で既存の手法を大幅に上回ります。特に、DeepCADおよびFusion360データセットにおいて、最先端の手法よりも平均シャンファー距離が10倍低い結果を達成します。さらに、CAD Pythonコードの出力が汎用のLLMによって解釈可能であり、CADの編集やCAD固有の質問に対するポイントクラウドからの回答が可能であることを示します。
English
Computer-Aided Design (CAD) models are typically constructed by sequentially
drawing parametric sketches and applying CAD operations to obtain a 3D model.
The problem of 3D CAD reverse engineering consists of reconstructing the sketch
and CAD operation sequences from 3D representations such as point clouds. In
this paper, we address this challenge through novel contributions across three
levels: CAD sequence representation, network design, and dataset. In
particular, we represent CAD sketch-extrude sequences as Python code. The
proposed CAD-Recode translates a point cloud into Python code that, when
executed, reconstructs the CAD model. Taking advantage of the exposure of
pre-trained Large Language Models (LLMs) to Python code, we leverage a
relatively small LLM as a decoder for CAD-Recode and combine it with a
lightweight point cloud projector. CAD-Recode is trained solely on a proposed
synthetic dataset of one million diverse CAD sequences. CAD-Recode
significantly outperforms existing methods across three datasets while
requiring fewer input points. Notably, it achieves 10 times lower mean Chamfer
distance than state-of-the-art methods on DeepCAD and Fusion360 datasets.
Furthermore, we show that our CAD Python code output is interpretable by
off-the-shelf LLMs, enabling CAD editing and CAD-specific question answering
from point clouds.Summary
AI-Generated Summary