作者|汽车人 编辑3D视觉开发者社区
基于图像的3D目标检测是自动驾驶领域的一个基本问题,也是一个具有挑战性的问题,近年来受到了业界和学术界越来越多的关注。得益于深度学习技术的快速发展,基于图像的3D检测取得了显著的进展。特别是,从2015年到2021年,已经有超过200篇研究这个问题的著作,涵盖了广泛的理论、算法和应用。然而,到目前为止,还没有一个调查来收集和组织这方面的知识。本文首次对这一新兴的不断发展的研究领域进行了全面综述,总结了基于图像的3D检测最常用的流程,并对其各个组成部分进行了深入分析。此外,作者还提出了两个新的分类法,将最先进的方法组织成不同的类别,以期提供更多的现有方法的系统综述,并促进与未来作品的公平比较。在回顾迄今为止所取得的成就的同时,作者也分析了当前在该领域的挑战,并讨论了基于图像的3D目标检测的未来发展方向。
自动驾驶有可能从根本上改变人们的生活,提高机动性,减少旅行时间、能源消耗和排放。因此,毫不奇怪,在过去的十年里,研究和工业界都在努力开发自动驾驶汽车。作为自动驾驶的关键技术之一,3D 目标检测已经受到了很多关注。特别是,最近,基于深度学习的3D 目标检测方法越来越受欢迎。根据输入数据是图像还是LiDAR信号(通常表示为点云) ,现有的3D目标检测方法可以大致分为两类。与基于激光雷达的方法相比,仅从图像中估计3D边界框的方法面临着更大的挑战,因为从2D输入数据中恢复3D信息是一个不适定的问题。然而,尽管存在这种固有的困难,在过去的六年中,基于图像的3D目标检测方法在计算机视觉(CV)领域得到了迅速发展。在这个领域的顶级会议和期刊上已经发表了超过80篇论文,在检测准确性和推理速度方面取得了一些突破。
在本文中,作者首次全面和结构化地综述了基于深度学习技术的基于图像的3D目标检测的最新进展。特别地,本调研总结了该领域以前的研究工作,从开拓性的方法,再到最新的方法。
本文的主要贡献可以归纳如下:
据作者所知,这是第一个基于图像的自动驾驶3D检测方法的综述研究工作。本文回顾了80多种基于图像的3D 检测器和200多种相关的研究工作。
作者对这个问题的关键方面进行了全面的回顾和深入的分析,包括数据集、评估指标、检测流程和技术细节。
作者提出了两种新的分类方法,目的是帮助读者更容易地获得这个新的和不断发展的研究领域的知识。
作者总结了基于图像的3D 检测的主要问题和未来的挑战,概述了一些潜在的研究方向。
给定 RGB 图像和相应的相机参数,基于图像的3D目标检测的目标是对感兴趣的目标进行分类和定位。每个目标都由其类别和3D世界空间中的边界框表示。一般来说,3D边界框是通过它的位置[ x,y,z ] ,尺寸[ h,w,l ]和方向[ θ,φ,ψ ]相对于一个预定义的参考坐标系(例如记录数据的自车)来参数化的。在绝大多数自动驾驶情况下,只考虑绕Y轴的航向角θ (偏航角)。下图在2D图像平面和鸟瞰图上显示了一个示例结果。
虽然基于图像的3D 目标检测的一般问题可以如上所述,但值得一提的是:
除了类别和3D 边界框之外,一些基准还需要额外的预测,例如 KITTI 数据集的2D 边界框[5]和 nuScenes 数据集的速度/属性[6]。
虽然最初只提供图像和相机参数,但辅助数据(如多目,CAD模型,激光雷达信号等)的采用在这个领域是常见的。
常用数据集见下表:
在这些数据集中,KITTI 3D [5]、nuScenes [6]和Waymo Open[11]是最常用的,极大地推动了3D检测的发展。
在过去十年的大部分时间里,KITTI 3D 是唯一支持开发基于图像的 3D 检测器的数据集。KITTI 3D 提供分辨率为 1280×384 像素的前视图像。2019 年引入了 nuScenes 和 Waymo Open数据集。在 nuScenes 数据集中,六个摄像头用于生成分辨率为 1600×900 像素的 360°视图。同样,Waymo Open 也使用 5 个同步摄像头进行 360°全景拍摄,图像分辨率为 1920×1280 像素。
KITTI 3D 数据集 是在德国卡尔斯鲁厄的白天和良好的天气条件下捕获的。它主要评估三个类别(汽车、行人和自行车)的目标,根据2D框的高度、遮挡和截断将它们分为三个难度级别。提供7481张训练图和7518张测试图。
nuScenes 数据集 包含在波士顿和新加坡拍摄的 1000 个 20 年代的场景。与 KITTI 3D 基准测试不同的是,这些场景是在一天中的不同时间(包括夜晚)和不同的天气条件下(例如雨天)捕获的。3D 检测任务有十个类别的目标,nuScenes 还为每个类别标注属性标签,例如汽车的移动或静止,有或没有骑手的自行车。这些属性可以看作是一个细粒度的类标签,并且在nuScenes benchmark中也考虑了属性识别的准确性。其分别提供28130帧、6019帧、6008帧用于训练、验证和测试(每帧6张图)。
Waymo Open 数据集 涵盖了 1150 个场景,分别在凤凰城、山景城和旧金山在多种天气条件下(包括夜间和雨天)拍摄。与 KITTI 3D 类似,Waymo Open 也根据每个 3D 边界框中包含的 LiDAR 点的数量为 3D 检测任务定义了两个难度级别。其基准中感兴趣的目标包括车辆、行人和骑自行车的人。其提供122200帧用于训练、30407帧用于验证、40077帧用于测试(每帧有5张图)。
与 2D 目标检测相同,平均精度 (AP)构成了 3D目标检测中使用的主要评估指标。从其原始定义开始,每个数据集都应用了特定的修改,从而产生了特定于数据集的评估指标。在这里,作者首先回顾一下原始的 AP 指标,然后介绍其在最常用的基准测试中采用的变体,包括 KITTI3D、nuScenes 和 Waymo Open。
AP指标回顾
最常用的一种方法,即真值 A 与预测的3D 边界框 B 之间的交并比(IoU) ,定义为: IoU (A,B) = | A ∩ B | /| A ∪ B | 。
将匹配的IoU与一定的阈值进行比较,用来判断一个匹配预测是真正例(TP)还是假正例(FP)。然后,根据公式:r = TP/(TP + FN),p = TP/(TP + FP),其中 FN 表示假反例,可以从排序(通过置信度)检测结果计算召回和精度。精度可以看作是召回的函数,即 p (r)。此外,为了减少“摆动”对精度-召回曲线的影响,使用插值精度值计算 AP ,公式如下:
其中 R是预定义的召回位置集和 pinterp (r)是插值函数,定义为:
这意味着,不是在召回 r 处对实际观察到的精度值进行平均,而是采用大于或等于 r 的召回值的最大精度。
特殊的一些指标
KITTI 3D 基准: KITTI 3D 采用 AP 作为主要指标,并引入了一些修改。第一种方法是在3D空间中进行IoU的计算。此外,KITTI 3D 采纳了Simonelli等[30]的建议,将上面的传统AP指标的 R11 = {0,1/10,2/10,3/10,... ,1}替换为 R40 = {1/40,2/40,3/40,... ,1} ,这是一个更密集的抽样,去除了0的召回位置。
此外,由于目标的高度不像自动驾驶场景中的其他目标那么重要,鸟瞰(BEV)检测,在一些工作中也被称为3D 定位任务[31],[32],[33],可以被看作是3D 检测的替代方案。计算过程的主题,BEV AP,这项任务是相同的3D AP,但计算的 IoU 是在平面,而不是3D 空间。这个任务也包含在其他一些基准测试中,比如 Waymo Open [11]。此外,KITTI 3D 还提出了一种新的度量方法——平均方向相似度(AOS)来评估方向估计的精度。AOS 表示为:
方向相似性s(r)∈[0,1]定义为:
其中 D (r)表示在召回率r下的所有目标检测结果的集合,delta(i) θ 是检测的估计值和真值方向之间的角度差。为了惩罚对单个目标的多次检测,KITTI 3D 强制 δi=1,如果检测i已被分配到一个真值边界框,如果它没有被分配δi=0。请注意,所有 AP 指标都是针对每个难度级别和类别独立计算的。
Waymo Open Benchmark: Waymo Open 也采用了 AP 度量标准,只做了一个小小的修改: 用 R21 = {0,1/20,2/20,3/20,... ,1}代替 传统AP的R11。此外,考虑到精确的航向角预测对于自动驾驶至关重要,而 AP 指标没有航向的概念,Waymo Open 进一步提出了以航向加权的 Average Precision (APH)作为其主要指标。具体来说,APH 将航向信息整合到精度计算中。每个真正例是由定义为min (| θ-θ* | ,2π-| θ-θ* |)/π 的航向精度加权的,其中 θ 和 θ* 是预测的航向角和真值航向角,以弧度[-π,π ]为单位。值得注意的是,APH 联合评估3D检测和方向估计的性能,而 AOS 只是为方向估计而设计的。
nuScenes Benchmatk: nuScenes提供了一种新的AP评估方法,特别是,它与一定的距离阈值(例如2m) 内,使用平面上的2D 中心距离来匹配预测和真值,而不是直接引入IoU。此外,nuScenes 计算 AP 作为精确召回曲线下的归一化区域,其召回率和精确度均在10% 以上。最后,计算了匹配阈值 D = {0.5,1,2,4} m 和类集 C:
然而,这个度量标准只考虑了目标的定位,而忽略了其他方面的影响,比如维度和方向。为了弥补这一缺陷,nuScenes 还提出了一组TP 指标 ,用于分别使用所有真正例(在匹配过程中确定的中心距离 = 2m)来测量每个预测误差。所有五个 TP 指标都被设计为真正例,定义如下 :
平均平移误差(ATE)是2D平面上目标中心的欧氏距离(米为单位)。
平均尺度误差(ASE)是方向和平移对齐后的3D IoU 误差(1-IoU)。
平均方向误差(AOE)是预测值和真值之间最小的偏航角差(以弧度为单位)。
平均速度误差(AVE)是作为2D(以 m/s 为单位)速度差的 L2范数的绝对速度误差。
平均属性错误(AAE)定义为1减属性分类精度(1-acc)。
此外,对于每个 TP 度量,nuScenes 还计算所有目标类别的平均 TP 度量(mTP) :
其中 TPk 表示分类 c 的第k个TP 度量(例如 k = 1表示 ATE)。最后,为了将所有提到的指标集成到一个标量得分中,nuScenes 进一步提出了 nuScenes 检测得分(NDS) ,它结合了nuScenes 中定义的 mAP 和nuScenes 中定义的 mTPk:
作者将现有的基于图像的3D检测器分为两类:
基于2D特征的方法。这些方法首先从2D特征中估计图像平面中目标的2D位置(以及其他项目,如方向、深度等) ,然后将2D检测提升到3D空间中。在此基础上,这些方法也可以称为“基于结果提升的方法”。此外,由于这些方法通常与2D检测模型具有相似的结构,因此可以通过2D检测中常用的分类法(即基于区域的方法和单目方法)进一步对它们进行分类。
基于3D特征的方法。这些方法基于3D特征对目标进行预测,从而可以直接在3D空间中对目标进行定位。此外,根据如何获得3D 特征,这些方法可以进一步分为“基于特征提升的方法”和“基于数据提升的方法”。顾名思义,前者通过提升2D特征来获得3D特征,而后者直接从2D图像转换的3D数据中提取3D特征。
主流的一些基于图像的3D目标检测方法如下图所示:
第一类是“基于2D特征的方法”。给定输入图像,他们首先从2D 特征中估计2D 位置,方向和尺寸,然后从这些结果(和其他一些中间结果)恢复3D 位置。因此,这些方法也可以称为“基于结果提升的方法”。为了得到目标的3D位置[ x,y,z ] ,一个直观且常用的解决方案是使用 CNN 估计深度值,然后使用以下映射关系:
将2D投影提升到3D空间,其中(Cx,Cy)是中心点,f是焦距,(u,v)是目标的2D位置。还要注意的是,这些方法只需要目标中心的深度,这与需要密集深度图的方法不同,例如伪激光雷达[34]。此外,由于这些方法在总体框架上类似于2D检测器,为了更好地表示,作者将它们进一步分为两个子类: 基于区域的方法和单目方法。
基于区域的方法
基于区域的方法遵循在2D目标检测中R-CNN 系列的思想[35],[36],[37]。在这个框架中,从输入图像生成独立于类别的区域proposal后,通过 CNN 从这些区域提取特征[37] ,[38]。最后,R-CNN 使用这些特性来进一步完善proposal,并确定他们的类别标签。本文总结了基于区域的3D图像检测框架的新设计。
生成proposal: 与2D检测领域中常用的proposal生成方法[39],[40]不同,生成3D检测proposal的简单方法是在地面平面上平铺3D anchor(proposal的形状模板) ,然后将它们投影到图像平面上作为proposal。然而,这种设计通常会导致巨大的计算开销。为了减少搜索空间,Chen等[2],[1],[41]提出了开创性的Mono3D 和3DOP,分别使用基于单目和多目方法的领域特定先验(例如形状,高度,位置分布等)去除低置信度的proposal。此外,Qin等[42]提出了另一种方案,在2D前视图中估计一个目标置信度图,并且在后续步骤中只考虑具有高目标置信度的潜在anchor。总之,3DOP [1]和 Mono3D [2]使用几何先验计算方案的置信度,而Qin等[42]使用网络来预测置信度图。使用区域proposal网络(RPN)[37] ,检测器可以使用来自最后共享卷积层的特征而不是外部算法来生成2D proposal,这节省了大部分计算成本,并且大量基于图像的3D 检测器[43],[44] ,[45],[46],[30],[17],[47],[48],[49],[50],[42],[51],[52],[53],[54]采用了这种设计。
引入空间信息: Chen等[47]将 RPN 和 R-CNN 结合的设计扩展到多目3D检测。他们提出分别从左右两幅图像中提取特征,并利用融合特征生成proposal,预测最终结果。这种设计允许 CNN 隐式地从多目中学习视差/深度,并被以下基于多目的3D 检测器所采用[50],[55],[53]。同样为了提供深度信息,Chen[45]提出了另一种方案,多融合单目3D 检测。具体而言,他们首先使用现成的深度估计器[56],[57]为输入图像生成深度图,然后为 RGB图和深度图设计具有多种信息融合策略的基于区域的检测器。值得注意的是,为单目图像提供深度提示的策略是由几个工作[58],[34],[33],[59],[60],[61],[62],[34],[63],[64],[65]。然而,Stereo R-CNN [47]和 Multi-Fusion [45]在高级范式中是相似的,因为它们都采用基于区域的框架并引入另一个图像(或地图)来提供空间线索。
Single-Shot 方法
Single-Shot 目标检测器直接预测类概率并从每个特征位置回归3D 框的其他属性。因此,这些方法通常比基于区域的方法具有更快的推理速度,这在自动驾驶的情况下是至关重要的。在Single-Shot 方法中只使用 CNN 层也促进了它们在不同硬件架构上的部署。此外,相关文献[66],[18],[67],[21]表明,这些Single-Shot 检测器也可以取得良好的性能。基于以上原因,近年来许多方法都采用了这一框架。目前,在基于图像的3D检测中有两种Single-Shot 原型。首先是anchor-based的,由[68]提出。特别是,这个检测器本质上是一个定制的 RPN 单目3D 检测,它为给定的图像生成2D anchor和3D anchor。与类别无关的2D anchor不同,3D anchor的形状通常与其语义标签有很强的相关性,例如,形状为“1.5 m × 1.6 m × 3.5 m”的anchor通常是小汽车而不是行人。因此,这种3D RPN 可以作为Single-Shot 的3D检测器,并已被多种方法采用[60],[69],[70],[61]。此外,在2019年,Zhou等[18]提出了一个名为 CenterNet 的anchor-free Single-Shot 检测器,并将其扩展到基于图像的3D检测。特别地,这个框架将目标编码为一个单点(目标的中心点) ,并使用关键点估计来找到它。此外,几个平行的head被用来估计目标的其他属性,包括深度,尺寸,位置和方向。尽管这个检测器在架构上看起来非常简单,但是它在多个任务和数据集中都能达到很好的性能。后来,很多以下作品[71],[72],[73],[74],[75],[76],[77],[22],[21],[78],[79]采用了这种设计。
另一个分支是“基于3D 特征的方法”。这些方法的主要特点是首先从图像中生成3D特征,然后直接估计3D空间中包括3D位置在内的3D边界框的所有属性。根据如何获得3D特征,作者进一步将这些方法分组为“基于特征提升的方法”和“基于数据提升的方法”。
基于特征提升的方法
基于特征提升的方法的总体思想是将图像坐标系中的2D图像特征转换为世界坐标系中的3D体素特征。此外,现有的基于特征提升的方法[80],[81],[20],[82],[83]进一步折叠沿垂直维度的3D 体素特征,对应于目标的高度,以在估计最终结果之前生成 BEV 特征。对于这类方法,关键问题是如何将2D图像特征转换为3D体素特征。
单目方法特征提升: 提出了一种基于检索的检测模型OFTNet 来实现特征提升。他们通过在前视图特征区域积累对应于每个体素的左下角(u1,v2)和右下角(u2,v2)的投影的2D 特征来获得体素特征:
其中 V (x,y,z)和 F (u,v)表示给定体素(x,y,z)和像素(u,v)的特征。不同的是,Reading等以反向投影的方式实现特征提升[84]。首先,将连续深度空间离散为多重空间,并将深度估计作为一个分类任务,这样深度估计的输出就是这些空间的分布 D,而不是单个值。然后,每个特征像素 F (u,v)通过其在 D (u,v)中的相关深度二分概率来加权,以生成3D平截头体特征:
注意这个平截头体特性是基于图像深度坐标系(u,v,d) ,这需要使用相机参数来生成体素特征,并与3D世界坐标系(x,y,z)对齐。下图显示了这两种方法。
多目方法的特征提升: 由于有了先进的立体匹配技术,从多目图像对中构建3D 特征比从单目图像中构建更容易实现。Chen等[81]提出了深度立体几何网络(DSGN) ,实现了以多目图像为输入的特征提升。他们首先从多目对中提取特征,然后建立4D 平面扫描体遵循经典的平面扫描方法[85] ,[86] ,[87] ,将左图像特征和重新投影的右图像特征以等间隔的深度值连接起来。然后,在生成用于预测最终结果的 BEV 图之前,将这个4D 体转换为3D 世界空间。
基于数据提升的方法
在基于数据提升的方法中,将2D 图像转换为3D 数据(例如点云)。然后从生成的数据中提取3D 特征。在本节中,作者首先介绍伪 LiDAR 流程,它将图像提升到点云,以及为它设计的改进。然后介绍了基于图像表示的提升方法和其他提升方案。
伪激光雷达流程: 得益于深度估计,视差估计和基于激光雷达的3D目标检测,一个新的流程被提出来建立基于图像的方法和基于激光雷达的方法之间的桥梁。在这个流程中,作者首先需要从图像估计密度深度图[56] [57],(或视差图[55],[88],然后将它们转换为深度图[34])。然后,使用公式导出像素(u,v)的3D位置(x,y,z)。通过将所有像素反向投影到3D 坐标系中,可以生成伪 LiDAR 信号:
其中 N 是像素数。之后,基于 LiDAR 的检测方法[32],[89],[90],[91]可以使用伪 LiDAR 信号作为输入。这个流程中使用的数据表示的比较如下图所示。
伪激光雷达流程的成功显示了空间特征在这一任务中的重要性,突破了基于图像的方法和基于激光雷达的方法之间的障碍,使其有可能应用到其他领域的先进技术。
提高深度图(或由此产生的伪激光雷达信号)的质量: 理论上,基于伪激光雷达的模型的性能很大程度上取决于深度图的质量,一些工作[34],[33],[92]通过采用不同的深度估计已经证实了这一点。除了深度估计[56],[57],[93]和立体匹配[51],[88],[92]的改进之外,还有其他一些方法可以提高深度图的质量。注意,视差中的一个较小的误差将导致对远距离目标的深度误差较大,这是基于伪激光雷达的方法的主要弱点。为此,You等[94]提出将视差cost量转换为深度cost量,并直接端到端学习深度,而不是通过视差转换。Peng等[50]采用了非均匀视差量化策略来保证均匀的深度分布,这也可以减少远距离目标的视差深度变换误差。此外,直接提高伪激光雷达信号的精度也是一种选择。为此,You等[94]建议使用廉价的稀疏激光雷达(例如4波束激光雷达)来校正深度估计器的系统偏差。这些设计可以显著提高产生的伪 LiDAR 信号的准确性,特别是对于远距离目标。
聚焦前景目标: 原有的伪激光雷达模型估计输入图像的完整视差/深度映射。这种选择引入了大量不必要的计算成本,可能会分散网络对前景目标的注意力,因为只有对应于前景目标的像素是后续步骤的焦点。在此基础上,提出了几种改进方法。具体来说,类似于基于 LiDAR 的3D 检测器 F-PointNet [32] ,Ma等[33]使用2D 边界框去除背景点。此外,他们还提出了一种基于动态阈值的方案来进一步去除噪声点。与2D 边界框相比,[59],[53],[54],[51]中的方法采用实例mask,这是一个更好的过滤器,但需要额外的数据与真值mask。
此外,Wang等[95]和 Li等[96]建议在深度估计阶段解决这个问题。他们使用2D边界框作为mask,将输入图像的像素分为前景和背景,并对前景像素应用更高的训练权重。因此,前景区域的深度值比基线更准确,从而提高了3D检测性能。请注意,像素的可信度属于前景/背景,可以作为额外的特征来增强伪 LiDAR 点[96]。
其他信息丰富输入数据: 如前所述,大多数基于伪激光雷达的方法只采用最终得到的伪激光雷达信号作为输入。另一个改进方向是用其他信息丰富输入数据。Ma等人[33]使用基于注意力的模块将每个像素的 RGB 特征与其相应的3D 点融合。此外,还利用 RoI 级的 RGB 特性为伪激光雷达信号提供补充信息。Pon等[53]建议使用像素级部分定位图来增强伪 LiDAR 信号的几何信息(类似于基于 LiDAR 的3D 检测器[97])。特别地,他们使用 CNN 分支来预测3D边界框中每个像素/点的相对位置,然后使用这个相对位置来丰富伪 LiDAR 信号。
端对端训练: 基于伪激光雷达的检测方法一般分为深度估计和3D检测两部分,不能进行端到端的训练。对于这个问题,Qi等[98]提出了一个可微表示变化(CoR)模块,允许梯度从3D检测网络反向传播到深度估计网络,整个系统可以从联合训练中受益。
基于图像表示的方法: 为了探索基于伪 LiDAR 的方法成功的根本原因,Ma等[63]提出了 PatchNet,一种基于图像表示的原始伪 LiDAR 模型的等效实现[34] ,并取得了几乎相同的性能。这表明,数据提升是伪激光雷达系列成功的关键,它将图像坐标系中的2D位置提升到世界坐标系中的3D位置,而非数据表示。Simonelli等[16]对 PatchNet 进行了扩展,通过使用置信度head对3D 边界框进行置信度评分,从而获得更好的性能。大多数基于伪 LiDAR 方法的设计都可以很容易地用于基于图像表示的方法。此外,受益于深入研究的2D CNN 设计,基于图像的数据提升模型可能具有更大的潜力[63]。
其他提升方法: 与以前引入的通过深度估计和实现数据提升的模型不同,Srivastava等[99]引入了另一种提升数据的方法。具体而言,他们使用生成对抗网络(GAN)[100] ,[101]将前视图转换为 BEV 图,其中生成器网络旨在生成与给定图像对应的 BEV 图,并且鉴别器网络用于对生成的 BEV 图进行分类。此外,Kim等[102]提出使用逆透视映射将前视图像转换为 BEV 图像。在获得 BEV 图像后,这两个工作可以使用基于 BEV 的3D 检测器,如 MV3D [31]或 BirdNet [103]来估计最终结果。
本节,作者将比较3D 目标检测器的每个必需组件。与框架级设计相比,下面的设计通常是模块化的,可以灵活地应用于不同的算法。
与 CV中的其他任务一样,良好的特征表示是构建高性能基于图像的3D 检测器的关键因素。最近的大多数方法使用标准的 CNN 作为它们的特征提取器,而一些方法偏离了这一点,引入了更好的特征提取方法。
标准骨干网络
虽然一般输入数据只是 RGB 图像,但基于特征提升的方法和基于数据提升的方法便于使用2D CNN [104],[105],[106],[107],[108],3D CNN [109],[110]和点式CNN [111],[112],[113]作为骨干网络。
局部卷积
如下图所示,Brazil an Liu [68]建议使用两个平行的分支来分别提取空间不变特征和空间感知特征。
特别是,为了更好地捕捉单目图像中的空间感知线索,他们进一步提出了一种局部卷积: 深度感知卷积。提出的操作使用非共享卷积内核来提取不同行的特征。最后,在估计最终结果之前,将空间感知特征与空间不变特征相结合。注意,非共享内核将引入额外的计算成本,并且[68]也提出了这个方案的有效实现。
特征注意力机制
自Hu等[114]将注意机制[115]引入 CNN 以来,提出了许多注意力块[114],[116],[117]。尽管这些方法的细节各不相同,但它们通常有着相同的关键思想: 按照特定维度(例如,通道维度)重新加权特性。
深度增强特征学习
为了提供 RGB 图像中不可用的深度信息,一种直观的方案是使用深度图(通常从现成的模型或子网络获得)来增强 RGB 特征[45] ,[58]。此外,还提出了一些有效的深度增强特征学习方法。尤其是,Ding等[60]提出了一种局部卷积网络,他们使用深度图作为指导来学习 RGB 图像不同扩张率的动态局部卷积滤波器。
特征模拟
最近,一些方法提出在 LiDAR 模型的指导下学习基于图像的模型的特征。特别是,Ye等[65]采用伪 LiDAR (数据提升)流程,并强制从伪 LiDAR 信号中学习的特征应与从真正的 LiDAR 信号中学习的特征相似。同样,Guo 等[82]将该机制应用于基于特征提升的方法,并在转换后的体素特征(或 BEV 特征)中进行特征模拟。此外,Chong等[3]将该方案推广到结果提升方法。它们都将所学到的知识从基于激光雷达的模型转移到潜在特征空间中的基于图像的模型,这些工作的成功表明基于图像的方法可以从特征模拟中受益。
特征对齐
在3D检测任务中只考虑了偏航角。然而,当颠簸/俯仰角度不为零时,这种设计将导致不对齐问题,下图说明了这个问题。
为了这个问题,Zhou等[22]提出了一种特征对齐方案。特别地,他们首先使用子网络估计自姿态,然后设计一个特征转移网络,根据估计的相机姿态,在内容级别和风格级别上对齐特征。最后,他们使用校正后的特征来估计 3D 边界框。
特征池化
Li等[118]为基于图像的3D检测提出了一个新的特征池化方案。如下图所示,对于给定的3D anchor,他们从可见表面提取特征,并通过透视变换将其扭曲成规则形状(例如7 × 7特征映射)。
然后,将这些特征映射结合起来,用于提炼最终结果的proposal。请注意,这些特征可以通过深度 ConvNetPest 投影进一步增强。使用 RoI Pool [37]或 RoI Align [38]连接从2D anchor提取的特征。
获得 CNN 特征后,从提取的特征预测3D检测结果。作者将结果预测的新颖设计分为不同的方面,并讨论了这些方法。
多尺度预测
基线模型是使用最后一个 CNN 层的特征来预测结果[45] ,[34] ,[63] ,[16]。然而,这个方案的主要挑战来自于目标的不同尺度。特别是,CNN 通常分层提取特征,导致不同层次的特征有不同的感受野和语义层次。因此,很难预测所有的目标使用特定的层特征。为了解决这个问题,人们提出了许多方法,大致分为层次方法和核级方法。比如FPN、可变形卷积等,下图是一个例子:
分布外样本
由于范围、截断、遮挡等原因,不同的目标往往具有不同的特征,从一个统一的网络中预测同一目标可能不是最优的。基于这个问题,[63] ,[16] ,[77]采取了自组合策略。特别是,Ma等人[63]根据深度值(或 KITTI 3D 数据集定义的“难度”级别)将目标分为三个簇,并使用不同的head并行预测它们。Simonelli等[16]扩展了这种设计,为每个head增加了一个重新评分模块。Zhang等[77]根据目标的截断级别将其解耦为两种情况,并对其应用不同的标签分配策略和损失函数。此外,Ma等[72]观察到,一些远距离的目标几乎不可能准确定位,减少它们的训练权重(或直接从训练集中移除这些样本)可以提高整体性能。这种策略的潜在机制具有相同的目标[63] ,[16] ,[77] ,即避免从分布外的样本分散到模型训练。
深度估计的投影建模
与独立的深度估计任务相比,3D 检测中的深度估计有更多的几何先验,投影建模是最常用的一种。特别地,3D目标框的高度与其2D投影的高度之间的几何关系可表示为:
其中d和f 分别表示目标的深度和相机的焦距。2D检测框的高度用来近似 H2D,因此他们可以使用估计的参数来计算粗略的深度。然而,当使用2D 边界框(表示为 Hbbox2D)的高度作为 H2D时,会引入外部噪声,因为 H2D不等于Hbbox2D。为了缓解这个问题,Luet al。[75]提出了一种基于不确定性的方案,该方案在投影建模中对几何不确定性进行建模。此外,Barabanau等[44]利用 CAD 模型对汽车的关键点进行了标注,并利用2D/3D 关键点的高度差来获得深度。与之不同的是,Zhang等人[123]修正了上面的d计算公式,考虑了目标的位置、维度和方向的相互作用,并建立了3D检测框与其2D投影之间的关系。简而言之,GUPNet [75]捕获了噪声透视投影建模中的不确定性,Barabanau等[44]通过重新标记消除了噪声,而 Zhang 等[123]通过数学建模解决了误差。
多任务预测
作为多任务学习的3D 检测。3D检测可以看作是一个多任务的学习问题,因为它需要同时输出类别标签,位置,尺寸和方向。许多工作[131] ,[132] ,[133]已经表明,CNN 可以从多任务的联合训练中受益。同样,Ma等[72]观察到2D检测可以作为单目3D检测的辅助任务,并为神经网络提供额外的几何线索。此外,Guo 等[82]发现这对多目3D检测也是有效的。注意,在某些方法[68]、[30]、[34]、[33]、[63]中,2D 检测是必需的组件,而不是辅助任务。发现额外的关键点估计任务可以进一步丰富 CNN 的特征,估计的关键点可以用来进一步优化深度估计子任务[43] ,[78] ,[74]。此外,深度估计也可以为3D检测模型提供有价值的线索。具体而言,许多工作[23] ,[81] ,[82] ,[3]进行了额外的深度估计任务,以指导共享的 CNN 特征来学习空间特征,Parket 等[135]表明,大规模深度估计数据集的预训练可以显着提高他们的3D检测器的性能。
损失函数是数据驱动模型不可缺少的一部分,3D 检测的损失函数可以简化为:
特别地,分类损失用于识别候选框的类别并给予置信度。位置损失 Lloc、维度损失 Ldim 和方向损失 Lori 分别用于回归3D边界框所需的项,即位置、维度和方向。最后三个损失项目是可选的。特别是,lossLjoi,例如角点损失[58] ,可以在一个单损失函数中共同优化位置、维数和方向。置信度损失 Lconf 被设计用来给检测到的检测框更好的置信度。最后,辅助损失可以引入额外的几何线索到 CNN。具体的损失函数细节可详见原文。
后处理从 CNN 获得结果后,采用一些后处理步骤去除冗余检测结果或改进检测结果。这些步骤大致可以分为两类: 非极大值抑制(NMS)和后优化。
NMS
传统 NMS: 一般来说,原始检测结果有多个冗余边界框覆盖单个目标,NMS 的设计使得单个目标仅被一个估计的边界框覆盖。下图给出了传统 NMS 的伪代码。
选择最大分数的边界框,从检测结果中去除所有与之有高重叠的边界框。这个过程递归地应用于其余的框中,以获得最终的结果。
NMS 的变体: 为了避免移除有效目标,Bodlaet 等[145]只是降低了高重叠目标的分数,而不是丢弃它们(Soft NMS)。[146]观察分类评分与检测框质量之间的不匹配,并提出回归分配评分,即 IoU 评分,以发挥(IoU Guided NMS))作用。由于单目3D 检测器的主要问题是定位误差[72] ,[80] ,其中深度估计是恢复目标位置的核心问题,Shiet 等[127]使用方法来捕获估计深度的不确定性,并使用深度不确定度 σ 深度来标准化应用 NMS (Depth Guided NMS)时的得分 σ 深度。据[147] ,[148] ,非极大分数的检测框也可能具有高质量的定位,并建议通过加权平均高重叠检测框(加权 NMS)来更新。同样,Heet 等[141]也采用加权平均机制,更新平均规则。特别地,他们在高斯分布下建立了检测框各项的不确定度模型,然后设置了仅与 IoU 和不确定度(Softer NMS)相关的平均规则。刘等[149]建议对不同密度的目标使用动态 NMS 阈值 Ω(自适应 NMS)。
注意,上面提到的一些算法[145] ,[141] ,[148] ,[149] ,[146] ,[147]最初被提出用于2D检测,但它们可以很容易地应用于3D检测。此外,[148] ,[141]也可以被视为后优化方法,因为他们除了消除重复检测,还在 NMS 过程中更新预测结果。Kumaret 等[70]提出了一种可区分的 NMS 单目3D 检测方法。通过这种设计,损失函数可以直接对 NMS 后的结果进行操作。此外,对于基于多摄像机的全景数据集,例如 nuScenes和 Waymo Open,需要全局 NMS 来消除重叠图像的重复检测结果。
后优化
为了提高检测框的质量,一些方法选择在后优化步骤中通过建立几何约束来进一步细化 CNN 的输出。
Brazil 和 Liu [68]提出了一种基于投影3D边界框和2D边界框的一致性来调整方向 θ 的后优化方法。特别是,他们迭代添加一个小偏移量的预测取向 θ 和投影更新的3D检测框到2D图像平面。然后,他们选择接受这个更新或通过检查2D 边界框和投影的3D 边界框之间的相似性是增加还是减少来调整偏移量。
另一种后优化方法是建立在目标的3D 关键点和2D 关键点之间的一对一匹配的基础上。具体来说,Li等[74]生成2D 关键点标注(角点版本,可视化参见下图):
然后用它们的3D 检测器中的2D 关键点估计最终结果。之后,他们恢复世界空间中的3D 角点,并将其投射到图像平面中。最后,他们通过使用 Gauss-Newton [150]或 Levenberg-MarQuardt算法[151]最小化配对像素的像素距离来更新估计的参数。
由于缺乏输入数据中的深度信息,从 RGB 图像进行3D 目标检测是一项具有挑战性的任务。为了更准确地估计3D 边界框,许多方法都试图应用辅助数据并提取RGB 图像的互补特征。
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可以通过深度排序来区分。请参见下图。
特别地,类似于实例掩模的生成,他们将 CAD 模型投影到立体图像中,并通过比较左右图像中的投影坐标来生成视差值。
总之,CAD 模型可以用来生成高质量的标注,包括关键点、实例mask和视差图。
数据增强
CAD 模型也可以考虑数据增强。具体来说,复制粘贴策略[159]是一个强大的数据增强的策略,并已应用于基于图像的3D 检测[58] [24]。特别是与直接复制和粘贴 RoI 纹理相比[160] [24],Alhaijaet 等[161]和 Manhardtet 等[58]使用 CAD 模型来增强城市驾驶场景。他们渲染高质量的 CAD 模型,并将其覆盖在真实的图像之上。通过这种方式,更真实的合成图像(见下图)和更多的训练样本与新的姿态产生。
LiDAR 数据有丰富的空间信息,这是图像数据所欠缺的。在这里,作者总结了现有的基于图像的方法,只在训练阶段应用激光雷达信号,推理阶段不引入额外开销。
LiDAR作为监督信号
总的来说,相关的技术贡献可以大致分为以下几类。
由激光雷达信号产生深度标注。 几乎所有的方法都需要深度图,并且总是需要深度估计的子任务。LiDAR生成的深度图更准确。
利用激光雷达信号生成mask标注。 有些工作[32] ,[53] ,[54] ,[34]使用激光雷达信号来生成实例mask。特别地,激光雷达点的语义标签可以通过检查它们是否位于3D边界框中来确定。然后他们将这些点投影到图像平面上,并将mask标签分配给相应的图像像素。
在训练阶段提供额外的指导。 从 LiDAR 信号训练的模型可以作为基于图像的模型的教师网络,并通过知识蒸馏机制将学习的空间信息传递给基于图像的方法[163]。
用 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数据集上获得的结果和使用的辅助数据。从这些结果中,作者可以发现以下观察结果:
大多数方法在其模型中采用至少一种辅助数据,这表明辅助数据的广泛应用,从单个图像估计3D边界框充满挑战。
立体图像为基于图像的3D检测提供了最有价值的信息,在推理阶段利用这类数据的方法的效果明显优于其他方法。
虽然视频中的时间视觉特征对视知觉系统至关重要,但利用时间序列的方法只有一种[69] ,并鼓励在未来的工作中更多地使用这类数据。
现有方法的性能得到迅速和不断的改善。以没有任何辅助数据的方法为例,KITTI 基准(中等设置)的 SOTA 性能已经从1.51(FQNet [122] ,发表于 AAAI’22)上升到16.46(MonoCon [134] ,发表于 CVPR’19) ,因为输入数据可能在现有算法中是不同的,这些数据对3D 检测器的好处也是不同的,不考虑他们使用的数据比较方法是不公平的。因此,作者认为算法的基本输入数据也可以作为分类学,并且应该在相同的设置下进行比较。下表是基于图像的3D 检测器的辅助数据和结果。
基于图像的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
版权声明:本文为奥比中光3D视觉开发者社区特约作者授权原创发布,未经授权不得转载,本文仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文。
3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。
加入【3D视觉开发者社区】学习行业前沿知识,赋能开发者技能提升!
加入【3D视觉AI开放平台】体验AI算法能力,助力开发者视觉算法落地!