首页 文章详情

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

3D视觉工坊 | 776 2021-11-27 10:59 0 0 0
UniSMS (合一短信)
点击上方“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),网络结构图如下:
网络结构图
DD3D网络的创新点:
DD3D是一个single-stage且end-to-end的网络,作者通过设计使得深度估计模块在预训练中学到的参数可以与3D检测模块进行共享,最终网络能够和伪雷达方法一样从基于大量数据的深度估计预训练中受益,同时又拥有端到端方法的简单和强泛化性的优势。伪雷达方式和DD3D方式的对比图如下。
伪雷达方法和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的设计,下面将对该模块进行详细的介绍。
3D detection head的设计
在3D物体检测中,与2D目标检测不同,预定义的
3D detection head以FPN输出的特征图作为输入,经过4个3X3的2D卷积后,对每一个的位置将会预测出12个数值,其中3D Bounding box包含10个数值,逐像素深度图包含1个数值,3D预测置信度包含一个数值。下面将会对每一个数值的含义进行介绍:
3D bounding box包含四个物理量:q,Zc,o和δ。
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框中线点的3D坐标,过程为,先通过偏移量计算出3D框中心点在图像上的投影坐标,接下来结合投影坐标、3D框中心的深度值dc和相机的内参这3部分的内容进行反投影操作,就得到了3D坐标。
δ = (δW , δH, δH) 表示 3D 边界框的大小与特定类别物体的规范大小的偏差。通俗来说,在上面已经获得了3D框的朝向信息和位置信息,但需要预测3D box,则还需要指导3D框的大小,即物体的长宽高信息。由于在实际中,每一类具体的物体的物理尺寸通常变化不大,因此可以通过对每一类的物体预设一个尺度(可以在训练集中计算出每一类物体的平均尺寸),然后在此基础上预测尺寸的偏差即可。
β3D表示 3D 边界框预测的置信度,作用是对评估的结果进行过滤。其转换成概率为:
将该概率与classification head中的类别概率相乘,作为最终的得分对检测结果进行过滤。
损失函数loss的设计
分类损失和2D bbox 的损失和FCOS方法中的计算方式一样,如下:
对于3D bbox 的loss,定义如下:
其中B*和B^和分别表示3D边界框真值和预测值的8个顶点, 由于预测值包含:朝向、投影中心、距离和尺寸,因此在计算loss的时候,总共计算四次,分别对四个预测值进行约束。
置信度loss采用自监督损失,它使用3D框预测中的错误来计算3D置信度的替代目标。定义如下:
因此,DD3D的总损失定义如下:
深度预训练
文中作者提出的DD3D的方法是一个单阶段且端到端的目标检测的方案,但为了运用伪雷达的信息,作者首先对DD3D网络在深度估计的大型数据集上执行了深度估计的预训练任务。同时作者在文中提到,深度估计和3D目标检测这二条支路仅仅是最后的3×3的卷积层有区别,而其他的网络结构相同,因此,二条支路几乎所有的参数都相同,那么深度估计模型中学习到的参数可以在一定程度上帮助3D目标检测模型的训练,使得模型的精度得到一定的提升。

Part 05

实验
文章在二大数据集上进行了实验,以下是KITTI数据集和NuScenes数据集下的实验结果:
以下是在数据集下的可视化检测效果。

Part 06

总结

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

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。


一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
 圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~  

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter