朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐

人形机器人领域,有一个非常值钱的问题:既然人形机器人的样子与人类类似,那么它们能使用网络视频等数据进行学习和训练吗?
如果可以,那考虑到网络视频的庞大规模,机器人就再也不用担心没有学习资源了。
近日,德克萨斯大学奥斯汀分校和 NVIDIA Research 的朱玉可团队公布了他们的一篇 CoRL 2024 oral 论文,其中提出了一种名为 OKAMI 的方法,可基于单个 RGB-D 视频生成操作规划并推断执行策略。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐

论文地址:OKAMI: Teaching Humanoid Robots Manipulation Skills through Single Video Imitation
论文链接:https://arxiv.org/pdf/2410.11792
项目地址:https://ut-austin-rpl.github.io/OKAMI/
先来看看演示视频:朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
可以看到,机器人在看过人类演示者向袋子中装东西后,也学会了以同样的动作向袋子中装东西。不仅如此,OKAMI 还能让人形机器人看一眼演示视频就轻松学会撒盐、将玩具放进篮子和合上笔记本电脑等任务。
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
和 AI 领域内的许多技术一样,OKAMI 也是一个缩写词,全称是 Object-aware Kinematic retArgeting for huManoid Imitation,即用于人形机器人模仿的物体感知型动力学重定向
顾名思义,这是一种物体感知型重定向方法,可以让具有两个灵巧机器手的双手型人形机器人基于单个 RGB-D 视频演示模仿其中的操作行为。
OKAMI 方法详解
OKAMI 采用了一种两阶段过程,可将人类运动重新定向成人形机器人的运动,从而可在不同初始条件下完成任务。
在第一个阶段,OKAMI 会处理视频并生成一个参考操作规划。
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
在第二个阶段,OKAMI 会使用该规划来合成人形机器人的运动,这个过程会用到运动重定向,其作用是适应目标环境中的物体位置。
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
图 2 展示了其整个工作流程。
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
问题描述
首先,该团队将人形机器人操作任务描述成了一个离散时间马尔可夫决策过程,并将其定义成了一个元组 M = (S, A, P, R, γ, µ)。其中 S 是状态空间、A 是动作空间、P (・|s, a) 是转移概率、R (s) 是奖励函数、γ ∈ [0, 1) 是折扣因子、µ 是初始状态分布。
在这里,S 就是原始 RGB-D 观察的空间,其中包含机器人和物体的状态;A 则是人形机器人的运动指令的空间;R 是一个稀疏的奖励函数 —— 当任务完成时,返回 1。对于一个任务,其目标是找到一个策略 π,使其可以在测试时间最大化大量不同的初始配置下的预期任务成功率。
他们考虑了「基于观察的开放世界模仿」设置。在该设置中,这个机器人系统会获得一段录制的 RGB-D 人类视频 V,然后其需要返回一个人形机器人操作策略 π,使机器人可以完成视频演示的任务。
参考规划生成
为了实现物体感知型重新定向,OKAMI 首先会为人形机器人生成一个参考规划。规划生成需要了解有哪些与任务相关的物体以及人类如何操作它们。
识别和定位与任务相关的物体
为了模仿视频 V 中的操作任务,OKAMI 必须识别要交互的物体。之前的方法需要具有简单背景的无监督方法或需要额外的人工标注,而 OKAMI 则不一样,其使用了现成可用的视觉 – 语言模型(VLM)GPT-4V 来识别 V 中与任务相关的物体;这自然是用到了该模型中内化的常识性知识
具体来说,OKAMI 会通过采样 RGB 帧并使用 GPT-4V 来获取与任务相关的物体的名称。使用这些名称,OKAMI 再使用 Grounded-SAM 来分割第一帧中的物体并使用视频目标分割模型 Cutie 来跟踪这些物体的位置。
重建人类运动
为了将人类运动重新定向成机器人运动,OKAMI 会重建来自 V 的人类运动以获取运动轨迹。为此,他们采用了改进版的 SLAHMR,这是一种用于重建人类运动序列的迭代式优化算法。虽然 SLAHMR 假设双手平放,而新的扩展优化了 SMPL-H 模型的手部姿势,这些姿势使用来自 HaMeR 的估计手部姿势进行初始化。此修改使得单目视频中的身体和手部姿势可以进行联合优化。其输出是一个获取了全身和手部姿势的 SMPL-H 模型序列,让 OKAMI 可以将人类动作重新定向到人形机器人。
此外,SMPL-H 模型还能表示不同人类外观的人类姿势,从而可以轻松地将人类演示者的运动映射到人形机器人。
基于视频生成规划
有了任务相关的物体和重建出来的人类运动,OKAMI 就可以基于 V 生成用于完成每个子目标的参考规划了。
OKAMI 识别子目标的方式是基于以下流程执行时间分割:
首先使用 CoTracker 跟踪关键点,并检测关键点的速度变化以确定关键帧,这些关键帧对应于子目标状态。
对于每个子目标,都确定一个目标物体(会因为操作而运动)和一个参考物体(通过接触或非接触关系作为目标物体运动的空间参考)。目标物体是根据每个物体的平均关键点速度确定的,而参考物体则通过 GPT-4V 预测的几何启发式或语义关系来识别。
确定子目标和相关物体后,生成一个参考规划 l_0, l_1, . . . , l_N,其中每一步 l_i 都对应于一个关键帧,并且包含目标物体 o_target、参考问题 o_reference 和 SMPL-H 轨迹段 朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐的点云。
物体感知型重定向
有了来自演示视频的参考规划后,OKAMI 便可以让人形机器人模仿 V 中的任务。机器人会遵循规划中的每个步骤 l_i。然后经过重新定向的轨迹会被转换成关节指令。这个过程一直重复直到任务完成,之后基于任务特定的条件来评估是否成功。
在测试时间定位物体
为了在测试时间环境中执行规划,OKAMI 必须定位机器人观察中的相关物体,提取 3D 点云来跟踪物体位置。通过关注与任务相关的物体,OKAMI 策略可以泛化用于各不相同的视觉背景,包括不同的背景或任务相关物体新实例。
将人类运动重新定位到人形机器人
物体感知的关键是使运动适应新的物体位置。在定位物体后,OKAMI 会采用一种分解式重新定位过程,即分别合成手臂和手部运动。
OKAMI 首先根据物体位置调整手臂运动,以便将手指置于以物体为中心的坐标系内。然后,OKAMI 只需在关节配置中重新定位手指,以模仿演示者用手与物体交互的方式。
具体来说,首先将人体运动映射到人形机器人的任务空间,缩放和调整轨迹以考虑尺寸和比例的差异。然后,OKAMI 扭曲变形(warp)重新定位的轨迹,以便机器人的手臂到达新的物体位置。该团队考虑了两种轨迹变形情况 —— 当目标和参考物体之间的关系状态不变时以及当关系状态发生变化时,相应地调整变形。
在第一种情况下,仅基于目标物体位置执行轨迹变形。在第二种情况下,基于参考物体位置执行变形。
变形之后,使用逆动力学计算机器臂的关节配置序列,同时平衡逆运动学计算中的位置和旋转目标的权重以保持自然姿势。同时,将人类手部姿势重新定位到机器人的手指关节,使机器人能够执行精细的操作。
最后,可得到一套全身关节配置轨迹。由于机器臂运动重新定向是仿射式的,因此这个过程可以自然地适应不同演示者的情况。通过调整手臂轨迹以适应物体位置并独立重新定位手部姿势,OKAMI 可实现跨各种空间布局的泛化。
实验及结果
研究者在实验部分主要回答了以下四个研究问题:
OKAMI 能否有效地让人形机器人基于单个人类演示视频来模仿各种操作任务?
在 OKAMI 中,将演示者的身体动作重新定位到人形机器人身上是否重要,以及为什么没有选择仅根据物体位置进行重新定位?
OKAMI 能否在多样化人体统计学特征的人类演示视频中始终保持自身性能?
OKAMI 生成的展示(rollout)是否可以用来训练闭环视觉运动策略?
任务设计。研究者在实验中执行了六项任务,分别如下:
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
将毛绒玩具放入篮子里(Plush-toy-in-basket)
将少许盐撒入碗中(Sprinkle-salt)
关上抽屉(Close-the-drawer)
合上笔记本电脑的盖子(Close-the-laptop)
将一袋零食放在盘子上(Place-snacks-on-plate)
将薯片袋放入购物袋中(Bagging)
硬件设置。研究者使用 Fourier GR1 机器人作为自己的硬件平台,配备了两个 6 自由度(DoF)的 Inspire 灵巧手以及一个用来录制视频和进行测试时观察的 D435i Intel RealSense 摄像头。此外还实现了一个以 400Hz 运行的关节位置控制器。为了避免出现抖动,研究者以 40Hz 来计算关节位置命令,并将命令插入 400Hz 轨迹。
评估方案。研究者针对每项任务运行了 12 次试验。过程中,物体的位置在机器人摄像头视野和人形手臂可触及范围的交点内进行随机初始化。
基线。研究者将 OKAMI 与基线 ORION 进行了比较。
定性结果
为了回答问题 1),研究者评估了 OKAMI 在所有任务中的策略,覆盖日常取放、倾倒和操纵铰接物体等多样性行为。结果如下图 4(a)所示,实验中随机初始化了物体位置,这样做让机器人需要适应物体的位置。从结果来看,OKAMI 可以有效地泛化到不同的视觉和空间条件。
为了回答问题 2),研究者在两项代表性任务上将 OKAMI 与 ORION 进行比较,分别是将 Place-snacks-on-plate 和 Close-the-laptop。二者的不同之处在于 ORION 不以人类身体姿态为条件。结果显示,OKAMI 在两项任务上分别实现了 75.0% 和 83.3% 的成功率,而 ORION 分别只有 0.0% 和 41.2%,拉开了很大的差距。
为了回答问题 3),研究者进行了一项受控实验,记录了不同演示者的视频,并测试 OKAMI 策略是否对所有视频输入都能保持良好的性能。同样地,他们选择的任务是 Place-snacks-on-plate 和 Close-the-laptop,结果如图 4(b)所示。
总体而言,OKAMI 能够在处理不同演示者的视频时保持相当不错的性能,不过处理这类多样性的视觉 pipeline 仍有改进的空间。
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
利用 OKAMI Rollout 数据学习视觉运动策略
为了解决问题 4),研究者在 OKAMI rollout 上训练了神经视觉运动策略。他们首先在随机初始化的物体 rollout 上运行 OKAMI,并在收集一个包含成功轨迹的数据集同时丢弃失败的轨迹。此外他们通过行为克隆算法在该数据集上训练神经网络策略,并为 Sprinkle-salt 和 Bagging 两项任务训练视觉运动策略。
下图 5 展示了这些策略的成功率,表明 OKAMI rollout 可以成为有效的训练数据源。并且,随着收集到的 rollout 增多,学习到的策略会随之改进。这些结果有望扩展数据收集范围,从而无需费力远程操作也能学习人形机器人操作技能。
局限性和未来工作
OKAMI 虽强,但也并不完美,下面展示了两个失败实例:
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐
OKAMI 目前专注于人形机器人的上半身运动重定向,尤其是用于桌面工作空间的操控任务。因此未来有希望扩展到下半身重定向,以便在视频模仿期间实现运动行为。更进一步,实现全身运动操控则需要一个全身运动控制器,而不是 OKAMI 中使用的关节控制器。
此外,研究者在 OKAMI 中依赖 RGB-D 视频,这限制了他们使用以 RGB 记录的野外互联网视频。因此扩展 OKAMI 使用网络视频将是未来另一个有潜力的研究方向。最后,当前重定向的实现在面对物体的形状变化较大时表现出了较弱的稳健性。
未来的改进将是整合更强大的基础模型,使机器人能够总体了解如何与一类物体进行交互,即使这类物体的形状变化很大。
参考链接:
https://x.com/yukez/status/1848373529386860933

以上就是朱玉可团队新作:看一眼就能模仿,大模型让机器人轻松学会撒盐的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/413633.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
详细介绍Mysql中的4种日志
上一篇 2025年11月7日 00:15:39
Steam限时喜加一!《WHAT THE PAK?!》现可免费领取
下一篇 2025年11月7日 00:15:44

相关推荐

  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • Golang JSON序列化:控制敏感字段暴露的最佳实践

    本教程探讨golang中如何高效控制结构体字段在json序列化时的可见性。当需要将包含敏感信息的结构体数组转换为json响应时,通过利用`encoding/json`包提供的结构体标签,特别是`json:”-“`,可以轻松实现对特定字段的忽略,从而避免敏感数据泄露,确保api…

    2026年5月10日
    000
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • c++中的SFINAE技术是什么_c++模板编程中的SFINAE原理与应用

    SFINAE 是“替换失败不是错误”的原则,指模板实例化时若参数替换导致错误,只要存在其他合法候选,编译器不报错而是继续重载决议。它用于条件启用模板、类型检测等场景,如通过 decltype 或 enable_if 控制函数重载,实现类型特征判断。尽管 C++20 引入 Concepts 简化了部分…

    2026年5月10日
    000
  • Go语言mgo查询构建:深入理解bson.M与日期范围查询的正确实践

    本文旨在解决go语言mgo库中构建复杂查询时,特别是涉及嵌套`bson.m`和日期范围筛选的常见错误。我们将深入剖析`bson.m`的类型特性,解释为何直接索引`interface{}`会导致“invalid operation”错误,并提供一种推荐的、结构清晰的代码重构方案,以确保查询条件能够正确…

    2026年5月10日
    100
  • Golang goroutine与channel调试技巧

    使用go run -race检测数据竞争,结合runtime.NumGoroutine监控协程数量,通过pprof分析阻塞调用栈,利用select超时避免永久阻塞,有效排查goroutine泄漏、死锁和数据竞争问题。 Go语言的goroutine和channel是并发编程的核心,但它们也带来了调试上…

    2026年5月10日
    000
  • 使用 Jupyter Notebook 进行探索性数据分析

    Jupyter Notebook通过单元格实现代码与Markdown结合,支持数据导入(pandas)、清洗(fillna)、探索(matplotlib/seaborn可视化)、统计分析(describe/corr)和特征工程,便于记录与分享分析过程。 Jupyter Notebook 是进行探索性…

    2026年5月10日
    000
  • 《魔兽世界》将于6月11日开启国服回归技术测试

    《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试

    《%ign%ignore_a_1%re_a_1%》官方宣布,将于6月11日开启国服回归技术测试,时间为7天,并称可以在6月内正式开服,玩家们可以访问官网下载战网客户端并预下载“巫妖王之怒”客户端,技术测试详情见下图。 WordAi WordAI是一个AI驱动的内容重写平台 53 查看详情 以上就是《…

    2026年5月10日 用户投稿
    200
  • 如何在HTML中插入表单元素_HTML表单控件与输入类型使用指南

    HTML表单通过标签构建,包含action和method属性定义数据提交目标与方式,常用input类型如text、password、email等适配不同输入需求,配合label、required、placeholder提升可用性,结合textarea、select、button等控件实现完整交互,是…

    2026年5月10日
    000
  • 创建指定大小并填充特定数据的Golang文件教程

    本文将介绍如何使用Golang创建一个指定大小的文件,并用特定数据填充它。我们将使用 `os` 包提供的函数来创建和截断文件,从而实现快速生成大文件的目的。示例代码展示了如何创建一个10MB的文件,并将其填充为全零数据。掌握这些方法,可以方便地在例如日志系统或磁盘队列等场景中,预先创建测试文件或初始…

    2026年5月10日
    000
  • Python命令怎样使用profile分析脚本性能 Python命令性能分析的基础教程

    使用Python的cProfile模块分析脚本性能最直接的方式是通过命令行执行python -m cProfile your_script.py,它会输出每个函数的调用次数、总耗时、累积耗时等关键指标,帮助定位性能瓶颈;为进一步分析,可将结果保存为文件python -m cProfile -o ou…

    2026年5月10日
    000
  • 如何插入查询结果数据_SQL插入Select查询结果方法

    如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法

    使用INSERT INTO…SELECT语句可高效插入数据,通过NOT EXISTS、LEFT JOIN、MERGE语句或唯一约束避免重复;表结构不一致时可通过别名、类型转换、默认值或计算字段处理;结合存储过程可提升可维护性,支持参数化与动态SQL。 将查询结果数据插入到另一个表中,可以…

    2026年5月10日 用户投稿
    000
  • 使用 WebCodecs VideoDecoder 实现精确逐帧回退

    本文档旨在解决在使用 WebCodecs VideoDecoder 进行视频解码时,实现精确逐帧回退的问题。通过比较帧的时间戳与目标帧的时间戳,可以避免渲染中间帧,从而提高用户体验。本文将提供详细的解决方案和示例代码,帮助开发者实现精确的视频帧控制。 在使用 WebCodecs VideoDecod…

    2026年5月10日
    000
  • Debian Copilot的社区活跃度如何

    debian copilot是codeberg社区维护的ai助手,旨在为debian用户提供服务。尽管搜索结果中没有直接提供关于debian copilot社区支持活跃度的具体数据,但我们可以通过debian社区的整体活跃度和特点来推断其活跃性。 Debian社区的一般情况: Debian拥有详尽的…

    2026年5月10日
    000
  • Discord.py 交互按钮超时与持久化解决方案

    本教程旨在解决Discord.py中交互按钮在一段时间后出现“This Interaction Failed”错误的问题。我们将深入探讨视图(View)的超时机制,并提供通过正确设置timeout参数以及利用bot.add_view()方法实现按钮持久化的具体方案,确保您的机器人交互功能稳定可靠,即…

    2026年5月10日
    000
  • JavaScript 动态菜单点击高亮效果实现教程

    本教程详细介绍了如何使用 JavaScript 实现动态菜单的点击高亮功能。通过事件委托和状态管理,当用户点击菜单项时,被点击项会高亮显示(绿色),同时其他菜单项恢复默认样式(白色)。这种方法避免了不必要的DOM操作,提高了性能和代码可维护性,确保了无论点击方向如何,功能都能稳定运行。 动态菜单高亮…

    2026年5月10日
    200
  • c++如何实现UDP通信_c++基于UDP的网络通信示例

    UDP通信基于套接字实现,适用于实时性要求高的场景。1. 流程包括创建套接字、绑定地址(接收方)、发送(sendto)与接收(recvfrom)数据、关闭套接字;2. 服务端监听指定端口,接收客户端消息并回传;3. 客户端发送消息至服务端并接收响应;4. 跨平台需处理Winsock初始化与库链接,编…

    2026年5月10日
    000
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100
  • JavaScript函数中插入加载动画(Spinner)的正确方法

    本文旨在解决在JavaScript函数中插入加载动画(Spinner)时遇到的异步问题。通过引入async/await和Promise.all,确保在数据处理完成前后正确显示和隐藏加载动画,提升用户体验。我们将提供两种实现方案,并详细解释其原理和优势。 在Web开发中,当执行耗时操作时,显示加载动画…

    2026年5月10日
    000
  • 使用 Pydantic v2 实现条件性必填字段

    本文介绍了如何在 Pydantic v2 模型中实现条件性必填字段。通过自定义验证器,可以根据模型中其他字段的值来动态地控制某些字段是否为必填项,从而满足 API 交互中数据验证的复杂需求。本文提供了一个具体的示例,展示了如何确保模型中至少有一个字段被赋值。 在 Pydantic v2 中,虽然没有…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信