DD3D:基于预训练的单目3D目标检测
时间:2022-08-11 23:30:02
点击上方“3D视觉车间,选择星标
干货第一时间送达
来源丨CV研习社
作者!充满活力的农民工
文章导读
导读:3D目标检测的主要应用场景是自动驾驶,尽管现阶段基于点云的3D目标检测方法的性能不断提高,但与激光雷达的高成本和复杂天气条件下的敏感性相比。研究人员专注于基于视觉的方案,因此单目3D目标检测逐渐成为研究热点。今天,小编将与大家分享一篇名为小编的文章Is Pseudo-Lidar needed for Monocular 3D Object detection本文提出了文章DD3D让我们一起学习方法。
Part 01
3D目标检测应用背景
3D目前应用的主要场景是自动驾驶。在驾驶过程中,汽车需要始终感知周围环境,及时获取障碍物的3D信息。获取3D信息通常取决于3D信息D传感器,如激光雷达,双目相机等,但此类传感器成本通常较高。低成本方案是通过单目相机结合深度估计,目前该方案也在蓬勃发展。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检测效果的质量与网络性能的深度估计高度相关。同时,这些方法大多是二阶段的网络,通常网络结构复杂,易于过拟合。本文提出了一个end-to-end、single-stage的单目3D目标检测网络DD3D(Dense Depth-pre-trained 3D Detector),网络结构图如下:
网络结构图
DD3D网络创新点:
DD3D是一个single-stage且end-to-end作者通过设计对模块在预训练中学到的参数进行了深入估计D共享检测模块,最终网络可以从基于大量数据的预训练中受益,就像伪雷达方法一样,具有端到端方法简单强大的优势。伪雷达模式和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检测结果。以上两个模块和FCOS本文的关键内容是3D detection head下面将详细介绍该模块的设计。
3D detection head的设计
在3D与2D不同的目标同,预定义
3D detection head以FPN输出特征图作为输入,4个3X3的2D卷积后,对每一个的位置将会预测出12个数值,其中3D Bounding box逐像素深度图包含1个值,3个值D预测信度包含一个值。以下将介绍每个值的含义:
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反投影操作相机内参的三部分,得到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天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~