刚体6D位姿估计方法综述

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

1 引言

刚体的6D位姿估计,是指估计相机坐标系下物体的6D位姿,即3D位置和3D姿态,此时原始物体本身的坐标系可以看作是世界坐标系,也即得到原始物体所在世界系到相机系的RT变换。刚体是指物体不会弯曲变形(手),也不存在活动关节(胳膊)。刚体的6D位姿估计的意义在于能够获得物体的精确姿态,支撑对于物体的精细操作,主要应用于机器人抓取领域和增强现实领域。在机器人抓取领域,主流的方法是估计已知物体的6D位姿,进而获得抓取器的目标6D抓取位姿。在增强现实领域,可以在物体上叠加虚拟元素,随着物体的移动而保持和物体相对位姿不变。随着SLAM等技术的成熟,机器人已经能够在空间中进行很好的定位,但如果想要和环境中的物体进行交互,物体的6D位姿估计是必需的技术,也会持续成为研究热点。本文来自论文https://arxiv.org/abs/1905.06658,涉及的论文也都可以在论文中找到,也包含于 GitHub,转载请注明出处,有错误请指正,欢迎大家多交流 ^ _ ^

2 回顾

刚体的6D位姿估计按照使用的输入数据,可以分为基于2D图像的方法和基于3D点云的方法。早期基于2D图像的6D位姿估计方法处理的是纹理丰富的物体,通过提取显著性特征点,构建表征性强的描述符获得匹配点对,使用PnP方法恢复物体的6D位姿。对于弱纹理或者无纹理物体,可以使用基于模板的方法,检索得到最相似的模板图像对应的6D位姿,也可以通过基于机器学习的投票的方法,学习得到最优的位姿。

随着2011年以kinect为代表的的廉价深度传感器的出现,在获取RGB图像的同时可以获得2.5D的Depth图像,进而可以辅助基于2D图像的方法。为了不受纹理影响,也可以只在3D空间操作,此时问题变成获取的单视角点云到已有完整物体点云的part-to-whole配准问题。如果物体几何细节丰富,可以提取显著性3D特征点,构建表征性强的描述符获得3D匹配点,使用最小二乘获得初始位姿;也可以使用随机采样点一致算法(Ransac)获得大量候选6D位姿,选择误差最小的位姿。

自2012年始,深度学习在2D视觉领域一骑绝尘,很自然的会将深度学习引入到物体6D位姿估计,而且是全方位的,无论是基于纯RGB图像、RGB和Depth图像、还是只基于3D点云,无论是寻找对应、寻找模板匹配、亦或是进行投票,都展现了极好的性能。

随着在实例级物体上的6D位姿估计趋于成熟,开始涌现了类别级物体6D位姿估计的方法,只要处理的物体在纹理和几何结构上近似,就可以学习到针对这一类物体的6D位姿估计方法,这将极大提升这项技术在机器人抓取或者AR领域的实用性。

本文分别介绍基于2D图像和基于3D点云的,基于对应(Correspondence-based)、模板(Template-based)和投票(Voting-based method)的物体6D位姿估计方法,综合如下表。

在这里插入图片描述
表1 刚体6D位姿估计方法综述

3 基于对应的方法

这类方法的是指寻找输入数据和已有物体的完整3D点云之间的对应,如果输入的是2DRGB图像,可找到2D像素点和3D物体点之间的对应,进而使用PnP算法计算;如果输入的是3D点云,则可以使用3D特征描述符寻找输入点云中3D点和已有完整物体3D点之间的对应,使用最小二乘法获得6D位姿;两类输入都可以使用局部配准方法如ICP进行优化。

在这里插入图片描述
图1 输入2D图像的基于对应的方法

基于2D图像的方法主要针对纹理丰富的物体,3D模型首先投影到N个角度,得到N张模板RGB图像,记录3D点和2D像素之间的对应;采集单个视角下RGB图像后,提取特征点如SIFT,FAST,SURF,ORB等,寻找和模板图像之间的对应(2D-2D);这样我们得到了3D点和当前观测RGB图像2D像素点的对应,使用Perspective-n-Point(PnP)算法即可恢复当前视角图像的位姿(类似基于特征点vSLAM中的重定位过程)。除了传统的特征描述子,也出现了基于深度学习的特征描述子例如Lift,Glampoints等。

除了显式寻找特征点之间的对应,也出现了很多基于深度学习的方法,隐式地预测3D点在2D图像上的投影,进而使用PnP算法估计6D位姿。物体上特征点的选择不是那么直接,因此很多方法预测物体最小3D包围盒的8个顶点在2D图像上的投影,例如BB8[2017-Bb8]和Yolo-6D[2018-Real-time]。一些方法构建局部3D控制点,预测3D控制点在2D图像上的投影点,例如 [2018-Robust 3d]。包围盒的投影点有可能落在图像外,一些其他方法预测2D图像上的物体区域对应的所有3D点,通常借助物体坐标系(3D空间每一个点对应一个颜色值),例如[2018-Segmentation-driven],Dpod[2019-Dpod],[2019-Single-stage 6d]。

在这里插入图片描述
图2 输入3D点云的基于对应的方法

基于3D点云的方法主要基于3D特征描述符寻找两片点云之间的对应。常用的3D局部特征描述符,如Spin Images,3D Shape Context,FPFH,CVFH,SHOT等都可以使用,一些基于深度学习的3D描述符例如3DMatch,3DFeat-Net和StickyPillars等也可以使用。

4 基于模板的方法

这类方法是从标记好6D位姿的模板中,选择最相似的模板,将其6D位姿作为当前物体的6D位姿。这类方法针对的是弱纹理或者无纹理图像,也即Correspondence-based methods很难处理的情况;在2D情况下,模板通常为已知3D模型在不同角度下的投影图像,每个投影图像都对应一个物体的6D位姿,此时问题变成了一个图像检索的问题。在3D情况下,模板是指目标物体的完整点云,需要寻找到,能够使输入的单视角点云对齐到完整点云的最佳6D位姿,此时问题转变为一个部分配准问题。

在这里插入图片描述
图3 输入2D图像的基于模板的方法

基于2D图像方法的代表方法是LineMode方法[2012-Model based],通过比较观测RGB图像和模板RGB图像的梯度信息,寻找到最相似模板图像,以该模板对应的位姿作为观测图像对应的位姿,该方法还可以结合深度图的法向量来提高精度;[2015-Detection and fine]也利用了模板匹配策略。除了显式寻找最相似的模板图像外,也有方法隐式地寻找最近似的模板,代表性方法是AAE[2018-Implicit 3d]。该方法中,上万模板图像通过编码形成码书,输入图像变成一个编码和码书进行比较寻找到最近似的模板。

一些方法直接从图像中恢复目标物体的6D位姿,这个过程可以看作从已训练的带标签的图像中,寻找和当前输入图像最近似的图像,并且输出其对应的6D位姿标签。这类方法直接寻找输入图像到位姿参数空间的映射,而且较易和目标检测框架结合。这类方法较多,代表性的有PoseCNN[2017-Posecnn],SSD6D[2017-Ssd-6d],Deep-6DPose[2018-Deep-6dpose],[2019-Recovering 6d],[2019-Cdpn],[2020-Robust 6d]等。另外一类方法能够针对一类物体构建隐式表示,这类方法也可以看作是基于模板的方法,代表性的有NOCS[2019-Normalized],[2019-Latentfusion],[2020-Learning canonical]等。

在这里插入图片描述
图4 输入3D点云的基于模板的方法

基于3D点云的方法主要为多种全局配准方法,如Super 4PCS[2014-Super 4PCS]和GO-ICP[2015-Go-icp]等,能够得到相对准确的6D位姿,结果可以使用ICP进行优化。一些深度学习进行两片点云配准的方法也涌现出来,包括PCRNet [2019-Pcrnet], DCP [2019-Deep closest point], PointNetLK [2019-Pointnetlk],[2019-One framework], TEASER [2020-Teaser]等。在进行配准时,可以将多个视角拼合使输入数据更完整,也可以将完整物体投影多个角度得到多个单片点云,从而辅助配准。也有一些方法,不需要输入两片点云,给定单个视角点云,能够直接回归6D位姿,例如[2020-6d object pose regression via supervised learning on point cloud]。

5 基于投票的方法

这类方法是指每个像素或者每个3D点通过投票,贡献于最终的6D位姿估计。依据是图像中的每一个局部都能够对整体的输出产生投票,对遮挡情况较为有效。基于对应的方法主要使用特征点,基于模板的方法主要使用整体,基于投票的方法每个基元都进行贡献。存在两类投票策略,分别为间接投票和直接投票。间接投票是指每个像素或者3D点投票得到预定义的特征点,能够得到2D-3D或者3D-3D的对应。直接投票是指每个像素或3D点直接投票得到一个确定的6D物体坐标系或者6D位姿。

在这里插入图片描述
图5 基于间接投票的方法

间接投票方法中,2D输入的代表性方法为PVNet[2018-PVNet],投票得到一系列3D点在2D图像上的投影点像素坐标。3D输入情况下,代表性方法有PVN3D[2019-PVN3D],6-PACK[2019-6-pack],YOLOff[2020-Yoloff]等,直接基于3D深度神经网络,投票得到3D特征点,进而使用最小二乘法得到相对位姿。其中6-PACK能够处理类别级物体的6D位姿估计。

在这里插入图片描述
图6 基于直接投票的方法

直接投票方法中,通过生成大量位姿预测,再进行选择和优化,可以得到最终的位姿。2D输入的代表性方法有[2014-Learning 6d object pose]和[2014-Latent-class],3D输入的代表性方法有PPF[2012-3d object detection],[2018-6d pose estimation]。基于深度学习的有DenseFusion[2019-Densefusion],分别对RGB图像和Depth对应3D点云使用3DCNN网络得到融合的pixel-wise dense feature,每一个feature都能预测一个姿态,最后通过投票得到最后的6D姿态。此外还有[2020-Lrf-net],[2020-6dof object pose]等。

6 方法对比与总结

基于点云配准的方法可以参照一些综述,这里主要比较基于RGB-D的方法,也即在数据集LineMode[2012-Model based],Occlusion Linemod[2014-Learning 6d object pose]和YCB-Video[2015-The YCB]数据集上进行评测的方法。评测度量主要有针对非对称物体的ADD度量,和针对对称物体的ADD-S度量。ADD大意是指按照估计RT和真值RT分别作用于点云后,所有点的平均距离偏差。ADD-S考虑到对称物体,寻找变换后,每一点到另一片点云的最近邻点,计算他们的平均距离偏差。评测时对LineMod数据集中的非对称物体就用ADD度量,对称物体就用ADD-S度量,如果度量结果小于模型直径的10%,则认为位姿估计正确。对于YCB-Video数据集,经常用的度量是ADD-S度量,而且阈值经常设置为2cm(面向抓取应用),而且ADD-S曲线下的面积(AUC)也被使用,其阈值设为10cm。

在LineMode和Occlusion Linemod,YCB-Video上的对比结果如下面两个表所示,可以看到当前方法都得到了非常高的精度,已经能够满足实例级别物体6D位姿估计的需要,具体采用哪一种方法可以依据当前可获得的数据,需要的算力,要求的精度等等来选择。常用的构建自己数据集的方法有LabelFusion[2018-Label Fusion]。后续方向会逐步扩展到泛化能力,也即类别级物体的6D位姿估计。

在这里插入图片描述
在这里插入图片描述

参考文献

2012-Model based training, detection and pose estimation of texture-less 3d objects in heavily cluttered scenes
2012-3d object detection and localization using multimodal point pair features
2014-Learning 6d object pose estimation using 3d object coordinate
2014-Latent-class hough forests for 3d object detection and pose estimation
2014-Super 4PCS: Fast Global Pointcloud Registration via Smart Indexing
2015-Detection and fine 3d pose estimation of texture-less objects in rgb-d images
2015-Go-icp: A globally optimal solution to 3d icp point-set registration
2015-The YCB object and model set: Towards common benchmarks for manipulation research
2017-Bb8: a scalable, accurate, robust to partial occlusion method for predicting the 3d poses of challenging objects without using depth
2017-Posecnn: A convolutional neural network for 6d object pose estimation in cluttered scenes
2017-Ssd-6d: Making rgb-based 3d detection and 6d pose estimation great again
2018-6d pose estimation using an improved method based on point pair features
2018-Deep-6dpose: recovering 6d object pose fromasinglergbimage
2018-Implicit 3d orientation learning for 6d object detection from rgb images
2018-Label Fusion: A Pipeline for Generating Ground Truth Labels for Real RGBD Data of Cluttered Scenes
2018-Learning to predict dense correspondences for 6d pose estimation
2018-PVNet Pixel-wise Voting Network for 6DoF Pose Estimation
2018-Real-time seamless single shot 6d object pose prediction
2018-Robust 3d object tracking from monocular images using stable parts
2018-Segmentation-driven 6d object pose estimation
2019-6-pack: Category-level 6d pose tracker with anchor-based keypoints
2019-Cdpn: Coordinates-based disentangled pose network for realtime rgb-based 6-dof object pose estimation
2019-Deep closest point: Learning representations for point cloud registration
2019-Densefusion: 6d object pose estimation by iterative dense fusion
2019-Dpod: 6d pose object detector and refiner
2019-Latentfusion: End-to-end differentiable reconstruction and rendering for unseen object pose estimation
2019-Normalized object coordinate space for category-level 6d object pose and size estimation
2019-One framework to register them all: Pointnet encoding for point cloud alignment
2019-Pcrnet: Point cloud registration network using pointnet encoding
2019-Pointnetlk: Robust & efficient point cloud registration using pointnet
2019-PVN3D: A Deep Point-wise 3D Keypoints Voting Network for 6DoF Pose Estimation
2019-Recovering 6d object pose from rgb indoor image based on two-stage detection network with multi-task loss
2019-Single-stage 6d object pose estimation
2020-6d object pose regression via supervised learning on point clouds
2020-6dof object pose estimation via differentiable proxy voting loss
2020-Learning canonical shape space for category-level 6d object pose and size estimation
2020-Lrf-net: Learning local reference frames for 3d local shape description and matching
2020-Robust 6d object pose estimation by learning rgb-d features
2020-Teaser: Fast and certifiable point cloud registration
2020-Yoloff: You only learn offsets for robust 6dof object pose estimation

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

6D位姿估计学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、基本知识6D位姿相机内参 二、6D位姿估计方法1.基于对应点的方法2.基于模板3.基于投票评价标准小结 一、基本知识 6D位姿 参见文章:物体6D位姿的含…

YOLO6D

同时检测RGB图像和预测其6D位姿,不需要多阶段或者检查多重假设 只需要3D bounding box作为物体形状加入训练,不需要详细的3d模型 CNN卷积网络架构 预测与感兴趣的对象的三维模型相关联的虚拟三维控制点(9个点,8个角点&#xff0c…

6D模型:超越PDCA

敏捷教练的核心能力之一是策略思考。 敏捷教练核心能力之:策略思考 敏捷教练的另一项核心能力是沟通与影响力。 变革需跨越的鸿沟:TOC六层抗拒(TOC R6) 策略思考背后有一个6D模型。 6D模型概览 Six-Discipline Model: Overview 6D…

6D位姿估计的理解及BOP数据集参数说明

6D位姿估计的理解及BOP数据集参数说明 一、6D位姿估计 姿态估计在百度上搜会出现“姿态估计问题就是确定某一三维目标物体的方位指向问题”的解释,但是具体来讲确定某一三维目标物体的方位指向问题到底是什么意思呢? 首先,6D表示6个自由度&…

物体6D位姿的含义

本文同步于微信公众号:3D视觉前沿,欢迎大家关注。 在一些有关物体6D位姿估计或者机器人抓取的论文中,我们常会听到一个词:物体6D位姿估计 (6D object pose estimation),那什么是物体的6D位姿呢?它和SLAM中…

春秋云镜:CVE-2019-9042(Sitemagic CMS v4.4 任意文件上传漏洞)

一、题目 靶标介绍: Sitemagic CMS v4.4 index.php?SMExtSMFiles 存在任意文件上传漏洞,攻击者可上传恶意代码执行系统命令。 进入题目: admin/admin /index.php?SMExtSMFiles&SMTemplateTypeBasic&SMExecModeDedicated&SMFil…

midi键盘接电脑实现电子琴功能

将一台midi键盘接到电脑上,变成一台电子琴,似乎是一个很简单的事情。找一个音乐编辑类软件,可以接受midi键盘的输入就可以了。比如 freeepiano 就可以接midi键盘。但是这样实现的其实是电钢琴,而不是电子琴。 为什么?…

简述docker的网络模式

Docker 提供了多种网络模式,用于控制容器之间以及容器与主机之间的网络通信。以下是 Docker 的一些常见网络模式 briage模式: docker容器启动时默认就是该模式,在该模式下,docker容器会连接到一个名为docker0的虚拟以太网桥上,通…

PG Music Band-in-a-Box 2021 + RealBand WiN 智能伴奏软件安装升级包

Band-in-a-Box 2021 是一款屡获殊荣的自动伴奏软件,非常易于使用!只需使用标准和弦符号(例如 C、Fm7 或 C13b9)输入任何歌曲的和弦,选择您想要的风格,剩下的就交给 Band-in-a-Box 2021 。Band-in-a-Box 202…

Android 11 Display亮灭屏

系统休眠唤醒的时候会涉及到亮灭屏,下面分析下系统(高通8155平台)Display亮灭屏流程 1. 点亮屏幕 点亮屏幕入口在framework/base/下面LightsService.java,然后通过调用SurfaceControl.java ,最终调用到framework/native下面的Sur…

lgg7无需9008,最简单无脑root

LGg7 root方法(解bl锁后通用) 前提,已经解了bl锁(这个不难,LG的845机型解锁方法都一样。除了g7的t版,这个要换u硬解) 工具:已破解的LG up(LG官方的线刷工具)&#xff0c…

SAP ABAP实现类似于ME23N/MIGO的折叠屏幕开发

本文用于说明折叠屏幕的开发实现方式,类似于标准前台ME23N或者MIGO类似的效果,最终demo程序实现效果如下。 实际上屏幕折叠并不是真正的控件,而是根据想要的折叠或者展开效果,来选择不同的子屏幕进行展现。 比如下图点击折叠抬头…

小新pad TB-J606按键无法进入刷机模式,9008端口无法识别,可尝试如下主板短接操作,操作步骤

小新pad TB-J606按键无法进入刷机模式,9008端口无法识别,可尝试如下主板短接操作,操作步骤 1、断开电池连接线 2、镊子短接图中两点 3、安装电池 4、连接数据线,等待9008端口识别 5、移除镊子,进行刷机 具体操作步骤…

s6 android 6.0,三星Android 6.0更新升级详细名单:只有国行S6 Edge(G9250)

此前,外媒曾泄露了一份三星机型的Android 6.0首批升级清单,去年的旗舰机Galaxy S5竟不在其中,使得消费者对手机第一大厂很失望。其中,三星目前的旗舰智能手机Galaxy S6, Galaxy S6 edge, Galaxy Note5和Galaxy S6 edge将升级到And…

新能源汽车技术的最新进展和未来趋势

文章目录 电池技术的进步智能驾驶与自动驾驶技术充电基础设施建设新能源汽车共享和智能交通未来趋势展望结论 🎉欢迎来到AIGC人工智能专栏~探索新能源汽车技术的最新进展和未来趋势 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客…

正则表达式一小时学完

闯关式学习Regex 正则表达式,我感觉挺不错的,记录一下。 遇到不会的题,可以评论交流。 真的很不错 链接 Regex Learn - Step by step, from zero to advanced.

如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale

MyScale 是一款完全托管于亚马逊云科技、支持 SQL 的高效向量数据库。MyScale 的优势在于,它在提供与专用向量数据库相匹敌甚至优于的性能的同时,还支持完整的 SQL 语法。在这篇文章中,我们将阐述 MyScale 是如何借助亚马逊云科技的基础设施&…

Supervisor配置和使用

Supervisor配置和使用 一、使用背景二、工具简介三、安装四、配置文件1. 位置2. 步骤 五、服务启动六、supervisorctl客户端管理七、常用操作指令八、示例九、配置项说明supervisored.conf配置项说明进程任务配置项说明 十、web页面监控 一、使用背景 目前在公司搭建了一套基于…

Mac最佳屏幕录像机:FoneLab Screen Recorder

FoneLab Screen Recorder是一款功能强大的屏幕录像机软件,它允许您在 Mac 上捕获视频、音频、在线教程等,您可以轻松自定义大小、编辑视频或音频等。如果您想录制会议、电影、电话、教程、电视节目、歌曲、快照或其他内容,FoneLab Screen Rec…

MRMC推机器人摄像机Polycam,可自动跟拍运动员

这款名为Polycam的电动相机机器人支持使用图像识别和人工智能技术来追踪运动员的动作,完全不需要人工摄像师的操作。 近日,据外媒报道,MRMC推出一款名为Polycam的电动相机机器人,其支持使用图像识别和人工智能技术来追踪运动员的…