FAMOS:从稀疏观测前馈建模三维铰接物体 FAMOS: Feed-Forward 3D Articulation Modeling from Sparse Observations
从少量无序部分点云一次前馈即可联合预测可动部件分割与关节参数,比优化方法快近三千倍
前置知识
铰接物体与一自由度关节
铰接物体指由静态基座和若干可动部件经关节连接组成的物体,如带门的冰箱、带抽屉的柜子。本文限定一自由度关节:旋转关节由单位轴向量 $a \in \mathbb{R}^3$ 和轴上原点 $o$ 参数化,滑动关节由单位方向 $d \in \mathbb{R}^3$ 参数化。
本文的全部输出(关节类型、轴向、原点、观测跨度)都建立在这套参数化之上,理解它才能读懂模型预测头的设计与评价指标 MA/MAO 的严格程度阶梯。
查询式Transformer(DETR范式)
维护一组可学习的查询向量 $Q = \{q_k\}_{k=1}^K$,与点 token 一起在多层 Transformer 中交互,每个查询负责认领一个部件,最后用轻量 MLP 头从查询解码属性。由于查询没有固定语义身份,训练时需先用匈牙利算法在预测与真值部件之间做一对一匹配,再计算监督损失。
FAMOS 沿用 Particulate 的查询式架构,$K=16$ 个部件查询是模型输出分割与关节参数的载体;匹配是在所有观测上联合计算的,直接决定跨状态分割一致性。
部分点云与多状态观测
从单个视角拍摄并经 3D 基础模型(如 VGGT)提升到三维后,只能得到物体朝向相机一侧的表面采样,即部分点云 $X_s = \{x_{s,i}\}_{i=1}^N$。多状态指同一物体在不同开合程度(铰接状态)下的若干次观测,它们无序、视角各异、几何互不完整。
本文的输入就是这样一个无序、数量可变(含 $S=1$)的部分点云集合,模型要从散落在各观测中的运动线索里聚合证据,这是它与单点云前馈方法的本质差异。
PartField 与几何嵌入
PartField 是预训练的 3D 部件感知特征场模型,为每个点输出部件级特征 $f_{s,i}$,冻结使用以迁移通用部件先验。几何嵌入用正弦编码 $\gamma(\cdot)$ 编码点坐标与法向,拼接投影为 token $z_{s,i} = \varphi[f_{s,i}; g_{s,i}]$。
这是模型的点编码前端,决定每个点 token 携带的信息;也是理解 Fig. 2 数据流以及全局注意力消融实验作用位置的基础。
普吕克坐标(Plücker coordinates)
三维直线用 6 维普吕克坐标 $\ell = (a, m) \in \mathbb{R}^6$ 表示:$a$ 为单位方向,$m$ 为矩。回归得 $(\hat{a}, \hat{m})$ 后,即可解析恢复关节轴向 $\hat{a}/\|\hat{a}\|$ 与轴上原点。
FAMOS 的旋转关节回归头输出的正是普吕克坐标,评价指标中轴误差 AE(度)和原点误差 OE(物体尺度比例)都基于这一表示计算。
研究动机
现有铰接物体建模方法对输入的要求都很苛刻。基于测试时优化的方法(如 PARIS、Ditto、ArtGS、ReArt)需要每个铰接状态的稠密多视角观测,并对每个物体单独优化,论文实测 ReArt 每物体需 182 秒、ArtGS 需 297 秒(单张 RTX 5090),难以规模化;它们还常假设可动部件数已知。基于视频的方法(如 Sim2Art、PokeNet)依赖人-物交互序列上的场景流或点跟踪,在遮挡或多部件同时运动时误差级联传播,且要求时序连续。单状态前馈方法(如 Particulate)虽然快,但只从一张完整点云推断、从未见过物体运动:同一可见几何可能对应多种运动学解释,本质上歧义,模型只能靠学到的类别级形状先验去猜,对未见几何和部分输入泛化差;即使手头有多状态观测,这类方法也只能逐观测独立处理,白白浪费运动证据。此外训练数据匮乏:PartNet-Mobility、GRScenes、ACD 等已标注数据集规模小,本文过滤后分别只有约 1020 个(25 类)和 968 个(15 类)物体。
本文的目标是本文要构建一个前馈模型 FAMOS:输入是同一物体在任意铰接状态、任意视角下的少量随手拍观测,被提升为无序、数量可变(包括单张)的部分点云集合后,模型单次前馈即联合输出三件事:(i) 部件数 $P$(含静态基座),不需要预先知道;(ii) 跨所有状态一致的逐点可动部件分割 $M$;(iii) 每个可动部件的关节类型(旋转/滑动)及关节轴与原点。方法不应假设完整几何、已知部件数或固定的输入状态数;预测要建立在观测到的真实运动证据上而非纯形状先验,从而提升对未见几何的泛化;并且只用手写合成数据训练,仍能泛化到真实世界随手拍。同时推理必须快——目标是以比优化方法快约三千倍的效率实现可扩展的实际部署。
与已有工作不同的是,本文的独特切入是把铰接建模锚定在观测到的运动上而非学到的形状先验,具体体现为三个此前未被同时做到的设计。第一,首个支持无序、可变数量多状态输入的查询式前馈架构:此前多状态方法要么要求时序有序且运动连续的 4D 序列(Sim2Art、PokeNet),要么要求每状态多视角(ArtSplat)、已知部件数和固定状态数(ART),或交互前后完整几何加单可动部件(Ditto),FAMOS 对这些均无要求。第二,提出观测铰接跨度这一新监督目标:监督每个部件在本次输入集合中实际展现的运动范围,该量单张观测原则上推不出来,从损失函数层面强迫模型真正聚合多状态证据,而非逐观测独立预测。第三,用六个解析图元程序化生成 15 个物体族的无限自标注数据流,训练时实时合成(2.99 毫秒/资产),绕开小数据集瓶颈。
核心方法
先给直觉:如果能看到一扇门在两张照片里转了 30°,门轴的位置和旋转类型就基本确定了——运动证据本身能消除纯几何的歧义。FAMOS 把这个想法工程化:输入 $S$ 个归一化到 $[-0.5,0.5]$ 的部分点云(每状态 $N=2048$ 点),每个点先用冻结的 PartField 提取部件感知特征 $f_{s,i}$,再与坐标和法向的正弦编码 $g_{s,i} = [\gamma(x_{s,i}); \gamma(n_{s,i})]$ 拼接并投影为 token $z_{s,i} \in \mathbb{R}^D$($D=768$)。随后 $K=16$ 个可学习部件查询与全部点 token 一起通过 $L=6$ 层多状态铰接 Transformer,每层交替执行状态内自注意力和跨状态全局注意力。最后由轻量 MLP 头解码:逐点-查询打分经 softmax 得到跨状态一致的部件分割,另有分类头预测关节类型(静态/旋转/滑动)、旋转头回归 6 维普吕克坐标、滑动头回归方向,以及仅在训练时使用的观测铰接跨度回归头。模型刻意不加观测索引或状态嵌入,因此天然支持任意数量的输入观测。
核心创新有二。其一是交替式全局注意力:以往查询式架构(如 Particulate)中点 token 彼此从不注意,信息只能经查询-点交叉注意力中转;FAMOS 在全局注意力层把 $K+SN$ 个 token 拼成一个序列联合处理,让不同观测的点 token 直接建立对应——这在观测无序、可见表面随视角与开合变化的设置下是必需的。由于状态内注意力已让 token 积累所属观测的上下文,模型可完全省去状态索引嵌入,避免学到伪相关,天然支持可变输入数。其二是观测铰接跨度损失:对在至少两个状态可见的部件 $p$,监督 $\Delta_p = \max_{s \in V_p} \theta_{s,p} - \min_{s \in V_p} \theta_{s,p}$(旋转为弧度、滑动为物体归一化单位)。该量只取决于输入集合整体:无法从单观测推断、无法当物体属性记忆、也无法在无序输入上用首尾相减近似——监督它就等价于强迫每个查询在所有点云中定位同一物理部件并推断其相对开合。作者发现若只监督关节类型/轴向等物体内在属性,模型会走捷径,训练时依赖一张观测而忽略其余。
方法步骤详情
流程如下。数据侧:每样本取 $S \in \{1,2,3,4\}$ 个状态(采样概率 0.1/0.3/0.3/0.3),随机取关节值摆姿后渲染深度图,反投影得 $N=2048$ 点部分点云,统一到首帧相机系并归一化到 $[-0.5,0.5]$,加密度与噪声增广。编码:冻结 PartField 输出 $f_{s,i}$,与正弦几何嵌入拼接投影得 $z_{s,i}$。主干:6 层 Transformer,每层先做状态内注意力(各观测点 token 独立自注意、查询间自注意),再做全局注意力($K+SN$ 个 token 联合注意)。预测头:逐点-查询得分 $c_{s,i,k}$ 经 softmax 得分割;类型头三分类;旋转头回归普吕克坐标并恢复轴与原点;滑动头回归方向;另有跨度头。训练:匈牙利匹配在全部点上联合计算;总损失为分割、类型、普吕克、滑动、跨度五项之和,权重全为 1。先程序化预训练 5 万步,再以 1:1 混合程序化与真实数据训 8 万步,AdamW 峰值学习率 $3 \times 10^{-5}$、batch 128、4 张 A100。
技术新颖性
与最近邻工作的本质区别:Particulate 只吃单个完整点云且点 token 无交互,FAMOS 让跨观测点级直接注意力成为可能并证明其关键(去掉后 ACD 上 MAO 掉 8.1 点);Ditto 要求完整几何且仅支持单可动部件,ArtSplat 要求每状态多视角 RGB,Sim2Art/PokeNet 依赖时序连续的 4D 序列,ART 需已知部件数和固定状态数——FAMOS 对以上均无要求,是首个无序集合加可变状态数的前馈铰接模型。跨度目标在数学上也是新的:它是关节值的差,对未观测、不唯一的规范静止状态选择不变,对任意观测集都有良定义,与单状态方法回归的固定关节极限有本质不同。数据侧,基于盒、圆柱、空心圆柱、半环面、球、带孔面板六种图元的生成器覆盖 15 族、每物体 1–8 个可动部件,标注由构造已知,训练路径单核 CPU 2.99 毫秒/资产(334.5 资产/秒、7.8 MiB 内存),确定性种子实现无限不重复训练流,与真实数据集互补。
实验结果
在 PartNet-Mobility(域内,76 物体)、ACD(跨数据集,354 物体)、ArtiCraft-10K(跨数据集,180 物体)上,$S=2$ 时 FAMOS 全面领先。分割 F1@IoU0.5 达 98.4/71.9/92.5,比多状态重训的 Particulate(93.6/43.7/76.6)在 ACD 与 ArtiCraft 高 28.2 和 15.9 点;优化基线拿到更稠密的特权输入,F1 仍处处低于 60。运动估计最严 MAO 准则下达 98.4/64.5/90.0,高 8.1/27.8/21.5 点,优化基线全部低于 40;FAMOS 在 ACD 匹配 947 个部件(基线 572),增益并非靠挑简单部件。单状态时仍以 95.2/68.5/89.9 占优。效率上每物体 0.1 秒,比优化方法(182/297 秒)快约 1800–3000 倍;仅用合成数据训练即可泛化到真实随手拍。消融:去跨度损失 MAO 降 1.3/5.7 点,去全局注意力降 2.2/8.1 点,程序化预训练+混合把 ACD F1 从 53.2 提到 71.9。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 可动部件分割(域内 PartNet-Mobility) | F1 @ IoU 0.5(S=2) | 98.4 | 93.6(Particulate 多状态重训) | +4.8 点 |
| 可动部件分割(跨数据集 ACD) | F1 @ IoU 0.5(S=2) | 71.9 | 43.7(Particulate);ReArt/ArtGS 均 <60 | +28.2 点(相对提升 64.5%) |
| 可动部件分割(跨数据集 ArtiCraft) | F1 @ IoU 0.5(S=2) | 92.5 | 76.6(Particulate) | +15.9 点 |
| 运动估计(域内 PartNet-Mobility) | MAO F1(类型+轴<5°+原点<0.05) | 98.4 | 90.3(Particulate) | +8.1 点 |
| 运动估计(跨数据集 ACD) | MAO F1 | 64.5(#匹配部件 947) | 36.7(Particulate,#572);优化基线 <40 | +27.8 点 |
| 运动估计(跨数据集 ArtiCraft) | MAO F1 | 90.0(#匹配部件 323) | 68.5(Particulate,#274) | +21.5 点 |
| 单状态推理(S=1,ACD) | Seg F1 / MAO F1 | 68.5 / 59.4 | 43.4 / 35.6(Particulate 单状态重训) | +25.1 / +23.8 点 |
| 推理速度(4 状态,RTX 5090) | 每物体耗时 | 0.1 秒 | 182 秒(ReArt)/ 297 秒(ArtGS) | 约 1800–3000 倍加速 |
局限与改进
作者在补充材料中承认三点局限:对训练分布外的物体类别(几何或铰接方式差异大时)性能下降;相对整体过小的可动部件(按钮、旋钮)在稀疏观测和部件间遮挡下难以分割——论文过滤训练数据时干脆把小部件当静态处理;只支持深度为一的运动学树,即可动部件都直接连在静态基座上,无法表达部件嵌套(如柜门上再装小抽屉)。我的补充观察:真实世界结果仅有定性展示(Fig. 1、6、D.1),未给出真实数据的量化指标,合成到真实的差距没有数值验证;推理依赖上游 SAM2 分割与 VGGT-Ω 重建,上游点云严重噪声或损坏时模型会失效(Fig. F.1 底行);跨度损失只对至少两状态可见的部件生效,真正的单状态推理完全退回形状先验;所有指标统一在第一个输入状态上评测,对参考状态选择的敏感性未讨论;K=16 个查询是部件数上界(P 远小于 K),极端多部件物体可能受限;程序化资产占比过高时会过拟合图元风格(Table G.1 中 90% 时 ACD 回落到 70.7/62.0)。
独立分析的弱点
独立分析几点弱点。第一,运动学结构受限:现实家具常有嵌套铰接(冰箱门内嵌抽屉),深度一结构无法表达,可把部件查询分解为层次化部件-子部件表示并在生成器中加入树状关节采样。第二,真实场景鲁棒性完全依赖上游重建:VGGT-Ω 在反光、透明、无纹理表面上点云残缺,可引入逐点不确定性加权、多帧置信度聚合,并在真实扫描上做轻量微调。第三,程序化资产终究是六个图元拼装,形状统计偏离真实人造物——混合消融显示程序化占 90% 时 ACD 分割 F1 回落到 70.7,说明域外增益部分来自真实数据;可借鉴 ArtiCraft 的 LLM 智能体生成或对 Objaverse 大资产库自动铰接化,扩类别而非只扩实例。第四,单状态场景完全靠先验,可探索用部件间运动学一致性(如共享铰链的对称双开门)作弱监督替代。第五,输出只有几何运动学,不含关节限位、摩擦、质量等物理属性,直接用于机器人抓取力规划不够。第六,评测统一在第一状态进行,合成相机区域限于正面略仰视锥(Fig. A.1),极端侧面视角未系统评测。
未来方向
作者提出的方向包括:用程序化或 LLM 智能体生成(如 ArtiCraft)扩展物体类别多样性、构造更深的运动学结构用于训练。在此基础上可以延伸:其一,接入机器人闭环——预测的关节参数可直接生成抓取与开合动作,进一步做主动下一个最佳视角规划,让系统自主决定再拍哪个状态最能消解歧义(Fig. 7(c) 已证明第二个状态的信息量最大);其二,与 3D 生成模型结合,把 FAMOS 的分割加关节预测作为结构先验,从单张照片生成可交互数字孪生(URDF 或可动 3D Gaussian),服务 AR/VR 与仿真环境构建;其三,扩展到含关节限位预测、多自由度关节(球铰、螺旋)和层级树的通用运动学模型;其四,把生成器升级为带 PBR 纹理与物理属性的完整资产流水线(论文已展示 0.88 秒/资产、平均 4.82 MiB 的全纹理 GLB+URDF 导出能力),用于 sim-to-real 策略训练;其五,把观测跨度目标推广为预测未观测状态的自监督任务,让模型从任意状态集合推断完整运动包络,反哺单状态推理。
复现评估
复现条件较为友好。数据全部公开:PartNet-Mobility、GRScenes、ACD、ArtiCraft-10K 均可获取,ArtiCraft 测试划分规则写明(6 类各 30 个,过滤正面不可见部件);生成器细节完整,15 个物体族的结构变体列于 Table H.1,训练用生成路径单核 CPU 2.99 毫秒/资产(334.5 资产/秒、7.8 MiB 内存),无需预存数据集。训练需 4 张 A100 40GB、共 13 万步(5 万预训练 + 8 万混合),AdamW 峰值学习率 $3 \times 10^{-5}$、batch 128、bfloat16,属学术实验室中等规模。推理极轻:单张 RTX 5090 上 S=2/N=2048 仅 65.6 毫秒、1.56 GiB。主要基线 Particulate 由作者在同一数据与协议下重训,补充材料给出多状态扩展细节,对比公平。项目页 https://kevinqu7.github.io/famos 提供补充信息,但论文未明说代码是否开源;若未发布,复现需自行实现生成器与训练循环,难度中等偏上。
论文图表
左侧展示对同一物体在不同铰接状态和视角下的随手拍,被提升为部分点云后由 FAMOS 单次前馈联合预测可动部件分割与运动参数(右侧为关节类型、轴向等输出示意);右端强调仅用合成数据训练即可泛化到真实世界随手拍。
这是全文的任务定义图:一眼看清输入(稀疏、部分、无序多状态观测)、输出(分割+关节)与核心卖点(合成数据训练、真实泛化),适合作为读者理解论文定位的入口。
三联图:(a) 去掉跨度损失后关节预测变差;(b) ACD 上分割与 MAO F1 随输入状态数增加而提升,第二个状态带来最大增益且超过训练上限 S=4 也不退化;(c) 单观测会给出几何上合理但错误的预测,第二状态揭示运动后预测被纠正。
汇总三个关键消融,同时直观解释多状态推理为何能消除单观测固有的运动学歧义。
单张 RTX 5090、4 状态输入下每物体推理时间:FAMOS 与 Particulate 均 0.1 秒,ReArt 182 秒、ArtGS 297 秒。
支撑快约三千倍的核心效率主张。
端到端推理延迟与峰值显存随状态数 S(1–12)与每状态点数 N(1024–8192)的变化曲线;最大配置(超 9.8 万 token)也只需 1.20 秒、10.66 GiB。
证明全局注意力的平方复杂度在实践中不构成瓶颈,模型可扩展到远超训练设置的输入。
S=2 时 FAMOS 直接预测的观测跨度平均绝对误差:旋转关节 1.57°/4.97°/1.69°,滑动关节 0.0067/0.0185/0.0065(PartNet-M/ACD/ArtiCraft)。
验证模型确实学会了跨度这一辅助目标,证明跨状态聚合机制真实生效。
在 34 个单可动部件物体上,FAMOS 直接预测跨度(旋转 MAE 1.38°、滑动 0.0120)显著优于基于 Particulate 加 trimmed ICP 刚性配准的后处理基线(5.92°、0.0412)。
与一个合理替代方案对照,说明端到端预测跨度优于事后几何拟合。
二阶段训练中程序化数据占比从 0% 到 90% 的消融:ACD 在 50% 时最优(71.9/64.5),90% 时回落(70.7/62.0),域内对比例不敏感。
揭示合成与真实数据互补但需平衡,为数据配比实践提供直接参考。
三类失败:与训练分布差异大的未见类别(上)、含许多相对整体过小可动部件的物体(中)、上游 3D 重建严重噪声或损坏(下)。
明示方法边界,是评估其在实际部署中适用范围的重要参考。
说明合成数据渲染时相机视角从物体观察球上略仰视、正面的有效区域中独立采样,近似人手持相机拍摄的方式;每个状态独立采样视角。
定义了训练与评测的视角分布,是理解实验设置和泛化范围(正对视角为主)的前提。
逐一列出 15 个程序化物体族的结构变体:门位、开门方式、抽屉数量、铰链侧等离散选项的取值范围。
程序化生成器的完整规格,是复现其数据管线的关键材料。
全部 15 个程序化物体族及其结构变体的图集,可动部件按真值着色。
与 Table H.1 配合,完整呈现合成数据的覆盖面。
更多真实世界物体上的预测示例(RGB 取自 Sim2Art、FreeArt3D、ArticulatedGS 等工作),展示分割与关节轴预测。
补充真实泛化证据的样本量,说明 Fig. 6 不是精心挑选的个例。