GraspCorrect:通过视觉-语言模型引导反馈进行机器人抓握矫正

25年3月来自韩国 POSTECH 的论文 “GraspCorrect: Robotic Grasp Correction via Vision-Language Model-Guided Feedback”。

尽管机器人操作技术取得了显著进步,但实现一致且稳定的抓取仍然是一项根本挑战,常常限制复杂任务的成功执行。分析表明,即使是最先进的策略模型也经常表现出不稳定的抓取行为,从而导致失败案例,并在现实世界的机器人应用中造成瓶颈。为了应对这些挑战,推出 Grasp-Correct,一个即插即用的模块,旨在通过视觉-语言模型引导的反馈来提升抓取性能。GraspCorrect 采用一个迭代式视觉问答框架,包含两个关键组件:抓取引导提示(包含特定于任务的约束)和目标-觉察采样(确保选择物理上可行的抓取候选)。通过迭代生成中间视觉目标并将其转化为关节-级动作,GraspCorrect 显著提高抓握稳定性,并持续提高 RLBench 和 CALVIN 数据集中现有策略模型的任务成功率。


考虑机器人操作学习,其中策略模型从演示轨迹 {(o_1, a_1), (o_2, a_2), …} 和文本任务指令 l 中学习。时间步 t 的每个观测值 o_t 由 RGB-D 图像组成,每个动作通过三个分量指定末端执行器的姿态:位置 ap_t、旋转(四元数)ar_t 和二元夹持器状态 as_t ∈{0,1}。

该策略模型旨在学习一个映射,该映射可以根据当前观测值 o 预测适当的动作 a。GraspCorrect 可作为现有策略模型的即插即用模块,在夹持器接触 l 中指定目标物体的抓取时刻 t(g) 激活。该模块利用当前抓取对 (o_t(g), a_t(g)) 和时间窗口 W 内的抓取前观测值 o_t(g)−W,预测正确的末端执行器抓取姿势 ao,从而提高执行效率。

GraspCorrect 的运行分为三个阶段。首先,在(VLM 引导的)抓取检测阶段,它利用 VLM 的洞察识别稳定的抓取位置。在(视觉)目标生成阶段,它以图像形式生成视觉目标。最后,在动作生成阶段,它将视觉目标转化为精确的关节级动作。如图展示了整个抓取校正过程。

请添加图片描述

VLM 引导的抓取检测

此阶段将当前观测值 o_t(g) 和任务描述 l 转化为面向任务的接触点 ap_t(g),供机器人夹持器使用,以确保稳定的抓取。利用视觉语言模型 (VLM),这项任务可以定义为空间视觉问答 (VQA),它扩展了传统的 VQA 任务(例如,识别物体或属性;“汽车是什么颜色?”),使其包含空间推理,例如确定机器人应该在哪里抓取物体才能稳定地举起。

预训练的 VLM 为这项任务提供了丰富的常识性知识库。然而,将其直接应用于空间推理面临两大挑战。首先,VLM 针对生成文本输出进行了优化,使其不适合生成坐标或动作等连续值。其次,即使是最先进的 VLM 也难以进行复杂的空间推理(Wang,2024;Chen,2024;Tang,2024b)。

为了克服这些限制,采用一种迭代的 VQA 方法,逐步优化抓取候选点,而不是尝试直接生成精确的空间坐标。基于 PIVOT (Nasiriany,2024) 的迭代改进策略,引入两项关键改进:(1)抓握引导提示,其中纳入特定于任务的约束;(2)目标-觉察采样,确保生成的抓握候选在物理上是可行的。

该方法始于自上而下的二维观测 oTop_t(g)−W,即在抓取时刻之前捕获的 W 帧图像。由于 t(g) 时刻的近距离抓取姿势可能仅部分捕捉到物体,因此较早的帧提供了物体几何形状的全面视图。时间窗口大小 W 固定为 10。使用根据任务需求定制的提示,VLM 生成稳定抓取配置的文本描述,作为迭代优化过程的先验。

为了确保精准定位,用 LangSAM,这是一个零样本文本-到-分割掩码的框架,它结合 GroundingDINO(Liu,2025)和 Segment-Anything(Kirillov,2023)。此分割步骤将抓取建议限制在实际物体上,避免了可能针对背景元素的幻觉。

抓取候选点最初沿物体轮廓进行采样(如图所示圆圈)。VLM 评估这些点,以识别可能支持稳定抓取的候选点(红色圆圈)。然后,通过以这些有希望的点为中心的一维高斯分布沿物体轮廓进行采样,生成新的候选点。迭代次数 T 固定为 4,在最后一次迭代中,选择一个候选点。

请添加图片描述

视觉目标生成

此阶段基于输入观测值{o_t(g), o_t(g)−W}以及抓取检测阶段识别的抓取点,合成目标抓取姿态图像o^∗_t(g),该图像描绘了机器人抓取器(左和右)、目标物体及其空间关系。

该过程首先使用 LaMa 修复模型(Suvorov,2022)恢复被遮挡的背景区域,以创建完整的背景图像。然后,通过融合恢复的背景、抓取器和变换后的前景物体来构建合成图像。物体与抓取器的对齐是通过在抓取检测阶段的接触点信息引导下进行常规图像变换(旋转和平移)来实现的。生成的目标状态图像真实地表示所需的抓取姿态,并为后续的动作生成步骤奠定了基础。

动作生成

为了实现低级关节驱动,采用目标为条件行为克隆 (GCBC) 框架。作为模仿学习的一种形式,行为克隆通过最小化预测和观察的专家动作之间差异来训练智体复制专家演示。遵循 (Walke et al., 2023) 的方法,用去噪扩散概率模型 (DDPM) (Ho et al., 2020) 来实现此目标,该模型迭代地将高斯噪声分布​​细化为数据生成分布。

GCBC 策略模型 π_φ 包含一个 ResNet-34 编码器,随后是一个三层多层感知器 (MLP),其参数化为权重 φ。由于观察图像是从以自我为中心的自上而下视角捕获的,将当前动作状态作为条件变量来增强空间感知。这有助于将生成的输出动作平滑地集成到正在进行的轨迹中。
训练数据 D 是在每个基准环境中通过系统地扰乱真实抓握姿势生成的。


VLM 与行为控制的互补作用:

该方法将用于抓握检测的 VLM 与用于动作生成的 GCBC 相结合,并认识到 VLM 在直接合成精确抓握动作方面的局限性。虽然 VLM 在场景理解和高级规划方面表现出色,但它们在具身操作所需的细粒度控制方面却举步维艰。

在初步实验中,直接使用基于当前观察、动作和任务描述的 VLM 进行动作预测 a 常常会导致不切实际且物理上难以信服的输出。这验证了划分操作流程的决定:使用 VLM 进行感知和规划,同时依赖专门的 GCBC 模块进行精确控制。

基于图像中间表示的优势:

GraspCorrect 使用图像作为中间目标表示。这一决定基于几个关键优势。首先,视觉表示能够捕捉丰富的空间和上下文信息,而这些信息在基于文本的描述中可能会丢失或模糊。图像能够自然地以具体、清晰的方式编码关键的操控相关特征,例如空间关系、物体方向和抓取配置。

其次,VLM 已在大规模视觉数据上进行过广泛的训练,使其尤其擅长处理和推理基于图像的信息。这种协同作用使系统能够充分利用 VLM 先进的视觉理解和推理能力,同时保持清晰易懂的高级决策界面。

第三,近期使用合成目标图像进行机器人操控的成功案例,例如 SuSIE(Black,2024)和 GR-MG(Li,2025),进一步证明了该方法的有效性。

然而,基于图像的表示也存在一定的局限性,尤其是在处理遮挡和捕捉动态物理特性方面。未来的研究可以探索融入更多模态,例如 3D 点云或力反馈,以提供更丰富、更全面的目标状态表征。

替代的视觉目标生成策略:

预期的目标状态抓握姿势通常需要对预训练策略模型提供的当前抓握姿势进行微调。虽然像快速探索随机树 (RRT) (Steven, 1998) 这样的路径规划算法看似适用,但它们并不适用于此情境,因为它们需要精确的目标坐标,而由于以自我为中心的机器人摄像头与机器人坐标系不匹配,获取这些坐标非常困难。因此,精确定位 VLM 响应所指示的精确坐标变得具有挑战性。

另一种方法是使用由 VLM 生成的抓握描述所启发的图像编辑或图像生成扩散模型。在 RLBench 中测试四个这样的模型:DALL-E(图像生成)(Ramesh,2021)、SuSIE(Black,2024)、DiffEdit(Couairon,2023)和 Imagic(图像编辑)(Kawar,2023)。遵循 SuSIE 的方法,采用专门针对操作任务调整的 InstructPix2Pix(Brooks,2023)的微调版。

如图所示,这些模型通常无法生成准确可靠的结果。例如,DALL-E 往往会生成过于复杂的机械手,与实际的机械手设计存在很大偏差。DiffEdit 和 SuSIE 会错误地表示正方形的方向,使其无法与预期的抓取姿势对齐,而 Imagic 则引入了不切实际的人类手指。

请添加图片描述

相比之下,简单的图像混合技术被证明能够高效地生成目标状态的精确逼真的合成图像。这种方法保留了目标物体的结构完整性,并维持了对成功操作至关重要的空间关系。

动作生成

模型架构:策略网络架构由一个 ResNet-34(He,2016)和组归一化(Wu & He,2018)组成,用于处理沿通道维度堆叠的当前和目标观察图像。编码器的输出随后通过一个三层多层感知器 (MLP),该感知器包含 256 个隐藏单元,每层都使用 Swish 激活函数(Hendrycks & Gimpel,2016)。该 MLP 输出高斯动作分布的平均值和标准差。

训练使用 Adam 优化器(Kingma & Ba,2014)进行,学习率为 5e-4,线性预热调度超过 2,000 步,批处理大小为 256。在连接之前,当前图像和目标图像均经过标准图像增强处理,包括随机裁剪以及亮度、对比度、饱和度和色相调整。

数据生成协议:动作生成策略需要由观察-动作三元组 (o_t(g), a_t(g), o_t(g), a_t(g)) 组成的成对数据,其中需要抓取校正的状态与其对应的稳定抓取配置配对。在 RLBench 环境中实施一个两阶段数据收集协议来生成这些训练对。

为了收集需要校正的状态 (o_t(g), a_t(g)),首先初始化一个模拟环境,该环境包含桌面工作空间、目标物体和 Franka Panda 机器人。运动路径由航点定义,这些航点作为 RLBench 路径规划算法的参考点,如图所示。通过对这些航点的位置和方向引入受控随机化,生成抓取尝试的真实变化。在抓取的瞬间,记录观察值和执行的动作向量。为了获得稳定的参考状态 (o_t(g), a_t(g)),在相同条件下重复抓取序列,但不进行航点随机化。通过这个系统化的过程,为每个操作任务生成 200 个配对示例,为策略学习提供平衡的数据集。请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/909120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器兼容-polyfill-本地服务-优化

babel和webpack结合 npx babel src --out-dir dist --presetsbabel/preset-env 这是把src下面的东西都用babel转化一下 webpack可以和babel结合使用,首先下载一个这东西: npm install babel-loader -D webpack配置: const path requir…

组织结构图软件:数据驱动的可视化架构管理工具

1. 组织结构图软件概述 组织结构图概念 组织结构图是一种图形化工具,用于展示组织内部的层级关系、部门职能和人员分工。它通过清晰的线条和文本框连接,直观呈现企业或机构的架构,帮助管理者和员工快速理解组织的运作模式。 重要性 在企业…

大数据学习(138)-Hive数据分析3

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…

深度学习环境搭建(pycharm+yolov5)

B站 :道传科技上位机 观看教程 一、pycharm的安装 pycharm windows版本下载地址:Download PyCharm: The Python IDE for data science and web development by JetBrains 下载社区版本(日常学习使用够用了),专业版…

K8S中应用无法获取用户真实ip问题排查

现象 领导反馈生产环境的用户ip有问题。登陆到这个页面,发现是所有的用户ip都是172.30.94.97,这是个内部网络ip. 排查过程 1 登陆到应用前端nginx, 查看nginx的请求日志 172.30.94.97 - - [17/Jul/2024:02:02:54 0000] "POST /***/n…

2.倒排索引

传统数据库mysql使用的是正向索引 词条是不允许重复的,给词条创建唯一索引,根据词条查找的速度就很快了。

【Android Studio】新建项目及问题解决

新建项目 按照《Android 第一行代码》中 1.3 小节的步骤创建项目。 注意:Minimum API Level 用于设置项目的最低兼容版本。Android 5.0 以上的系统已经占据超过了 99.9% 的 Android 市场份额,因此这里指定为 API 21: Android 5.0 即可。 问题解决 &…

SX1268低功耗sub-1g芯片支持lora和GFSK调制

SX1268 射频收发器是长距离无线应用的理想设备,支持410-810MHZ。它专为长电池寿命而设计,仅消耗4.2 mA的主动接收电流。SX1268 可以使用高效的集成功率放大器在490 MHz传输高达 22 dBm 的信号。在 780 MHZ时,SX1268 在天线端口传输10dBm的信号…

C#高级:利用反射让字符串决定调用哪个方法

一、反射的实现 using System; using System.Reflection; using System.Threading.Tasks;public class Calculator {public int Add(int a, int b){return a b;}public int Subtract(int a, int b){return a - b;}public int Multiply(int a, int b){return a * b;}public do…

图像二分类任务推荐使用Sigmoid函数‌

‌图像二分类任务中可以使用Softmax作为激活函数,但通常更推荐使用Sigmoid函数‌。Softmax函数可以将多个类别的输出转换成概率分布,适合多分类任务。在二分类任务中,虽然可以使用Softmax,但它会生成两个输出值(每个类…

湖北理元理律师事务所:债务优化的法律逻辑与生活平衡术

在债务纠纷数量年均增长19%的背景下(最高人民法院2023年数据),专业法律服务机构的价值不仅在于解决纠纷,更在于重构债务人与生活的平衡关系。湖北理元理律师事务所的实践显示,科学的债务优化需同时满足三个维度&#x…

window 显示驱动开发-处理视频帧

Microsoft Direct3D 运行时调用用户模式显示驱动程序的 VideoProcessBeginFrame 和 VideoProcessEndFrame 函数,以指示用户模式显示驱动程序可以处理视频帧的这些函数调用之间的时间段。 在用户模式显示驱动程序可以处理任何视频帧之前,Microsoft Direct…

基于 React Native for HarmonyOS5 的跨平台组件库开发指南,以及组件示例

基于 React Native for HarmonyOS5 的跨平台组件库开发,需融合分层架构设计、鸿蒙原生能力桥接及性能优化技术,核心指南如下: ‌一、分层架构设计‌ 采用 ‌模块化分层结构‌,隔离平台差异逻辑: ├── common_har …

一站式了解单例模式

引言 这是设计模式专栏的第一篇文章,在这个专栏里面会讲到我们在开发中经常使用的设计模式,我会用心将它们解析,然后讲给你们听,如果感兴趣可以持续关注这个专栏❤️ 这次我们要讲的是单例模式,这个在大厂面试中十分…

Java应用Flink CDC监听MySQL数据变动内容输出到控制台

文章目录 maven 依赖自定义数据变化处理器flink cdc监听验证 maven 依赖 <properties><flink.version>1.14.0</flink.version><flink-cdc.version>2.3.0</flink-cdc.version></properties><dependencies><!-- Flink dependencie…

猎板厚铜PCB工艺能力如何?

在电子产业向高功率、高集成化狂奔的今天&#xff0c;电路板早已不是沉默的配角。当5G基站、新能源汽车、工业电源等领域对电流承载、散热效率提出严苛要求时&#xff0c;一块能够“扛得住大电流、耐得住高温”的厚铜PCB&#xff0c;正成为决定产品性能的关键拼图。而在这条赛道…

业务:资产管理功能

文章目录 一、项目背景1.1概述1.2编写目的 二、注意点说明三、页面效果四、代码AssetManagementControllerHwinfoAssetManagementHwinfoAssetManagementServiceHwinfoAssetManagementServiceImplHwinfoAssetManagementMapperHwinfoAssetManagementMapper.xmlSfpAssetManagement…

【MySQL进阶】MySQL程序

目录 一.有哪些MySQL程序 二. mysqld —— MySQL服务器 三.mysql——MySQL客户端 3.1.连接mysql客⼾端 3.2.mysql客户端选项 3.2.1.mysql常用选项 3.2.2.在命令⾏中使⽤选项 3.3.MySQL 选项&#xff08;配置&#xff09;文件 3.3.1.Linux环境下默认配置文件的路径 3.…

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…

​​CentOS 7.9​​ 上配置 ​​Fail2ban 自动封禁 IP​​ 的完整步骤,整合了多篇权威资料的最佳实践

&#x1f527; ​​一、安装 Fail2ban​​ ​​启用 EPEL 仓库​​ yum install epel-release -y ​​安装 Fail2ban​​ yum install fail2ban -y ​​启动并设置开机自启​​ systemctl start fail2ban systemctl enable fail2ban ⚠️ 注意&#xff1a;CentOS 7.9 默认 Py…