本文同步于微信公众号:3D视觉前沿,欢迎大家关注。

引言

常见的目标检测方法能够获得物体的2D包围盒(Bounding Box),然而这对于机器人抓取任务是不够的。机器人抓取需要知道物体的准确朝向,进而确定抓取点。针对纹理丰富的物体,可以使用SIFT等特征点与模板图像匹配进行定位;对于弱纹理或无纹理物体,可以使用稳定的梯度或者深度图法向进行匹配,进而恢复位姿;一些基于parts进行投票的方法也取得了很好的效果;然而,这些方法对于光照和杂乱场景效果很不好;因此,在实际应用中,仍然主要采用基于Depth图像的方法,先进行全局配准,再基于ICP等方法细配准。

配准方法介绍

当两片点云已有一个较好的初始姿态(close alignment)时,可以不使用全局配准,只使用局部配准(Local Registration)方法refine姿态,局部配准方法包括ICP(point-to-point,point-to-plane),Sparse-ICP,以及其他变种;

当两片点云处于任意姿态(in arbitrary initial poses),需要使用全局配准(Global Registration)方法;最早可以采用RANSAC方法随机选择3对点计算变换T,但复杂度最高O(n3);其后,一类方法(4PCS等)使用各种优化方法降低RANSAC的复杂度;一类方法根据点云的局部特征描述符(SpinImage,FPFH,SHOT等)寻找点与点之间的对应得到T;全局配准方法可以使用局部配准方法优化结果;

最新论文中采用方法

在AmazonPickChallenge2016冠军的论文《2016-Team Delft’s》中,他们使用了Super 4PCS《2014-Super 4PCS》,这是进行全局配准中较好的方法,与ICP,Sparse-ICP,4PCS等方法相比,在精度、速度和鲁棒性上都有极大提升;4PCS使用共面4点集合表示一个候选匹配,Super 4PCS改进了4PCS,首先解决了初始配对选择问题,并且使用了一种索引数据结构有效去除了冗余配对,速度得到了极大提升;

在2016年AmazonPickChallenge的三四名论文《2017-Multi-view Self-supervised》中使用的配准方法为ICP,不过他们融合了多个细节:

  • 多视角采集:由于相机和触手紧密连接,单个视角下触手的可操作范围有限,因此通过借助机械臂精确姿态融合多个视角下的数据,可以得到相对全局的画面,增大了可操作范围;

  • 去除噪声:噪声是由于传感器误差,或者由于分割引入;首先,去除传感器噪声带来的空间离群点,即去除所有距k最近邻点距离大于一定值的点;其次,消除分割带来的噪声(主要在边界上),去除距其他已分割物体较近的点;最后,根据PCA计算出主轴,得到最大连续点集合,去除与该集合不相交的点;

  • 去除重复物体:已知具有N个物体实例,对于分割至同一label下的点云,进行k-means聚类N簇,每一簇单独处理即可;

  • 对数据进行均匀采样:垂直于传感器光轴的方向扫描的点数目多,平行的点少,这对于ICP有极大影响,因此,可以对3D空间进行均匀采样,使3D点均匀分布;

  • 位姿初始化:ICP对于初始位姿敏感,PCA能够给出初始物体朝向的近似;同样可以使用点云的重心作为物体的几何重心,但是,由于观测的点云只是部分数据,这两个中心具有偏差。因此,他们将初始位置沿光轴方向平移半个物体包围盒长度,这种操作实测后非常有效;

  • 由粗到细ICP:设置ICP中的内点阈值,首先设置90%的内点阈值,能够将完整模型向部分视角的正确点云部分更接近;其次设置较低的内点阈值45%,忽略掉点云的噪声部分,得到一个更精确的阈值;

Seg-ICP[2017-SegICP] 提出了一种Multi-Hypothesis Object Pose Estimation方法,能够实时精确估计物体的姿态;初始位姿获取部分能够寻找到最佳的对齐位置以及模型的裁切部分。首先,通过在多个方位和倾斜角渲染物体的可见部分,只保留前面得到多个候选的裁切点云;其次,每一个候选的裁切点云在场景物体部分点云的中值点进行初始化,这样能有效避免ICP陷入错误的局部最优;最后,提出一个model-to-scene对齐度量作用于所有候选裁切点云上,选择具有最高对齐评分的裁切点云作为最终结果;

2017年Princeton团队又提出了基于深度学习特征描述符的方法[2017-3DMatch],该特征描述符吊打了之前手动设计的描述符,在APC配准任务上,比《2017-Multi-view Self-supervised》效果又得到了提升;文中也提到了基于SpinImages、FPFH的方法与《2017-Multi-view Self-supervised》效果接近;

总结

不使用深度学习的方法中,可测试方法包括Super 4PCS,《2017-Multi-view Self-supervised》中ICP方法,SegICP中方法,SpinImages,FPFH等。使用深度学习的方法可以采用[2017-3DMatch]方法。

参考文献

2014-Super 4PCS Fast Global Pointcloud Registration via Smart Indexing

2016-Team Delft’s Robot Winner of the Amazon Picking Challenge 2016

2017-SegICP Integrated Deep Semantic Segmentation and Pose Estimation

2017-Multi-view Self-supervised Deep Learning for 6D Pose Estimation in the Amazon Picking Challenge

2017-3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions

机器人抓取中物体3D定位算法介绍相关推荐

  1. 机器人识别抓取笔记(基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计:综述)

    Real-Time Deep Learning Approach to Visual Servo Control and Grasp Detection for Autonomous Robotic ...

  2. 【机器人识别抓取】基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计

    目录 导读 1 引言 1.1 抓取综合方法 1.2 基于视觉的机器人抓取系统 2 抓取检测.视觉伺服和动态抓取 2.1抓取检测 2.2 视觉伺服控制 2.3 动态抓取 3 本文实现的方法 3.1 网络 ...

  3. 鲁棒,抗遮挡的对柔性手抓取的物体6D姿态估计

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:Robust, Occlusion-aware Pose Estimation for Obje ...

  4. 机器人抓取领域相关数据集

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 针对机器人抓取中的检测.分割.姿态识别.抓取点检测.路径规划等任务,总结了对应的数据集,在这里分 ...

  5. 物体抓取位姿估計算法綜述_3D视觉技术在机器人抓取作业中的应用

    摘要本文主要研究3D视觉技术在机器人抓取作业中的应用,总 结了3D视觉技术在识别.定位物体时面临的挑战,给出了抓取作业机器 人3D视觉系统的设计方法,归纳了现有的3D表面成像方法和视觉处理算 法,最后 ...

  6. 基于视觉的机器人抓取:从物体定位、物体姿态估计到平行抓取器抓取估计

    编者荐语 抓取综合方法是机器人抓取问题的核心,本文从抓取检测.视觉伺服和动态抓取等角度进行讨论,提出了多种抓取方法. 转载自丨3D视觉开发者社区 目 录 / contents 1. 引言 1.1  抓 ...

  7. open source 3d map_3D视觉技术在机器人抓取作业中的应用实例

    原标题:3D视觉技术在机器人抓取作业中的应用实例 关键词:3D视觉:工业机器人:抓取 1 引言 3D视觉技术作为新兴的技术领域还存在很多亟待解决的问题,但2D视觉已不能满足空间抓取的应用要求.与2D视 ...

  8. 【科普】3D视觉技术在机器人抓取作业中的应用

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 摘要 本文主要研究3D视觉技术在机器人抓取作业中的应用,总 结了3 ...

  9. 物体抓取位姿估計算法綜述_NO. 1 物体位姿估计 机器人抓取

    开源算法 [MIT & Princeton 做的物体抓取算法] 基本思想:基于深度学习物体语义分割 -> 基于事先建好的模型进行ICP匹配获得位姿 特色:利用自监督学习减少数据的依赖性 ...

  10. 杜国光博士,基于视觉的机器人抓取--物体定位,位姿估计到抓取估计课堂笔记

    基于视觉的机器人抓取--物体定位,位姿估计到抓取估计课堂笔记 杜国光博士在智东西公开课上讲了<基于视觉的机器人抓取--物体定位,位姿估计到抓取估计>的精彩课程 满满的干货,记下来,后面慢慢 ...

最新文章

  1. 【Docker】Docker的三大核心组件
  2. c语言中 d的用法,C语言中的#define用法总结
  3. 文凭-决定的人生成败?下
  4. 某数加密的流程与原理简析
  5. 【渝粤教育】电大中专药剂学基础知识_1作业 题库
  6. Linux进程状态解析之R、S、D、T、Z
  7. mysql5.7免安版配置_mysql5.7免安装版配置
  8. StrokePlus常用脚本
  9. cron linux_如何在Linux中使用cron
  10. Redis 2.8.9源码 - Redis中的字符串实现 sds
  11. 珠海 第十届亚洲机器人锦标赛_滨和中学“VEX”团队斩获粤港澳机器人大赛多个大奖!...
  12. 从数据平台到报表开发,我靠这个零代码报表工具,转行后月薪3W
  13. Android设为系统默认的短信应用
  14. REASON: Ambari Server java process has stopped. Please check the logs for more information.
  15. proteus仿真arduino控制舵机
  16. C++与C#相比,哪个更适合开发大型游戏?
  17. 联想YOGA 3笔记本如何U盘启动
  18. 字符流的相关概念和相关方法的使用、IO异常的处理以及Properties属性集
  19. Blaze三连:BlazePose、BlazePalm、BlazeFace
  20. Node.js 的安装(电脑win7支持的版本)

热门文章

  1. dnf新起号怎么才不出人脸_教你如何快速养成一个新号 新角色速成教学
  2. 【围棋棋盘绘制——html实现】
  3. win10设置透明任务栏
  4. 深度学习与PyTorch入门实战教程
  5. TS:虚机ipv6网络不通问题-2022.5.16(已解决-博客分享)
  6. table trtd tbody
  7. Java 2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入double型摄氏温度,然后将其转换为华氏温度,并显示结果。
  8. sqlite3 API详解
  9. Java 强制删除文件或目录
  10. windows强制删除文件命令