纯视觉3D检测综述!一文详解3D检测现状、趋势和未来方向!(下)

简介: 基于图像的3D目标检测是自动驾驶领域的一个基本问题,也是一个具有挑战性的问题,近年来受到了业界和学术界越来越多的关注。得益于深度学习技术的快速发展,基于图像的3D检测取得了显著的进展。特别是,从2015年到2021年,已经有超过200篇研究这个问题的著作,涵盖了广泛的理论、算法和应用。然而,到目前为止,还没有一个调查来收集和组织这方面的知识。本文首次对这一新兴的不断发展的研究领域进行了全面综述,总结了基于图像的3D检测最常用的流程,并对其各个组成部分进行了深入分析。此外,作者还提出了两个新的分类法,将最先进的方法组织成不同的类别,以期提供更多的现有方法的系统综述,并促进与未来作品的公平比较。

利用辅助数据



由于缺乏输入数据中的深度信息,从 RGB 图像进行3D 目标检测是一项具有挑战性的任务。为了更准确地估计3D 边界框,许多方法都试图应用辅助数据并提取RGB 图像的互补特征。


CAD 模型


CAD 模型已经被用作多个3D相关任务的辅助数据,例如[153] ,[154] ,[155] ,以提供丰富的几何细节,并可以从公共数据集中收集。在基于图像的3D目标检测任务中,CAD 模型主要有两种考虑方式。


自动标注


CAD 模型的主要应用是自动生成细粒度的标注,以提供更多的监督信号。特别是,一些工作[156] ,[44] ,[78]从开源数据集中收集 CAD 模型,并在每个数据集上标注固定数量的关键点。然后,他们将每个真值的3D 边界框绑定到其最接近的 CAD 模型(根据3D 维度) ,与所选 CAD 相关联的3D 顶点被投影到图像平面中以获得2D 关键点标注。

xiang等[15]和 Sunet 等[51]提出通过将整个 CAD 模型投影到图像平面而不是预先定义的关键点来生成语义mask标注。此外,实例mask可以通过深度排序来区分。请参见下图。

640.png


特别地,类似于实例掩模的生成,他们将 CAD 模型投影到立体图像中,并通过比较左右图像中的投影坐标来生成视差值。


总之,CAD 模型可以用来生成高质量的标注,包括关键点、实例mask和视差图。


数据增强


CAD 模型也可以考虑数据增强。具体来说,复制粘贴策略[159]是一个强大的数据增强的策略,并已应用于基于图像的3D 检测[58] [24]。特别是与直接复制和粘贴 RoI 纹理相比[160] [24],Alhaijaet 等[161]和 Manhardtet 等[58]使用 CAD 模型来增强城市驾驶场景。他们渲染高质量的 CAD 模型,并将其覆盖在真实的图像之上。通过这种方式,更真实的合成图像(见下图)和更多的训练样本与新的姿态产生。

640.png


LiDAR 信号


LiDAR 数据有丰富的空间信息,这是图像数据所欠缺的。在这里,作者总结了现有的基于图像的方法,只在训练阶段应用激光雷达信号,推理阶段不引入额外开销。


LiDAR作为监督信号


总的来说,相关的技术贡献可以大致分为以下几类。

  1. 由激光雷达信号产生深度标注。 几乎所有的方法都需要深度图,并且总是需要深度估计的子任务。LiDAR生成的深度图更准确。
  2. 利用激光雷达信号生成mask标注。 有些工作[32] ,[53] ,[54] ,[34]使用激光雷达信号来生成实例mask。特别地,激光雷达点的语义标签可以通过检查它们是否位于3D边界框中来确定。然后他们将这些点投影到图像平面上,并将mask标签分配给相应的图像像素。
  3. 在训练阶段提供额外的指导。 从 LiDAR 信号训练的模型可以作为基于图像的模型的教师网络,并通过知识蒸馏机制将学习的空间信息传递给基于图像的方法[163]。
  4. 用 GAN 实现数据提升。 基于数据提升的方法在基于图像的3D 检测中很流行,GAN 为数据提升提供了潜在的选择[99]。特别地,生成器网络的目标是输出输入的2D图像的3D表示,而鉴别器网络负责通过将数据与真实的 LiDAR 信号进行比较来确定是否生成了数据。在该流程中,激光雷达信号仅在训练阶段作为鉴别器网络的输入。在推理阶段,去除鉴别器网络,并将生成器网络的输出反馈给一个现成的基于激光雷达的3D检测器,以获得最终的结果。


利用稀疏LiDAR信号进行深度校正


许多现有的基于图像的3D 检测模型,特别是伪激光雷达系列,使用估计的深度映射来提供空间信息。然而,无论是单目深度估计[56] ,[57] ,[93]还是立体匹配[88] ,[55] ,深度图的准确性仍然不是很准确,特别是对于遥远的目标。特别是,深度估计方法确实能够捕获目标,但是它们不能精确地估计目标的深度。基于这一观测结果,pseudo-LiDAR++[94]提议利用激光雷达信号来纠正这一系统误差。更重要的是,只需要几个点作为“地标”,模拟的4光束 LiDAR可以显著提高估计深度地图的质量。只有4束激光的激光雷达传感器比64束要便宜两个数量级。此外,还有一些其他的方法,如[31] ,[164] ,[32] ,[165] ,试图将 RGB 图像和完整的 LiDAR 信号融合到一个3D检测模型中。


外部数据


众所周知,额外的训练数据通常可以提高神经网络的表示能力,缓解过拟合问题。基于这种思想,许多工作建议使用额外的开源数据集来增加给定的训练数据。


深度估计的附加数据


深度估计是基于图像的3D目标检测的一个核心子问题,许多工作已经表明,引入附加的深度训练数据可以显著提高3D检测器的整体性能。在这里,作者根据所使用的数据集总结这些方法,并强调潜在的数据泄漏问题。


KITTI Depth: 为了提供深度信息,许多方法都会在一个更大的数据集上训练一个独立的 CNN,KITTI Depth是最常用的一个,因为它与 KITTI 3D 具有相似的分布。具体来说,KITTI Depth 有23,488个训练样本,而且许多工作在这个数据集上训练他们的深度估计器,并为 KITTI 3D 生成深度地图。这些估计的深度图可以作为输入数据[34] ,[33] ,[59] ,[62] ,[63] ,[16] ,[166] ,[64] ,[65] ,[95]或增加输入图像[45] ,[60] ,[61] ,[130] ,[58]。


DDAD15M: 这个数据集是 DDAD 数据集的扩展版本[167] ,包含大约15M 幅城市驾驶场景的图像,用于深度估计。Parket 等[23]提出,与从头开始训练和从 ImageNet 预训练模型进行微调相比,这个大规模数据集的预训练可以提供网络的丰富的几何学之前,并大大提高最终性能。场景流程[168]。场景流是一个合成的数据集,它提供了超过30K 的立体图像对和密集的标注。为了进一步提高立体匹配的准确性,许多工作,包括[45] ,[34] ,[53] ,[54] ,[94] ,[98] ,[63] ,在这个数据集上预训练立体网络用于他们的3D 检测器。


Data leakage: 如上所述,一些方法选择在 KITTI Depth或 KITTI 多目上预训练一个子网络。遗憾的是, KITTI Depth/多目训练集和 KITTI 3D 验证集之间存在重叠,这可能导致Data leakage问题。Wanget 等[34]意识到这个问题,建议从 KITTI 3D 的训练分裂提供的图像重新训练他们的差异估计模型,但是单目深度估计器中的这个问题仍然存在。更糟糕的是,单目3D 检测器[34] ,[33] ,[60] ,[45] ,[62] ,[59] ,[61] ,[65] ,[63] ,[64] ,[130] ,[166]与预先计算的深度图继承了这个问题,这导致了 KITTI 3D 验证集上的不公平和不可靠的比较。最近,Simonelliet 等[16]重新讨论了这个问题,并提供了一种新的训练/验证分割,通过比较每幅图像对应的 GPS 数据来避免重叠。不幸的是,他们的实验结果表明,不能完全修复,建议未来的工作在建立他们的模型时考虑这个问题。


半监督学习无标记数据


由于现有的数据集通常只标注收集数据的关键帧,存在大量未标记的原始数据,这些数据可以进一步利用半监督学习(SSL)方法。Penget 等[169]将伪标记范式引入到单目3D 检测中。特别是,他们使用带标注的关键帧训练一个基于 LiDAR 的模型,并为剩余的未标记数据生成伪标签。然后,利用伪标注数据训练单目3D检测器,并利用增强训练集进行训练。请注意,这个方案涉及另一种辅助数据,LiDAR 信号,以及更多的 SSL 方法,如[170] ,[171]没有其他依赖关系,可以在未来的工作中进行研究。


其他


CityScapes[172] 实例mask在许多基于图像的3D 检测器中起着重要作用,例如[59] ,[55] ,[53] ,[54] ,而3D 检测数据集中没有真值。除了使用 CAD 模型或 LiDAR 信号生成标签之外,Weng 和 Kitani [59]介绍了另一种训练分割网络的方法。特别是,他们在 CityScapes 上预先训练他们的分割模型,CityScapes 包含了5000张自动驾驶场景中的像素标注图像,并在 KITTI 多目上对其进行微调。然后他们确定分割网络的权重并用它来预测系统中的mask。有些工作像[69] ,[22]需要估计自运动来支持他们提出的设计。不幸的是,KITTI 3D 没有提供这种标注。在这种情况下,Brazil 等人[69]从 GPS/IMU 设备记录的 KITTI 原始数据中获得自运动真值。


时间序列


时间线索对于人类视觉系统至关重要,最近的一项工作[69]将时间序列应用于单目3D 检测。特别地,Brazil 等[69]首先使用修改后的 M3D-RPN [68]来估计来自单独图像的3D 检测框,然后连接相邻帧的特征并估计相机的自运动。最后,他们使用3D卡尔曼滤波器[173]来更新估计的检测框,同时考虑到目标的运动和自车运动。值得注意的是,初始结果仍然是从单帧预测,并且3D卡尔曼滤波器主要用于更新结果,以保证图像序列之间结果的时间一致性。从这个角度来看,这种方法可以看作是一种后处理。此外,利用3D卡尔曼滤波器,这种方法还可以预测目标的速度,而不需要任何标注。


多目


为了提供单目图像中缺乏的深度信息,许多方法在其模型中使用立体对。多目图像的主要应用可以分为两类: 生成更好的深度图和丰富特征。从多目图种生成更好的深度图方法,包括基于伪激光雷达的方法和深度增强特征学习的方法,都需要深度图作为输入。与单目深度估计相比,多目图像[55] ,[88] ,[92]估计的深度图一般更准确,几个工作[45],[33],[34]的实验表明,高质量的深度图(特别是前景区[95])可以显着提高这些方法的最终性能。使用多目对丰富特征图是另一个应用方向。许多方法以不同的方式提出他们的解决方案,包括但不限于特征融合[47] ,[55] ,注意力机制[42] ,50 ,并建立更好的特征表示(如cost量[50] ,[81] ,[82])。


输入数据作为分类


在上述部分中,作者总结了辅助数据的主要应用,包括 CAD 模型,LiDAR 信号,外部数据,时间序列和多目图像。为了更好地说明这些数据对算法的影响,作者展示了现有方法在最常用的 KITTI 3D数据集上获得的结果和使用的辅助数据。从这些结果中,作者可以发现以下观察结果:


  1. 大多数方法在其模型中采用至少一种辅助数据,这表明辅助数据的广泛应用,从单个图像估计3D边界框充满挑战。
  2. 立体图像为基于图像的3D检测提供了最有价值的信息,在推理阶段利用这类数据的方法的效果明显优于其他方法。
  3. 虽然视频中的时间视觉特征对视知觉系统至关重要,但利用时间序列的方法只有一种[69] ,并鼓励在未来的工作中更多地使用这类数据。
  4. 现有方法的性能得到迅速和不断的改善。以没有任何辅助数据的方法为例,KITTI 基准(中等设置)的 SOTA 性能已经从1.51(FQNet [122] ,发表于 AAAI’22)上升到16.46(MonoCon [134] ,发表于 CVPR’19) ,因为输入数据可能在现有算法中是不同的,这些数据对3D 检测器的好处也是不同的,不考虑他们使用的数据比较方法是不公平的。因此,作者认为算法的基本输入数据也可以作为分类学,并且应该在相同的设置下进行比较。下表是基于图像的3D 检测器的辅助数据和结果。


640.png


640.png640.png

来方

未来方向



深度估计


基于图像的3D目标检测的性能很大程度上依赖于估计目标的精确距离的能力。因此,分析和提高3D目标检测器的深度估计能力是一个发展方向。最近的许多工作,如[20] ,[49] ,[75] ,[92] ,[95] ,[25] ,试图解决这个问题,提出了回归目标和损失函数的替代定义,并表明仍然有很大的改进空间。引入伪激光雷达方法[34] ,[33] ,[59] ,其中3D 目标检测器已经与预先训练的深度估计器配对,并证明可以获得更好的整体性能。虽然这是一个有希望的初步步骤,深度和检测方法仍然是完全独立的。为了克服这个问题,[98] ,[135]建议将3D检测和深度估计加入到一个单一的多任务网络中。他们证明,当这两个任务一起训练并且有可能从彼此中受益时,3D 检测性能提高得更多。作者相信这些结果将显示和验证深度和检测结合的潜力,强调这将构成相关的未来方向。


超越完全监督的学习


创建3D 检测数据集是一个极其昂贵和耗时的操作。它通常涉及不同技术(如激光雷达、全球定位系统、相机)之间的协同作用,以及大量的标注人员。标注过程的要求非常高,即使有许多质量检查,也不可避免地会受到错误的影响。有鉴于此,作者需要看到几乎所有的3D目标检测方法都是受到全面监督的,即需要对3D边界框标注进行训练。与其他相关社区的完全监督要求已经放松的相反,深度估计[56] ,[185]或基于 LiDAR 的3D 检测[186] ,[187] ,[188] ,[189] ,很少有人致力于探索半自监督或自监督方法[180] ,[190] ,[4]。在这方面,值得强调的方法在[180] ,其中引入了可微渲染模块,使得开发输入 RGB 图像作为唯一的监督来源。另外,鉴于最近在通用场景(如 NeRF [191])和真实目标(如[192] ,[193])的可微渲染领域取得的进展,作者相信这个特殊的方向是非常有价值的,能够潜在地放松对3D 框标注的要求。


多模态


正如前面讨论的,图像数据和 LiDAR 数据都有它们的优势,一些方法,如[31] ,[89] ,[32] ,[164] ,[165] ,最近已经开始将这两种类型的数据集成到一个单一的模型中。然而,这一领域的研究还处于起步阶段。此外,还可以考虑其他数据模式,以进一步提高算法的准确性和鲁棒性。例如,与激光雷达相比,Radar设备具有更长的传感距离,可用于提高远距离目标的精度。另外,Radar在雨天、雾天等极端天气条件下更加稳定。然而,虽然同步Radar数据已经在一些数据集中提供了[6] ,[194] ,[195] ,但是只有少数几种方法[195] ,[196] ,[197]研究如何使用它们。另一个例子是来自热成像相机的数据[198] ,它提供了新的机会,通过处理不利的照明条件来提高检测的准确性。总之,理想的检测算法应该整合各种数据,以覆盖异质性和极端条件。


时间序列


在现实世界中,人类驾驶员依靠连续的视觉感知来获取周围环境的信息。然而,该领域的大多数工作从单帧的角度解决了3D 检测问题,这显然是次优的,只有一个最近的工作[69]开始考虑时间线索和约束。另一方面,大量的工作已经证明了在许多任务中使用视频数据的有效性,包括2D 检测[199] ,[200] ,深度估计[201] ,[202] ,分割[203] ,[204]和基于激光雷达的3D 检测[205] ,[206] ,[207]。这些相关领域的成功表明了在3D检测任务中利用视频数据的潜力,并且通过引入时间数据和在时空中建立新的约束可以实现新的突破。关于序列的使用,一个特别有趣的未来方向是它们可以用于放松全面监督的要求。如果结合已经可用的输入 RGB 图像实际上,他们被证明是能够自监督深度估计[208]。有鉴于此,有理由认为,如果同样的监督也将用于恢复目标的形状和外观,同样的方法可以用于执行3D 目标检测,正如[193] ,[180]所建议的。最后一个相关方向由速度估计表示。一些数据集,例如 nuScenes [6] ,实际上不仅需要估计目标的3D 检测框,还需要估计它们的速度。这引入了另一个极具挑战性的任务,需要通过使用多个图像来解决。


泛化


泛化在自动驾驶汽车的安全性方面起着重要作用。在这方面,不幸的是,众所周知,基于图像的3D目标检测方法在测试看不见的数据集、目标或具有挑战性的天气条件时,性能会有相当大的下降。在表5中可以找到一个例子,其中作者显示了基于图像的基线(连同 LiDAR 基线)在流行的 nuScenes 数据集的子集上的性能,这些子集包含雨水或夜间捕获的图像。在导致这种性能下降的许多因素中,几乎所有基于图像的3D 检测器都是依赖于相机的。他们期望相机内在参数在训练和测试阶段之间保持不变。克服这种局限性的初步尝试已经在[209]中得到了发展,但是作者相信这个方向应该进一步探索。另一个关键因素来自于这样一个事实,许多基于图像的3D 目标检测方法依赖于数据集特定的目标优先级。平均目标3D 范围,以作出他们的预测。如果测试在不同的数据集中的目标,如汽车,显着偏离这些平均范围,那么3D 检测器可能会失败。由于解决这个问题的努力非常有限[210] ,[211] ,[212] ,[213] ,并且独特地集中在基于 LiDAR 的方法上,作者认为这也构成了相关的未来方向。


结论



本文提供了基于图像的自动驾驶3D检测的最新发展的综合调查。作者已经看到,从2015年到2021年,已经发表了大量关于这一主题的论文。为了系统地总结这些方法,作者首先根据它们的高层结构对现有方法进行分类。然后,对这些算法进行了详细的比较,讨论了3D检测的每个必要组成部分,如特征提取,损失函数,后处理等。作者还讨论了辅助数据在这一领域的应用,支持需要一个系统的总结,如本调查和更好的协议,以便在未来的工作中进行公平的比较。最后,作者描述了这一领域的一些公开挑战和潜在方向,这些挑战和方向可能会在未来几年激发新的研究。


参考



[1] 3D Object Detection from Images for Autonomous Driving: A Survey


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

相关文章
|
7月前
|
机器学习/深度学习 人工智能 算法
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
|
机器学习/深度学习 传感器 编解码
一文详解视觉Transformer在CV中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)(中)
本综述根据三个基本的CV任务和不同的数据流类型,全面调查了100多种不同的视觉Transformer,并提出了一种分类法,根据其动机、结构和应用场景来组织代表性方法。由于它们在训练设置和专用视觉任务上的差异,论文还评估并比较了不同配置下的所有现有视觉Transformer。此外,论文还揭示了一系列重要但尚未开发的方面,这些方面可能使此类视觉Transformer能够从众多架构中脱颖而出,例如,松散的高级语义嵌入,以弥合视觉Transformer与序列式之间的差距。最后,提出了未来有前景的研究方向。
一文详解视觉Transformer在CV中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)(中)
|
3月前
|
人工智能 并行计算 测试技术
AI计算机视觉笔记三十一:基于UNetMultiLane的多车道线等识别
该项目基于开源数据集 VIL100 实现了 UNetMultiLane,用于多车道线及车道线类型的识别。数据集中标注了六个车道的车道线及其类型。项目详细记录了从环境搭建到模型训练与测试的全过程,并提供了在 CPU 上进行训练和 ONNX 转换的代码示例。训练过程约需 4 小时完成 50 个 epoch。此外,还实现了视频检测功能,可在视频中实时识别车道线及其类型。
|
4月前
|
机器学习/深度学习 数据可视化 算法
如何对某个研究方向的领域论文进行分析?如何快速了解某个研究方向的发展现状?如何利用VOSviewer分析研究领域的发展现状?
本文介绍了如何使用VOSviewer软件对特定研究方向的领域论文进行可视化分析,以ESN(Echo State Network)网络研究为例,展示了从安装软件、检索文献、导入数据到进行关键词分析、作者分析和引用量分析的完整流程,帮助用户快速了解并深入研究某个学术领域的发展趋势和现状。
111 0
如何对某个研究方向的领域论文进行分析?如何快速了解某个研究方向的发展现状?如何利用VOSviewer分析研究领域的发展现状?
|
7月前
|
机器学习/深度学习 算法 数据挖掘
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
796 1
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
趋势来袭!大模型时代的文档图像发展与图像安全剖析
趋势来袭!大模型时代的文档图像发展与图像安全剖析
70 1
|
7月前
|
传感器 机器学习/深度学习 编解码
一文全览 | 2023最新环视自动驾驶3D检测综述!
一文全览 | 2023最新环视自动驾驶3D检测综述!
212 1
|
7月前
|
机器学习/深度学习 算法 C#
[视觉概述] 机器视觉应用方向、项目流程及学习思路总结
[视觉概述] 机器视觉应用方向、项目流程及学习思路总结
280 0
|
7月前
|
人工智能 算法 TensorFlow
基于AidLux的工业视觉少样本缺陷检测实战
基于AidLux的工业视觉少样本缺陷检测实战
84 0
|
7月前
|
运维 算法 数据处理