【2018CVPR】实时单目6D物体姿态估计

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/dsoftware/article/details/97616707

在这里插入图片描述

背景

该论文发表于2018年CVPR,解决的问题是:给定单幅RGB图像,估计图像中包含目标物体的6DoF位姿;6DoF位姿包括了3维位置和3维空间朝向;传统方法包括以下两种:基于RGB图像的方法,或者使用edge特征,但对复杂背景敏感,或者使用feature points,但无法处理弱纹理或者无纹理情况;基于RGB-D的方法,依赖传感器,本身有一定限制。近年来深度学习的方法,可以给6DoF位姿估计,带来极大的效果提升。

算法概述

该论文设计了一个端到端可训练的网络,实时预测物体的6DoF位姿;受到2D物体检测算法YOLO的启发设计CNN网络,预测物体3D包围盒顶点的2D投影点;YOLO只预测出2D包围盒,而该论文预测更多的2D投影点;之后给定这些2D投影点对应的3D点,可以通过PnP算法估计物体的6DoF位姿。

算法框架

首先将每个物体的3D模型用9个控制点表示,分别是外切包围盒的8个顶点以及3D模型的重心,这样训练时只需要知道物体的3D包围盒,而不需要确切的网格模型以及附带的纹理图;算法输入为一个单幅完整的彩色图像,如图1(b);使用图1(a)的卷积网络将图像划分成SxS的Cell,如图1 ( c ) (c) ;网络的输出结果图1(d)用SxSxD的张量表示,如图1(e),D的维度为(9x2+C+1),分别包含了9个2D投影点坐标 ( x i , y i ) (x_i, y_i) ,C个类别概率,以及一个置信值。如果某一个Cell的置信值较低,则删除该Cell。

在这里插入图片描述

图1 算法框架

置信函数设计:

依据图像空间的2D欧氏距离,计算预测的2D投影点和真值点的平均偏差。
在这里插入图片描述

D T ( x ) D_T(x) 代表估计的2D位置和真值位置之间的欧氏距离,则置信函数 c ( x ) c(x) D T ( x ) D_T(x) 的关系如下图所示,距离越大置信越低。

在这里插入图片描述

图2 c(x)和DT(x)的关系

训练过程

训练时,置信值根据预测的2D投影点和真值2D投影点之间的 D T ( x ) D_T(x) ,依据公式(1)在线计算;依据网格cell的左上顶点 ( c x , c y ) (c_x, c_y) 计算offsets。对于重心,offset设置为[0,1],对于顶点,预测的 ( g x , g y ) (g_x, g_y) 设置为: g x = f ( x ) + c x g_x = f(x) + c_x g y = f ( y ) + c y g_y = f(y) + c_y ,这里 f ( . ) f(.) 选择1D的sigmoid函数;这样设置保证了网络首先选择近似的cell位置,其后再估计8个顶点位置。最终,整个网络的损失函数设置为如下:
= λ p t p t + λ c o n f c o n f + λ i d i d \ell = {\lambda _{pt}}{\ell _{pt}} + {\lambda _{conf}}{\ell _{conf}} + {\lambda _{id}}{\ell _{id}}
其中 λ p t {\lambda _{pt}} , λ c o n f {\lambda _{conf}} 分别是坐标损失,置信损失,使用均方差算法, λ i d {\lambda _{id}} 是分类损失,使用交叉熵。对于权重,如果包含物体, λ c o n f {\lambda _{conf}} 设置为5.0,不包含物体设置为0.1;对于每个cell,最多允许包含5个物体。

实现细节

  • 在ImageNet的分类任务数据集上训练初始网络初始化参数;
  • 对包含物体的cell设置λ_conf为5,不包含物体的cell设置λ_conf为0.1;
  • 设置置信函数的锐度α为2,距离阈值为30pixels;
  • 训练集图像随机按照像素大小的20%进行尺度放缩和平移;

实验

数据集

  • LineMod,这是在杂乱环境中估计无纹理物体6DoF姿态的Benchmark;每一个RGB图像中的物体都赋予了一个真值的旋转、平移以及ID,也提供了完整的3D网格;
  • OCCULUSION,这是进行多物体检测和姿态估计的数据集,对LineMod数据集的子集进行了额外的标注;

评价度量

  • 2D重投影误差:将物体3D模型点根据估计位姿,以及真值位姿,分别投影到2D图像;如果所有点的平均偏差在5个pixel以内,则认为位姿估计正确;
  • 平均模型点的3D距离(ADD):将估计位姿下的3D模型点和真值位姿下的3D模型点,计算平均距离偏差,如果偏差小于物体直径的10%,则认为位姿估计正确;
  • IOU(Intersection over union,并交比)评分:计算3D模型根据估计位姿,以真值位姿,分别投影到2D图像区域的并交比,如果重叠大于0.5,则认为位姿正确;

结果

和已有算法在三种度量上均得到了精度和速度的提升,具体定量比较结果见论文。这里只给出定性结果,如下图所示,一至四列分别给出了杂乱背景,遮挡以及朝向模糊情况下的结果。最后一列给出了由于运动模糊、极度遮挡和镜面反射情况下的失败情况。
在这里插入图片描述

图3 实验结果

总结

  • 提出了一种新的CNN框架,快速准确地预测6DoF位姿,自然地将2D物体检测框架扩展到3D物体检测;
  • 提出的算法不需要后处理,而现存的基于CNN的6D物体检测算法都需要后处理以优化位姿;
  • 算法实时,在Titan X GPU上能够达到50-94fps,根据图像分辨率而定;

声明:本文中所有图片均引自改论文。本解读只讲述核心观点,如需深入了解,可阅读原始论文。如有问题,请随时交流,如有错误,请随时指正。

猜你喜欢

转载自blog.csdn.net/dsoftware/article/details/97616707