当前位置: 首页 > news >正文

利用视觉-语言模型搭建机器人灵巧操作的支架

25年6月来自斯坦福和德国卡尔斯鲁厄理工的论文“Scaffolding Dexterous Manipulation with Vision-Language Models”。

灵巧机械手对于执行复杂的操作任务至关重要,但由于演示收集和高维控制的挑战,其训练仍然困难重重。虽然强化学习 (RL) 可以通过在模拟中积累经验来缓解数据瓶颈,但它通常依赖于精心设计的、针对特定任务的奖励函数,这阻碍了其可扩展性和泛化能力。因此,当代灵巧操作领域的研究通常基于参考轨迹进行引导。这些轨迹指定了目标(target)手的姿势,用于指导 RL 策略和目标(object)姿势的探索,其能够实现密集的、与任务无关的奖励。然而,寻找合适的轨迹——尤其是针​​对灵巧手的轨迹——仍然是一项重大挑战。然而,由于 RL 最终会细化动作,因此显式参考轨迹中的精确细节通常是不必要的。

本文关键见解是,现代视觉语言模型 (VLM) 已经编码了指定任务和有效指导探索所需的常识性空间和语义知识。给定一个任务描述(例如“打开柜子”)和一个视觉场景,该方法首先使用现成的视觉语言模型 (VLM) 识别与任务相关的关键点(例如,手柄、按钮),然后合成手部运动和物体运动的 3D 轨迹。随后,在模拟环境中训练一个低层残差强化学习 (RL) 策略,以高保真度追踪这些粗略轨迹或“支架”。通过一系列涉及关节运动和语义理解的模拟任务,该方法证明能够学习稳健的灵巧操作策略。此外,还展示该方法,无需任何人工演示或人工设置奖励,即可迁移到现实世界的机械手上。

方法概述如图所示:

请添加图片描述

问题表述

目标是学习一种用于灵巧操作的分层策略,其中高级和低级策略通过基于 3D 关键点的规划或轨迹“支架”进行交互。虽然一些先前的研究假设能够访问真实状态(通常在模拟中),但此类信息在实践中通常只能部分观察到。例如,假设人们能够精确测量现实世界中的目标姿态和速度是不现实的。只有灵巧手的本体感受状态 (w, q, q̇) 是精确已知的,该状态由当前腕部姿态 w、手指关节位置 q 和速度 q̇ 组成。假设访问的是 RGB 图像 I、深度 D 以及用于传达任务的语言指令 L,而不是真实状态。按照灵巧操作的标准做法,用一个绝对动作空间,该空间由期望的手腕 wtarg 和手指关节位置 qtarg 组成,即 (wtarg, qtarg) ∈ A。

高级策略 πh 根据语言指令 L 生成一个基于粗略 3D 关键点的规划 τ,并在时间 t = 1 处生成一个初始高级观测值 oh_1,其中包含初始图像 I_1 和手腕位置 w_1。当使用 VLM 实例化 πh 时,假设它能够将图像空间中的 2D 关键点 u(i) 投影到世界坐标系中 3D 关键点 x(i),这在实践中很容易通过深度信息 D 和相机参数(内外)实现。最终规划 τ 中的3D关键点 k 的数量,由指令 L 指定。将这些关键点枚举为x(1),…x(k),并通过简写 1:T缩写为长度为 T 的时间序列。最终的关键点规划 τ 包含 k 个3D关键点序列 x(1)_1:T,…x(k)_1:T 和一个预测手腕姿势序列 w ̃_1:T。该粗略规划通过 k 个关键点序列(用于捕捉目标运动)封装任务信息,并通过手腕位置 w 封装了指导智体探索的信息。

高级策略仅为腕关节 w 提供粗略的规划,而非手指关节位置 q,后者将由低级策略通过强化学习进行学习。

低级策略 πl 生成腕关节和手指动作 a_t 来执行关键点规划 τ。假设可以访问一个关键点追踪模型,该模型在时间 t = 1 时给定一个初始 3D 关键点 x(i)_1,能够追踪其随时间推移的位置,从而生成 xˆ_t(i) 的估计值。然后,低级策略 πl 通过强化学习进行优化,使用奖励函数来鼓励估计的 3D 关键点 xˆ(i) 与规划 τ 生成的 x(i)_t 之间的一致性。为了完成此任务,它将低级观测值 ol_t(包含本体感受状态 (w, q, q̇) 和估计的关键点 xˆ(1)_t, ……xˆ(k)_t)作为输入,以及规划 τ_t:T 的所有未来步骤。

通过VLM生成高级策略的轨迹

使用VLM实现高级策略 πh,该学习器必须能够有效地将任务描述 L 和初始图像 I_1 转换为粗略运动规划 τ,以便 πl 完成。这需要高度的语义和空间推理能力:不同关键点 xˆ_1:T(i) 的路径必须遵循目标之间的理想关系(例如,将苹果放在砧板上)和物理约束(例如,锤头必须保持与手柄连接)。同时,预测的手腕轨迹 w ̃_1:T 必须保持靠近目标物体以便于操作。使用VLM分三个阶段生成粗略关键点规划 τ:(1) 语义关键点检测,(2) 粗略轨迹生成,以及 (3) 插值。如图左侧提供可视化概览。此外,还可以使用少样本提示 (few-shot prompting) 来改进生成的规划 τ。

请添加图片描述

关键点检测。首先,VLM 在图像 I 中识别与完成文本 L 中描述的任务相关的 k 个二维关键点 u(1), …, u(k)。VLM 会根据该任务所需的关键点进行提示。例如,对于“敲击”任务,关键点包括锤子的柄和头;对于语义拾取任务,关键点包括物体的位置及其所需位置。由于 VLM 在二维图像平面中运行,利用深度信息将二维关键点 u 提升到三维世界坐标 x。

轨迹生成。其次,给定文本描述 l,VLM 为每个初始三维关键点 x(1), …, x(k) 和手腕位置 w_1 生成长度 n < T 的航点序列。总的来说,这将产生 (k + 1) × n 个 3D 航点,它们将作为规划 τ 的基础。虽然第一个关键点检测阶段依赖于 VLM 的图像理解,但此阶段更多地依赖于空间理解和推理——VLM 必须将语义描述转化为动作,例如,“锤击”的含义或门如何打开,同时尊重关键点之间的物理约束以及手和被操作目标之间的接近度。注:没有让 VLM 生成整个视界 T 的关键点轨迹,因为这样做可能更加困难且不准确。相反,每个航点的质量比数量更重要,因为低级 RL 可以补偿位置上的小错误,但不能补偿推理中的大错误。

插值。最后,虽然为所有关键点和智体的手腕姿势提供了长度为 n 的粗略航点轨迹,但直接使用这些航点作为运动目标可能会导致运动过快或抖动。因此,额外应用线性插值,将 n 个航点转换为长度为 T 的序列,例如 x(i)_1:T,以形成用于训练低级策略 πl 的最终规划 τ。
少样本改进。虽然 VLM 生成的关键点规划 τ 通常是正确的,但它们并非绝对可靠。例如,有时高级策略 πh 会翻转世界坐标轴,导致关键点规划难以理解。如果 VLM 规划未能完成任务,此类错误将无法挽回。然而,VLM 的准确率通常可以通过提供上下文示例来提高 [9, 36]。在部署最终系统后,可以将低级策略成功执行的规划示例用作未来生成的上下文示例。假设 m 个成功规划 τ(1), …, τ(m),可以将高级策略提示为 πh(τ|s_1,τ(1), …,τ(m)),从而为低级策略生成更好的规划。正如实验所示,随着上下文规划的改进,反复重复此过程可以进一步提高性能。

基于强化学习的低级控制

低级策略 πl 确保 πh 提供的关键点规划 τ 能够得到有效跟踪。

用残差强化学习 [13, 22] 来学习 πl,将其形式化为一个基于低级观测空间 Ol 和动作空间 A 的“规划”条件马尔可夫决策过程 (MDP),其视界为 T。

为了考虑关键点估计中的噪声,假设动态过程为随机 p(o_t+1|o_t, a_t),并且初始状态 ol_1 ∼ pinit_τ 始终与高级规划 τ 一致,以确保其有效性。

简单来说,πl 的优化目标是最大化从 πh 中采样的规划预期累积奖励,max_πl E_τ∼πh(·|oh_1) E_ol_1:T ∼πl(·|τ)[∑︁r_τ (ol_t)],其中 πl(·|τ) 表示在 πl 和 pinit_τ 下长度为 T 的完整轨迹分布。

密集关键点奖励。基于强化学习的标准灵巧操作方法通常需要复杂的、手工制作的奖励函数。然而,如果有一个高级关键点规划 τ 来规定所有目标应该如何移动和交互,可以简单地通过关键点距离来奖励智体遵循规划。虽然类似的想法已被用于跟踪参考演示 [6] 中的真实物体姿态,但在此选择跟踪关键点,因为这些关键点不需要完全可观测性。

残差策略。为了引导智体朝着高级规划 τ 指定的目标前进,在绝对姿态动作空间 A 中采用“残差”强化学习 [13, 22]。具体来说,学习的低级策略 π_θl 预测的是相对于手腕规划 w ̃_t 的偏移量 ∆w,而不是绝对动作 wtarg。这保证了学习的策略默认遵循规划的手腕轨迹 w ̃1:T,并且 ∆w 的裁剪确保其不会偏离太远。这种残差方法利用 VLM 计划编码的世界知识来指导低级策略探索状态空间的相关部分,以完成目标。实际上,πl 被实现为一个多层感知器,其中关键点以固定顺序提供,并且未来的规划步骤 τ_t:T 被下采样到固定长度。

终止条件。为了提高学习效率,如果跟踪误差超过阈值 δ,提前终止迭代。这个提前停止的标准可以作为一个强有力的监督信号,鼓励策略保持接近预期轨迹。为了进一步指导学习,引入了一个课程:初始阈值 δ_init 在训练过程中线性退火至 δ_init/2。这有助于在早期阶段进行广泛的探索,同时促进后期精确的轨迹跟踪。

完整流程

上述组件定义生成单个规划 τ∼πh(·|s_1) 并使用它来学习低级残差策略 πl 的过程。

训练。最终的低级策略必须能够在πh生成的所有规划中表现良好,这些规划在初始条件、选定的关键点位置和生成的动作方面可能有所不同。因此,按照目标,针对灵巧手物体初始姿态的变化来训练整个系统。对于环境中的N个初始条件中的每一个,从 πh 中采样相应的高级规划。然后,使用PPO [54]在大规模并行模拟环境中从N个初始条件和规划集合中随机采样,从而训练低级策略。在模拟中,使用真值物体信息跟踪关键点,以生成低级观测值 ol。跨随机规划进行训练对于 πl 保持对 πh 生成的关键点和规划的鲁棒性至关重要。

评估。在测试时,将环境的初始条件随机化。之后,用 VLM πh 生成一个新规划,并将其提供给冻结的学习策略 π_θl 进行闭环控制。高级策略继承了底层 VLM 对视觉扰动的鲁棒性,使其能够轻松迁移到现实世界。用捕获的 RGB-D 图像生成 τ,并在现实世界中部署低级策略零样本训练。用姿态估计器估计低级观测值 ol 的关键点位置 [66]。

任务套件。用 ManiSkill 模拟器 [41,58] 和 Allegro Hand 模型构建一个评估套件,旨在评估四项核心灵巧操作能力,而运动规划对于这些能力而言比较困难:i)语义理解,ii)非结构化运动,iii)铰接物体操作,以及 iv)精确操作。如图描述八个任务中的每一个,每个类别两个。每个任务都由语言指令 L 指定,而不是奖励函数。例如,“移动苹果”任务的指令是“将苹果移到砧板上”。高级 VLM πh 另外由提示引导以检测指定的关键点。至关重要的是,任务集评估的能力难以设计奖励函数(铰接体操作或需要复杂和非结构化运动)或难以使用经典运动规划来指定(需要语义知识或精度)。

请添加图片描述

方法。鉴于问题设置的新颖性,很少有适用的基线模型能够同时满足语言条件、无需演示且无需进行真实状态估计。因此,实验主要集中在与各种预言机 (Oracle) 和消融 (Ablations) 进行比较:
• 预言机关键点和轨迹:此基线模型为每个任务使用固定的、手动定义的关键点和硬编码的轨迹,代表在完美语义理解和关键点检测的情况下的性能上限。
• 减少航点:人为地限制 VLM 以生成更短的航点序列,例如长度为 3 而不是 n = 20,从而降低可通过关键点和手腕表达的运动的复杂性。
• 预先记录的轨迹:此方法在测试时重复使用训练集中预先记录的轨迹,从而消除了对新场景的适应性。

评估系统的两个版本:零样本版本,其中视觉语言模型 (VLM) 不接收任何示例规划;以及少样本 100 个初始状态和相应的计划τ,用于使用 PPO 训练 πl [54]。

评估。为了进行评估,构建特定于任务的二元成功指标(例如,物体到达目标位置、门打开到最小角度)来衡量性能。所有策略评估均针对 100 个初始状态进行,其中包含新目标配置和手势。对每种配置进行了 20 次试验,总共进行了 2000 次评估,并对三个种子进行平均结果计算。

http://www.lqws.cn/news/590437.html

相关文章:

  • 【Docker基础】Docker数据卷:数据卷的作用与使用场景
  • 算法-每日一题(DAY12)最长和谐子序列
  • Salesforce Accountアクションボタン実装ガイド
  • 简单聊聊 Flutter 在鸿蒙上为什么可以 hotload ?
  • 飞算JavaAI—AI编程助手 | 编程领域的‘高科技指南针’,精准导航开发!
  • 具身多模态大模型在感知与交互方面的综述
  • sqlmap学习ing(2.[第一章 web入门]SQL注入-2(报错,时间,布尔))
  • rocketmq 之 阿里云转本地部署实践总结
  • Vue3 中 Excel 导出的性能优化与实战指南
  • 创建和连接Vue应用程序实例
  • 缓存系统-淘汰策略
  • 强化学习系列--dpo损失函数
  • 齿轮的齿厚极限偏差如何确定?一起学习一下
  • C++基础
  • 目前最火的agent方向-A2A快速实战构建(二): AutoGen模型集成指南:从OpenAI到本地部署的全场景LLM解决方案
  • 《Python 架构之美:三大设计模式实战指南》
  • 【FR801xH】富芮坤FR801xH之UART
  • 【javaAI】SpringAI快速入门
  • 【C#】如果有一个数值如 168.0000100,如何去除末尾的无效零,只显示有效的小数位数,让DeepSeek给我们解答
  • 半加器和全加器
  • Disruptor架构哲学
  • 【机器学习2】正则化regularizaiton(降低模型过拟合)
  • 设备管理的11个指标、七大误区、六大特征
  • muduo
  • 数据结构——线性表的链式存储
  • QT笔记---环境和编译出现的问题
  • Golang的代码结构设计原则与实践与模式应用
  • helm安装配置jenkins
  • 百度轮岗:任命新CFO,崔珊珊退居业务二线
  • Redis-7.4.3-Windows-x64下载安装使用