单目3D检测入门!从图像角度分析3D目标检测场景:MonoDLE

简介: 这篇文章的价值就在于简单,对单目检测这个任务进行了拆解分析,对于刚接触这一领域的工作者十分友好,可以对单目检测建立一个初步的认识。并且,他的加强版模型MonoCon去年也曾拿过一段时间的KITTY榜首,证明了这套方法的有效性。

1简介



MonoDLE是2021年发在CVPR上的一篇单目3D目标检测(以下简称单目检测)方向的文献。


单目检测现在更多的成果还是以模仿激光雷达(DD3D)或者引入激光雷达辅助学习(CMKD,当前SOTA)的流派为主。而MonoDLE则显得更加“老派”,沿袭了SMOKE的纯视觉角度对场景进行分析,并反驳了SMOKE提出的2D检测对3D检测没有帮助的论点。当然了,说完全不靠激光雷达也不准确,毕竟3D标签还是靠人家点云标的。

这篇文章的价值就在于简单,对单目检测这个任务进行了拆解分析,对于刚接触这一领域的工作者十分友好,可以对单目检测建立一个初步的认识。并且,他的加强版模型MonoCon去年也曾拿过一段时间的KITTY榜首,证明了这套方法的有效性。


2场景分析



这篇文章很有意思的地方就在这里,作者设计了一系列诊断实验,来分析每一个子任务对模型整体表现影响的大小。具体方式就是,依次用真值代替每一个子任务的预测结果然后观察模型的最终表现。

640.png


很明显能看出来,当3D框中心点坐标的预测值采用真值代替时,模型的表现几乎赶得上激光雷达了,同时深度估计也是一个很大的影响因素。


基于这个核心观察,作者做了三个方面的主要工作:

  1. 重新分析了2D检测框中心点和3D框中心点投影之间的偏移,并且在模型的head上做出了适应性设计。


640.png

  1. 作者认为现在的技术还不足以支持远距离目标的精确估计,作者在后面的内容中给出了论证,距离越远,单个像素误差对应的实际偏移就会越大。而强行将远距离样本纳入训练集,会对模型造成得不偿失的影响,所以作者干脆删掉了60米以外的训练样本。事实证明学明白了近端的模型,在远距离上表现得还凑合。
  2. 作者设计了一个新的针对尺寸估计的损失函数,避免尺寸估计受到定位精度的影响。


作者还专门声明了保留2D检测任务的意义,认为从2D中心点和宽高的学习中获得的共享特征,可以帮助到3D任务。针对这一论点,虽然没有做严格的对照实验,不过这俩模型用的都是DLA-34,其他没有什么重大的设计上的差别,最后的提升也足够明显,还是挺有说服力的。当然任务扩展肯定要带来时间消耗,总体比SMOKE慢了10ms,不过从工程方面讲可以兼容一些原来开发的基于2D检测的任务,也能接受。


3Baseline以及优化方案



作者采用了CenterNet的基础架构作为Baseline,在保留了2D检测任务的基础上添加了一系列3D检测的子任务,最终达到3D检测的目的。这里顺便说一句,CenterNet这个模型虽然知名度不低,但是作为工程工具始终被Yolo落下好远。不过到了3D场景下,因为其简单直接易扩展的特性,经常被拿来魔改,不光是单目3D目标检测,很多多模态融合检测的场景也会拿它来做Baseline,所以还是有一定学习价值的。


模型的backbone还是选用了发挥稳定的DLA-34,比较可惜的是CenterFusion中提出的加了DCN的DLA因为工程化困难一直没有被广泛使用,否则是一个不错的涨点trick。关于DLA的优化大家可以去看一下SMOKE的论文,解读很多就不细说了,还是有很多不错的优化细节的。


在backbone之后,一共有7个检测头,统一规格都是一个3×3卷积层加一个1×1卷积层。7个头分别用来预测

  • 像素坐标系下的粗估中心c的坐标(u,v)
  • 2D框中心ci相对于c的偏移量oi(Δui,Δvi)
  • 2D框宽高w2D、h2D
  • 3D框中心在像素坐标系下的投影cw相对于c的偏移量ow(Δuw,Δvw)
  • 3D框中心点深度z
  • 3D框长宽高l、w、h
  • 航向角γ

640.png


这里针对其中几个任务的细节做一下说明:


1. 粗估中心


粗估中心的监督标签用的是3D中心的投影,也就是cw的真值,毕竟是主要任务嘛,需要一些偏向。文章中说以前的一些文献用的是2D框中心点真值做监督,这个不重要。


2. 3D中心点坐标


从任务分配就可以看出,3D中心点在相机坐标系下的三维坐标(xw,yw,zw)是分两个头实现的,通过预测3D中心在像素坐标系下的投影坐标cw,结合相机内参可以获得中心点在图像物理坐标系下的坐标(x,y,z)。再通过预测深度zw,获得zw/z这个比例系数,就能求出xw,yw。由此可见,深度估计对整体定位精度的影响还是很大的。


3. 深度估计


本文对于深度估计的设计,整体还是端到端的思路,不过在输出上做了一个不确定性建模,在预测深度d的基础上同时预测标准差σ。对于σ的分布,文中做了拉普拉斯分布和高斯分布


640.png640.png


两种假设并进行了实验验证,最终证明拉普拉斯分布下的约束方式效果更好。不过从误差分析的结果上来看,30米外的目标就有1.5米的误差,即便是做了优化,深度估计这块儿仍然是任重道远。

640.png


4. 尺寸估计


以往的尺寸估计,应用的损失函数都是通过计算和真值框之间的交并比来约束优化方向。这样带来的问题就是,由于中心点的预测误差导致的损失偏大,会给尺寸估计带来不必要的负担。所以作者单独拎出了尺寸估计并专门设计了损失函数,只针对尺寸的预测误差对这个分支进行优化。并且根据长宽高对于IOU影响的比例不同,对参数优化的权重也按比例进行了设置。这一部分虽然作为一个单独的贡献进行了说明,不过在整个项目中的提升并不算大,就不展开说了。


5. 航向角估计


航向角用的是multi-bin loss,没有什么特殊优化,论文链接在这里https://arxiv.org/abs/1711.08488


4结语



总体看下来这篇文章还是挺优秀的,确实有新东西,也分析清楚了很多问题。看完之后也能明白为什么深度估计能作为一个单独的方向发展这么久了,其实大部分单目检测方法的主要区别就是针对这个问题做出了不同选择,要么继续尝试从图像角度去优化这个病态问题,要么就干脆去仿激光雷达,或者通过硬件比如深度相机去规避(不过这个好像也不算真正意义上的单目了)。怎么处理深度信息的预测问题也是看大多数单目检测论文的一个不错的切入点。


原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA

相关文章
|
编解码 算法 数据可视化
源码解读 | 单目相机实现3D目标检测—CaDDN
源码解读 | 单目相机实现3D目标检测—CaDDN
574 0
|
存储 数据采集 传感器
一文多图搞懂KITTI数据集下载及解析
一文多图搞懂KITTI数据集下载及解析
14533 3
一文多图搞懂KITTI数据集下载及解析
|
机器学习/深度学习 传感器 算法
单目3D目标检测 方法综述——直接回归方法、基于深度信息方法、基于点云信息方法
本文综合整理单目3D目标检测的方法模型,包括:基于几何约束的直接回归方法,基于深度信息的方法,基于点云信息的方法。万字长文,慢慢阅读~ 直接回归方法 涉及到模型包括:MonoCon、MonoDLE、MonoFlex、CUPNet、SMOKE等。 基于深度信息的方法 涉及到模型包括:MF3D、MonoGRNet、D4LCN、MonoPSR等。 基于点云信息的方法 涉及到模型包括:Pseudo lidar、DD3D、CaDDN、LPCG等。
2292 2
|
SQL 供应链 安全
Hospital Management Startup 1.0 SQL 注入(CVE-2022-23366)
Hospital Management Startup 1.0 SQL 注入(CVE-2022-23366)
|
机器学习/深度学习 大数据 计算机视觉
【YOLOv8改进 - 特征融合】 GELAN:YOLOV9 通用高效层聚合网络,高效且涨点
YOLOv8专栏探讨了深度学习中信息瓶颈问题,提出可编程梯度信息(PGI)和广义高效层聚合网络(GELAN),改善轻量级模型的信息利用率。GELAN在MS COCO数据集上表现优越,且PGI适用于不同规模的模型,甚至能超越预训练SOTA。[论文](https://arxiv.org/pdf/2402.13616)和[代码](https://github.com/WongKinYiu/yolov9)已开源。核心组件RepNCSPELAN4整合了RepNCSP块和卷积。更多详情及配置参见相关链接。
|
传感器 机器学习/深度学习 人工智能
史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)(下)
近年来,自动驾驶因其减轻驾驶员负担、提高行车安全的潜力而受到越来越多的关注。在现代自动驾驶系统中,感知系统是不可或缺的组成部分,旨在准确估计周围环境的状态,并为预测和规划提供可靠的观察结果。3D目标检测可以智能地预测自动驾驶车辆附近关键3D目标的位置、大小和类别,是感知系统的重要组成部分。本文回顾了应用于自动驾驶领域的3D目标检测的进展。
史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)(下)
|
传感器 机器学习/深度学习 人工智能
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
目前3D目标检测领域方案主要包括基于单目、双目、激光雷达点云、多模态数据融合等方式,本文主要介绍基于单目、双目和伪激光雷达数据的相关算法,下面展开讨论下~
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
|
数据可视化 PyTorch 算法框架/工具
单目3D目标检测——MonoDLE 模型训练 | 模型推理
本文分享 MonoDLE 的模型训练、模型推理、可视化3D检测结果。
328 0
|
传感器 计算机视觉
【论文解读】单目3D目标检测 DD3D(ICCV 2021)
本文分享单目3D目标检测,DD3D 模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
1194 1
|
并行计算 数据可视化 PyTorch
单目3D目标检测——MonoCon 模型训练 | 模型推理
本文分享 MonoCon 的模型训练、模型推理、可视化3D检测结果、以及可视化BEV效果。
573 0

热门文章

最新文章