
![]()
“可将人类视作一种特殊形态的机器人,获取其行为数据可用于训练人形机器人。”
作者丨张进
编辑丨林觉民
在 GAIR 2025 “世界模型”分论坛上,浙江大学研究员彭思达带来了《面向具身智能的通用空间感知技术》的主题演讲,介绍了其团队近期在赋予机器人通用感知能力方面的多项工作。彭思达是浙江大学软件学院“百人计划”研究员、博士生导师,研究方向为三维计算机视觉和计算机图形学。
团队主要聚焦于赋予机器人三项基础能力:一是相机定位(Camera Pose Estimation),即让机器人知道自己在空间中的位置;二是深度估计(Depth Estimation),使机器人了解场景中各物体与自身的距离;三是物体运动估计(Object Motion Estimation),让机器人感知世界的运动状态。
这些底层空间感知技术有何作用?首先,它们能为机器人提供关键的决策信息。例如,无人机在空间中需要先知道自身位置、与场景目标的距离,才能实现基础避障;进而还需了解目标物体的运动情况,才能进行追踪。基于从场景中获取的三维空间信息,机器人的行为规划便能得到有力支持。
其次,这些技术可用于生成训练数据。当前具身智能领域的一大难题是数据匮乏。以往有人尝试仿真或遥操获取数据,但遥操数据虽好却难以规模化扩展,而仿真技术目前仍与真实世界存在较大差距。
彭思达提出,其实可将人类视作一种特殊形态的机器人——具备完整的身体结构与行为模式。若能发明一种数据采集设备,将人类日常行为完整记录下来,就相当于获取了机器人所需的行为数据,从而可用于训练人形机器人。这其中便涉及相机定位、深度估计与物体运动估计等技术。
01
相机定位
相机定位方面,最传统经典的方法是Colmap。该方法从图像中提取特征并进行两两匹配,再通过增量式运动恢复结构(SfM)得到相机位置。最终每张图像对应一个相机位置,并共同生成三维点云,形成经典的三维重建流程。
![]()
然而,该流程目前面临的挑战在于图像匹配。团队发现,传统匹配方法在恶劣环境或视角差异较大的情况下效果不佳,会影响后续相机位姿估计的准确性。
![]()
针对这一问题,彭思达所在实验室于2021年提出一种新方法:不再依赖传统匹配方式,而是直接使用Transformer大模型进行图像匹配。具体而言,将两张图像输入LoFTR模型以提取稠密特征,这些特征之间即使在弱纹理区域也能实现良好的匹配。
但这个方法的问题是,多模态匹配很难,例如现实环境往往是黑夜白天交替、热传感跟可见光同时出现,这种情况下两两无法匹配。所以我们要解决跨模态的问题,
去年团队针对此问题提出了新的工作叫 MatchAnything,核心思路是用大量来源的数据,和多模态预训练框架去训练 LoFTR 模型,成功实现了实现了红外和可见光、事件和可见光、CT 和 MR 的匹配。这其中其实是工程数据问题,彭思达团队整合了多种数据来源,一种是常见的多视角图像,一种是大量的单目视频。单目视频要如何匹配?团队使用了成熟的光流算法,将其一个个拼接起来,得到一个长时序的匹配关系。第三种数据来源是通过图像变换,例如将单张图片用传统的图像变换给 warp,就形成了一个稠密匹配。
前三种都是在同一个模态下,进一步增光匹配的数据训练来源,还有一种是做跨模态数据生成。团队通过对现有两两匹配中的一张图片做跨域生成,比如将其变成热传感图像、黑夜图像、深度图像,发现只做少量的三种模态就能实现任意跨模态能力。如此便可以实现即便卫星图像是夏天的,无人机在冬天工作也能匹配,以前是匹配不上的。
此外,跨模态数据生成还包括可见光跟雷达图像,可见光跟矢量地图,红外跟可见光,匹配的情况增多,逐渐形成一个匹配的模型后,特别是应用于遥感领域的无人机性能大大增强,同时应用于自动驾驶领域也出现了不错的效果。
![]()
据下图所示:相比之前的方法,MatchAnything 匹配的成功概率有很大的跃升。
![]()
但 MatchAnything 面临一个问题,即没法融入已有的 SfM 算法,因为 MatchAnything 或者 LoFTR 模型的输出匹配因图片对不同而不同,导致无法建立多视图匹配,因此没法直接用在 SfM 算法中。
彭思达表示这是一个大问题,导致 MatchAnything 无法直接用于相机定位,为此他们又提出一个新的解决思路 Detector-free Sf,即先基于 MatchAnything 重建一种粗糙的模型,再做模型优化。
具体做法是给两张图片做无特征检测的图像匹配,因为无法很好地形成多视角匹配,首先要做量化匹配把多张图片的匹配关系连接起来,再去跑传统的 SFM 算法。但图片匹配关系被量化后,准确率降低,所以SFM 跑出来的结果不准。因此需要迭代式去优化。
迭代式优化的具体流程是先优化多视角匹配,再优化三维模型,根据下图所示,优化后就能看到最右边的三维模型有一个更精密的点云以及更精细的三维位姿。
![]()
以下展示了上述方法跟之前最好的方法相比的效果,出现稠密点云和相机位置后,就可以做表面几何重建。
![]()
同时,Detector-free SfM 面临的问题跟所有传统方法一样,重建速度太慢了,一个模型迭代式优化可能需要几十个小时甚至一天,以至于对于那些对时间比较敏感的重建任务不太好用。
为了解决速度的问题,彭思达团队进而进行了一项端到端的重建工作。已有的方法像 VGGT,这是今年 CVPR 的最佳论文,最大的突破是直接使用一个大型的大模型去回归图片的相机位置和深度,因为是网络直出所以速度很快,比如一个场景传统的相机位置估计方法可能需要十几个小时,VGGT 只需要一两秒,这是非常大的提升。
![]()
但 VGGT 最大的问题是没法处理大规模场景,因为它是个大的网络,图片越多网络很容易就会爆显存。处理上百张图片勉强可以,但是 1000张肯定就不行了。
一个直观的解决办法将大场景进行分段预测。如果没办法一次性处理太多图片,可以把大场景进行分段预测,分成很多 chunk,然后对每个 chunk 去估计相机位置。但这种情况下,由于每个 chunk 预测不够精准,导致 chunk 之间难以拼接,两两连接效果并不好,最后会形成一个累积误差,整个网络会坏掉。
对此,彭思达团队提出了一个新方法 Scal3R,其相关论文已经被 CVPR 接收。该方法受人类的全局视野启发——人有全局视野的情况下,对局部场景的几何预测也有更一致的预测,所以 Scal3R 致力于赋予 VGGT 对目标场景的全局视野。
构建全局视野的具体方法是使用网络权重记录每个 chunk 的内容。具体实现的流程是先输入 chunk 的一组图片,直接更新到一个网络权重里就能记录这组 chunk 图片内容。在推理中如何实现呢?一个网络模块直接预测 KB,再拿这个 KB 去更新一个网络权重,该网络权重就记录了该 chunk 的图片内容。
在线更新网络权重作为场景的记忆,整个网络就记录了整个场景的记忆,有了记忆可以预测出每个 chunk 的显性位置的点云,该点云也更具有全局一致性,因此拼接起来效果更好。
![]()
实验结果如下:
![]()
跟其他方法相比的效果:
![]()
![]()
02
深度估计
深度估计是通用空间感知的关键组成部分。去年,彭思达团队在提升深度估计能力方面取得了三项进展,其中之一是“Pixel-Perfect-Depth”思路。
具身智能需要深度估计,是因为准确的深度信息能提升机器人的决策性能。但现有方法普遍在物体边缘存在“飞点”问题:判别式模型(如Depth Anything)倾向于预测“折中值”以最小化损失,从而导致飞点;生成式模型(如Marigold)虽能从理论上建模多峰深度分布,但因使用VAE进行压缩,同样会产生飞点。
团队从生成式模型出发,提出了 Pixel-Perfect-Depth 的解决思路:首先移除VAE,直接在像素空间进行优化,以避免VAE带来的信息损失,使得像素空间扩散避免了边缘飞点。然而,没有VAE后模型需要更全局的视野,因此他们将语言特征整合到DiT模型中,发现这能显著增强模型深度估计能力。
根据下图实验结果显示,Pixel-Perfect-Depth 方法能使模型达到很高的精细度估计,比如图片中的叶子远处的线都能有很好的估计效果。
![]()
还能较好地解决了飞点问题:
![]()
Pixel-Perfect-Depth 方法还能拓展提升视频深度估计能力。相对于单张图片输入,常见的是视频输入,要对视频深度估计,只需要在 Pixel-Perfect-Depth 上做两个简单的改进,首先是提取视频的语义特征,得到特征以后注入到多视角的估计模型里;第二,视频深度估计重要的是保持时序的连续性,通过 target tokens叠加reference tokens,提升时序一致性。
Pixel-Perfect-Depth 虽然能做好单张图片和视频深度估计,但做不好带尺度的深度估计。而很多场景是带尺度的,因为没有尺度机器人就不好用。为了解决该问题,彭思达团队从语言模型的 prompt 技术汇总获得灵感,试图探索为深度基础模型设计提示词机制,以提升其输出绝对深度的准确性。
他们将雷达做诶深度感知的prompt喂给深度估计基础模型,让其产生绝对深度。
![]()
![]()
该算法 prompt Depth Anything 不仅可以提升通用机器人抓取能力,抓取成功率超越Image及LiDAR作为输入;还能应用于自动驾驶重建;做三维扫描、前馈式三维高斯等等。
但 prompt Depth Anything 仍然存在问题,要得到三维场景的深度估计一般通过反投影,但透视投影在相邻视角看着还不错,如果俯视、反投影得到的点云在远处会产生裂痕。
对此彭思达团队提出了一个叫 InfiniDepth 的解决思路,即不只是给每个像素估计深度值,还给每个次像素估计,其论文已经投稿在 CVPR。具体做法是将已有DPT Head改为Implicit Decoder,就能得到一个完整的几何,达到大范围的视角渲染。这样能提高模型精细度,例如能更好服务于机器人去抓取线缆的能力。
![]()
03
物体运动估计
将人类行为数据转化为有效训练数据,是当前具身智能发展的关键。这需要获取深度信息、相机运动以及人类行为语义轨迹,而语义轨迹的获取又依赖于跟踪。彭思达团队去年的一个工作就跟三维跟踪有关。
此前已有方法使用时序匹配进行跟踪,例如Google的CoTracker:先初始化一组二维像素点,再利用Transformer迭代优化这些点的轨迹。但该方法仅在二维层面进行跟踪,容易因相邻区域的干扰而丢失目标,效果受限。
彭思达团队的思路是将二维图像反投影至三维空间,做 3D tracking。具体做法是:输入图像并反投影至三维,获得三维特征后,在三维空间中初始化一条三维轨迹,再利用Transformer对该轨迹进行优化,从而实现更鲁棒的跟踪效果。该方法被命名为SpatialTracker。
![]()
其实验结果显示,模型有了更强的跟踪能力:图(1)中运动员踢球的速度很快,SpatialTracker 也能跟踪地很好;图(2)蝴蝶拍动翅膀时是有很强的空间遮挡,SpatialTracker 也能跟踪地不错。
![]()
![]()






京公网安备 11011402013531号