AssemblyBench: Physics-Aware Assembly of Complex Industrial Objects¶
会议: CVPR 2026
arXiv: 2605.12845
代码: https://merl.com/research/highlights/assemblybench (项目页)
领域: 3D视觉 / 装配理解 / 多模态
关键词: 工业装配, 6-DoF 轨迹预测, 多模态说明书, 物理仿真评测, 点云
一句话总结¶
针对现有装配数据集只关注「最终位姿、IKEA 家具」的局限,本文造了一个含 2789 件复杂工业物体、带分步图文说明书与 6-DoF 装配轨迹的合成数据集 AssemblyBench,配套一个一次前向就同时预测装配顺序+各零件运动轨迹的 Transformer 模型 AssemblyDyno,并首次用物理仿真器执行预测轨迹来评测「物理可行性」——同样设定下 AssemblyDyno 在仿真器里的装配成功率约 33%,而此前 SOTA 只有约 3%。
研究背景与动机¶
领域现状:「从零件装配出整体物体」是 CV 与机器人共同关心的任务。当前 SOTA 几乎都围绕 IKEA 风格家具——因为有大量现成的、用无文字示意图分步讲解的说明书,且家具零件被刻意设计得易区分、易拼接。于是这类数据集成了研究装配推理的便捷起点。
现有痛点:家具远不能覆盖真实装配的全部复杂度。电器(空调、吊扇、洗衣机)、工业设备(电机、齿轮箱、液压泵)乃至玩具,零件几何更复杂,常需要「插入+旋拧」这类精细机动。而绝大多数现有数据集(ManualPA、IKEA-Manual 等)只给最终零件位姿,根本不含装配过程中的运动轨迹;少数非家具数据集又缺标准化的零件/轨迹表示、缺分步说明书、缺统一评测协议。
核心矛盾:装配的难点恰恰在「怎么把零件移到位」——一条看似能对齐最终位姿的轨迹,实际执行时零件可能卡在中途、撞到别的零件,导致后续步骤无法进行。但所有主流评测都只比对最终点云对齐,对轨迹是否物理可行完全无感,于是「点云对得上」≠「装得起来」。
本文目标:(1) 造一个覆盖工业物体、含完整轨迹与图文说明书的数据集;(2) 给一个能联合预测装配顺序与 6-DoF 轨迹的模型;(3) 给一套能验证轨迹物理可行性的评测。
切入角度:工业 CAD 模型在机械设计里本就广泛存在。作者借用「装配即逆向拆卸」(assembly-by-disassembly)这一物理引擎技巧,从 CAD 自动反推出顺序与轨迹,再用 Blender + VLM 自动生成 IKEA 风格的图文说明书——整条标注流水线只需输入一个 CAD 模型即可泛化到任意工业物体。
核心 idea:用「物理引擎反向拆卸 + VLM 生成说明书」自动产出带真值轨迹的工业装配数据,并把「物理仿真器执行预测轨迹」作为评测闭环,逼模型学到隐式的物理约束。
方法详解¶
整体框架¶
全文由三块拼成:数据集构建(从 CAD 自动造出图文说明书+真值轨迹)、AssemblyDyno 模型(一次前向预测顺序+轨迹)、物理感知评测(仿真器执行轨迹判可行性)。
任务形式化:给定一组无序的 \(N\) 个零件点云 \(\{P_i\}_{i=1}^N\) 和一份含 \(N\) 步的说明书 \((\mathcal{I}_1,\cdots,\mathcal{I}_N)\)(每步加一个零件,含一张线稿示意图 + 一段文字),模型要 (i) 预测装配顺序 \((\hat\pi_1,\cdots,\hat\pi_N)\)——把每个零件 ground 到对应指令;(ii) 为每步预测一条 \(T\) 帧的 6-DoF 位姿轨迹 \((\hat R_i^k,\hat t_i^k)\in SE(3)\)。零件数 \(N\) 随物体变化(2~20,均值 6.7 步),轨迹帧数固定 \(T=12\)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入:工业 CAD 模型"] --> B["数据集自动构建<br/>物理拆卸反推顺序+轨迹<br/>Blender 渲线稿 + VLM 生成图文"]
B --> C["多模态特征提取<br/>点云 / 差分图 DINOv3 / 文本 Qwen3"]
C --> D["装配顺序预测<br/>相似度→匈牙利→置换矩阵"]
D --> E["装配轨迹预测<br/>self-attn + 时序 cross-attn 解码"]
E -->|执行预测轨迹| F["物理感知评测<br/>Newton 仿真器逐步 rollout<br/>ACD / FCD"]
关键设计¶
1. AssemblyBench 数据构建流水线:用物理引擎把 CAD 反推成带真值轨迹的图文说明书
痛点是真实装配轨迹根本没人标——人工标 6-DoF 逐帧轨迹成本极高,所以现有数据集只能给最终位姿。本文的解法是「装配即逆向拆卸」:把 CAD 物体导入物理引擎,用深度优先搜索沿零件轴向施力、一次拆下一个零件直到分离,由此得到一条拆卸顺序 + 每个零件的 6-DoF 拆卸轨迹;把顺序与轨迹双双反向,就同时得到了装配顺序与装配轨迹真值(离散成 \(T\) 步导入 Blender 做动画)。说明书则分两步自动生成:先用线稿(line-art、无颜色,模仿 IKEA 风格、固定等距相机视角)渲染每步示意图与分割图;再用 VLM(GPT-4.1)先看所有零件图给出全局一致的零件命名(如 "fastener" "wire frame"),再针对每步「高亮目标零件的图 + 全零件着色标注的图」生成该步文字指令。因为工业件常有遮挡、重复件(多颗相同螺丝),单视角难命名,所以作者用多视角渲染+视觉提示技巧来保证命名跨步一致。最终得到 2789 件、覆盖家具/电器/机械件的多模态说明书,且只要给 CAD 就能泛化到任意工业物体
2. AssemblyDyno 多模态特征提取:用「差分图」聚焦每步新增的那个零件
装配说明书是增量式的——第 \(j\) 步和第 \(j{+}1\) 步的示意图大部分一样,只多出一个新零件。直接编码整张图会让网络分不清「这步到底在装哪个」。作者的处理是对相邻两步取差分图 \(|\mathcal{I}_j^{img}-\mathcal{I}_{j+1}^{img}|\),正好高亮新加入的零件相对于已装配部分的位置,再切成 \(K\) 个 patch 过 DINOv3 编码得到 \(f^{img}\in\mathbb{R}^{N\times K\times D}\)。零件点云用轻量 PointNet 变体编码成 \(f^{\mathcal{P}}\in\mathbb{R}^{N\times D}\),文字用冻结的 Qwen-3 embedding 得 \(f^{txt}\in\mathbb{R}^{N\times D}\)。图文融合是把文字沿 patch 维复制后与图特征拼接再线性投影,得指令特征 \(f^{\mathcal{I}}\in\mathbb{R}^{N\times K\times D}\)。这套设计的关键在「差分」二字——它把「找新增零件」这个本来要网络自己学的难点,直接用图像减法变成了显式信号
3. 一次前向联合预测顺序与 6-DoF 轨迹:顺序→置换矩阵→时序解码
经典运动规划(RRT/PRM)求一条物理可行轨迹既慢又需精确刻画环境约束,难泛化。AssemblyDyno 改成纯前馈监督学习、一次前向出全部步骤。顺序预测沿用 Manual-PA 思路:对零件特征与指令特征(在 patch 维 max-pool 后)算相似度矩阵,用匈牙利匹配转成预测顺序,再投影成置换矩阵 \(M\in\{0,1\}^{N\times N}\)。轨迹预测则把 \(M\) 加位置编码后加到零件特征上送入 self-attention 解码器做零件间交互,再经一个带时序维的 cross-attention(注入位置编码的指令特征)产出形如 \(\mathbb{R}^{N\times T\times D}\) 的轨迹隐特征,最后用位姿头解码成 \(T\) 帧位姿序列(旋转用四元数)。整套零件的所有步骤在单次前向里联合预测,比逐步规划高效且更鲁棒;顺序与轨迹用两个同架构模型分别训练,训轨迹时始终喂真值顺序
4. 物理感知评测:把预测轨迹丢进仿真器,用对称性鲁棒的 ACD/FCD 量物理可行性
只比最终点云对齐会放过「轨迹中途卡死」这类致命错误。本文用 Newton 物理仿真器逐步执行预测轨迹:先按预测最终位姿摆好前序已装零件,再把当前零件放在其预测轨迹第一帧位姿,然后把预测轨迹的速度序列当控制信号 rollout——令 \(\Delta t\) 为每帧时长,依次施加 \(v_1,v_2,\cdots\) 各运行 \(\Delta t\),期间零件可能撞到别的零件而改变速度(本文为简化忽略重力)。执行完再把仿真出的位姿轨迹与真值比对。由于零件常有旋转对称、解不唯一,作者不直接算平移/旋转差,而是在点云上算 chamfer,定义两个新指标:ACD(Average Chamfer Distance)——每帧把执行位姿与真值位姿作用到点云算 chamfer,再对所有帧平均、报四分位;FCD(Final Chamfer Distance)——只取最后一帧的 chamfer,报中位数与四分位。这套评测把「装配顺序+轨迹+物理可实现性」一起验了,比单纯点云对齐严格得多
损失函数 / 训练策略¶
顺序模型用 InfoNCE 对比损失 \(\mathcal{L}_{order}\),让正确匹配的指令特征 \(f_i^{\mathcal{I}}\) 与零件特征 \(f_{\sigma(i)}^{\mathcal{P}}\) 相似度更高(温度 \(\tau\))。轨迹模型损失是多项加权和 \(\mathcal{L}=\lambda_P\mathcal{L}_P+\lambda_T\mathcal{L}_T+\lambda_R\mathcal{L}_R+\lambda_{S_T}\mathcal{L}_{S_T}+\lambda_{S_R}\mathcal{L}_{S_R}\):
其中 \(\mathcal{L}_P\) 是最终装配整体的双向 chamfer 距离;\(\mathcal{L}_T\) 是逐帧平移 \(\ell_2\) 损失;\(\mathcal{L}_R\) 对旋转用点云 chamfer(因为零件有旋转对称、纯 \(\ell_2\) 会漏掉正确解);\(\mathcal{L}_{S_T},\mathcal{L}_{S_R}\) 是平移/旋转的帧间「速度」平滑正则(惩罚相邻帧有限差分),鼓励轨迹时间上平滑。值得注意的是模型训练时没有仿真器在环,物理约束完全靠监督轨迹隐式学到。
实验关键数据¶
主实验¶
测试集(AssemblyBench test split)。两种设定:标准设定(模型自己预测顺序)与给真值顺序(GT order,隔离顺序误差)。SCD/ACD/FCD 越低越好,KD/PA/SR 越高越好。
| 设定 | 模型 | KD↑ | SCD(10⁻³)↓ | 最终位姿 PA(%)↑ | SR(%)↑ | 仿真器 PA(%)↑ | 仿真器 SR(%)↑ |
|---|---|---|---|---|---|---|---|
| 标准 | AssemblyDyno | 0.819 | 3.91 | 71.21 | 34.64 | 42.76 | 13.57 |
| 标准 | ManualPA (ICCV'25) | 0.788 | 4.24 | 70.04 | 33.57 | 23.24 | 1.79 |
| GT 顺序 | AssemblyDyno | – | 3.87 | 79.69 | 44.29 | 70.15 | 33.57 |
| GT 顺序 | ManualPA (ICCV'25) | – | 4.15 | 77.40 | 39.28 | 31.33 | 2.14 |
关键对比:物理仿真器里的 SR——GT 顺序下 AssemblyDyno 33.57% vs ManualPA 仅 2.14%(约 33% vs 3%,差距悬殊);标准设定下也是 13.57% vs 1.79%。即点云层面两者最终位姿 PA 接近(71 vs 70),一旦真去仿真器执行,基线几乎全军覆没,印证了「点云对得上 ≠ 装得起来」。论文也提到家具上能到约 60% 成功率的 SOTA 基线,搬到 AssemblyBench 上掉了近 30%,说明该数据集确实更难。
消融实验¶
标准设定下(节选自上表同组):
| 配置 | 最终位姿 PA(%)↑ | SR(%)↑ | 仿真器 PA(%)↑ | 仿真器 SR(%)↑ | 说明 |
|---|---|---|---|---|---|
| Full (AssemblyDyno) | 71.21 | 34.64 | 42.76 | 13.57 | 完整模型 |
| w/o text | 70.28 | 35.00 | 41.77 | 15.00 | 去文本编码器 |
| w/o trajectory | 67.63 | 30.00 | 22.09 | 1.43 | 用启发式轨迹替代专用轨迹模块 |
GT 顺序下差距更清晰:w/o trajectory 的仿真器 SR 从 33.57 暴跌到 3.57,仿真器 PA 从 70.15 掉到 29.85——说明专用轨迹模块是物理可行性的命门;w/o text 在 GT 顺序下 SR 从 44.29 降到 42.86,文本有正向但边际贡献较小。
关键发现¶
- 轨迹模块贡献最大:去掉专用轨迹模块(用「从最终位姿沿质心外推半个包围盒对角线」的启发式轨迹),仿真器 SR 在 GT 顺序下从 33.57 崩到 3.57,是所有消融里掉点最狠的,证明「能对齐最终位姿」和「轨迹物理可行」是两回事。
- 顺序预测是标准设定的瓶颈:标准设定下所有方法都明显下滑,AssemblyDyno 对 w/o text 的优势也收窄——因为顺序错误会向下游轨迹/位姿传播;而分步示意图本身已强约束下一步操作,文本在顺序预测阶段的边际增益有限。
- 真到仿真(real-to-sim)迁移成立:模型训练全程无仿真器在环,却能在仿真器里取得最高 PA/SR,说明监督轨迹隐式吃进了物理约束。
- 仿真器评测更严格:预测轨迹误差与仿真执行误差都随帧下降,但仿真误差始终更高且后期差距拉大,暴露了碰撞、卡死等仅靠对比预测发现不了的隐藏失败模式。
亮点与洞察¶
- 「装配即逆向拆卸」是整条数据流水线的支点:把难标注的装配轨迹,转化成物理引擎能自动求解的拆卸问题,再整体反向——一招同时拿到顺序与 6-DoF 轨迹真值,且只需 CAD 输入即可泛化,这是低成本造工业装配数据的可复用范式。
- 差分图聚焦新增零件:用相邻两步示意图相减来定位「这步装哪个」,把一个需要网络学习的对齐难点变成显式图像信号,简单却切中增量式说明书的本质,思路可迁移到任何「分步增量」的视觉理解任务。
- 物理仿真器作为评测闭环:跳出「最终点云对齐」的舒适区,第一次把「轨迹丢进仿真器执行」当成评测标准,并用对称性鲁棒的 ACD/FCD 量化——这个评测协议本身就是对装配/操作类任务的方法论贡献。
- 对称性鲁棒损失:旋转损失用点云 chamfer 而非 \(\ell_2\),绕开了旋转对称件「多个正确解」的陷阱,是处理几何对称的实用 trick。
局限与展望¶
- 作者承认顺序预测是短板:标准设定下顺序误差会向下游传播,是限制整体成功率的主要瓶颈,未来需要更强的 order prediction。
- 忽略重力:仿真评测为简化忽略了重力,真实装配中重力、摩擦、装夹力都会显著影响可行性,与真机执行仍有差距。
- 合成数据:AssemblyBench 是合成数据集,线稿示意图与 VLM 生成文字虽模仿 IKEA 风格,但与真实工业手册、真实点云传感噪声之间存在 sim-to-real gap。
- 训练无仿真在环:物理约束靠监督隐式学习,未利用仿真器反馈做闭环优化;把仿真器误差信号引入训练(如可微物理或 RL)可能进一步提升物理可行性。
- 固定帧数 \(T=12\):轨迹被离散成固定 12 帧,对需要更精细机动(如长距插入+旋拧)的零件可能不够细。
相关工作与启发¶
- vs ManualPA [42] / IKEA 系数据集:他们只预测装配顺序与最终 6-DoF 位姿、且聚焦家具;本文扩展到工业物体并补上完整装配轨迹与物理可行性评测。ManualPA 在家具上约 60% 成功率,搬到 AssemblyBench 掉约 30%,且仿真器 SR 仅约 2%,凸显「只对齐最终位姿」的评测掩盖了轨迹不可行的问题。
- vs Assemble-Them-All (ATA) [31,32]:本文基于 ATA 的工业 CAD + 物理拆卸轨迹来构建,但 ATA 缺分步说明书、缺标准化零件/轨迹表示、缺统一划分与评测协议;AssemblyBench 补齐了这些并加上图文说明书。
- vs 经典运动规划 (RRT/PRM) [14,9]:传统方法从预测最终位姿出发生成轨迹,计算昂贵且需精确刻画环境物理约束;本文只在造数据时用物理规划器,模型本身改成监督式一次前向预测,更快更鲁棒。
- vs CheckManual [20] 等 VLM 说明书生成:他们做操作手册生成,但装配涉及多零件交互、遮挡、复杂 3D 插入,手册生成更难;本文的 VLM 流水线针对这些(多视角、差分高亮、全零件标注)专门设计以保证命名与指令一致。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 「物理引擎反向造数据 + 仿真器在环评测」组合切中装配评测的真实痛点,物理可行性评测是方法论级贡献
- 实验充分度: ⭐⭐⭐⭐ 标准/GT 顺序双设定 + 多消融,仿真器 SR 对比极有说服力;但仅一个强基线对比、缺真机验证
- 写作质量: ⭐⭐⭐⭐ 任务形式化清晰、流水线讲解到位;部分指标表格密集需对照读
- 价值: ⭐⭐⭐⭐⭐ 数据集+模型+评测协议三件套,为工业装配这一高价值自动化方向提供了可复用的基础设施