• 问答
  • 技术
  • 实践
  • 资源
DD3D:基于预训练的单目 3D 目标检测

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

原创 元气满满的打工人 CV研习社
编辑丨极市平台

文章导读

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

Part 01

3D目标检测应用背景

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

Part 02

3D目标检测方法的分类

按输入数据类型来划分,可分为:

单模:Lidar or Camera

多模:Lidar + Camera

按特征提取的方式来分,可分为:

Point Cloud:直接使用原始点云信息进行特征的提取;

Voxel:将点云通过网格的方式进行划分,随后提取网格的特征信息

2D View:将3D的信息投影到2D平面中,通常采用鸟瞰图(BEV)的视角,随后使用成熟的2D卷积网络进行特征的提取;
Graph:利用图的方式,对半径R内的点建立图,随后进行特征提取;

Part 03

DD3D网络的提出

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

image.png

网络结构图

DD3D网络的创新点:

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

image.png

伪雷达方法和DD3D方法的对比

DD3D的性能表现:

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

Part 04

DD3D网络的具体实现

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

image.png

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

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

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

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

image.png

深度预训练

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

Part 05

实验

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

image.png

image.png

image.png

image.png

Part 06

总结

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

推荐阅读

基于点云的自动驾驶 3D 目标检测和分类方法
汇总 | 基于激光雷达的 3D 目标检测开源项目&数据集

  • 1
  • 0
  • 747
收藏
暂无评论
Admin
大咖

极市平台

  • 20,545

    关注
  • 1,150

    获赞
  • 132

    精选文章
近期动态
  • 极市社区管理员,分享计算机视觉各个方向视觉干货,欢迎关注
文章专栏
  • 极市平台