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

【机器人】ATM 用于策略学习的任意点轨迹建模 RSS 2024 | 论文精读

文章提出了一种新的框架,名为Any-point Trajectory Modeling (ATM) ,称为任意点轨迹建模。

用于从视频中预测任意点的未来轨迹,从而在最少动作标签数据的情况下,学习稳健的视觉运动策略。

图中展示了三个案例,打开柜子的中间抽屉、折叠布料并将其拉向右侧、拿起袋子并将其放在架子上。

根据给定的任务指令和图像帧中任意点集的初始位置,来预测这些点的未来轨迹。(紫红色点是最新方向点,蓝色点是过去的)

Robotics: Science and Systems (RSS) 2024

论文地址:Any-point Trajectory Modeling for Policy Learning

开源地址:https://github.com/Large-Trajectory-Model/ATM

1、研究背景

研究问题

  • 如何利用视频数据中的行为、物理和语义知识来指导机器人学习新的技能,特别是在缺乏动作标签的情况下。
  • 如何利用视频演示数据学习视觉运动策略,特别是当示教数据的收集成本高昂时。
  • ATM框架,用于从视频中预测任意点的未来轨迹,从而在最少动作标签数据的情况下,学习稳健的视觉运动策略。

研究难点

  • 视频数据中缺乏动作标签,难以直接用于策略学习;
  • 现有的视频预测模型在训练和推理过程中计算需求高,且容易产生不切实际的物理运动预测;
  • 直接从视频数据中学习控制策略需要解决物理运动和视觉外观之间的耦合问题。

相关工作

  • 使用自监督目标进行视频预训练以学习观察的特征表示;
  • 视频预测模型用于指导策略学习,但这些模型通常计算密集且容易产生幻觉;
  • 从人类视频中学习控制策略的研究,但这些工作通常只跟踪特定点,如机器人的末端执行器或人手。

2、模型框架

这篇论文提出了任意点轨迹建模(ATM),用于解决从视频中学习视觉运动策略的问题。

 首先进行轨迹点预测,然后实现轨迹引导策略学习。

2.1 轨迹点预测

文章提出了一种轨迹建模方法,用于从视频中预测任意点的未来轨迹。

该方法将视频帧中的每个状态表示为一组点,并学习一个轨迹模型来预测这些点在未来的位置。

ATM框架通过两个阶段进行视频数据预训练。

第一个阶段是自我监督轨迹注释,具体步骤如下:

  1. 从无动作视频中随机采样时间步和帧上的点,并使用预训练的视频跟踪器(CoTracker模型),生成这些点的轨迹。
  2. 采用启发式方法过滤掉静态点(如背景中的点),只保留在视频中有运动的点。
  3. 使用Transformer模型预测这些点的未来轨迹,输入为当前图像观测、语言指令和初始点位置,输出为未来点的2D相机坐标。

第二个阶段是多模态轨迹建模,具体步骤如下:

  1. 将点的当前位置、当前图像观测和任务的语言指令编码到一个共享的嵌入空间中。
  2. 通过大型Transformer模型对这些嵌入进行编码,解码器将这些轨迹标记转换为相应点的未来轨迹。
  3. 通过重建图像块作为辅助任务,进一步提升模型的预测能力。

CoTracker 开源地址:https://github.com/facebookresearch/co-tracker

2.2 轨迹引导策略学习

文章提出了一种基于预测轨迹的轨迹引导策略,该策略结合图像观测和预测轨迹来预测控制动作。

使用变换器架构来融合轨迹和图像信息,并通过均方误差损失进行训练。

均方误差损失函数:

其中,L 是损失函数,可以是均方误差(MSE)或交叉熵损失。

3、实验测试

数据集:实验使用了LIBERO基准中的130多个语言条件操控任务。

  • 每个任务包括10个动作标签演示轨迹和50个无动作视频演示轨迹。
  • 数据集包含RGB图像和机器人末端执行器的抓取和关节状态作为观测值。

环境:实验在LIBERO基准的不同子任务上进行,包括空间推理、对象推理、任务理解和长时任务目标。

对比方法:实验对比了以下基线方法:

  • BC:行为克隆,仅使用动作标签演示轨迹进行训练。
  • R3M-finetune:使用对比学习目标进行表示学习,并在领域内视频数据集上进行微调。
  • VPT:首先从动作标签轨迹训练逆动态模型,然后使用伪动作标签进行视频数据集的策略训练。
  • UniPi:训练文本条件视频扩散模型以生成时间细粒度的视频计划,并从初始帧和语言指令中学习目标条件策略。

结果与分析

总体性能:ATM在所有任务中显著优于各种强基线方法,平均成功率达到63%,而之前方法的平均最高成功率为37%。

跨模态学习:ATM能够有效地从人类视频和不同机器人形态的视频中学习。

与仅使用机器人视频相比,使用人类视频的ATM在多个任务上表现更好。

关键问题2:ATM在真实世界实验中的表现如何?与其他基线方法相比有何优势?

在真实世界实验中,ATM在五个任务的平均成功率为93%,显著高于行为克隆(BC)基线方法的65%和其他视频预训练基线方法的70%左右。

具体优势包括:

  1. ATM在长期任务和需要理解目标的任务上表现尤为出色,这得益于其预测未来轨迹的能力,为策略提供了清晰的指导。
  2. ATM能够有效地从人类视频和不同机器人形态的视频中学习,展示了跨模态视频学习的有效性。使用人类视频训练的ATM在真实世界任务中的成功率显著高于仅使用机器人视频的ATM。
  3. ATM的结构化表示自然地结合了物理归纳偏见,如物体的持久性,使得其在面对复杂和多样化的任务时表现更为稳健。

关键问题3:ATM框架在实验中进行了哪些消融分析?这些分析揭示了哪些关键设计选择的影响?

  1. 轨迹长度的影响:实验表明,轨迹长度为16步时性能最佳,平均成功率达到78%,而过短或过长的轨迹长度都会影响性能。较短的轨迹长度(如4步)显著降低了性能,而较长的轨迹长度(如32步)在某些任务上反而表现较差。
  2. 图像遮蔽的作用:在轨迹变换器训练中,随机遮蔽图像块作为辅助任务,结果显示图像遮蔽对策略性能有轻微提升作用,尤其是在LIBERO-Spatial任务中,遮蔽图像块的策略成功率为74.33%,而未遮蔽的为68.50%。
  3. 融合方式的影响:实验比较了早期融合和晚期融合对策略性能的影响,结果表明晚期融合对策略性能的提升最为显著。仅使用早期融合的策略在LIBERO-Goal任务中的成功率为56.67%,而结合晚期融合的完整ATM策略成功率为77.83%。

 项目展示:https://xingyu-lin.github.io/atm/

4、总结

优点与创新

  1. Any-point Trajectory Model (ATM): 提出了一种简单而新颖的框架,通过粒子轨迹的结构化表示将视频预训练与策略学习桥接起来。
  2. 显著超越基线: 在超过130个语言条件任务上进行了广泛的实验,ATM在视频预训练方面显著优于各种强大的基线方法,平均成功率达到63%,相比之前方法的37%提高了80%。
  3. 跨模态人类和机器人视频学习: 展示了从人类视频和不同机器人形态的视频中有效学习的能力。
  4. 多模态轨迹建模: 通过多模态掩码预测问题来形式化未来轨迹预测问题,结合了当前位置、图像观测和任务的语言指令。
  5. 轨迹引导策略学习: 使用预测轨迹作为子目标来指导控制策略的学习,从而能够仅使用少量的动作标注演示数据进行训练。
  6. 通用性: ATM适用于多种策略类,包括扩散策略,并在所有基准测试中保持一致的性能提升。
  7. 实时轨迹生成: ATM在相机坐标系中预测未来轨迹,最小化了对手动校准相机的假设。

不足与反思

  1. 依赖动作标注演示轨迹: 方法仍然依赖于一组动作标注的演示轨迹来映射到动作,这限制了学习到的策略的泛化能力。未来的工作可以考虑使用强化学习来学习轨迹跟随策略,从而不需要额外的演示数据。
  2. 视频数据集的小领域差距: 本文使用的视频数据集仅包含小领域差距。从野外视频数据集中学习提出了额外的挑战,如多模态分布、多样化的相机运动和次优运动。这些扩展留待未来工作。

分享完成~


http://www.kler.cn/a/449859.html

相关文章:

  • 链路聚合与GVRP的混合构建(eNSP)
  • STM32HAL库中RTC闹钟设置时分秒,年月日
  • 对javascript语言标准函数与箭头函数中this的理解(补充)
  • 制造研发企业与IPD管理体系
  • 如何利用Python爬虫获得1688按关键字搜索商品
  • Retrofit源码分析:动态代理获取Api接口实例,解析注解生成request,线程切换
  • 音视频入门基础:MPEG2-TS专题(20)——ES流简介
  • 取多个集合的交集
  • Spring Boot @Conditional注解
  • 设计模式--工厂方法模式【创建型模式】
  • [vLLM vs TensorRT-LLM] :系统调度schedule比较
  • 浅谈算法交易
  • MySQL表名传参SP
  • Linux文件目录 --- 复制命令CP、递归复制目录、软连接、硬链接
  • Windows开启IIS后依然出现http error 503.the service is unavailable
  • 使用 ffmpeg 拼接合并视频文件
  • 代码随想录训练营第二十七天| 贪心理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和
  • 软考——RIP路由协议
  • 数据结构漫游记:静态链表的实现(CPP)
  • HTTP常见异常状态码
  • Android Bootable Recovery 中的 `bspatch.cpp` 文件详解
  • Tauri 开源 - 从零打造一款跨端的 AI 笔记
  • ubuntu 网络管理
  • Clickhouse 集群配置
  • Linux系统卡顿排查
  • PostgreSql+Pgpool-II配置高可用集群(超详细)