点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者丨泡泡机器人

来源丨泡泡机器人SLAM

标题:CaTGrasp: Learning Category-Level Task-Relevant Grasping in Clutter from Simulation

作者: Bowen Wen, Wenzhao Lian, Kostas Bekris, Stefan Schaal

机构:Intrinsic, Rutgers University

来源:ICRA 2022

编译 : Billy

审核:金阳

摘要

大家好,今天为大家带来的文章是 CaTGrasp: Learning Category-Level Task-Relevant Grasping in Clutter from Simulation

与任务相关的抓取对于机器人操纵至关重要,其中, 下游的操作任务限制了一组有效的抓取。然而,学习如何执行这项任务具有挑战性,因为与任务相关的抓取标签很难定义和注释。对于建模的正确表示或用于执行任务相关抓取的现成工具也没有达成共识。这项工作提出了一个框架来学习针对物体的任务相关抓取,而不需要耗时的现实世界数据收集或人工标注。为了实现这一点,整个框架仅在模拟中进行训练,包括具有合成标签生成的监督训练和基于自我监督的机械爪和物体的交互。在这个框架的背景下,本文提出了一种新颖的、以对象为中心的类级别的统一表示方法,它允许在对象实例之间建立稠密的点对点匹配,并将任务相关的抓取经验转移到新的测试实例上。我们在模拟和现实世界的两种设置下对杂乱环境下的工业对象的任务相关抓取进行了大量的实验,证明了所提出框架的有效性。代码和数据已发布。

Arxiv: https://arxiv.org/abs/2109.09163

代码和数据集: https://github.com/wenbowen123/catgrasp

视频: https://www.youtube.com/watch?v=rAX-rFSKAto

背景与贡献

本文有以下贡献:

1. 一种学习类级别、任务相关的新框架, 能根绝下游的操作任务,从密集杂乱的物体堆中选择最佳抓取。据作者所知,这是第一个能针对密集杂乱的工业物体, 无需人工标注而学习任务相关的抓取姿态的工作

2. 与以往的学习任务相关的稀疏关键点操作的方法不同,此工作在 3D空间对物体点云中逐点进行任务相关性的建模。为此,在模拟器中手和物体进行自监督的交互. 其中对接触点的交互经验用热力图做表征。这种稠密的3D表示避免了人工标注3D关键点的成本

算法流程

1.问题陈述

我们考虑的是常见的工业场景: 相同类型的未曾见过的新型物体被收集到一个储物箱中,形成一个密集的杂乱堆。目标是计算与下游任务相关的6D 抓取姿势, 使得不仅能稳定抓取, 同时抓取后与下游的放置任务相容。下面列出了对框架的输入:

1) 属于同一类别的3D 模型集用于离线训练。该模型集不包括任何 测试阶段的新颖物体.

2) 对应于该类别的下游放置任务(如将螺母放到螺钉上),包括匹配的容器物体和对任务成功的评判标准

3) 在测试时, 深度相机得到的深度图像

2. 方法

离线阶段,给定同一类别的训练3D模型集,合成的数据集在模拟器中生成, 并用于训练NUNOCS Net, Grasping Q Net和3D U-Net。然后, 在模拟器中的自我交互试错提供了机械爪和物体的接触经验。该经验总结为任务相关性的热力图表征。统一的NUNOCS表征使得同一类的各个物体任务相关知识整合到一起。在现测试阶段,类级别的知识通过NUNOCS得到的稠密匹配和9D类级别姿态从统一的NUNOCS空间转换到新颖的测试物体点云空间,实现带语义的任务相关抓取

2.1 统一类级别的NUNOCS表征

受NOCS的启发,本文提出提出了Non-Uniform Normalized

Object Coordinate Space (NUNOCS) 表示。给定一个物体模型,所有的点沿着每个维度都归一化,驻留在一个单位立方体中

这些训练集的3D模型除了用于虚拟训练集的合成,还用于创建类别级的代表模板模型。为此每个模型M转换到NUNOCS空间,同时我们把距离所有其他模型的Chamfer distance最小的物体选择为该类级别的模板,用于后续整合各个训练集物体的任务相关性的热力图和存储抓取姿态分部的密码本。

给定点云输入,NUNOCS Net旨在预测点云在NUNOCS空间中的位置,该网络基于pointnet设计。训练损失函数采用softmax cross entropy考虑到分类问题减少了求解的空间维度。基于观测到的点云和预测的NUNOCS空间的点云,两者的转换可以通过RANSAC求解得到类级别的6D转换和3D的维度变换。与此前提出的NOCS求解的7D姿态(6D转换和1D的维度变换)相比,本文提出的NUNOCS允许各个维度独立进行尺度变换,从而在规范化空间中得到更准确的稠密点对匹配,如下图所示,颜色近似度表示点对匹配的相似度。

2.2 学习稳定抓取

离线训练时,抓取姿势从每个对象实例的点云周围根据均匀分布采样,从而保证全面覆盖物体周围可行的抓取空间。每个抓取姿态在模拟器中进行评估,为了得到连续的概率分布P(G),我们对每个抓起姿态进行50次随机的微小扰动,计数成功率。直觉的理解是一个抓取姿态的稳定性和鲁棒性应该足以承受微小的噪声扰动。所有抓取姿态样本生成后用于两个用途:

1)给定之前得到的每个训练3D模型到规范化NUNOCS空间的转换,他们的抓取姿态分布得到整合并集成到该类的代表模板。测试时,一旦获得新颖物体到NUNOCS空间的转换,我们可以将继承的抓取姿态分布迁移到新颖物体空间,从而得到更全面的抓取姿态采样,甚至包括那些无法从单视角相机观测到的面(无法从点云在线采样)。

2)抓取姿态和模拟器中得到的P(G)分别作为输入和标签用于训练Grasping Q Net。

2.3 自监督学习任务相关性抓取区域

和以往需要人工收集真实世界数据并进行人工标注不同,我们能通过在模拟器中自学得到任务相关性。给定一个抓取姿态,我们找到机械爪和物体的接触点,并在模拟抓取以及下游操作任务,进而更新该区域接触点的统计信息。当进行足够多的抓取姿态模拟后,整个过程中机械爪和物体的接触经验积累得到下面的热力图,表征任务相关性。

主要结果

本节旨在通过模拟实验和真实世界实验回答3个问题:i)所提出的NUNOCS规范化表达是否具有足够的表达性和可靠性足以泛化到一个类别中的各种对象实例?ii) 仅在模拟器中训练并直接推广到真实世界时,求解任务相关的抓取表现如何?iii) 提出的类别级先验知识学习是否也有利于抓取的稳定?我们提出的方法对比了以下基线方法:

1)PointNetGPD:一个 state-of-the-art method 鲁棒抓取方法

2)Ours-NA:我们提出的方法变种,不考虑任务相关性而只在乎抓取稳定性

3)Ours-NOCS:我们提出的方法变种,用NOCS作为类级别的统一空间表达

相关资源

代码和数据集: 

https://github.com/wenbowen123/catgrasp

视频:

https://www.youtube.com/watch?v=rAX-rFSKAto

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近5000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

ICRA 2022 | CaTGrasp: 从模拟器中学习类别级的任务相关的抓取姿态相关推荐

  1. 小猪的Python学习之旅 —— 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中

    小猪的Python学习之旅 -- 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中 标签:Python 一句话概括本文: 利用Excel存储爬到的抓取豆瓣音乐Top 250数据信息,还有 ...

  2. python获取子进程返回值_Python 从subprocess运行的子进程中实时获取输出的例子 Python如何抓取程序的输出?...

    关于python中用subprocess调用exe子进程的问题不懂我的人有什么资格对我指指点点,不了解我的人凭什么对我说三道四的. python杀死子进程后继续执行后面程序 程序a(python写成) ...

  3. ECCV 2022 | 从单目RGB图像中进行类别级6D物体姿态估计的物体级深度重构

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 题目:Object Level Depth Reconstruction for Category Leve ...

  4. ECCV22 | 从单目RGB图像中进行类别级6D物体姿态估计的物体级深度重构

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 题目:Object Level Depth Reconstructi ...

  5. Python学习笔记——爬虫原理与Requests数据抓取

    目录 为什么要做网络爬虫? 通用爬虫和聚焦爬虫 HTTP和HTTPS 客户端HTTP请求 请求方法 HTTP请求主要分为Get和Post两种方法 常用的请求报头 1. Host (主机和端口号) 2. ...

  6. python网络爬虫学习笔记(6)动态网页抓取(一)知识

    文章目录 网络爬虫学习笔记(2) 1 资料 2 笔记 2-1 动态抓取概述 2-2 通过浏览器审查元素解析真实网页地址 2-3 网页URL地址的规律 2-4 json库 2-5 通过Selenium模 ...

  7. Node.js学习之网络爬虫(使用cheerio抓取网页数据)

    准备工作 1.安装node.js开发环境:http://www.runoob.com/nodejs/nodejs-install-setup.html 2.了解cheerio库 英文:https:// ...

  8. Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?

    一.操作步骤 今天教大家抓取搜狐的新闻文章,重点讲解怎么抓取到完整的正文内容,怎么批量抓取到更多新闻,方法是通用的,大家可以应用到其他新闻网站的抓取,总体操作步骤如下: 二.案例+操作步骤 采集规则: ...

  9. python网络爬虫学习笔记(7)动态网页抓取(二)实践

    文章目录 1 资料 2 笔记 2-1 准备 2-1-1. 网址 2-2-2 文本位置 2-2 代码 2-2-1 原型 2-2-2 ver0.1 1 资料 <Python网络爬虫从入门到实践> ...

最新文章

  1. 区块链兼容以太坊智能合约
  2. SANS:2012年度日志管理调查报告
  3. 周五:IPC连接及远程执行
  4. hashmap扩容 面试_HashMap面试,看完这一篇就够了(上)
  5. Lecture 2: Preliminary Review--Mind Map
  6. JAVA内存模型及垃圾回收自我总结
  7. 浙大PAT CCCC L3-014 周游世界 ( 最短路变形 )
  8. linux rm 命令删除文件恢复_rm删除文件空间就释放了吗?天真!
  9. 如何在正则表达式中使用变量?
  10. 逆向微信-分析学习微信是如何快速构建静态TableView界面的
  11. 2009年十大Java技术解决方案
  12. 【Redis总结-基础入门】
  13. Spring实战——ByteArrayResource
  14. Term40:若一个类是函数子(functor),则应使它可配接(adaptable)
  15. 【漏洞利用】信息泄露漏洞详解
  16. 软件测试选哪个技术方向分支_硬件测试转软件测试,应该选哪个方向
  17. C++笔记 char
  18. 第03课:如何学习“机器学习”
  19. 十三个大数据学习网站
  20. 模拟银行存款java,模拟银行存取款业务

热门文章

  1. DATA GUARD架构(一)
  2. RxJava初入学习(一)之Gifts-for-designers
  3. 顶尖CSS Web设计师Andy Clarke访谈
  4. Spring testcontext
  5. 一起学DNS系列(十)图、例详解DNS递归和迭代查询原理及过程 (1)
  6. 敏感数据,“一键脱敏”,Sharding Sphere 完美搞定
  7. 搞懂Kafka的这个问题,你离大厂就不远了!
  8. 聊聊算法在面试中的地位
  9. 作为程序员的你第一套房子是多少岁?多少万?
  10. 美团外卖持续交付的前世今生