作者:Yu Xiang, Tanner Schmidt, Venkatraman Narayanan and Dieter Fox
来源:arXiv:1711.00199v3 [cs.CV] 26 May 2018
原文:https://arxiv.org/abs/1711.00199
代码、数据和视频:https://rse-lab.cs.washington.edu/projects/posecnn/
系列文章目录:
上一篇:
论文笔记(二):se(3)-TrackNet: Data-driven 6D Pose Tracking by … in Synthetic Domains
下一篇:
估计已知物体的6D姿态对机器人与现实世界的交互很重要。由于物体的多样性以及物体之间的杂乱和遮挡所造成的场景的复杂性,这个问题具有挑战性。在本工作中,我们介绍了一种新的用于6D物体姿态估计的卷积神经网络PoseCNN。PoseCNN通过定位物体在图像中的中心并预测其与摄像机的距离来估计物体的3D平移。通过回归到四元数表示法来估计物体的三维旋转。我们还引入了一个新的损失函数,使PoseCNN能够处理对称的物体。此外,我们还贡献了一个用于6D物体姿态估计的大规模视频数据集,命名为YCB-Video数据集。 我们的数据集提供了来自YCB数据集的21个物体的精确6D姿势,在92个视频中观察到133,827帧。我们在YCB-Video数据集和OccludedLINEMOD数据集上进行了广泛的实验,表明PoseCNN对遮挡有很高的鲁棒性,可以处理对称的物体,并且只使用彩色图像作为输入,提供准确的姿势估计。当使用深度数据进一步细化姿势时,我们的方法在具有挑战性的OccludedLINEMOD数据集上取得了最先进的结果。我们的代码和数据集可在https://rse-lab.cs.washington.edu/projects/posecnn/上查看。
在3D中识别物体并估计其姿势,在机器人任务中有着广泛的应用。例如,识别物体的3D位置和方向对机器人的操作非常重要。 它在人机交互任务中也很有用,比如从演示中学习。然而,由于现实世界中的物体种类繁多,这个问题具有挑战性。它们具有不同的3D形状,它们在图像上的出现会受到光线条件、场景中的杂乱和物体之间的遮挡的影响。
传统上,6D物体姿态估计问题是通过匹配3D模型和图像之间的特征点来解决的。但是,这些方法要求物体上有丰富的纹理,以便检测特征点进行匹配。 因此,它们无法处理无纹理的对象。随着深度相机的出现,人们提出了几种利用RGB-D数据识别无纹理物体的方法。对于基于模板的方法[13, 12],遮挡会大大降低识别性能。另外,为了建立6D姿势估计的2D-3D对应关系,执行学习将图像像素回归到3D物体坐标的方法[3,4]不能处理对称物体。
在这项工作中,我们提出了一个6D物体姿态估计的通用框架,我们试图克服现有方法的局限性。 我们介绍了一种新的卷积神经网络(CNN),用于端到端的6D姿态估计,名为PoseCNN。PoseCNN背后的一个关键思想是将姿势估计任务解耦为不同的组件,这使得网络能够明确建模它们之间的依赖性和独立性。具体来说,PoseCNN执行了三个相关的任务,如图1所示。首先,它预测输入图像中每个像素的对象标签。其次,它通过预测每个像素向中心的单位向量来估计物体中心的二维像素坐标。使用语义标签,与对象相关联的图像像素对图像中的对象中心位置进行投票。此外,该网络还估计了物体中心的距离。假设已知相机的固有特性,估计二维物体的中心及其距离,使我们能够恢复它的三维平移 T。 最后,通过将对象边界框内提取的卷积特征回归到R的四元表示中来估计三维旋转R。正如我们将展示的那样,二维中心投票后再进行旋转回归来估计R和T,可以应用于有纹理/无纹理的物体,并且对遮挡是稳健的,因为网络被训练成对物体中心进行投票,即使它们被遮挡。
处理对称物体是姿势估计的另一个挑战,因为不同的物体方向可能产生相同的观察结果。 例如,无法唯一地估计图5所示的红碗或木块的方向。虽然姿势基准数据集如OccludedLINEMOD数据集考虑了这类对象的特殊对称性评价,但在网络训练过程中,对称性通常被忽略。然而,这可能会导致糟糕的训练性能,因为网络接收到不一致的损失信号,例如,即使网络对物体对称性的估计是正确的,但在物体方向上的损失却很高。 受这一观察的启发,我们引入了ShapeMatch-Loss,一个新的损失函数,它专注于匹配对象的3D形状。我们将证明,这种损失函数对具有形状对称性的物体产生了卓越的估计。
我们在OccludedLINEMOD数据集上评估我们的方法,这是一个6D姿势估计的基准数据集。在这个具有挑战性的数据集上,PoseCNN在仅有颜色和RGB-D姿势估计方面都取得了最先进的结果(我们在迭代最接近点(ICP)算法中使用深度图像进行姿势细化)。为了彻底评估我们的方法,我们另外收集了一个名为YCB-Video的大规模RGB-D视频数据集,该数据集包含了YCB对象集[5]中21个对象的6D姿势,共92个视频,共133827帧。数据集中的物体表现出不同的对称性,并以不同的姿势和空间配置排列,它们之间产生严重的遮挡。
综上所述,我们的工作有以下主要贡献:
我们提出了一种新型的卷积神经网络,用于6D物体姿态估计,命名为PoseCNN。我们的网络实现了端到端的6D姿态估计,并且对物体之间的遮挡具有很强的鲁棒性。
我们介绍了ShapeMatch-Loss,一个新的训练损失函数,用于对称物体的姿势估计。
我们贡献了一个用于6D物体姿态估计的大规模RGB-D视频数据集,其中我们提供了21个YCB物体的6D姿态注释。
本文的内容安排如下。在讨论了相关工作后,我们介绍了用于6D物体姿态估计的PoseCNN,然后是实验结果和结论。
文献中6D物体姿态估计方法大致可分为基于模板的方法和基于特征的方法。在基于模板的方法中,构造一个刚性模板并用于扫描输入图像中的不同位置。在每个位置计算一个相似分数,并通过比较这些相似分数得到最佳匹配。在6D姿态估计中,通常通过绘制相应的三维模型来获得模板。最近,2D对象检测方法被用作模板匹配和增强的6D姿态估计,特别是与基于深度学习的对象检测器。基于模板的方法在检测无纹理对象方面很有用。然而,它们不能很好地处理物体之间的遮挡,因为如果物体被遮挡,模板的相似性分数会很低。
在基于特征的方法中,从图像中的兴趣点或每个像素中提取局部特征,并与三维模型上的特征进行匹配,建立二维与三维的对应关系,从中可以恢复6D姿势。基于特征的方法能够处理物体之间的遮挡。然而,它们需要对象上足够的纹理来计算局部特征。为了处理无纹理的物体,人们提出了几种方法,利用机器学习技术学习特征描述符 [32, 10]。提出了几种直接回归到三维对象坐标位置的方法,用于每个像素建立二维-3D对应。但三维坐标回归在处理对称物体时遇到了歧义。在这项工作中,我们在深度学习框架中结合了基于模板的方法和基于特征的方法的优点,网络将自下而上的像素-wise标签和自上而下的物体姿势回归相结合。最近,由于亚马逊采摘挑战赛(APC)的竞争,6D物体姿势估计问题受到了更多的关注。针对APC中的具体环境,引入了一些数据集和方法。 只要提供适当的训练数据,我们的网络就有可能应用于APC环境。
给定一个输入图像,6D物体姿态估计的任务是估计从物体坐标系O到摄像机坐标系C的刚性变换。我们假设有物体的三维模型,并且物体坐标系是在模型的三维空间中定义的。这里的刚性变换由SE(3)变换组成,包含一个三维旋转R和一个三维平移T,其中R指定了物体坐标系O的X轴、Y-轴和Z轴周围的旋转角度,T是O在相机坐标系C中的原点坐标。在成像过程中,T决定了物体在图像中的位置和比例,而R则根据物体的三维形状和纹理影响物体的图像外观。由于这两个参数具有不同的视觉特性,我们提出了一种卷积神经网络架构,在内部解耦R和T的估计。
图2说明了我们用于6D物体姿势估计的网络结构。该网络包含两个阶段。第一阶段由13个卷积层和4个最大集合层组成,它们从输入图像中提取不同分辨率的特征图。 这个阶段是网络的主干,因为提取的特征在网络执行的所有任务中都是共享的。第二阶段包括嵌入步骤,将第一阶段生成的高维特征图嵌入到低维、任务特定的特征中。 然后,网络会执行三个不同的任务,从而实现6D姿势估计,即语义标签、3D翻译估计和3D旋转回归,接下来会介绍。
为了检测图像中的物体,我们求助于语义标签,网络将每个图像像素分类到一个物体类别中。与最近的6D姿态估计方法诉诸于边界框的物体检测相比,语义标签提供了更丰富的物体信息,并能更好地处理遮挡。
如图2所示,语义标签分支的嵌入步骤将两个由特征提取阶段产生的通道尺寸为512的特征图作为输入。两个特征图的分辨率分别为原始图像大小的1/8和1/16。该网络首先利用两个卷积层将两个特征图的通道维度降低到64。 然后,它用解卷积层将1/16特征图的分辨率提高一倍。之后,将两张特征图相加,再使用另一个解卷积层,将分辨率提高8倍,以获得与原始图像大小相同的特征图。最后,卷积层对特征图进行操作,并生成像素的语义标签分数。该层的输出有n个通道,n为语义类的数量。 在训练中,应用Softmax交叉熵损失来训练语义标记分支。而在测试中,使用softmax函数来计算像素的类概率。语义标签分支的设计灵感来自于用于语义标签的全卷积网络。在我们之前的工作中,它也被用于场景标注。
如图3所示,三维平移 T = ( T x , T y , T z ) T T=(T_x,T_y,T_z)^T T=(Tx,Ty,Tz)T是相机坐标系中物体原点的坐标。 估计 T T T的一个天真的方法是直接将图像特征回归到 T T T。然而,这种方法不能通用,因为对象可以出现在图像的任何位置。 另外,它不能处理同一类别中的多个对象实例。因此,我们提出了通过定位图像中的二维物体中心和估计物体与摄像机的距离来估计三维转换。 要看,假设 T T T在图像上的投影是 c = ( c x , c y ) T c = (c_x, c_y)^T c=(cx,cy)T。如果网络能够定位图像中的 c c c,并估算出深度 T z T_z Tz,那么我们就可以根据下面的投影公式恢复 T x T_x Tx和 T y T_y Ty,假设是针孔摄像机:
[ c x c y ] = [ f x T x T z + p x f y T x T z + p y ] , (1) \left[\begin{matrix} c_x \\ c_y \end{matrix}\right]=\left[ \begin{matrix} f_x\frac{T_x}{T_z}+p_x\\ f_y\frac{T_x}{T_z}+p_y \end{matrix}\right], \tag{1} [cxcy]=[fxTzTx+pxfyTzTx+py],(1)
其中 f x f_x fx和 f y f_y fy表示相机的焦距, ( p x , p y ) T (p_x,p_y)^T (px,py)T为主点。如果对象原点 O O O是对象的中心点,我们称 c c c为对象的二维中心。
二维物体中心定位的直接方法是像现有的关键点检测方法一样直接检测中心点[22,7]。但是,如果对象中心被遮住,这些方法将无法工作。受传统的隐式形状模型(ISM)的启发,在传统的隐式形状模型中,图像补丁投票给物体中心进行检测,我们设计的网络回归到图像中每个像素的中心方向。具体来说,对于图像上的一个像素 p = ( x , y ) T p=(x,y)^T p=(x,y)T,它对三个变量进行回归:
( x , y ) → ( n x = c x − x ∣ ∣ c − p ∣ ∣ , n y = c y − y ∣ ∣ c − p ∣ ∣ , T z ) . (2) (x, y) → (n_x = \frac{c_x − x}{||c − p||},n_y = \frac{c_y − y}{||c − p||},T_z). \tag{2} (x,y)→(nx=∣∣c−p∣∣cx−x,ny=∣∣c−p∣∣cy−y,Tz).(2)
请注意,我们设计的网络不是直接回归到位移矢量 c − p c-p c−p,而是回归到单位长度矢量 n = ( n x , n y ) T = c − p ∣ ∣ c − p ∣ ∣ n = (n_x, n_y)^T = \frac{c-p}{||c-p||} n=(nx,ny)T=∣∣c−p∣∣c−p,即二维中心方向,它是尺度不变的,因此更容易被训练(正如我们通过实验验证的那样)。
我们网络的中心回归分支(图2)采用了与语义标签分支相同的架构,只是卷积层和解卷积层的通道维度不同。我们将高维特征嵌入到128维空间,而不是64维空间,因为这个分支需要对每个对象类的三个变量进行回归。该分支中最后一个卷积层的信道维度为 3 × n 3×n 3×n, n n n为对象类的数量。在训练中,应用平滑化的 L 1 L1 L1损失函数进行回归,如[11]。
为了找到对象的二维对象中心 c c c,设计了一个Hough投票层并集成到网络中。Hough投票层将像素化的语义标签结果和中心回归结果作为输入。对于每个对象类,它首先计算图像中每个位置的投票得分。投票得分表示对应的图像位置是类中对象中心的可能性有多大。 具体来说,物体类中的每个像素都会为沿着网络预测的射线的图像位置增加投票(见图4)。在处理对象类中的所有像素后,我们得到所有图像位置的投票分数。然后选择物体中心作为得分最大的位置。对于同一对象类的多个实例可能出现在图像中的情况,我们对投票得分采用非最大抑制,然后选择得分大于一定阈值的位置。
在生成一组对象中心后,我们认为投票给对象中心的像素是中心的离群值。然后简单地计算出中心的深度预测值 T z T_z Tz,作为离群者预测的深度的平均值。最后,利用公式1,我们可以估计三维平移T。此外,网络生成对象的边界框作为二维矩形,将所有的入选者进行约束,边界框用于三维旋转回归。
图2的最低部分显示了三维旋转回归分支。利用从Hough投票层预测的对象边界框,我们利用两个RoI池化层来 "裁剪和池化 "网络第一阶段生成的视觉特征,进行3D旋转回归。汇集的特征图被添加到一起,并被送入三个全连接(FC)层。前两个FC层的维度为4096,最后一个FC层的维度为 4 × n 4×n 4×n, n n n为对象类的数量。对于每一个类,最后一个FC层输出一个用四元数表示的3D旋转。
为了训练四元回归,我们提出了两个损失函数,其中一个是专门为处理对称对象而设计的。第一种损失称为PoseLoss(PLOSS),在三维模型空间中操作,使用估计的方向测量正确模型姿势上的点与其在模型上的对应点之间的平均平方距离。PLOSS被定义为
P L o s s ( q ~ , q ) = 1 2 m ∑ x ∈ M ∣ ∣ R ( q ~ ) x − R ( q ) x ∣ ∣ 2 , (3) PLoss(\widetilde{q}, q) = \frac{1}{2m}\sum_{\mathrm{x}∈\mathcal{M}}||R(\widetilde{q})x − R({q}){x}||^2, \tag{3} PLoss(q ,q)=2m1x∈M∑∣∣R(q )x−R(q)x∣∣2,(3)
其中 M \mathcal{M} M表示三维模型点的集合, m m m为点的数量。 R ( q ~ ) R(\widetilde{q}) R(q )和 R ( q ) R(q) R(q)分别表示从估计的四元数和地面真相四元数计算出的旋转矩阵。当估计的方向与地面真实方向相同时,这个损失有其独特的最小值。不幸的是,PLOSS并不能恰当地处理对称对象,因为一个对称对象可以有多个正确的三维旋转。在对称物体上使用这样的损失函数会不必要地惩罚网络回归到备选的3D旋转之一,从而给出可能不一致的训练信号。
虽然PLOSS有可能被修改为通过手动指定对象对称性,然后将所有正确的方向视为地面真理选项来处理对称对象,但我们在这里介绍ShapeMatch-Loss(SLOSS),一个不需要指定对称性的损失函数。SLOSS被定义为
S L o s s ( q ~ , q ) = 1 2 m ∑ x 1 ∈ M min x 2 ∈ M ∣ ∣ R ( q ~ ) x 1 − R ( q ) x 2 ∣ ∣ 2 . (4) SLoss(\widetilde{q}, q) = \frac{1}{2m}\sum_{\mathrm{x_1}∈\mathcal{M}}\min_{\mathrm{x_2}∈\mathcal{M}}||R(\widetilde{q})x_1 − R({q}){x_2}||^2. \tag{4} SLoss(q ,q)=2m1x1∈M∑x2∈Mmin∣∣R(q )x1−R(q)x2∣∣2.(4)
我们可以看到,就像ICP一样,这个损失衡量了估计模型方向上的每个点和地面真相模型上最接近的点之间的偏移。当两个3D模型相互匹配时,SLoss最小化。 这样一来,SLoss就不会惩罚那些相对于物体的3D形状对称性来说是等价的旋转。
以对象为中心的数据集,为对象姿态和/或分割提供地面真相注释,但由于注释通常是人工提供的,因此规模有限。 例如,流行的LINEMOD数据集为数据集中的15个对象中的每一个对象提供了约1000张图像的人工注释。 虽然这样的数据集对于评估基于模型的姿势估计技术是有用的,但它比用于训练先进的深度神经网络的典型数据集小了一个数量级。解决这个问题的一个办法是用合成图像增强数据。然而,必须注意确保真实场景和渲染场景之间的性能通用。
为了避免手动注释所有视频帧,我们只在每个视频的第一帧中手动指定对象的姿势。使用每个物体的符号距离函数(Signed Distance Function,SDF)表示,我们在第一个深度帧中细化每个物体的姿势。 接下来,通过固定物体姿势的相对位置,并通过深度视频跟踪物体配置,初始化相机轨迹。最后,在全局优化步骤中完善摄像机轨迹和相对物体姿态。
我们使用的物体是YCB物体[5]中的21个子集,如图5所示,由于高质量的三维模型和良好的深度可见性而被选中。视频的采集采用华硕Xtion Pro Live RGB-D摄像头,在快速裁剪模式下,通过在设备本地采集1280x960的图像,只通过USB传输中心区域,提供分辨率为640x480、30 FPS的RGB图像。这导致RGB图像的有效分辨率更高,但代价是更低的FOV,但考虑到深度传感器的最小范围,这是一个可以接受的权衡。完整的数据集包括133,827张图像,比LINEMOD数据集大了整整两个数量级。有关数据集的更多统计数据,见表一。图6显示了我们数据集中的一个标注示例,我们根据标注的地面真实姿势来渲染3D模型。需要注意的是,我们的标注精度受到几个误差源的影响,包括RGB传感器的滚动快门,物体模型的不准确,RGB和深度传感器之间的轻微不同步,以及相机内在和外在参数的不确定性。
在我们的YCB-视频数据集中,我们使用80个视频进行训练,并在其余12个测试视频中提取的2949个关键帧上进行测试。我们还在OccludedLINEMOD数据集[17]上评估了我们的方法。17]的作者从原始LINEMOD数据集[13]中选择了一个有1214帧的视频,并为该视频中的八个物体注释了地面真实姿势。猿猴、罐头、猫、钻头、鸭子、蛋箱、胶水和打洞器。在这个视频序列中,物体之间有明显的遮挡,这使得这个数据集具有挑战性。训练时,我们使用原始LINEMOD数据集中的八个序列对应这八个对象。此外,我们通过在场景中随机放置物体,生成80000张合成图像,用于两个数据集的训练。
我们采用[13]中提出的平均距离(ADD)指标进行评价。给定地面真值旋转 R R R和平移 T T T以及估计的旋转 R ~ \widetilde{R} R 和平移 T ~ \widetilde{T} T ,平均距离计算根据地面真值姿势和估计姿势变换的3D模型点之间的对距离的平均值:
A D D = 1 m ∑ x ∈ M ∣ ∣ ( R x + T ) − ( R ~ x + T ~ ) ∣ ∣ , (5) ADD = \frac{1}{m}\sum_{\mathrm{x}∈\mathcal{M}}||(Rx + T) - (\widetilde{R}x + \widetilde{T})||, \tag{5} ADD=m1x∈M∑∣∣(Rx+T)−(R x+T )∣∣,(5)
其中 M \mathcal{M} M表示三维模型点的集合, m m m是点的数量。如果平均距离小于预定的阈值,则认为6D姿势是正确的。在OccludedLINEMOD数据集中,阈值设置为3D模型直径的10%。对于对称对象,如蛋盒和胶水,对于一些视图来说,点之间的匹配是模糊的。因此,用最近点距离计算平均距离:
A D D − S = 1 m ∑ x 1 ∈ M min x 2 ∈ M ∣ ∣ ( R x 1 + T ) − ( R ~ x 2 + T ~ ) ∣ ∣ . (6) ADD-S = \frac{1}{m}\sum_{\mathrm{x_1}∈\mathcal{M}}\min_{\mathrm{x_2}∈\mathcal{M}}||(Rx_1 + T) - (\widetilde{R}x_2 + \widetilde{T})||. \tag{6} ADD−S=m1x1∈M∑x2∈Mmin∣∣(Rx1+T)−(R x2+T )∣∣.(6)
我们对旋转回归的损失函数的设计是以这两个评价指标为动力的。在计算姿势准确度时使用一个固定的阈值,不能揭示一个方法在这些不正确的姿势上相对于该阈值的表现。因此,我们在评价中改变距离阈值。在这种情况下,我们可以绘制精度-阈值曲线,并计算曲线下的面积来进行姿势评估。
我们可以将变换后的点投影到图像上,然后计算图像空间中的对偶距离,而不是计算三维空间中的距离。这个指标被称为重投影误差,当只使用彩色图像时,它被广泛用于6D姿势估计。
PoseCNN使用TensorFlow库[1]实现。Hough投票层在GPU上实现,如[31]。在训练中,特征提取阶段的前13个卷积层和三维旋转回归分支的前两个FC层的参数都是用在ImageNet[9]上训练的VGG16网络[27]初始化的。不通过Hough投票层进行梯度反推。随机梯度下降(SGD)与动量被用于训练。
三维物体坐标回归网络。 由于现有的6D姿态估计方法大多依赖于将图像像素回归到三维物体坐标[3,4,21],我们实现了我们的三维物体坐标回归网络的变体,以进行比较。在这个网络中,我们没有像图2那样回归到中心方向和深度,而是将每个像素回归到对象坐标系中的三维坐标。我们可以使用相同的架构,因为每个像素仍然回归到每个类别的三个变量。然后,我们删除三维旋转回归分支。使用语义标签结果和三维物体坐标回归结果,使用[4]中的抢占式RANSAC恢复六维姿势。
姿势的完善。 从我们的网络中估计的6D姿势可以在有深度时进行细化。我们使用迭代最接近点(ICP)算法来完善6D姿势。具体来说,我们采用ICP与投影数据关联和点平面残差项。我们给定3D模型和估计的姿势,渲染一个预测的点云,并假设每个观察到的深度值与预测的深度值在同一像素位置相关联。然后,每个像素的残差是3D中观察点到3D中渲染点及其法线定义的平面的最小距离。残差超过指定阈值的点被剔除,剩余的残差使用梯度下降法最小化。来自网络的语义标签被用来裁剪深度图像中的观察点。由于ICP对局部最小值不稳健,我们通过扰动网络中的估计姿势来细化多个姿势,然后使用[33]中提出的对齐度量选择最佳细化姿势。
我们首先进行实验,分析两种损失函数对对称物体旋转回归的影响。图7显示了YCB-视频数据集中两个对称物体(木块和大钳子)在训练中使用两个损失函数的旋转误差柱状图。PLOSS对木块和大钳子的旋转误差从0度到180度不等。这两个直方图表明,网络被对称物体所迷惑。而SLOSS的直方图集中在木块的180度误差和大钳子的0度和180度,因为它们是围绕坐标轴旋转180度的对称物体。
表二和图8(a)为YCB-Video数据集中所有21个对象的详细评价。我们展示了使用ADD度量和ADD-S度量的精度-阈值曲线下的面积,我们改变平均距离的阈值,然后计算姿势精度。最大阈值设置为10cm。
我们可以看到,i)通过只使用彩色图像,我们的网络显著优于三维坐标回归网络结合先发RANSAC算法进行6D姿势估计。当三维坐标回归结果存在误差时,估计的6D姿态会与地面真实姿态相差甚远。而在我们的网络中,即使物体被遮挡,中心定位也有助于约束3D翻译估计。 ii) 用ICP精炼姿势显著提高了性能。当使用深度图像时,带有ICP的PoseCNN与三维坐标回归网络相比实现了优越的性能。ICP中的初始姿势是收敛的关键。PoseCNN为ICP精细化提供了更好的初始6D姿势。 iii)我们可以看到,有些物体比较难处理,如金枪鱼罐头体积小,质地较差。由于大夹子和特大夹子的外观相同,所以网络上也有大夹子和特大夹子的混淆。三维坐标回归网络不能很好地处理对称物体,如香蕉和碗。
图9显示了YCB-视频数据集上的一些6D姿势估计结果。我们可以看到,即使中心被其他物体遮挡,中心预测也相当准确。我们的网络中只有颜色,已经能够提供良好的6维姿势估计。通过ICP的完善,6D姿势的准确性得到进一步提高。
OccludedLINEMOD数据集由于对象之间的显著遮挡而具有挑战性。我们首先只用彩色图像进行实验。图8(b)显示了数据集中7个对象的精度阈值曲线与重投影误差,我们将PoseCNN与[29]进行比较,后者在该数据集上使用彩色图像作为输入,取得了目前最先进的结果。我们的方法以较大的优势显著优于[29],尤其是当重投误差阈值较小时。 这些结果表明,即使在严重遮挡的情况下,PoseCNN也能正确定位目标对象。
通过在ICP中使用深度图像来完善姿势,我们的方法也优于使用RGBD数据作为输入的最先进方法。表三总结了 OccludedLINEMOD 数据集上的姿势估计精度。最大的改进来自于 "蛋盒 "和 "胶水 "这两个对称对象。通过使用我们的ShapeMatch-Loss进行训练,PoseCNN能够正确估计两个物体相对于对称性的6D姿势。我们还在表III中介绍了PoseCNN仅使用颜色的结果。这些精度要低得多,因为这里的阈值通常小于2cm。 对于基于颜色的方法来说,当物体之间存在遮挡时,在如此小的阈值内获得6D姿势是非常具有挑战性的。 图9显示了OccludedLINEMOD数据集上6D姿势估计结果的两个例子。
在这项工作中,我们引入了PoseCNN,一个用于6D物体姿势估计的卷积神经网络。它通过定位物体中心和预测中心距离来估计三维翻译。通过将每个像素回归到朝向对象中心的单位向量,可以稳健地估计中心,不受尺度影响。更重要的是,即使被其他物体遮挡,像素也会投票给物体中心。三维旋转是通过回归到四元数表示来预测的。为旋转估计引入了两个新的损失函数,其中ShapeMatch-Loss是为对称物体设计的。因此,PoseCNN能够处理杂乱场景中的遮挡和对称物体。我们还介绍了一个用于6D物体姿势估计的大规模视频数据集。我们的结果是非常令人鼓舞的,它们表明,在杂乱的场景中,仅使用视觉数据准确估计物体的6D姿势是可行的。这为使用分辨率和视野远超目前使用的深度相机系统的相机开辟了道路。我们注意到,SLOSS有时会在姿势空间中产生类似ICP的局部最小值。在未来的6D姿态估计中,探索更有效的处理对称物体的方法将是有趣的。
这项工作部分由西门子资助,并由美国国家科学基金会STTR拨款63-5197与Lula Robotics合作。