效果不错的论文介绍:Im2Flow2Act:-跨领域机器人操控技术

Im2Flow2Act: 跨领域机器人操控技术

简介

今天介绍一个比较惊艳的论文,Im2Flow2Act,可以预测应该怎么移动图象中的物体预测移动方法完成需要执行的动作任务。
Im2Flow2Act 是一个基于学习的机器人操控框架,旨在通过多种数据源为机器人提供操控技能,突破实体(如人类与机器人)和环境(如现实与模拟)之间的领域差距。该框架的核心概念是利用物体流动作为统一接口,连接不同的实体和训练环境,实现跨领域的技能泛化。Im2Flow2Act 包含两个主要组成部分:流生成网络和基于流的策略。通过结合人类视频数据和机器人模拟游戏数据,Im2Flow2Act 不需要依赖于在真实世界中对机器人进行昂贵的远程操控,展现了在多样任务中的高效学习能力。

Im2Flow2Act 的关键组件

  1. 流生成网络:通过训练人类演示视频,生成初始场景的物体流动,并结合任务描述,使机器人能够从物体流动的角度理解任务要求。流生成网络基于高层任务规划,支持刚性、关节式和可变形物体的操控任务。

  2. 基于流的策略:流生成网络生成的物体流动被用于训练基于流的模仿学习策略,策略通过模拟数据学习,能够将流动映射为机器人动作。这一策略能够将模拟训练中的机器人动作有效部署到真实世界中,极大地缩小了模拟与现实之间的差距。

技术优势

  • 任务描述的表达能力:物体流动不仅捕捉了物体姿态变化,还能处理关节运动和变形物体的任务。其多功能性使得一个通用的策略能够应对多样化的操控任务。

  • 与实体无关:物体流动专注于动作引起的物体状态变化,而不是具体的动作本身,因此它能够在不同实体间转移技能。

  • 模拟到现实的最小化差距:通过专注于物体的运动而非外观,物体流动表示缩小了从模拟到现实的差距,促进了技能的泛化。

实验与结果

在一系列操控任务上,包括刚性物体(如杯子)、关节式物体(如抽屉)、以及可变形物体(如布料),Im2Flow2Act 展现了卓越的表现,且与现有方法相比,在模拟环境和现实世界中的成功率均显著提高。在四个任务上的平均成功率达到了 81%。

开源代码

该技术的开源代码和相关资源可通过以下链接访问:Im2Flow2Act Github Repository


Flow as the Cross-Domain Manipulation Interface

摘要

本文提出了一种可扩展的学习框架——Im2Flow2Act,使机器人能够从多种数据源中学习操控技能。Im2Flow2Act的核心思想是使用物体流作为操控接口,弥合不同体现形式(如人类与机器人)以及训练环境(如现实世界与模拟环境)之间的领域差距。Im2Flow2Act包含两个部分:流生成网络流条件策略。流生成网络通过人类演示视频生成物体流,该流基于初始场景图像并结合任务描述进行生成。而流条件策略则利用模拟的机器人训练数据,将生成的物体流映射为机器人的动作,从而实现对目标物体的操控。通过使用物体流作为输入,这种策略可以以最小化的模拟到真实差距直接应用于现实环境。利用现实世界的人类视频和模拟的机器人数据,避免了在现实世界中对物理机器人进行远程操控的挑战,形成了一个面向多样任务的可扩展系统。展示了Im2Flow2Act在各种现实任务中的能力,包括对刚体、关节物体和可变形物体的操控。

关键词:机器人,学习,跨领域,跨体现

引言

扩展机器人学习的一个关键步骤是让机器人能够从各种数据源中学习,而不仅限于昂贵的现实世界机器人数据。之前的工作主要从两个方向着手解决这个问题:通过跨体现的视频学习和模拟机器人数据学习。虽然这两种方法均展示了有前景的进展,但各自面临显著的挑战。跨体现数据学习受制于较大的体现差距,而模拟数据面临显著的模拟到真实的差距,以及为特定任务建立环境的复杂性,尤其是涉及接触操作的任务。

在本文中,提出了Im2Flow2Act,一个可以高效地从多种数据源中教机器人学习操控技能的新框架。本文的核心思想是使用物体流——指代操控物体的独有运动,不包括背景或体现的运动——作为统一的接口连接这些数据源,实现对新技能的单次泛化(one-shot generalization)。本文的框架包括两个主要组件:流生成网络,该网络在跨体现演示视频上训练,用于生成任务特定的流;流条件策略,该策略在跨环境的模拟数据上训练,用于将生成的流转换为相应的机器人动作。

主要贡献
  1. 任务描述的表现力:物体流不仅捕捉了物体姿态的变化,还能描述关节动作和形变,能够表示广泛的物体和任务。
  2. 体现无关性:物体流描述了由动作引起的物体状态变化,而不是动作本身,这使其与体现形式无关。
  3. 最小的模拟到真实差距:与基于图像的表示相比,物体流关注的是运动而非外观,从而减小了模拟到真实的差距并有助于泛化。
  4. 解释性:与基于向量的状态表示不同,基于流的表示具有直观的物理意义,是人机交互的良好接口。
系统设计

为了利用物体流作为从多样数据源学习的统一接口,将系统设计为两个组件:

  • 流生成网络:该网络的目标是通过跨体现视频学习高层次的任务规划,包括不同类型的机器人和人类的演示。
  • 流条件策略:流条件模仿学习策略的目标是实现由流生成网络生成的物体流,主要关注低层次的执行操作。

方法

本文旨在建立一个框架,利用物体流作为统一的接口,使机器人能够使用跨环境和跨体现的数据来获得现实世界中的操控技能。本文的框架(见图2)由两个主要部分组成:一个在任务开始时运行的开放回路流生成网络,以及一个基于当前状态自适应行动的闭环流条件模仿学习策略。在推理过程中,流生成网络首先生成基于任务初始物体关键点的完整任务流,之后策略执行动作以重现生成的流。最终的系统能够在现实世界中对新技能和新物体实现单次泛化。本文的核心思想是使用物体流作为通用而富有表现力的接口来桥接:
在这里插入图片描述
在这里插入图片描述

  • 跨体现数据:在不同体现形式之间传递动作通常因体现差距而受到限制。然而,物体流封装了独立于体现形式的任务知识。为了利用这一点,本文开发了一个流生成网络,专注于从跨体现视频中提取物体流。

  • 跨环境数据:在本工作中,跨环境主要指模拟和现实世界环境。视觉不一致性,例如场景背景和物体材质的不同,在从模拟到现实环境的策略转移中构成挑战。而物体流捕捉的是运动动力学(包括物体姿态、关节运动和变形的变化),这些特性在模拟和现实环境中是一致的,因此为策略学习提供了理想的接口。本文的流条件模仿学习策略完全基于模拟的游戏数据进行训练,游戏数据中的动作随机性有助于理解动作与物体流之间的关系,从而减少对特定任务模拟环境的需求。

3.1 流生成网络

流生成网络的主要思想是将顺序排列的物体流形成结构化的矩形流图像,以便更好地利用预训练的图像生成模型和视频生成架构进行更高效的训练。具体来说,本文通过Grounding DINO从初始RGB帧中获取目标物体的边界框,然后在边界框内均匀采样,得到一个矩形流 ( F_0 \in R^{3 \times H \times W} ),具有 ( H \times W ) 的空间分辨率。前两个通道代表物体关键点在图像空间中的 ( u, v ) 坐标,第三个通道表示它们的可见性。接着本文利用视频中的点跟踪方法TAPIR获取时间步长 ( T ) 的流序列 ( F_{1:T} \in R^{3 \times T \times H \times W} )。使用这种流表示,利用现有的扩散视频生成架构AnimatedDiff作为流生成网络,通过初始RGB帧和任务描述生成物体流。生成的流随后经过运动滤波处理,仅保留物体上的关键点,最终得到面向物体的任务流。

压缩流至潜空间

为了使机器人能够实现对物体的精细控制,高精度的流是必需的。然而,高分辨率生成物体流会带来显著的计算复杂性并导致生成速度低下。受到先前工作的启发,本文提出将物体流压缩到具有较低空间维度的潜空间中,并在这个潜空间中训练生成模型。StableDiffusion(SD)通过使用VQGAN提出的自动编码器(AE)对输入图像进行压缩,在大量RGB图像上训练得到分布良好的潜空间。本文探索了使用AE编码流的想法,并保持编码器 ( E_\varphi(\cdot) ) 不变,略微微调预训练的解码器 ( D_\theta(\cdot) ),以便更好地适应流图像。

流生成的视频扩散模型

由于共享了与StableDiffusion相同的潜空间,因此可以利用预训练的SD为流生成提供强大的内容先验。因此,选择沿时间轴扩展SD网络进行流生成,而不是从零开始训练模型。然后在SD模型中插入由Animatediff提出的运动模块层,以捕捉关键点位置在图像空间中的时间变化,形成物体流序列的运动动力学。

3.2 流条件模仿学习策略

本文的模仿学习策略 ( p(a_t|F_{0:T}, s_t, \rho_t) ) 以完整任务的物体流 ( F_{0:T} )(即任务流)、当前状态表示 ( s_t ) 和机器人本体感知 ( \rho_t ) 作为输入,输出从当前时间 ( t ) 开始的一系列动作 ( {a_t, …, a_{t+L}} ),长度为 ( L )。机器人动作 ( a_t ) 包括在笛卡尔空间中的6-自由度末端执行器位置以及1-自由度的抓手开/闭状态。状态表示 ( s_t ) 由关键点位置 ( f_t )(包含时间 ( t ) 时图像空间中 ( N ) 个关键点的位置)和初始帧中 ( N ) 个关键点的3D坐标 ( x_0 ) 构成。

在推理过程中,任务流 ( F ) 在任务开始时由流生成网络生成。在机器人操控过程中利用在线点跟踪算法获取相同集合关键点的 ( f_t )。策略包括以下组件:状态编码器 ( \varphi ) 负责编码关键点并生成当前状态表示,时间对齐模块 ( \psi ) 负责根据当前关键点位置和任务流推断剩余任务流,最后通过扩散动作头生成机器人动作。

4.1 实验细节

训练数据:在模拟环境中收集机器人游戏数据,并在现实世界中收集人类手动演示数据。

  1. 在模拟环境中,使用UR5e机器人收集了与刚性、关节式和可变形物体相关的游戏数据,这些数据是通过一组预定义的随机启发式动作进行探索的。每个探索策略的详细信息可在补充材料中找到。使用所有的游戏数据训练一个模仿学习策略。
  2. 在现实世界中,为每个任务收集了100次人类手动演示。将这些数据混合在一起用于训练流生成模型。

对比实验。本文方法与以下基线进行对比:

  • Grid Flow:与ATM类似,用均匀采样的关键点集替换了初始物体关键点,这些关键点遍布整个图像。
  • 启发式:启发式动作策略选择物体接触点,并在未来物体流动上应用姿态估计方法,例如RANSAC(需要3D流动)以推断机器人动作,类似于General Flow和Track2Act。该基线检查了是否需要一个基于学习的策略将流动转化为动作。
  • 无对齐:为了验证对齐模块设计的必要性,移除了对齐模型 ( \psi ),并让策略直接基于完整任务流进行条件推理。

4.2 主要发现

表1:模拟结果(%)

任务GridFlow [13]启发式 [14, 16]无对齐Im2Flow2Act
取放307080100
倒水25508595
抽屉35309095
布料4509090

物体流动能够有效连接不同数据源。Im2Flow2Act在模拟环境和真实世界中均表现出最佳性能,如表1和表2所示。此外,与模拟相比,在现实世界中的性能平均仅下降了15%。如图4所示,本文的学习策略能够在刚性、关节式和可变形物体上大致遵循生成的流动,完成所需的任务。这表明,物体流动是连接跨实体和跨环境数据源的良好接口。
在这里插入图片描述

基于学习的策略在将流动映射为动作时是必要的。为了将生成的流动映射为机器人动作,本文使用了学习的策略和对齐网络。相比之下,先前的工作使用启发式策略从流动中计算机器人动作。与它们相比,即使提供了真实的三维流动和最佳抓取姿态(这些并不是本文的方法所需要的),基于启发式的策略在模拟环境中刚性物体的任务(如取放和倒水)中表现良好。然而,在操控可变形和关节式物体时,无论是在模拟环境还是现实世界中,其表现都较差,因为启发式方法的性能很大程度上依赖于摄像机的视角。例如,在打开抽屉的任务中,如果在摄像机视角下的点云中心不是一个好的接触点,机器人会将抽屉推回去(见图5)。在现实世界中(见表2),注意到基于启发式的方法频繁触发UR5e的紧急停止,因为UR5e没有阻抗控制,因此姿态估计中的小误差可能导致任务失败。这表明,基于学习的策略在将流动转化为精确且安全的动作时是必要的。


表2:现实世界结果(%)

任务启发式 [14, 16]无对齐Im2Flow2Act
取放305590
倒水204080
抽屉408085
布料06070

在从跨实体演示中学习时,物体流动至关重要。通过将方法中的物体流动替换为ATM中提出的均匀网格流,来比较初始关键点采样的设计决策。在表1中,观察到其性能明显低于本文的方法,因为均匀流动还捕捉到了实体本身的运动。这导致在推理时,由于演示由其他实体提供,策略输入超出了分布范围。这表明,物体流动相比于均匀网格流动,为跨实体演示提供了更好的接口。

对齐模块在利用无结构的游戏数据时是必要的。在表1中,Im2Flow2Act无对齐的性能在模拟中仅略有下降。然而,观察到机器人的执行变得不顺畅,出现了许多不必要的动作,如突然的旋转。这表明,策略无法根据任务流对行为进行对齐,只是在尝试找到游戏数据中最接近的轨迹。此外,在现实世界中,它的性能显著下降(表2),尤其是在取放和倒水任务中,因为人类产生的物体流动可能与模拟中的流动有所不同。对于策略而言,在潜在空间中找到相似的轨迹具有挑战性,导致出现随机轨迹,如图5所示。而Im2Flow2Act使用对齐模块则没有这个问题,因为额外的对齐监督使潜在空间具有更精细的粒度,从而实现顺畅的插值。


实验对比

将Im2Flow2Act与基于启发式方法、无对齐的流动策略等进行了对比实验,结果显示Im2Flow2Act在多种任务中均取得了显著的成功率,且能够更好地跨越实体和环境的差距,特别是在复杂任务(如折叠布料)中展现了优势。


结论

Im2Flow2Act 是一个可扩展的学习框架,能够通过物体流动作为统一接口,从多样化的数据源中学习复杂的机器人操控技能。本文的实验结果表明,该系统能够在多种任务中取得高效的操控能力,展示了从跨领域数据源中学习的潜力。


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

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

相关文章

计算DOTA文件的IOU

背景 在目标检测任务中,评估不同对象之间的重叠情况是至关重要的,而IOU(Intersection Over Union)是衡量这种重叠程度的重要指标。本文将介绍如何编写一个Python脚本,通过并行化处理DOTA格式的标注文件,统…

vue3 解决背景图与窗口留有间隙的问题

需要实现一个登录界面&#xff0c;login.vue的代码如下&#xff1a; <script> import { ref } from vue;export default {setup() {return {};}, }; </script><template><div id"login-container" class"login-container"><di…

线程的同步

文章目录 线程的同步同步&#xff1a;条件变量&#xff1a;pthread_cond_init():pthread_cond_wait()pthread_cond_signalpthread_cond_broadcast cp问题伪唤醒 信号量**多线程的互斥用信号量**&#xff1a;**单线程的互斥用锁**&#xff1a; 线程的同步 同步&#xff1a; 让…

Cesium 影像加载的TileReplacementQueue技术

本文以分析QuadtreePrimitive及相关影像内容&#xff0c;讨论一些流程和方法。影像和地形是Cesium的基础内容&#xff0c;但是有时候感觉这部分的加载和渲染效率并不高。 TileReplacementQueue是一个非常神奇的类&#xff0c;我自己研究了小半天。虽然结构简单&#xff0c;但是…

ACH支付详解,北美电商为何偏爱这一方式

ACH支付在北美广泛应用&#xff0c;低成本、可逆、安全、便捷。ZohoBooks财务管理软件支持ACH&#xff0c;可自动化处理收付款&#xff0c;提高效率并减少错误。适合北美电商客户使用&#xff0c;支持多货币和税务法规。 一、什么是ACH支付&#xff1f; ACH支付是一种通过名为…

②PROFINET转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 PROFINET 转 Modbus TCP &#xff08;接上一章&#xff09; 配置使用 与 PROFINET 主站进行组态说明 这里介绍与西门子 PLC 的…

大数据-180 Elasticsearch - 原理剖析 索引写入与近实时搜索

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

Docker-Consul概述以及集群环境搭建

文章目录 一、Docker consul概述二、consul 部署1.consul服务器2.registrator服务器&#xff08;客户端&#xff09;2.consul-template&#xff08;在consul服务器&#xff09;3.consul 多节点 一、Docker consul概述 容器服务更新与发现&#xff1a;先发现再更新&#xff0c;…

leetcode289:生命游戏

根据 百度百科 &#xff0c; 生命游戏 &#xff0c;简称为 生命 &#xff0c;是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板&#xff0c;每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态&#xff1a; 1 即为 活细胞 &am…

ClickFix攻击活动升级:可通过虚假谷歌会议画面传播恶意软件

最近&#xff0c;研究人员报告了一种新的 ClickFix 攻击活动&#xff0c;主要通过诱骗用户访问显示虚假连接错误的欺诈性 谷歌会议的页面&#xff0c;继而借此传播信息窃取恶意软件&#xff0c;主要针对 Windows 和 macOS 操作系统。 ClickFix是网络安全公司Proofpoint在5月份…

016集——c# 实现CAD类库 与窗体的交互(CAD—C#二次开发入门)

第一步&#xff1a;搭建CAD类库dll开发环境。 第二步&#xff1a;添加窗体 第三步&#xff1a;添加控件 第四步&#xff1a;双击控件&#xff0c;在控件点击方法内输入代码 第五步&#xff1a;在主程序内实例化新建的form类&#xff0c;并弹窗form窗体 第六步&#xff1a;CAD命…

第五届人工智能与教育国际学术会议(ICAIE 2024)

文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网&#xff1a;https://ais.cn/u/vEbMBz提交检索&#xff1a;EI Compendex、IEEE Xplore、Scopus 三、大会介绍 第五届人工智能与教育国际学术会议&#x…

学习虚幻C++开发日志——TSet

TSet 官方文档&#xff1a;虚幻引擎中的Set容器 | 虚幻引擎 5.5 文档 | Epic Developer Community (epicgames.com) TSet 是通过对元素求值的可覆盖函数&#xff0c;使用数据值本身作为键&#xff0c;而不是将数据值与独立的键相关联。 默认情况下&#xff0c;TSet 不支持重…

大数据-168 Elasticsearch 单机云服务器部署运行 详细流程

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

基于stm32的4G模块点灯实验

led模块功能封装 #include "led.h" #include "sys.h"//初始化GPIO函数 void led_init(void) {GPIO_InitTypeDef gpio_initstruct;//打开时钟__HAL_RCC_GPIOB_CLK_ENABLE();//调用GPIO初始化函数gpio_initstruct.Pin GPIO_PIN_8 | GPIO_PIN_9;gpio_inits…

Linux基本指令一眼看懂(简洁表示)

首先先声明是简单表示&#xff0c;如果要全指令有链接 1. ls 指令 ls [选项] [文件/目录]常用选项: -l: 以长格式列出文件和目录的详细信息。 -a: 显示所有文件&#xff0c;包括隐藏文件&#xff08;以.开头的文件&#xff09;。 -h: 以人类可读的格式显示文件大小。 示例: …

基于stm32的esp8266的WIFI控制风扇实验

实验案例&#xff37;&#xff29;&#xff26;&#xff29;控制风扇 项目需求 电脑通过esp8266模块远程遥控风扇。 项目框图 ​ 风扇模块封装 #include "sys.h" #include "fan.h"void fan_init(void) {GPIO_InitTypeDef gpio_initstruct;//打开时钟…

数据库知识点整理

DDL DDL-数据库操作 show databases ------------ 查看所有数据库 select database(); ----------查看当前数据库 create database 数据库名&#xff1b;---- 创建数据库 use 数据库名&#xff1b; --------------使用数据库 drop database 数据库名&#xff1b;--…

day02_计算机常识丶第一个程序丶注释丶关键字丶标识符

计算机常识 计算机如何存储数据 计算机世界中只有二进制。那么在计算机中存储和运算的所有数据都要转为二进制。包括数字、字符、图片、声音、视频等。 进制 进制也就是进位计数制&#xff0c;是人为定义的带进位的计数方法 实例&#xff1a; // 在java 中 可以使用不同…

[PHP]Undefined index错误只针对数组

1、示例一 <?php $a null; var_dump($a[name]); 结果&#xff1a;无报错 2、示例二 <?php $a []; var_dump($a[name]);结果&#xff1a;报错