大模型时代的具身智能系列专题(七)

北大王鹤团队

王鹤,北京大学前沿计算研究中心助理教授,本科毕业于清华大学,博士毕业于斯坦福大学,师从美国三院院士Leonidas. J Guibas教授。他创立并领导了具身感知与交互实验室(EPIC Lab),实验室立足三维视觉感知与机器人学,重点关注具身机器人在三维复杂环境中的感知和交互问题,研究目标是以可扩增地方式发展高泛化性的机器人视觉和控制系统。研究成果覆盖物体抓取、功能性操控、灵巧操作及寻物导航。

主题相关作品

  • UniDexGrasp
  • UniDexGrasp++
  • GraspNerf

UniDexGrasp

这项工作学习一个通用的灵巧抓取方法,可以在仿真的场景中很好地泛化到数百种训练时见过或是未见过的物体类别,并且输入仅包含相机拍摄的深度信息和描述机器人自身状态的自我感知参数。使用的数据集包含来自133个物体类别的5519个物体实例的100多万种抓取手势,这是目前最大的机器人灵巧手抓取数据集。
fig2
如图2所示,方法的流程分为左右两个阶段:第一阶段针对物体点云输入生成若干抓取手势,从中挑选一个作为目标手势之后,第二阶段使用基于目标手势的强化学习策略来执行抓取。

在生成抓取手势时,由于我们发现将旋转的SO(3) 空间与平移和关节角的欧式空间解耦,并且在最后附加基于接触图的优化过程,将会获得更稳定有效的生成流程,因此生成抓取手势总共分为三个子模块。

生成总体旋转的模块 GraspIPDF 受到了 ImplicitPDF(缩写为 IPDF)的启发,使用神经网络来隐式表达概率分布 p ( R ∣ X 0 ) p(R|X_0) p(RX0)使得我们可以从中采样。
在确定了一个旋转之后,我们将整个观察到的点云规范化至 X ~ 0 \tilde{X}_0 X~0,作为输入进入第二个模块 GraspGlow。Glow 是一种常用的基于标准化流来建模欧式变量的方法,而 GraspGlow 则利用它来建模
eq
由于我们在前两个阶段致力于生成多样性的抓取,因而基于概率采样出的抓取手势在精确度方面不可避免地有所下降。所以我们需要第三个子模块,即通过接触图来优化概率采样得到的抓取手势。ContactNet 的输入是并不完美的抓取手势与物体点云(训练时我们通过扰动完美的抓取手势来实现这一效果),输出是对物体点云中的每一个点的在 [0,1] 区间内的理想接触热力值,越靠近 1 表示离理想接触时的手越远,越靠近 1表示离理想接触时的手越近。

为了使概率采样得到的手更接近理想接触时的手,一方面我们通过自监督的损失函数来微调 GraspGlow,这个损失函数包含了:

  • 预测的理想接触图与由 GraspGlow 输出的手计算得到的接触图之前的差异;
  • 物体点云穿透进手的网格的距离平方值;
  • 手上预先选定的点位穿透进平面的深度;
  • 自穿透。

另一方面,在测试时,我们也设计了能量函数来直接优化手势,这个能量函数包含的项与自监督的项相同,只是直接优化手势参数,而不是用来微调 GraspGlow。
fig3

在执行目标手势的强化学习时,如果直接基于点云以及描述机器人自身状态的自我感知参数,这两个真实世界能够获取的输入,那么学习的难度极大。所以,我们采用了师生学习框架(Teacher-Student Learning Framework)。即我们首先学习一个可以访问全知状态输入的全知教师模型,然后将其蒸馏为只接受实际输入的学生模型。不过尽管教师策略获得了对全知信息的访问权,但使其成功地抓取与不同抓取手势目标配对的不同物体仍然是艰巨的任务。为了提升模型训练的效率和以及在不同类别物体之间的泛化性能,我们设计了以下3个技巧:

  • 状态标准化;
  • 对于物体的课程学习;
  • 使用分类任务协助训练。

我们使用状态规范化(state canonicalization)来提高具有不同目标输入的强化学习的样本效率。具体而言,我们使用了机器手根部在世界坐标系中绕 z 轴的初始欧拉角 φ 作为规范化处理的参数。同时,我们将状态从世界坐标系转移到这个参考坐标系下。这样做可以使得模型更加高效地学习到不同目标输入下的抓取策略。

同时,我们提出了物体课程学习(object curriculum learning)的方法,用于训练机器人在不同类别的物体上进行灵巧抓取。该技术可以帮助机器人更好地学习到不同类别物体的抓取策略,从而提高其抓取成功率。具体而言,物体课程学习技术分为三个阶段。在第一个阶段中,我们首先让机器人在单个物体上进行训练。在第二个阶段中,我们让机器人在同一类别的不同物体上进行训练。最后,在第三个阶段中,我们让机器人在所有类别的物体上进行训练。通过这种逐步增加难度的方式,我们可以帮助机器人更好地学习到不同类别物体的抓取策略,并且避免了直接在多个类别物体上进行训练时出现的失败情况。实验结果表明,使用物体课程学习技术可以显著提高机器人的抓取成功率。

我们还采用了分类任务协助训练。具体而言,我们使用物体类别分类任务提前训练视觉编码器模块并在策略学习中使用分类任务进行联合训练。

最后,我们使用知识蒸馏的方法,通过将教师策略的知识转移到学生策略中,从而提高学生策略的性能。具体而言,我们将在全知状态输入下训练的教师策略的知识转移到只接受真实世界输入的学生策略中。

实验

我们分别针对抓取生成流程、基于状态输入的模型和基于视觉信息输入的模型进行了三类实验比较。
tab1
对于抓取生成流程的实验,我们采用了如下的衡量标准:

  • Q 1 Q_1 Q1值,表示了能够成功扰动抓取手势中的物体的最小扰动。
  • 物体穿透深度,表示了从物体点云穿透进手网格的深度。
  • σ ∗ 2 σ^2_* σ2 :*表示各个指标的标准差,用来衡量我们生成的抓取的多样性,包括 R / k e y p o i n t / T / θ ∣ R R/keypoint/T/\theta|R R/keypoint/T/θR等(旋转/关键点/平移/固定旋转下的关节角度/)。

我们的比较基准则包含了使用了GraspTTA,DDG,以及 ReLie,ProHMR 分别根据推测任务做出调整后再加上了测试时自适应(Test-Time Adaptation)的版本。可以看到,我们提出的方法兼具抓取的高质量和多样性,是其他方法无法做到的。

tab3

对于抓取执行实验,提供了 UniDexGrasp 在大规模合成数据集上的实验结果。实验结果表明,UniDexGrasp 可以在不同类别的物体上实现高质量、多样化的灵巧抓取。具体而言,我们将 UniDexGrasp 与四种基线方法进行了比较,表格3中列出了这些方法在训练集和测试集上的平均成功率。结果显示,UniDexGrasp 在训练集和测试集上分别达到74%和69%的平均成功率,显著优于其他方法。于此同时,我们还做了一系列消融实验以证明了每个关键技术对最终结果的重要性。
tab4

表格4展示了基于视觉输入的学生策略的成功率。我们对比了使用训练抓取数据和使用我们视觉模块方法预测的抓取位姿进行测试的结果。同时,我们通过扰动我们预测的抓取姿势以导致小穿透 (a)、较大穿透 (b) 和无接触 © 来对我们基于视觉的策略进行稳健性测试,并观察到我们的抓取执行策略对此类错误具有一定的鲁棒性。

fig5
我们方法一个非常自然的应用就是加入一个语言处理模块使得机器手按照特定方式来抓取物体。给定一段文本描述,我们将生成的抓取手势渲染成图片,随后通过 CLIP 模型选择图片文本相似度最高的抓取。在我们的初步尝试中,只用了10分钟的微调,CLIP 就能在手和锤子这一组合上达到90%的准确度,这也证明了进一步应用的可行性。

UniDexGrasp++

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

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

相关文章

MyBatis的各种查询功能

1、查询: 查询的标签select必须设置属性resultType或resultMap,用于设置实体类和数据库表的映射关系 resultType:自动映射,用于属性名和表中字段名一致的情况 resultMap:自定义映射,用于一对多或多对一或…

Github生成SSH密钥,使用SSH进行连接

目录 一、生成新的SSH密钥 二、添加新的SSH密钥 三、测试SSH连接 四、SSH密钥密码 五、创建新仓库并推送到github 说明 使用 SSH URL 将 git clone、git fetch、git pull 或 git push 执行到远程存储库时, 须在计算机上生成 SSH 密钥对,并将公钥添加到…

(CVPRW,2024)可学习的提示:遥感领域小样本语义分割

文章目录 相关资料摘要引言方法训练基础类别新类别推理 相关资料 论文:Learnable Prompt for Few-Shot Semantic Segmentation in Remote Sensing Domain 代码:https://github.com/SteveImmanuel/OEM-Few-Shot-Learnable-Prompt 摘要 小样本分割是一项…

STP----生成树协议

目的:解决二层环路问题 跨层封装 广播风暴---广播帧在二层环路中形成逆时针和顺时针转动环路,并且无限循环,最终造成设备宕机,网络瘫痪。 MAC地址表的翻摆(漂移)---同一个数据帧,顺时针接收后记…

GUN compiler collection源代码编译过程

第一部分: 学习kernel需要了解编译的一些过程,为了详细理解GCC编译过程的原理,动手做了个sy,记录如下,有需要的童鞋可以参考。 1.环境:(均可,二次环境并非是WSL版本) r…

大模型应用框架-LangChain

LangChain的介绍和入门 💥 什么是LangChain LangChain由 Harrison Chase 创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架,LLMs使用机器学习算法和海量数据来分析和理解自然语言,GPT3.5、GPT4是…

一维时间序列信号的奇异小波时频分析方法(Python)

最初的时频分析技术就是短时窗傅里叶变换STFT,由于时窗变短,可供分析的信号量减少,采用经典的谱估算方法引起的误差所占比重会增加。且该短时窗一旦选定.则在整个变换过程中其时窗长度是固定的。变换后的时频分辨率也即固定&#…

第十五届蓝桥杯物联网试题(省赛)

这个省赛题不算难,中规中矩,记得看清A板B板,还有ADC的获取要配合定时器

视频修复工具助你完成高质量的视频作品!

在短视频发展兴起的时代,各种视频层出不穷的出现在了视野中,人们已经从追求数量转向追求质量。内容相同的视频,你视频画质好、质量高的更受大家欢迎,那么如何制作高质量、高清晰度的视频呢?与您分享三个视频修复工具。…

Nios II 实现流水灯实验

Nios II 实现流水灯实验 一.硬件设计1.新建Quartus项目2. 设计Nios ii 二.软件设计 前言 实验目标: 学习 Quartus 、Platform Designer、Nios-II SBT 的基本操作;初步了解 SOPC 的开发流程,基本掌握 Nios-II 软核的定制方法;掌握 …

【Go语言精进之路】构建高效Go程序:零值可用、使用复合字面值作为初值构造器

🔥 个人主页:空白诗 文章目录 引言一、深入理解并利用零值提升代码质量1.1 深入Go类型零值原理1.2 零值可用性的实践与优势1.2.1 切片(Slice)的零值与动态扩展1.2.2 Map的零值与安全访问1.2.3 函数参数与零值 二、使用复合字面值作为初值构造器2.1 结构体…

LINUX系统编程:信号(1)

目录 什么是信号? 为什要有信号呢? 进程接受信号的过程 1.信号的产生 1.1kill命令产生信号 1.2键盘产生信号 1.3系统调用接口 1.3.1killl() 1.3.2raise() 1.3.3abort() 1.4软件条件 1.5异常 1.6对各种情况产生信号的理解 1.6.1kill命令 1…

突破 LST/LRT 赛道中心化困境,Puffer Finance 何以重塑以太坊再质押未来

纵观过去的 2023 年,LST 赛道竞争进入“白热化”状态。去中心化、DeFi 增强、全链化成为市场争夺关键词,诸多 LST 赛道老牌项目纷纷陷入“中心化矛盾”,指责对方在以太坊去中心化进程中的不利作为。 在这样的竞争情形下,以太坊联…

SpringBoot登录认证--衔接SpringBoot案例通关版

文章目录 登录认证登录校验-概述登录校验 会话技术什么是会话呢?cookie Session令牌技术登录认证-登录校验-JWT令牌-介绍JWT SpringBoot案例通关版,上接这篇 登录认证 先讲解基本的登录功能 登录功能本质就是查询操作 那么查询完毕后返回一个Emp对象 如果Emp对象不为空,那…

【数据结构】详解堆的基本结构及其实现

文章目录 前言1.堆的相关概念1.1堆的概念1.2堆的分类1.2.1小根堆1.2.2大根堆 1.3堆的特点堆的实用场景 2.堆的实现2.1初始化2.2插入2.3堆的向上调整2.4删除2.5堆的向下调整2.6判空2.7获取堆顶元素2.8销毁 3.堆排序3.1实现3.2堆排序的时间复杂度问题 前言 在上一篇文章中&#…

TMS320F280049 ECAP模块--总览(0)

ECAP 特性: 4个32bit的事件时间戳寄存器; 4个连续时间戳捕获事件的边沿极性可选上升沿、下降沿 4个事件中每个都能触发中断 4个事件都能做单词触发 可以连续捕获4个事件 绝对的捕获时间戳 差异模式捕获 不使用捕获模式时,可以配置输出…

Python 图书馆管理系统 有GUI界面 【含Python源码 MX_031期】

使用python3,PyQt5,Sqlite3数据库搭建 主要功能: 用户注册、登录、修改密码、用户管理存储图书信息、采购增加和淘汰删除功能、租借功能实现图书采购、淘汰、租借功能。实现查询图书信息、采购和淘汰、库存、和租借情况实现统计图书的采购、…

JavaScript 基础 - 对象

对象 对象是一种无序的数据集合&#xff0c;可以详细的描述描述某个事物。 注意数组是有序的数据集合。它由属性和方法两部分构成。 语法 声明一个对象类型的变量与之前声明一个数值或字符串类型的变量没有本质上的区别。 <script>let 对象名 {属性名&#xff1a;属性值…

accelerate笔记:实验跟踪

Accelerate支持七种集成的跟踪器&#xff1a; TensorBoardWandBCometMLAimMLFlowClearMLDVCLive要使用这些跟踪器&#xff0c;可以通过在 Accelerator 类的 log_with 参数中传入所选类型来实现 from accelerate import Accelerator from accelerate.utils import LoggerTypeac…

高通开发系列 - ubuntu中的docker安装debian镜像

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 概述当前状态Ubuntu中安装dockerDebian镜像Debian容器中操作更改Debian源安装应用程序