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

北大王鹤团队

王鹤,北京大学前沿计算研究中心助理教授,本科毕业于清华大学,博士毕业于斯坦福大学,师从美国三院院士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++

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么控制员工电脑的文件外发,六个控制文件外发的小窍门你必须了解

控制员工电脑的文件外发是企业信息安全管理中的重要环节,旨在防止敏感数据泄露、保护知识产权和维护商业秘密。 企业可以通过多种技术和管理措施相结合的方式来达到这一目的,确保既有效控制文件外发风险,又不影响正常的业务运作和员工工作效…

Java设计模式——建造者模式

目录 前言 一、什么是建造者模式 二、建造者模式的核心角色 三、建造者模式的优点 四、具体实现 1、抽象建造者类 2、具体建造者类 3、产品类 4、指挥者类 5、客户端代码 总结 前言 在软件工程中,我们经常遇到需要创建复杂对象的情况。这些对象可能由多个…

MongoDB CRUD操作:地理位置查询中的GeoJSON对象

MongoDB CRUD操作:地理位置查询中的GeoJSON对象 文章目录 MongoDB CRUD操作:地理位置查询中的GeoJSON对象Point类型LineString类型Polygon(多边形)类型单环多边形多环多边形 MultiPoint类型MultiLineString类型MultiPolygon类型Ge…

[FreeRTOS 基础知识] 堆

文章目录 堆的概念使用C语言实现 堆堆空间解析 堆的概念 所谓的堆就是一块空间的内存,可以来管理这块内存。从这块内存中取出一部分然后再释放回去。 使用C语言实现 堆 char heap_buf[1024]; // 定义一个堆空间 int pos0; // 当前…

牛客网刷题 | BC116 [NOIP2013]记数问题

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 试计算在区间1 到n…

C++的vector使用优化

我们在上一章说了如何使用这个vector动态数组,这章我们说说如何更好的使用它以及它是如何工作的。当你创建一个vector,然后使用push_back添加元素,当当前的vector的内存不够时,会从内存中的旧位置复制到内存中的新位置&#xff0c…

pytorch+YOLOv8-1

1.工具开发 2.idea配置pytorch环境 默认安装新版本torch pip install torch 3.pytorch验证 4. print(torch.cuda.is_available()) 输出结果为 False 说明我只能用cpu

【动手学深度学习】softmax回归的简洁实现详情

目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 softmax回归的简洁实现 🌍3.2 基础练习 🌊4. 研究体会 🌊1. 研究目的 理解softmax回归的原理和基本实现方式;学习如何…

prometheus+alertmanager+webhook钉钉机器人告警

版本:centos7.9 python3.9.5 alertmanager0.25.0 prometheus2.46.0 安装alertmanager prometheus 配置webhook # 解压: tar -xvf alertmanager-0.25.0.linux-amd64.tar.gz tar -xvf prometheus-2.46.0.linux-amd64.tar.gz mv alertmanager-0.25.0.linu…

分享毕业论文要怎么写以及写论文工具推荐

毕业论文的写作是一个系统且需要深度研究的过程。以下将分步介绍毕业论文的写作方法,并推荐一些实用的写作工具。 毕业论文写作方法 选题: 确定研究方向和目标,选择具体且有一定研究价值的课题。建议选择应用型题目,结合理论和实…

【HarmonyOS】鸿蒙系统中应用权限等级介绍、定义、申请授权讲解

【HarmonyOS】鸿蒙系统中应用权限等级介绍、定义、申请授权讲解 针对权限等级,相对于主体来说,会有不同的细分概念。 一、权限APL等级: 首先在鸿蒙系统中,对于权限本身,分为三个等级:normal,s…

【JAVA WEB实用与优化技巧】如何使用本地.bat/.sh脚本快速将服务发布到测试环境?

文章目录 普通方式的springboot 使用docker打包发布【手动构建镜像模式】1. maven 打包可运行jar包2.手动打包镜像3.运行容器 全自动化本地命令发布到远程服务的方式配置ssh信任公钥获取公钥git 获取公钥方式: 桌面右键 -> open git gui here -> help -> show SSH key…

【数据库】MySQL表的操作

目录 一.创建表 二.查看表 三.修改表 四.删除表 一.创建表 基本语法: CREATE TABLE table_name(field1 datatype,field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 储存引擎field表示列名 datatype表示列的类型 charatcer se…

初识C++ · 模拟实现stack和Queue

目录 前言: 1 Stack 1.1 双端队列 2 Queue 前言: 经历了list三个自定义类型的洗礼,来个简单的放松放松,即栈和队列: 文档记录的,栈和队列是一种容器适配器,它们不属于stl,但是它…

什么是云渲染?怎么使用呢?手把手教你

云渲染是一种利用云计算技术进行图形渲染的服务。它允许用户将渲染任务提交到云端服务器,由远程的计算机集群资源进行渲染操作,完成后再将渲染结果返回给用户。 云渲染技术的优势在于它可以提高渲染效率和质量,支持多任务同时加速渲染&#…

一个被无数人忽视的好项目

这个项目相信大家都在各大短视频平台见过,之前被我忽视了,当时的我自以为它是一时的热度,很快就会凉凉。但现在却生生被打脸了,这其实是非常好变现且流量也很大的一个好项目。 到底是什么好项目呢,没错,就…

[MYSQL]合作过至少三次的演员和导演

ActorDirector 表: ---------------------- | Column Name | Type | ---------------------- | actor_id | int | | director_id | int | | timestamp | int | ---------------------- timestamp 是这张表的主键(具有唯一值的列).编写解决方案…

黑马程序员——Spring框架——day04——SpringMVC基础

目录: SpringMVC简介 背景SpringMVC概述技术体系定位快速入门 目的需求步骤代码实操测试工具 PostMan简介PostMan安装PostMan使用知识点总结请求与参数处理 请求路径 环境准备问题分析解决方式请求方式 环境准备技术分析参数 基本数据类型POJO嵌套POJO数组集合&…

基于卷积神经网络(CNN)的深度迁移学习在声发射(AE)监测螺栓连接状况的应用

螺栓结构在工业中用于组装部件,它们在多种机械系统中扮演着关键角色。确保这些连接结构的健康状态对于航空航天、汽车和建筑等各个行业至关重要,因为螺栓连接的故障可能导致重大的安全风险、经济损失、性能下降和监管合规问题。 在早期阶段检测到螺栓松动…

四、利用启发式算法进行特定数据集的残差网络结构搜索【框架+源码】

背景:工作之后干的事情跟算法关联甚少,整理下读书期间的负责和参与的work,再熟悉学习下。 边熟悉边整理喽~ CV Tradictional workCV AI based work机械臂视觉抓取项目机器学习全流程 Pipeline训练平台OCR生产线喷码识别三维重建(SfM)ROS机器人…