PVN3D:最详细的来了,对PVN3D的总结与理解

摘要:从单个RGBD图像得到对象的6DoF对象姿态估计。使用了一种深度霍夫投票网络,以检测对象的3D关键点,然后以最小二乘法拟合的方式估计6D姿态参数。

6DoF:即物体在空间中具有6个自由度,3D平移和3D旋转。6DoF姿态就是说,已知物体在世界坐标系的坐标,求物体在相机坐标系的姿态。即物体从世界系到相机系所需的3D旋转和3D平移。

1.介绍
由于光线,传感器噪声,场景的遮挡和物体的截断等原因,6DoF估计已被证明是一个极具挑战性的问题。有人提出直接使用DNN(深度神经网络)回归对象的旋转和平移,由于所解释的旋转空间的非线性,这些方法的泛华能力往往较差。取而代之的是,最近的工作利用DNN来检测对象的2D关键点,并使用Perspectiven-Point(PnP)算法计算6D姿态参数。尽管这两个阶段的方法执行起来更稳定,但大多数方法还是建立在2D投影之上。投影误差小,但是在真实的3D空间中误差可能很大。3D空间中的不同关键点投影之后可能会重叠,从而很难区分它们。此外,刚性物体的几何约束信息将由于投影而部分丢失。
图一:(a)输入RGBD图片;(b)使用一个深度霍夫投票网络预测每个点相对于关键点的平移偏移;©在同一个对象上每一个点为选择的关键点投票,和将集群的中心选为预测关键点;(d)-(e)最小二乘拟合方法应用于估计6D位姿参数;(f)由估计的6D位姿参数转换后的模型
具体而言,本文提出一种基于霍夫投票(Hough voting)的神经网络,以学习每一个点到3D关键点的偏移并为3D关键点投票,本文的其中一个关键发现是一个简单的几何特性,即在3D空间中,一个刚体上任意两点之间的相对位置关系是固定的。因此,给定物体表面的一个可见点,它的坐标和方向可由深度信息获得,其相对于刚体上预选关键点的平移偏移量也是确定且可学习的。同时,深度神经网络学习逐点欧几里得偏移直截了当,且易于优化。
当场景有多个物体时,本文在网络中引入了一个实例语义分割模块,与关键点投票联合优化。

2.相关工作

2.1整体法
整体法可以只用估计出给定对象3D位置和方向。基于经典模板的方法构造刚性模板并扫描图像以计算最佳匹配的姿势。这样的模板对于群集场景并不健壮。最近,有人提出了一些基于深度神经网络(DNN)的方法来直接回归摄像机或物体的6D姿态。但是,旋转空间的非线性使数据驱动的DNN难以学习和推广。为了解决这个问题,一些方法使用后细化过程[26,50]迭代地细化姿势,其他方法离散旋转空间并将其简化为分类问题。对于后一种方法,仍然需要后期优化过程来补偿离散化所牺牲的准确性。

2.2基于关键的方法
当前基于关键点的方法首先检测图像中对象的2D关键点,然后利用PnP算法估计6D姿势。经典的方法能够有效地检测具有丰富纹理的对象的2D关键点。但是,它们不能处理没有纹理的对象。随着深度学习技术的发展,提出了一些基于神经网络的二维关键点检测方法。直接回归关键点的2D坐标,而使用热图定位2D关键点。为了更好地处理截断和遮挡的场景,提出了一个像素级投票网络来为2D关键点位置投票。这些基于2D关键点的方法旨在最小化对象的2D投影误差。但是,在实际的3D世界中,投影误差很小。 从合成RGB图像的两个视图中提取3D关键点,以恢复3D姿势。然而,它们仅利用RGB图像,在该RGB图像上,刚性对象的几何约束信息由于投影而部分丢失,并且3D空间中的不同关键点在投影到2D之后可能会重叠并且难以区分。廉价RGBD传感器的出现使我们能够利用捕获的深度图像以3D形式进行所有操作。

2.3密集对应的方法
这些方法利用霍夫投票方案对每个像素的预测结果进行投票。他们使用随机森林或CNN 提取特征并预测每个像素的相应3D对象坐标,然后投票给最终姿势结果。这种密集的2D-3D对应关系使这些方法对遮挡的场景具有鲁棒性,而输出空间却很大。 PVNet 使用2D关键点的逐像素投票来结合密集方法和基于关键点的方法的优点。我们进一步将此方法扩展到具有额外深度信息的3D关键点,并充分利用刚性对象的几何约束。

3.提出的方法
给定RGBD图像,6DoF姿态估计的任务是估计将对象从其对象世界坐标系转换为摄影机世界坐标系的刚性变换。这种变换由3D旋转R∈SO(3)和平移t∈R3组成。

在这里插入图片描述图二:PVN3D的概括。特征提取模块从RGBD图像中提取每个点的特征,作为M_K,M_C,M_S的输入,来分别预测每个点到关键点,中心点的平移偏移和语义标签。然后使用聚类算法来区分具有相同语义标签的不同实例和同一实例上的点为关键点投票。最后用最小二乘法预测关键点,估计出6DoF姿态参数。

3.1总览
这是一种两阶段的方法,在检测出目标的3D关键点之后,使用最小二乘法拟合位姿。具体而言,输入RGBD图像,通过特征提取模块融合表面特征和几何信息获得每个点的特征。这些特征被送至一个3D关键点检测模块M_K,去训练以预测出每个点相对于关键点的偏移量。另外,我们提出了一个实例语义分割模块来处理场景中有多物体的情况。语义分割模块M_S预测出每个点的语义标签,一个中心投票模块预测每个点相对于物体中心的平移偏移量。借助已学习的每个点到其所在物体中心点的偏移,应用聚类算法区分具有相同语义标签的不同实例,然后使用相同实例上的点投票并聚类出该物体的3D关键点。最后,利用相机坐标系下的目标关键点坐标和目标坐标系下的3D关键点坐标的对应关系,使用最小二乘法估算出目标的6D位姿参数。

3.2学习算法
本文算法的目标是训练一个3D关键点检测模块M_K,用于预测每个点到3D关键点的偏移;以及一个语义分割模块M_S和中心点投票模块M_C,用于实例语义分割。

3.2.1 3D关键点检测模块
在特征点提取模块提取出每个点的特征之后,3D关键点检测模块检测每个物体的3D关键点。具体来说,该模块预测从可见点到目标关键点的欧几里得平移偏移量。通过这些可见点的坐标和预测的偏移量为目标关键点的位置投票。这些投票的点有聚类算法进行聚类以消除离群点的干扰,群集的中心为被选为投票选出的关键点。
这里谈一下我自己这投票的的理解。

在这里插入图片描述
假设有6个点x是观测到的点,kp1,kp2是关键点,所以这6个点分别对这两个点投票,所以在kp1和kp2周围会分别有6个点,取它们的中心即为预测的关键。

3.2.2实例语义分割模块
为了处理多目标问题,以前的方法利用已有的检测或者语义分割结构预处理照片,然后获得仅包含单一目标的RoIs(resions of interese)即感兴趣区域。然后将RoIs作为输入,建立位姿估计模型以简化问题。但是,我们提出的位姿估计问题,首先检测目标关键点的平移偏移,到关键点学习模块。我们任务这两个任务可以提高性能。一方面,语义分割模块可以迫使模型提取市里的全局和局部特征来区分不同的对象,这有助于在目标上定位一个点,有利于关键点便宜的推理过程。另一方面,为预测关键点的偏移量而学习的尺度信息,由于区分外观相似但大小不同的对象。在此基础上,我们将一个逐点语义分割模块M_S引入到网络中,并与M_K模块进行了联合优化。
同时,中心点投票模块M_C被用于对不同物体的中心点投票以区分出不同的实例。因为我们可以将中心点视为物体的一个特殊的关键点,M_C相似于M_K。它利用每个点的特征,但是预测到它所属物体中心点的欧几里得平移偏移。
在这里插入图片描述
后一个是到物体中心的真实偏移量

关键点的选取
直接说结论吧,从物体3D边界框的8个角选取的方案的效果没有使用最远点采样(FPS)的效果好。所以这里使用最远点采样。
FPS:首先,把物体的中心选为关键点来初始化关键点的集合,然后,在物体的表面上,每次选取一个距离关键集最远的点。然后,把该点加入关键点集。继续选点。这里我们选择八个点。
本文的后面是一些实验的对比。

总结&&理解

重点来了,本文的关键是3个模块,这里谈谈我对此的理解。
3D关键点检测模块M_K: 预测每个点相对于关键点的平移偏移,然后为关键点的位置投票。
语义分割模块:
语义分割模块M_S:预测每个点的语义标签
中心投票模块M_C:以每个点的特征作为输入,预测出每个点相对于它所属物体中心的欧几里得平移偏移量。投票出不同物体的中心点,以区分出不同的实例。
图二中有两个在这里插入图片描述
我说一下对此的理解。下面一个矩形是根据semantic Segmentation 和 center Offsets来为不同的实例选择中心点,正好一个实现了分割,一个预测相对于中心点的偏移。上面一个vote&&cluster是为关键点投票,选出关键点,一个识别出了各个物体及其中心点,一个预测了相对于关键点的偏移,然后结合起来选出中心点。
以上就是我的理解,如有错误,请大家一起讨论。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值