火狐体育官方代理


DD3D:基于预训练的单目3D目标检测

2022-06-29 05:13:43 |来源:火狐体育福彩网 作者:火狐登录官网

  3D目标检测的主要应用场景就是自动驾驶,虽然现阶段基于点云的3D目标检测的方法的性能不断提升,但相比于激光雷达高昂的造价以及在复杂天气情况下的敏感性。研究人员将目光投向了基于视觉的方案,因此单目3D目标检测逐渐成为了研究热点。小编今天将为大家分享一篇名为Is Pseudo-Lidar needed for Monocular 3D Object detection的文章,文中提出了DD3D的方法,让我们一起来学习一下吧。

  3D目标检测目前应用的主要场景就是自动驾驶,汽车在行驶过程中,需要时刻感知周围的环境,并及时获取障碍物的3维信息。3维信息的获取通常会依靠3D传感器,如激光雷达,双目相机等,但此类传感器成本通常较高。低成本的方案是通过单目相机结合深度估计的方式,目前该方案也在大力发展中。3D目标检测所使用的数据集大部分也就是自动驾驶数据集,类别主要是车辆和行人。通过3D目标检测算法,可以给出障碍物的3D bbox,可以精准的判断物体的位置和朝向,将该信息提供给规划模块,就可以对车辆的行驶路线进行合理的规划。

  2D View:将3D的信息投影到2D平面中,通常采用鸟瞰图(BEV)的视角,随后使用成熟的2D卷积网络进行特征的提取;

  当前,基于单目图像做3D目标检测的一个主要方向是将单目深度估计整合进来预测三维点云,从而将相机转变为伪激光雷达传感器。而3D检测效果的好坏与否和深度估计网络的性能提升高度相关。同时此类方法大都是2阶段的网络,通常网络结构较为复杂且容易过拟合。本文提出了一种end-to-end、single-stage的单目3D目标检测网络DD3D(Dense Depth-pre-trained 3D Detector),网络结构图如下:

  DD3D是一个single-stage且end-to-end的网络,作者通过设计使得深度估计模块在预训练中学到的参数可以与3D检测模块进行共享,最终网络能够和伪雷达方法一样从基于大量数据的深度估计预训练中受益,同时又拥有端到端方法的简单和强泛化性的优势。伪雷达方式和DD3D方式的对比图如下。

  该方法目前在2大数据集下获得了SOTA的性能表现,在KITTI-3D数据集下,对车辆和行人的检测任务中分别获得了16.34%和9.28%的AP值,在NuScenes数据集下获得了41.5%的mAP值。

  DD3D是在FCOS上进行扩展的全卷积单阶段网络,可以进行3D目标检测和稠密深度预测。网络以FPN作为backbone进行特征的提取并输出多尺度特征图,在生成的每个特征图上应用3个head进行独立的预测任务。其中分类模块进行对象类别的预测,并根据类别C生成对应数量的置信度。2D 检测模块生成预测目标的2D检测结果。以上2个模块和FCOS网络的方式一致,这里不作详细的介绍,而本文的重点内容是3D detection head的设计,下面将对该模块进行详细的介绍。

  3D detection head以FPN输出的特征图作为输入,经过4个3X3的2D卷积后,对每一个的位置将会预测出12个数值,其中3D Bounding box包含10个数值,逐像素深度图包含1个数值,3D预测置信度包含一个数值。下面将会对每一个数值的含义进行介绍:

  q = (qw,qx,qy,qz)是用四元数表示的3D边界框朝向,文中使用完整的 3 个自由度预测方向。

  Z{c,p}这二个量值都表示和深度相关的预测信息,其中Zc表示为目标3D bbox中心的Z分量,因此只与前景特征相关。而Zp则与每个像素相关联,更像是逐像素的depth maps。深度信息的度量值可以通过下面的转换公式得到:

  其中Z∈Z{c,p}为网络输出,d∈{dc,dp}为预测深度,(σl和μl)为可学习的缩放因子和偏移量,p为从焦距f计算得到的像素大小fx和fy,c为常数。

  上述的公式中用到了相机的内参,而这赋予了DD3D模型以相机感知能力,使得学习到的深度不仅与图像有关还与像素的大小密切相关。文中作者也提到了这将对稳定训练起到重要的作用。如果再训练时需要对图像的尺寸进行缩放,则不需要对3D框的ground truth进行修改,只需要要调整相机的内参即可,即通过调整每一个像素的大小。

  O =(∆u,∆v)表示从特征位置到投影到相机平面上的 3D 边界框中心的偏移量。最终将通过反投影得到3D框中线D坐标,过程为,先通过偏移量计算出3D框中心点在图像上的投影坐标,接下来结合投影坐标、3D框中心的深度值dc和相机的内参这3部分的内容进行反投影操作,就得到了3D坐标。

  δ = (δW , δH, δH)表示 3D 边界框的大小与特定类别物体的规范大小的偏差。通俗来说,在上面已经获得了3D框的朝向信息和位置信息,但需要预测3D box,则还需要指导3D框的大小,即物体的长宽高信息。由于在实际中,每一类具体的物体的物理尺寸通常变化不大,因此可以通过对每一类的物体预设一个尺度(可以在训练集中计算出每一类物体的平均尺寸),然后在此基础上预测尺寸的偏差即可。

  β3D表示 3D 边界框预测的置信度,作用是对评估的结果进行过滤。其转换成概率为:

  将该概率与classification head中的类别概率相乘,作为最终的得分对检测结果进行过滤。

  其中B*和B^和分别表示3D边界框线个顶点, 由于预测值包含:朝向、投影中心、距离和尺寸,因此在计算loss的时候,总共计算四次,分别对四个预测值进行约束。

  置信度loss采用自监督损失,它使用3D框预测中的错误来计算3D置信度的替代目标。定义如下:

  文中作者提出的DD3D的方法是一个单阶段且端到端的目标检测的方案,但为了运用伪雷达的信息,作者首先对DD3D网络在深度估计的大型数据集上执行了深度估计的预训练任务。同时作者在文中提到,深度估计和3D目标检测这二条支路仅仅是最后的3×3的卷积层有区别,而其他的网络结构相同,因此,二条支路几乎所有的参数都相同,那么深度估计模型中学习到的参数可以在一定程度上帮助3D目标检测模型的训练,使得模型的精度得到一定的提升。

  文章在二大数据集上进行了实验,以下是KITTI数据集和NuScenes数据集下的实验结果:

  文中作者提出了一个端到端的单阶段3D目标检测器,使其具备伪雷达方法的优势,但同时又避免了其局限性。文章证明了伪雷达方式的局限性,即过度的依赖in-domain单目深度估计,而文章中认为3D目标检测的训练集和训练深度估计时的训练集并不需要同一domain,文章提出了引入单目深度估计的预训练步骤。DD3D的方法在二大数据集上都取得了出色的效果,值得学习和参考。返回搜狐,查看更多