如今李飞飞的团队以 BEHAVIOR Robot Suite 让机器人学会做家务。
无需人工标注,机器人就能像人类一样理解物体功能,轻松应对未知环境!
这项由国际团队提出的无监督功能蒸馏(UAD) 技术,让机器人首次实现从模拟训练到真实场景的 “零迁移成本”。

【论文链接】https://arxiv.org/pdf/2506.09284v1
源码见文末
1摘要
理解细粒度的物体功能对于机器人在非结构化环境中根据开放式任务指令操作物体至关重要。
然而,现有的视觉功能预测方法通常依赖于手动注释数据或仅在预定义的任务集上的条件。
本文介绍了无监督功能蒸馏(UAD),这是一种从基础模型中蒸馏功能知识到任务条件功能模型的方法,无需任何手动注释。
通过利用大型视觉模型和视觉语言模型的互补优势,UAD 自动用详细的 <指令,视觉功能> 对注释大规模数据集。
仅在冻结特征之上训练轻量级任务条件解码器,UAD 对真实机器人场景和各种人类活动表现出显著的泛化能力,尽管仅在模拟中渲染的物体上训练。
使用 UAD 提供的功能作为观察空间,我们展示了一种模仿学习策略,该策略在仅训练 10 个演示后,对未见物体实例、物体类别甚至任务指令的变化表现出有希望的泛化能力。

2背景
在非结构化环境中,机器人执行有目的交互的能力取决于对物体功能的理解。
当面对自然语言指定的开放式任务指令时,机器人必须基于视觉感知识别环境提供的动作可能性,且这种理解应超越物体或物体部分,涵盖像素级的细粒度细节。
尽管从具有封闭词汇的手动注释数据中学习视觉功能已被广泛研究,但将功能学习扩展到以自由形式任务指令为条件的开放世界场景仍是一个长期挑战。
视觉语言模型能在语言空间编码功能知识,但如何将其有效锚定在连续空间域仍是问题;
自监督视觉模型提供捕获物体低级结构的通用像素级特征,但未以特定开放世界任务语义为条件。
3贡献
提出了一种无监督管道,使用现成的VLM和LVM自动提取细粒度的功能注释。
扩展了任务条件功能模型的训练,该模型在现有基准上表现优于先前方法,尽管是零样本评估。
表明在模仿学习策略中使用功能作为观察空间,能够泛化到未见环境、物体实例、物体类别和任务指令,同时仅使用少量演示进行训练。
4技术方案

提取功能注释:利用 LVM 找到每个对象的细粒度语义区域,使用 VLM 提出与每个对象相关的候选任务指令,再将区域和指令关联,创建连续的功能图。
具体来说,对于每个 3D 对象,渲染 14 个视图,从 DINOv2 提取像素级特征并融合得到全局 3D 特征场,通过 PCA 和聚类获得细粒度语义区域;
通过 VLM 进行视觉提示提出任务指令;
计算参考特征与全局特征的余弦相似度,投影到相机视图得到功能图(如图 2(a))。
学习任务条件功能模型:冻结 DINOv2 的权重,仅在其顶部训练轻量级语言条件模块。
使用 FiLM 层将语言嵌入与 DINOv2 的像素空间特征结合,通过二进制交叉熵损失训练,输出每个像素位置的对数作为最终的功能图预测(如图 2(b))。
将功能作为观察空间的策略学习:将 UAD 集成到基于视觉的策略架构中,作为视觉输入的编码器。
使用多视图 Transformer 策略,结合功能图、深度值、世界坐标和本体感受向量,输出末端执行器位姿和夹爪动作,通过模仿学习训练(如图 2(c))。
5实验结果
任务条件功能预测:UAD 在渲染对象上对新实例、类别和指令的 AUC 得分至少为 0.92;在 DROID 数据集上,UAD 的 AUC 为 0.840,优于 CLIP 的 0.500 和 OpenSeeD 的 0.836(如图 4);

在 AGD20K 数据集上,UAD 的 KLD 为 0.526、SIM 为 0.366、NSS 为 1.359,表现优于多个基线(如图 5、表 1)。

模拟中的策略学习:在 Pouring、Opening 和 Insertion 任务中,UAD-based 策略在对象姿态、实例、类别和指令变化的泛化设置中表现优于使用 RGB、DINOv2、CLIP 和 Voltron 作为观察的基线策略(如图 6)。

现实世界中的策略学习:在浇水、打开抽屉和插入笔的任务中,UAD-based 策略的平均成功率为 73%,能够进行精确的 6-DoF 操作(如图 3)。
6结论
本文提出的 UAD 方法从基础模型中蒸馏功能知识到任务条件功能模型,无需手动注释数据集。
该模型在现有功能预测基准上表现出色,并在真实机器人任务中展示了强大的泛化能力。
然而,UAD 也存在一些局限性:专注于从基础模型提取视觉功能,未提供运动层面的泛化;
仅考虑单帧功能解释,未涉及多步视觉理解和行为;
提取的训练数据集仅包含单个对象渲染,扩展到真实世界多对象图像可能更好地将基础模型中的世界知识锚定到连续空间域。
【源码链接】
https://unsup-affordance.github.io/