简介
对于人类的运动技能来说,放置物体看似简单,实则不然。无论是把马克杯挂在架子上、把书滑进书架,还是把电池装进遥控器,你的大脑都在无缝地处理物体的几何形状,识别有效的放置位置,并协调手部动作来执行移动。你不需要在每次遇到稍微不同的马克杯或新类型的架子时都从头开始重新学习。
然而,对于机器人来说,这项任务却极其困难。挑战主要有三点:
- 几何多样性: 物体的形状和尺寸千差万别。
- 多模态性: 往往没有唯一的“正确”答案。一个架子可能有五个钩子;一个盒子可能有放置十二个小瓶的空间。一个稳健的系统必须识别所有有效的可能性。
- 精度: 堆叠任务可能容忍一厘米的误差,但将插销插入孔中则需要亚毫米级的精度。
传统方法很难同时解决这三个问题。有些方法依赖于大量特定的演示数据,这使得它们在面对新物体时变得很脆弱。另一些方法专注于“单次 (one-shot) ”模仿,但无法推广到具有多个放置选项的场景。
在这篇文章中,我们将深入探讨 AnyPlace , 这是 CoRL 2025 上发表的一篇新研究论文。这项工作提出了一个两阶段的流程,通过结合 视觉语言模型 (VLMs) 的语义推理能力与 扩散模型 (Diffusion Models) 的几何精度来解决放置问题。最令人印象深刻的是,该系统完全在合成数据上进行训练,却能以零样本 (zero-shot) 的方式泛化到现实世界。

背景: 机器人放置任务的挑战
要理解 AnyPlace 为何是一项重要贡献,我们需要确立机器人操作中的几个基本概念。
重排问题
机器人操作通常被定义为 物体重排 (object rearrangement) 问题。给定源物体 (如小瓶) 和目标物体 (如架子) ,目标是预测相对变换——具体来说是 \(SE(3)\) 中的刚体变换——将源物体从其初始姿态移动到稳定、有效的最终姿态。
\(SE(3)\) 代表三维空间中的特殊欧几里得群,本质上意味着 平移 (在 x、y、z 轴上移动) 和 旋转 (方向) 的结合。
端到端学习的局限性
一种常见的方法是将场景的完整图像输入神经网络,并要求其预测最终的末端执行器姿态。虽然这对特定任务可能有效,但其泛化能力较差。如果模型是在特定的棕色架子上训练的,当面对白色架子或形状稍有不同的架子时,它可能会失败。此外,视觉基础模型 (VFMs) 通常缺乏精细任务 (如“孔中插销”) 所需的精确空间推理能力。
合成数据的作用
收集现实世界的机器人数据既昂贵又缓慢。理想情况下,我们希望在仿真器中训练机器人 (那里的物理模拟很快且数据是无限的) ,并让它们在现实世界中工作。这被称为 仿真到现实 (Sim-to-Real) 迁移 。 AnyPlace 在很大程度上依赖于此,生成了大量的“形状匹配”对 (适配在一起的物体) 数据集,以教会机器人通用的几何兼容性。
AnyPlace 方法
AnyPlace 论文的核心见解是,我们不应该要求单个模型完成所有工作。相反,作者将问题分解为两个不同的阶段:
- 粗略位置建议 (语义) : 使用 VLM 观察整个图像,大致弄清楚动作应该发生在 哪里。
- 精细姿态预测 (几何) : 使用专门的扩散模型 仅 观察该特定局部区域,以弄清楚物体究竟 如何 适配。

让我们详细拆解这两个阶段。
第一阶段: VLM 引导的粗略位置预测
当你看到一个沥水架时,你会立即看到可以放杯子的“支柱”。你不需要计算精确的几何形状就知道支柱是感兴趣的部分。
AnyPlace 复制了这种直觉,使用了一个视觉语言模型 (具体为 Molmo )。该系统获取场景的 RGBD (红绿蓝深度) 图像和文本指令,例如“把小瓶放进试剂瓶架”。
流程如下:
- 指令: 用户提供文本提示。
- 分割: 像 SAM-2 (Segment Anything Model) 这样的模型将目标物体 (小瓶) 和基础物体 (架子) 分离开来。
- VLM 查询: 提示 VLM 识别放置点。例如,提示可能是“指向试剂板上的空位”。
- 裁剪: 这是关键步骤。一旦 VLM 在图像上输出一个 2D 点,系统就会将 3D 点云裁剪到该点周围的一个小区域。
通过裁剪数据,系统丢弃了“全局”噪声。后续模型不需要关心桌子、角落的灯光或附近的其它物体。它只需要解决一个局部几何问题: “物体 A 如何放入物体 B 的这个特定块中?”

如上图所示,VLM 在理解各种指令方面表现得惊人地好,无论是寻找“抽屉的底部”、“棍子的尖端”还是板上的“空槽”。
第二阶段: 基于扩散模型的精细放置
现在系统有了一个局部的“感兴趣区域” (裁剪后的点云) ,它需要计算精确的 \(SE(3)\) 变换来放置物体。
作者为此任务采用了 扩散模型 。 在图像生成的背景下,扩散模型学习将随机噪声去噪为连贯的图像。在这里,这个概念被用于几何。模型学习将随机变换“去噪”为正确的放置姿态。
架构
低级模型使用了基于 Transformer 的架构:
- 输入: 两个点云——目标物体 \(\mathcal{P}_c\) 和裁剪后的基础区域 \(\mathcal{P}_{b\_crop}\)。
- 编码器: 这些点云通过自注意力层 (理解其自身形状) 和交叉注意力层 (理解形状之间的关系) 进行处理。
- 解码器: 扩散解码器接收编码后的特征并预测变换更新。
扩散过程
这是一个迭代过程。它始于物体相对于裁剪区域处于随机的旋转和平移状态。
\[ \mathcal { P } _ { c } ^ { ( 0 ) } = T _ { \mathrm { i n i t } } \mathcal { P } _ { c } , \]初始化逻辑定义为:
\[ T _ { \mathrm { i n i t } } = ( \mathbf { R , t } ) , \quad \mathbf { R } \sim \mathcal { U } ( \mathrm { S O } ( 3 ) ) , \quad \mathbf { t } \sim \mathcal { U } ( \mathrm { b b o x } ( \mathcal { P } _ { b _ { - } c r o p } ) ) . \]这基本上是说: 从一个随机旋转 \(\mathbf{R}\) 和位于裁剪区域边界框内的随机平移 \(\mathbf{t}\) 开始。
经过多个时间步,模型预测一个增量变换 (微调) ,使物体更接近有效的适配位置。通过重复这个“去噪”步骤,物体“滑”入到位。由于扩散模型是概率性的,它们可以表示 多模态分布 。 如果你对相同的输入多次运行扩散过程,它可以发现物体的不同有效方向或适配方式。
基于合成数据训练
AnyPlace 的一个显著特点是,这个低级模型完全是在合成数据上训练的。作者在 Blender 和 NVIDIA IsaacSim 中构建了一个程序化生成流程。

他们生成了数千个物体并定义了三种主要的任务类型:
- 插入: 插销入孔,小瓶入架。
- 堆叠: 盒子在托盘上,物品在架子上。
- 悬挂: 杯子挂架子上,圆环挂钩子上。
由于数据是通过程序生成的,“真值 (ground truth) ”放置姿态在数学上是完美的。这使得模型能够学习纯粹的几何关系——凸面适配凹面、平面放置于平面、钩环套过圆柱——这些关系可以非常好地迁移到现实世界的物体上。
实验与结果
作者将 AnyPlace 与几个强基准进行了比较:
- NSM (Neural Shape Mating): 一种基于回归的方法。
- RPDiff: 一种类似的基于扩散的方法,但没有 VLM 引导的局部裁剪 (它观察全局场景) 。
- AnyPlace-EBM: 他们自己系统的基于能量的模型变体。
仿真性能
仿真结果揭示了这种“从粗到细”架构的优势。

在 表 1 中,注意“插销插入 (Peg Insertion) ”一栏。这是一项高精度任务。单任务 AnyPlace 模型的成功率达到 30.95% , 而 NSM 仅为 7.63% 。 虽然绝对数值看起来不高 (插入确实很难!) ,但 AnyPlace 显著优于基准。在“小瓶插入 (Vial Insertion) ” (多模态) 中,AnyPlace 以 92.74% 的成功率占据主导地位,而基准仅为 16-18% 。
覆盖率和多模态性
论文的一个关键主张是 AnyPlace 可以找到 所有 有效的放置点,而不仅仅是一个。

图 4 展示了“覆盖率”,即在多次试验中找到的可用插槽数量。
- 红线 (AnyPlace) 几乎立即飙升至接近 1.0 (100% 覆盖率) 。
- 基准 (RPDiff, NSM) 很难找到多样化的解决方案,通常坍缩到单一模式或完全失败。
精度
为什么裁剪点云很重要?它迫使模型专注于精度所需的细节。

图 5 显示了平移 (距离) 和旋转误差的直方图。
- NSM (蓝色) 的误差分布较宽。
- AnyPlace (绿色) 在零误差附近有一个紧密的聚类,特别是对于距离。这种亚厘米级的精度正是插销插入等任务得以成功的原因。
现实世界评估 (仿真到现实)
终极测试是将模型部署在物理机器人上,处理从未见过的物体。作者测试了 16 个不同的现实世界任务。

表 2 显示了现实世界的覆盖率。AnyPlace 在小瓶插入和圆环悬挂任务上达到了 80% 的覆盖率 。 基准 (NSM 和 RPDiff) 通常完全失败 (0%) 或覆盖率极低。这对于全局场景方法来说是一个极具说服力的反证结果——它们根本无法像 AnyPlace 的局部裁剪方法那样有效地处理现实世界点云的噪声和复杂性。

图 6 中的定性结果令人信服。图中展示了机器人成功堆叠电池、悬挂圆环和插入小瓶。叠加的点云显示了模型在执行前预测的准确物体“虚影”姿态。
失败分析
没有系统是完美的。论文诚实地分析了失败案例,通常源于糟糕的传感数据。

在 图 A5 中,我们看到了预测的比较。
- AnyPlace (左列) : 预测出干净的适配。
- RPDiff (第三列) : 经常预测出物体与架子或底座相交 (穿模) 的姿态。这是模型未能学习到精确局部几何边界的典型特征。
结论与启示
AnyPlace 为模块化机器人设计提供了令人信服的论据。作者没有将庞大的神经网络应用于原始图像并祈求好运,而是利用了不同 AI 架构的特定优势:
- VLMs 充当“语义之眼”,理解指令并识别广泛的感兴趣区域。
- 扩散模型 充当“几何大脑”,解决将形状拼合在一起的复杂 3D 拼图。
通过使用 VLM 裁剪扩散模型的输入,研究人员将一个困难的全局问题转化为一个可控的局部问题。这使他们能够在廉价的合成数据上进行训练,并在现实世界中有效部署。
给学生的主要启示:
- 分而治之: 将机器人任务分解为高层规划 (在哪里?) 和低层控制 (如何做?) 通常比端到端学习产生更好的泛化效果。
- 局部 > 全局: 对于操作任务来说,距离目标 50 厘米以外发生的事情通常并不重要。裁剪数据有助于模型集中注意力。
- 合成数据是可行的: 只要有足够的随机化 (域随机化) 和正确的抽象 (点云) ,你无需现实世界的演示数据就能训练出有效的策略。
机器人操作的未来很可能就像 AnyPlace: 系统能够从语言中读取用户意图,通过仿真理解物理世界,并以专用几何模型的精度执行任务。
](https://deep-paper.org/en/paper/425_anyplace_learning_generali-2515/images/cover.png)