跳转至

MonoArt: Progressive Structural Reasoning for Monocular Articulated 3D Reconstruction

会议: ECCV2026
论文: ECCV 原文
PDF: 论文全文
项目: MonoArt
领域: 3D 视觉
关键词: 单目铰接重建、部件感知表示、双查询解码、关节估计、运动学树

一句话总结

MonoArt 将单图铰接物体重建组织为几何生成、部件表示、双查询运动解码与运动学估计,在 PartNet-Mobility 的 46 类设置取得 0.670 F-Score 和 67.47% 关节类型准确率,但轴方向误差并非最优。

研究背景与动机

从一张柜子照片生成看起来相似的三维模型,并不等于知道柜门如何打开。 可交互资产还需要分清门板与柜体、找到转轴、确定运动范围,并把各部件连接成正确的层级。 这些量彼此制约:门板分错会改变关节定位,而转轴偏移会使原本正确的表面在打开后明显错位。 多状态或多视角方法可以借助实际运动辨认这些关系,但单张 RGB 图像没有提供这种直接证据。 检索与组装路线以资产库补足不可见结构,却可能取回形状或纹理不匹配的部件,难以忠实恢复当前实例。

另一条路线利用视频生成、视觉语言模型或预设运动方向补出运动线索。 论文认为,这些外部线索虽然有用,却增加计算和系统依赖,或者把可识别的运动模式限制在人工先验之内。 直接从图像特征回归全部关节参数同样困难,因为外观、部件身份与空间位置尚未分离。 MonoArt 的切入点不是生成更多观察,而是先把单图转换成可定位、可聚合的三维表示,再在这个表示上学习部件关系。 这里的 structural reasoning 是神经网络中的结构化表示细化,不是让大语言模型输出文字思维链。

为此,系统先借用冻结的 TRELLIS 恢复网格,再以真实三维部件标注训练专门的部件与运动模块。 它把“哪里是一块部件”变成预测“这块部件如何运动”的前置条件,而非让两者完全挤在同一图像特征里。 但这不意味着模型不需要训练先验,也不意味着没有任何语言来源的特征:解码器仍使用冻结的 CLIP 文本原型。 核心 idea:先建立与三维几何对齐的部件表示,再分别细化部件语义与空间锚点,使关节回归依赖明确的结构,而不是从外观直接猜运动。

方法详解

整体框架

输入是单张 RGB 图像,输出是带部件掩码、关节参数与运动学树的三维物体。 TRELLIS 几何生成提供网格和稀疏体素潜变量;部件感知语义推理将其变为表面点的结构表示。 双查询运动解码同时维护三维位置与部件内容,运动学估计再将这些隐表示转换为可使用的关节和父子关系。 这些是统一架构内的连续模块,不是测试时调用视频生成器、检索库或 VLM 智能体的外部工作流。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        Input["单张 RGB 图像"] --> Geometry["TRELLIS 几何生成"]
        Geometry --> Semantic["部件感知语义推理"]
        Semantic --> Motion["双查询运动解码"]
        Geometry -->|几何特征| Motion
        Motion --> Kinematics["运动学估计"]
        Semantic -->|部件点特征| Kinematics
        Kinematics --> Output["网格、部件、关节<br/>与运动学树"]

图中实线表示推理数据流;三维部件标注、物体类别及匹配产生的监督只在训练时使用。 冻结的 CLIP 文本原型位于双查询运动解码内部,用于增强部件语义一致性,而不是替代几何推理。 “规范几何”在本文中是下游共享的参考形状,不应自行理解为所有物体都被还原到同一个闭合关节状态。

关键设计

1. TRELLIS 几何生成:让运动预测有可追踪的三维载体

冻结的 TRELLIS 从输入图像生成结构化稀疏体素潜变量,再由其网格解码器得到显式网格。 稀疏体素只在有效位置存储特征,因此保留了特征与空间位置的对应关系,而不只是一个全局图像向量。 MonoArt 使用分辨率为 \(64\) 的体素网格,并在生成的网格表面采样 \(100{,}000\) 个点。 每个表面点映射回连续体素坐标,通过周围八个体素的三线性插值取得几何对齐特征。 得到的 \(F_{\text{geo}}\) 将后续分割与实际表面绑定:查询找到一个部件时,也能指出它包含哪些点。 这一步借用了生成模型对不可见形状的先验,但并未从单张图像消除遮挡歧义。

冻结骨干意味着本文主要学习如何解释已有几何,而不是重新训练一个大规模单图三维生成器。 它也明确了误差传播的入口:若生成网格漏掉某个把手,后续查询不能凭空为缺失表面补出可靠分割。 因而几何生成不是本文最主要的新模块,却是整个结构推理能够落地的基础与性能上限之一。

2. 部件感知语义推理:把局部几何变成能区分部件的点表示

局部几何特征不足以判断两个相隔较远的表面是否属于同一扇门,也可能把相邻但可相对运动的部件混在一起。 模型先把点特征投影到 XY、YZ、ZX 三个正交平面,以双线性插值将信息累积到二维网格。 每个平面的分辨率是 \(128\times128\),初始特征维度为 \(8\)。 三张平面展平成 token 序列,经多层自注意力 Transformer 交换跨平面与全局信息,再恢复成三平面特征图。 对于每个原始表面点,模型重新查询它在三个平面上的位置,拼接采样特征,再经 MLP 得到 \(448\) 维部件点嵌入 \(H\)。 这样,一个点的特征既有局部位置依据,也能反映整个物体的结构上下文。

训练时用三维部件标注构造 triplet 监督,使同部件与不同部件的嵌入可区分。 它不是仅要求每个点输出类别标签,而是直接塑造后续查询要匹配的特征空间。 这一差异很关键,因为最终部件掩码是通过内容查询与这些点嵌入的亲和度产生的。 表 2 中交叉熵替代 triplet 后,类型准确率由 67.47% 降为 57.74%,支持“部件表示如何监督”并非无关紧要。 不过这属于该训练设置下的消融证据,不能推广为 triplet 对所有三维分割任务都优于交叉熵。

3. 双查询运动解码:分别维护部件内容与空间锚点

一个部件查询既要回答“这是什么部件”,也要回答“它位于哪里”,这两类信息适合不同表示。 MonoArt 为每个候选维护一个 \(448\) 维内容查询和一个三维位置查询,总共设置 \(100\) 对查询。 初始查询来自 \(H\)\(F_{\text{geo}}\) 的全局池化及拼接,初始化分支还预测物体类别。 这比随机查询更早地引入当前物体的上下文,但 \(100\) 是候选数量上限,不是每个物体必须具有的部件数。

随后六层细化块反复执行查询间自注意力和对点特征 \(H\) 的交叉注意力。 自注意力允许候选部件相互影响,交叉注意力使它们重新读取几何上可定位的结构证据。 位置和内容两个分支都采用残差更新,分别修正空间锚点和语义假设,而不是每层从零预测。 内容查询产生部件类别 logits,据此检索冻结的 CLIP 文本嵌入原型并融合回内容分支。 因此准确的说法是“不依赖外部 VLM 推理流程”,而不是“完全不使用语言预训练特征”。

为处理多余候选,每个最终内容查询还输出置信度。 训练时,预测掩码与真实部件做 Hungarian 匹配;匹配查询按掩码重叠程度接受置信度监督,未匹配查询的目标为零。 推理时丢弃低于阈值的查询,从而按输入确定保留部件数。 当前正文没有给出该阈值,不能把它补成一个未经来源支持的默认常数。

4. 运动学估计:将部件假设转为关节及有效层级

最终内容查询与全部点特征计算亲和度,为每个查询形成表面点软分配,也就是部件掩码。 位置查询在此被解释为部件质心;它不是关节枢轴本身,门板中心通常也不在铰链上。 回归器融合位置、内容与部件点特征,通过轻量 MLP 头预测关节类型、单位轴向、枢轴以及运动范围。 类型包括 fixed、revolute、prismatic 和 continuous;范围由中心和对称跨度参数化。 为了把枢轴预测绑定到已定位部件,模型不直接回归绝对枢轴,而是在质心上预测偏移(第 13 页):

\[ m_o = Q_p^L + \Delta_o. \]

这个关系允许门板中心与门轴位置不同,同时减少回归器在整个三维空间中无约束地寻找枢轴的负担。 表 4 对去掉质心残差与去掉 \(H\) 分别消融,说明位置锚定和部件证据都参与了参数估计。 运动学树预测器则读取部件类别分布,用可学习的类别兼容矩阵为有向部件对打分。 对候选父节点归一化后选择父节点,并在构建时施加单根、无环约束;论文也允许将可学习根节点纳入候选。 这提供的是结构合法性,不等于碰撞、质量分布、摩擦或动力学都得到了验证。 正文没有完整说明约束冲突的具体求解算法,因此不将其描述为某一种已确认的图优化实现。

一个完整示例

以一张柜门半开的柜子照片为解释性示例,目标是生成可开门的资产,而不是复现一个文字推理过程。 TRELLIS 先补出柜体与门板网格,表面采样把这些形状转成几何点特征。 部件感知语义推理使同一门板上的点在特征空间中更易聚合,并与柜体区分。 在 \(100\) 对候选查询经过六层细化后,置信度筛选保留有效部件假设,多余候选被舍弃。 门板内容查询产生掩码,位置查询定位门板质心,再预测质心到铰链的偏移、转动轴和运动范围。 树预测器把门板连接到合适的父部件,最终模型才能按关节运动而不是将整个柜子当作刚体旋转。 该例用于解释数据流;论文没有为这个特定柜子公布保留查询数或开门角度,笔记不虚构这些数值。

损失函数 / 训练策略

训练分四阶段,而不是把所有模块从初始化起一次性联合优化(第 9 页)。 第一阶段用 triplet 监督预热部件感知语义推理,使点表示先具有部件辨识能力。 第二阶段冻结该模块,以物体类别监督训练双查询初始化分支。 第三阶段联合优化部件感知语义推理、双查询运动解码和关节参数回归器。 第四阶段冻结前面模块,仅训练运动学树预测器,学习部件父子关系。 TRELLIS 骨干保持冻结,CLIP 文本嵌入也保持冻结;三维部件标注及匹配监督不作为测试输入。 论文将更多损失配置和训练超参数指向附录,但当前提供的全文到参考文献结束,未包含该附录。 因此不补写完整总损失、权重、学习率、训练轮数或硬件训练预算。

实验关键数据

主实验

数据集为 PartNet-Mobility,约 2K 个带部件与关节标注的物体,分别按 7 类和全部 46 类评测。 几何评测沿预测运动范围均匀采样六个状态,生成网格、与真值对齐,再对状态取平均。 CD 和 F-Score 使用每个网格 \(100{,}000\) 个表面点,F-Score 阈值为 \(0.05\)。 外观指标在每状态十个随机视角、合计六十张渲染图上计算;CLIP 使用 ViT-L/14@336px。 关节评测先二分匹配预测与真实部件,再统计类型正确率、轴方向误差与枢轴距离误差。 缓存中的轴误差和枢轴误差公式有抽取损坏,以下保留原文指标名与单位,不把枢轴指标擅自改成欧氏点距公式。

下表摘自原文表 1,第 9 页;CD 数值按原表的 \(\times10^{-2}\) 标度报告,枢轴误差使用归一化物体坐标。

设置 方法 CD ↓ F-Score ↑ PSNR ↑ CLIP ↑ 类型准确率 % ↑ 轴误差 rad ↓ 枢轴误差 ↓
7 类 URDFormer 4.73 0.275 12.43 0.845 35.22 1.324 0.404
7 类 SINGAPO 1.26 0.572 15.22 0.870 77.12 0.493 0.201
7 类 MonoArt 0.77 0.728 17.55 0.926 88.26 0.209 0.085
46 类 ArtAny 2.07 0.514 16.44 0.866 43.32 0.440 0.347
46 类 PhysXGen 3.06 0.501 16.38 0.859 46.82 0.941 0.208
46 类 PhysXAny 1.88 0.531 17.07 0.880 63.35 0.289 0.173
46 类 MonoArt 1.25 0.670 18.55 0.907 67.47 0.423 0.108

ArtAny 与 PhysXAny 分别是 Articulate-Anything 和 PhysX-Anything;检索基线的数据库排除了测试真值形状。 不能把 7 类和 46 类行当成同一难度下的排名;46 类中 MonoArt 的轴误差 0.423 高于 PhysXAny 的 0.289。

消融实验

下表摘自原文表 2,第 12 页,所有配置均在 PartNet-Mobility 的 46 类设置评测,单位与主表一致。

部件感知语义推理 部件监督 CD ↓ F-Score ↑ PSNR ↑ 类型准确率 % ↑ 轴误差 rad ↓ 枢轴误差 ↓
关闭 1.74 0.626 17.96 24.72 0.549 0.237
开启 1.63 0.643 17.74 41.60 0.922 0.323
开启 交叉熵 1.49 0.648 17.71 57.74 1.029 0.302
开启 Triplet 1.25 0.670 18.55 67.47 0.423 0.108

下表摘自原文表 3,第 12 页,同为 46 类设置;所列配置均对位置与内容两分支进行残差更新。

查询初始化 细化层数 F-Score ↑ 类型准确率 % ↑ 轴误差 rad ↓ 枢轴误差 ↓
随机 6 0.622 44.06 0.472 0.329
物体上下文 0 0.652 62.65 0.640 0.186
物体上下文 6 0.670 67.47 0.423 0.108
物体上下文 9 0.659 66.81 0.475 0.161

关键发现

  • 无部件监督时,加上推理模块并未让所有运动指标改善;轴误差从 0.549 升到 0.922,说明结构容量本身不保证有效运动表示。
  • 六层比九层更好,增加细化深度并不是单调收益;正文没有提供足够证据确定退化的具体成因。
  • 第 14 页报告单张 A6000、排除 I/O、平均 100 次运行:MonoArt 为 20.5 秒,其中 TRELLIS 占 18.2 秒;SINGAPO 为 19.6 秒,故不能宣称绝对最快。
  • 第 11 页的二十人用户研究分别给几何与运动质量评分,MonoArt 为 4.63 / 4.37,PhysX-Anything 为 3.34 / 3.12;这是主观评价,不是实物关节测量。

亮点与洞察

  • 表示空间与输出机制一致:triplet 训练的部件点嵌入随后直接用于查询匹配,而非只作为辅助分类器的隐特征。
  • 空间锚点具有双重作用:参与迭代定位,又作为枢轴残差回归的参考,因而“找部件”与“找关节”可以共享几何依据。
  • 可迁移的读者启发是先学习稳定的实体表示,再预测实体之间的作用关系;这不等于直接照搬本文参数就能解决其他物理任务。

局限与展望

  • 作者指出,均匀采样会使大物体上的微小按钮等部件获得过少点,造成特征不鲜明、过度平滑和运动估计困难。
  • 作者也指出,训练得到的部件整体关系先验未必覆盖新拓扑和罕见运动模式,即便分割尚可,轴与范围仍可能错误。
  • 从证据范围看,机器人部分是 IsaacSim 中 Franka 操作展示,场景部分是接入已有实例掩码和 6D 位姿的应用展示,并未报告系统性真实机器人成功率。
  • 读者提出的改进方向是针对小部件自适应采样,并对新拓扑输出结构不确定性;本文没有验证这两项方案。
  • 缓存若干公式损坏、附录缺失,限制了精确复现;本笔记没有据此猜补损失或图约束实现。

相关工作与启发

  • TRELLIS,原文参考文献 [60]:提供结构化三维潜变量和生成骨干;MonoArt 的重点是将其转成部件及运动学输出,而非替代其生成能力。
  • SINGAPO,原文参考文献 [31]:面向单图可控铰接部件生成,本文将其作为检索式基线比较;两者速度接近,但 7 类几何与关节指标存在明显差距。
  • Articulate-Anything 与 PhysX-Anything,原文参考文献 [23]、[3]:借助视觉语言先验建模结构;MonoArt 改用三维监督的表示学习,但仍保留 CLIP 语义原型。
  • PARIS,原文参考文献 [32]:跨铰接状态对齐重建以估计部件及运动;MonoArt 降低测试输入要求,代价是更依赖从训练数据学到的结构先验。
  • 以上编号均指向所链接论文自身的参考文献,不表示已独立核验这些工作的全部实验或实现。

评分

  • 新颖性: 4/5。价值在于部件结构监督、双查询细化与关节锚定的组合,而不是提出新的基础三维生成器。
  • 实验充分度: 4/5。包含两种类别范围、模块消融及真实图像用户研究,但真实机器人与新拓扑的定量证据有限。
  • 写作质量: 4/5。架构叙述清晰,但“最快”等概括需要结合具体数字收窄,当前缓存也不足以恢复全部公式。
  • 价值: 4/5。对从单图获得可操作三维资产具有实际意义,适用性仍受几何骨干和训练拓扑分布约束。