Sketch2Arti: Sketch-based Articulation Modeling of CAD Objects
University of Edinburgh; Tsinghua University; University of British Columbia
一句话总结
Sketch2Arti 是首个面向 CAD 物体的草图驱动关节化(articulation)建模系统:用户在选定视角下画几笔箭头/铰链线,系统就能自动找到可动部件、推断其运动参数,并在需要时用生成模型补全被运动暴露出来的内部结构。
研究背景
- 领域现状:关节化建模(识别可动部件 + 恢复运动参数)是动画、仿真、交互式编辑的基础问题。近年从文本、图像、视频、点云驱动的关节化方法进展不少,但大多依赖 PartNet-Mobility 这类数据集训练。
- 核心痛点:现有数据集类别和实例都有限,导致方法可控性弱、对分布外物体泛化差、带有强烈的数据偏置,难以落到真实设计流程里。而设计师在构思阶段本来就习惯用轻量草图(箭头、行程线)表达”部件该怎么动”,却没有工具能把这类草图自动变成关节化的 3D 资产。
- 本文 idea:提出”草图驱动关节化建模”这一新任务——给定 3D 形状 + 少量表达运动意图的笔画,联合分析草图与几何,定位可动部件并推断运动参数。关键设计是让预测器只看草图周围的局部几何线索(深度图、法向图),而不依赖全局类别语义,从而跨类别泛化。
方法
整体框架分两大紧耦合模块:(1) 草图引导的关节化分析与预测(解决 where 在哪、how 怎么动),(2) 关节化感知的可控生成(解决 what 补什么内部结构)。输入是一个网格模型、一个用户视角、以及画在渲染图上的草图;输出是可动部件及其运动类型(旋转/平移)与运动参数(旋转的枢轴点 \(p_r\)、轴向 \(a_r\),或平移方向 \(a_t\))。
flowchart LR
A["3D 物体 + 用户草图"] --> B["局部裁剪: sketch/depth/normal 5 通道"]
B --> C["U-Net 多头预测"]
C --> D["2D mask / 枢轴热图 / 运动类型 / 3D 方向"]
D --> E["PartField 层次聚类选 3D 可动部件"]
E --> F["几何 snapping 后处理"]
F --> G["可选: Trellis 关节化感知内部补全"]
G --> H["导出 URDF 资产"]
关键设计:
-
局部化、类别无关的草图识别:不把整个物体喂给网络,而是只取草图周围的局部区域,拼成 5 通道输入(1 通道草图 + 3 通道法向图 + 1 通道深度图)。一个轻量 U-Net 用多头解码器同时预测四项:可动像素的分割 mask、枢轴投影的 2D 热图、运动类型(旋转/平移分类)、以及相机坐标下的 3D 运动方向。因为只观察局部功能几何(如可旋的圆柱形旋钮、可滑的平面板),模型能跨类别泛化,摆脱对 PartNet-Mobility 类别先验的依赖。
-
层次分割选出 3D 部件:预测出的 2D mask 需要映射到 3D 可动部件。作者借助分割基础模型 PartField 的特征场,做凝聚式层次聚类得到一棵”从细节到大部件”的分割树,再用预测 mask 在树的各层里筛选,选出与 mask 表面 IoU 最大的节点作为 3D 可动部件。相比朴素 k-means 平坦聚类(常把一个语义部件割碎或把功能不同的相邻件合并),层次策略给出更干净、部件一致的边界。
-
几何 snapping 后处理:网络输出的方向/轴有数值误差,运动范围一大就露馅。作者先判断旋转是连续(周期性,如车轮)还是非连续(有限行程,如开门):用可动部件的面积加权朝向法向与预测旋转方向比夹角,小于 \(30^\circ\) 判为连续。对平移和连续旋转,估计部件的有向包围盒(OBB)并把方向吸附到最近的 OBB 面法向;对非连续旋转,则找可动件与静止结构在枢轴附近的边界,把旋转轴对齐到该边界切向(即铰链)。
-
结构保持的流式内部补全:壳体模型(如生成模型产出的物体)没有内部结构,部件一动就露出空洞。作者改造 3D 生成模型 Trellis 做”关节化感知的形状 inpainting”。Trellis 把形状编码成 \(16^3\) 体素网格的潜变量,作者在流匹配采样的每一步都把已知壳体区域按解析式锚定回去:\(Z_{t+\Delta t} \leftarrow M_{occ} \odot Z^{shell}_{t+\Delta t} + (1 - M_{occ}) \odot Z^{gen}_{t+\Delta t}\)。再引入基于运动学的”负掩码”\(M_{void}\) 把生成限制在运动相关体积内(如抽屉滑动路径、柜体空腔),避免在自由空间乱长几何。由于一遍难以长全,采用 10~15 次迭代生长策略;生成后再用”loose-to-strict”掩码严格裁掉超出运动包络的体素、按碰撞分析校准运动范围,并把动/静部件解耦提取网格,最终导出可用于物理仿真的 URDF。
数据方面,作者构建了 SketchMobility 数据集:整合 PartNeXt、Shape2Motion 与程序化生成三个来源,共约 4710 个关节化形状、覆盖 43 个类别;并用”投影 3D 运动线索 + 注入像素级扰动拟合二次 Bézier 曲线”的方式合成类人手绘草图,最终生成约 76K 训练样本,按 70%/20%/10% 划分训练/测试/验证。
实验结果
主对比在 SketchMobility 的 10 个常见类别(每类随机 50 个形状、共 500 个实例)上进行,与 FreeArt3D(SIGGRAPH Asia 2025,需 6 张不同关节状态图像)和 Singapo(ICLR 2025,单图检索拼装、仅支持 7 类)比较。下表取 7 类共同可处理类别的平均(Average-7):
| 方法 | F-Score ↑ | CD ↓ | Joint-Axis-Err ↓ | Joint-Pivot-Err ↓ |
|---|---|---|---|---|
| Sketch2Arti(本文) | 0.921 | 0.022 | 0.233 | 0.143 |
| FreeArt3D | 0.903 | 0.028 | 0.532 | 0.353 |
| Singapo | 0.799 | 0.039 | 0.268 | 0.205 |
在这 7 个类别上,本文相对 FreeArt3D / Singapo 分别把 F-Score 提升 2.0% / 15.3%、CD 降低 21.3% / 43.6%、关节轴误差降低 56.2% / 13.1%、枢轴误差降低 53.7% / 35.6%。
泛化性上,作者另测了 10 个训练/PartNet-Mobility 未覆盖的分布外类别(Car、Lighter、Box、Suitcase、旋转窗、Skateboard、Fan、Bike、Motorbike、Windmill),其中后 5 类含连续旋转,FreeArt3D 直接不支持,本文可自然扩展;在两者都能处理的 5 类上本文全面更优(Average-5:F-Score 0.919 / CD 0.024 / 轴误差 0.088 / 枢轴误差 0.059)。
其余结果用文字补充:用户研究邀请 5 位新手对同样三个物体(马桶、烤箱、汽车)建模,草图到运动的转换正确性平均评分 4.9/5、构思探索易用性 4.7/5。运行时上,PartField 特征约 3~4 秒(可与视角浏览重叠),关节预测约 30ms/次前向,可选的内部补全每次迭代约 30 秒、复杂物体 10~15 次约 350 秒。消融验证了层次分割优于 k-means、几何 snapping 显著改善运动合理性、以及 masked/迭代生长/严格掩码等生成设计的必要性。
亮点与局限
- 亮点:
- 提出并落地了”草图驱动关节化建模”这一新任务,交互轻量(画几笔即可),可控性强——同一部件靠改草图就能得到不同开合方式(标准/后铰/蝴蝶门)。
- 类别无关的局部预测器带来强泛化,能处理风车、摩托、逃生舱等基准里罕见的物体,且天然支持连续旋转。
- 把 Trellis 改造为关节化感知的约束 inpainting,能在保持已有几何的前提下补全被运动暴露的内部结构,直接产出可仿真的 URDF。
- 贡献了 SketchMobility 数据集(约 4.7K 形状、43 类、含合成草图标注)并承诺开源。
- 局限:
- 只建模旋转和平移两种运动类型,且不预测运动范围(用默认值 + 用户手调),更复杂的运动学(如螺旋、多铰联动)未覆盖。
- 训练草图是合成的(投影 + 扰动),与真实手绘的域差仍靠扰动近似弥补。
- 内部补全依赖大型 2D/3D 生成模型(Nano Banana、Trellis),迭代生长对复杂物体较慢(数百秒);对含密集内部结构的复杂形状,部件选择偶有瑕疵,需用户点击修正。
- 需要用户选好视角并画出较清晰的意图线,运动的定位仍以草图局部上下文为准。
延伸思考
- 与 FreeArt3D、Singapo、NAP、SINGAPO 等生成/重建式关节化工作相比,本文走的是”人给意图、机器补精度”的混合路线——用一点点草图交互换来了泛化与可控性,这对”数据集类别有限”这一长期瓶颈是很务实的破解思路。
- “局部几何 + 稀疏人为线索”的范式或许能推广到更一般的功能性标注(如接触点、受力方向、装配约束),把设计师的草图习惯直接接进 3D 资产管线。
- 内部补全里”generate-then-prune + 运动学负掩码”的做法,本质是把物理/运动学先验作为硬约束注入扩散/流匹配采样,值得迁移到其他需要”保留已知、只补未知”的 3D 生成场景。
- 值得追问的是:合成草图与真实用户草图的分布差异对精度影响多大?运动范围的自动推断(而非默认值)能否结合几何碰撞进一步闭环?