合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
本文经自动驾驶之心公众号授权转载,转载请联系出处。
自动驾驶系统依赖于先进的感知、决策和控制技术,通过使用各种传感器(如相机、激光雷达、雷达等)来感知周围环境,并利用算法和模型进行实时分析和决策。这使得车辆能够识别道路标志、检测和跟踪其他车辆、预测行人行为等,从而安全地操作和适应复杂的交通环境.这项技术目前引起了广泛的关注,并认为是未来交通领域的重要发展领域之一。但是,让自动驾驶变得困难的是弄清楚如何让汽车了解周围发生的事情。这需要自动驾驶系统中的三维物体检测算法可以准确地感知和描述周围环境中的物体,包括它们的位置、形状、大小和类别。这种全面的环境意识有助于自动驾驶系统更好地了解驾驶环境,并做出更精确的决策。
我们全面评估了自动驾驶中3D物体检测算法的稳健性。确定了评估检测稳健性的三个关键因素:环境变化性、传感器噪声和误对准。这些因素至关重要,因为它们影响了检测算法在真实世界多变条件下的表现。
还深入探讨了性能评估的三个关键领域:准确性、延迟和稳健性。
在分析中,论文指出了多模态3D检测方法在安全感知方面的显著优势。这些方法结合了来自不同传感器的数据,为自动驾驶系统提供了更丰富、更多样化的感知能力。
上述概述了自动驾驶系统中用于3D物体检测的数据集,重点在于评估不同传感器模式下的优势和局限性,以及公共数据集的特点。
首先,表格展示了camera、点云和多模态(相机和激光雷达)三种类型的传感器。对于每种类型,列出了硬件成本、优点和局限性。例如,相机数据的优点在于提供丰富的颜色和纹理信息,但局限于缺乏深度信息且易受光线和天气影响。而激光雷达则提供准确的深度信息,但成本高且没有颜色信息。
接下来,另一个表格详细列出了用于自动驾驶中3D物体检测的多个公共数据集,如KITTI、nuScenes和Waymo等。这些数据集涵盖了不同年份发布的数据,使用的传感器类型,数据规模(包括帧数和注释数量),场景的多样性(包括场景数量和类别),以及场景类型(如白天、晴天、夜晚、雨天等)。
此外,还提到了关于“干净”自动驾驶数据集的研究,并强调了在噪声场景下评估模型稳健性的重要性。一些研究关注在恶劣条件下的相机单模态方法,而其他的多模态数据集则专注于噪声问题。例如,GROUNDED数据集关注在不同天气条件下地面穿透雷达的定位,而ApolloScape开放数据集包括了激光雷达、相机和GPS数据,涵盖了多种天气和光照条件。
由于在真实世界中收集大规模噪声数据的成本过高,许多研究转向使用合成数据集。例如,ImageNet-C是在图像分类模型中对抗常见扰动的基准研究。这一研究方向随后扩展到为自动驾驶中的3D物体检测量身定制的稳健性数据集。
在这部分内容中,讨论了单目3D物体检测的概念以及三种主要的方法:基于先验的单目3D物体检测、仅相机的单目3D物体检测和深度辅助的单目3D物体检测。
这种方法利用隐藏在图像中的物体形状和场景几何学的先验知识来解决单目3D物体检测的挑战。通过引入预训练的子网络或辅助任务,先验知识可以提供额外信息或约束来帮助精确定位3D物体,增强检测的精度和稳健性。常见的先验知识包括物体形状、几何一致性、时间约束和分割信息。例如,Mono3D算法首先假设3D物体位于固定的地面平面上,然后使用物体的先验3D形状来在3D空间中重建边界框。
这种方法仅使用单个相机捕获的图像来检测和定位3D物体。它采用卷积神经网络(CNN)直接从图像中回归3D边界框参数,从而估计物体在三维空间中的尺寸和姿态。这种直接回归方法可以以端到端的方式进行训练,促进了3D物体的整体学习和推断。例如,Smoke算法摒弃了2D边界框的回归,通过结合单个关键点的估计和3D变量的回归来预测每个检测目标的3D框。
深度估计在深度辅助的单目3D物体检测中扮演着关键角色。为了实现更准确的单目检测结果,许多研究利用预训练的辅助深度估计网络。这个过程首先通过使用预训练的深度估计器(如MonoDepth)将单目图像转换为深度图像。然后,采用两种主要方法来处理深度图像和单目图像。例如,Pseudo-LiDAR检测器使用预训练的深度估计网络生成Pseudo-LiDAR表示,但由于图像到LiDAR生成的错误,Pseudo-LiDAR与基于LiDAR的检测器之间存在巨大的性能差距。
通过这些方法的探索和应用,单目3D物体检测在计算机视觉和智能系统领域取得了显著进展,为这些领域带来了突破和机遇。
在这部分内容中,讨论了基于立体视觉的3D物体检测技术。立体视觉3D物体检测利用一对立体图像来识别和定位3D物体。通过利用立体摄像机捕获的双重视角,这些方法在通过立体匹配和校准获取高精度深度信息方面表现出色,这是它们与单目摄像机设置不同的特点。尽管存在这些优势,与基于激光雷达的方法相比,立体视觉方法仍存在相当大的性能差距。此外,从立体图像中进行3D物体检测的领域相对较少被探索,仅有限的研究工作致力于这一领域。
最近,多视图3D物体检测在精度和稳健性方面相较于前述的单目和立体视觉3D物体检测方法表现出了优越性。与基于激光雷达的3D物体检测不同,最新的全景鸟瞰视图(BEV)方法消除了对高精度地图的需求,将检测从2D提升到3D。这一进展带来了多视角3D物体检测的重大发展。在多摄像头3D物体检测中,关键挑战在于识别不同图像中的同一物体并从多视角输入中聚合物体特征。目前的方法涉及将多视角统一映射到鸟瞰视图(BEV)空间,这是一种常见的做法。
从2D到BEV空间的直接转换构成了一个重大挑战。LSS是首个提出基于深度的方法的,它利用3D空间作为中介。这种方法首先预测2D特征的网格深度分布,然后将这些特征提升到体素空间。这种方法为更有效地实现从2D到BEV空间的转换提供了希望。继LSS之后,CaDDN采用了类似的深度表示方法。通过将体素空间特征压缩到BEV空间,它执行最终的3D检测。值得注意的是,CaDDN并不是多视角3D物体检测的一部分,而是单视角3D物体检测,它对随后的深度研究产生了影响。LSS和CaDDN的主要区别在于CaDDN使用实际的地面真实深度值来监督其分类深度分布的预测,从而创建了一个能够更准确地从2D空间提取3D信息的出色深度网络。
在Transformer技术的影响下,基于query的多视角方法从3D空间检索2D空间特征。DETR3D引入了3D物体query来解决多视角特征的聚合问题。它通过从不同视角剪辑图像特征,并使用学习到的3D参考点将它们投影到2D空间,从而在鸟瞰视图(BEV)空间获得图像特征。与基于深度的多视角方法不同,基于query的多视角方法通过使用反向query技术获得稀疏BEV特征,从根本上影响了后续基于query的发展。然而,由于与显式3D参考点相关的潜在不准确性,PETR采用了隐式位置编码方法来构建BEV空间,影响了后续的工作。
当前,基于鸟瞰视图(BEV)感知的3D物体检测解决方案正在迅速发展。尽管存在许多综述文章,但对这一领域的全面回顾仍然不足。上海AI实验室和商汤研究院提供了对BEV解决方案技术路线图的深入回顾。然而,与现有的综述不同,我们考虑了自动驾驶安全感知等关键方面。在分析了基于相机解决方案的技术路线图和当前发展状态之后,我们打算基于`准确性、延迟、稳健性'的基本原则进行讨论。我们将整合安全感知的视角,以指导自动驾驶中安全感知的实际实施。
基于体素的3D物体检测方法提出了将稀疏点云分割并分配到规则体素中,从而形成密集的数据表示,这个过程称为体素化。与基于视图的方法相比,基于体素的方法利用空间卷积有效感知3D空间信息,实现更高的检测精度,这对自动驾驶中的安全感知至关重要。然而,这些方法仍面临以下挑战:
为了克服这些挑战,需要解决数据表示的局限性、提高网络特征能力和目标定位精度,并加强算法对复杂场景的理解。尽管优化策略各不相同,但通常都旨在从数据表示和模型结构方面进行优化。
得益于PC在深度学习中的繁荣,基于点的三维对象检测继承了其许多框架,并提出在不进行预处理的情况下直接从原始点检测三维对象。与voxel-based方法相比,原始点云保留了最大量的原始信息,这有利于细粒度的特征获取,result high accuracy。同时,PointNet的一系列工作自然为基于点的方法提供了强大的基础。基于点的3D对象检测器有两个基本组成部分:点云采样和特征学习 %截至目前,Point-based方法的性能仍被两个因素所影响:上下文点的数量和特征学习中采用的上下文半径。e.g.增加上下文点的数量可以获得更细致的3D信息,但会显著增加模型的推理时间。类似地,缩小上下文半径可以获得同样地效果。因此,为这两个因素选择合适的值,可以使模型在精度和速度之间达到一个平衡。此外,由于需要对点云中每一个点进行计算,点云采样过程是限制point-based方法实时运行的主要因素。具体来说,为解决以上问题,现有的方法大多围绕基于点的3D对象检测器的两个基本组成部分进行优化:1) Point Sampling 2) feature learning
基于点的3D物体检测方法继承了许多深度学习框架,并提出直接从原始点云中检测3D物体,而不进行预处理。与基于体素的方法相比,原始点云最大限度地保留了原始信息,有利于细粒度特征的获取,从而实现高精度。同时,PointNet系列工作为基于点的方法提供了强大的基础。然而,到目前为止,基于点的方法的性能仍受两个因素的影响:上下文点的数量和特征学习中使用的上下文半径。例如,增加上下文点的数量可以获得更细致的3D信息,但会显著增加模型的推理时间。类似地,缩小上下文半径可以达到同样的效果。因此,为这两个因素选择适当的值可以使模型在精度和速度之间实现平衡。此外,由于需要对点云中的每个点进行计算,点云采样过程是限制基于点方法实时运行的主要因素。为解决这些问题,现有方法主要围绕基于点的3D物体检测器的两个基本组成部分进行优化:1) 点云采样;2) 特征学习。
最远点采样(FPS)源自PointNet++,是一种在基于点的方法中广泛使用的点云采样方法。它的目标是从原始点云中选择一组具有代表性的点,使它们之间的距离最大化,以最好地覆盖整个点云的空间分布。PointRCNN是基于点的方法中的开创性的两阶段检测器,使用PointNet++作为骨干网络。在第一阶段,它以自下而上的方式从点云中生成3D提议。在第二阶段,通过结合语义特征和局部空间特征来对提议进行精炼。然而,现有基于FPS的方法仍面临一些问题:1) 与检测无关的点同样参与采样过程,带来额外的计算负担;2) 点在物体的不同部分分布不均匀,导致次优的采样策略。为了解决这些问题,后续工作采用了类似FPS的设计范式,并进行了改进,例如,通过分割引导的背景点过滤、随机采样、特征空间采样、基于体素的采样和基于光线分组的采样。
基于点的3D物体检测方法的特征学习阶段旨在从稀疏点云数据中提取具有判别性的特征表示。在特征学习阶段使用的神经网络应具备以下特性:1) 不变性,点云骨干网络应对输入点云的排列顺序不敏感;2) 具有局部感知能力,能够对局部区域进行感知和建模,提取局部特征;3) 具有整合上下文信息的能力,能够从全局和局部的上下文信息中提取特征。基于上述特性,大量的检测器被设计用于处理原始点云。大多数方法可以根据所使用的核心算子分为:1) 基于PointNet的方法;2) 基于图神经网络的方法;3) 基于Transformer的方法。
基于PointNet的方法主要依赖集合抽象来对原始点进行降采样,聚合局部信息,并整合上下文信息,同时保持原始点的对称不变性。Point-RCNN是基于点的方法中的第一个两阶段工作,取得了出色的性能,但仍面临高计算成本的问题。后续工作通过在检测过程中引入额外的语义分割任务来过滤掉对检测贡献最小的背景点,解决了这个问题。
图神经网络(GNN)具有自适应结构、动态邻域、构建局部和全局上下文关系的能力以及对不规则采样的鲁棒性。Point-GNN是一项开创性的工作,设计了一个单阶段图神经网络,通过自动注册机制、合并和评分操作来预测对象的类别和形状,展示了使用图神经网络作为3D物体检测新方法的潜力。
近年来,Transformer(Transformer)在点云分析中得到了探索,并在许多任务上表现出色。例如,Pointformer引入了局部和全局注意模块来处理3D点云,局部Transformer模块用于对局部区域中的点之间的交互进行建模,而全局Transformer旨在学习场景级别的上下文感知表示。Group-free直接利用点云中的所有点来计算每个对象候选的特征,其中每个点的贡献由自动学习的注意模块决定。这些方法展示了基于Transformer的方法在处理非结构化和无序的原始点云方面的潜力。
点云基础的3D物体检测方法提供高分辨率并保留了原始数据的空间结构,但它们在处理稀疏数据时面临高计算复杂性和低效率。相比之下,基于体素的方法提供了结构化的数据表示,提高了计算效率,并促进了传统卷积神经网络技术的应用。然而,由于离散化过程,它们通常会丢失细微的空间细节。为了解决这些问题,开发了点-体素(PV)基础的方法。点-体素方法旨在利用基于点的方法的细粒度信息捕获能力和基于体素的方法的计算效率。通过整合这些方法,点-体素基础的方法能够更详细地处理点云数据,捕获全局结构和微观几何细节。这对于自动驾驶中的安全感知至关重要,因为自动驾驶系统的决策精度取决于高精度的检测结果。
点-体素方法的关键目标是通过点到体素或体素到点的转换,实现体素和点之间的特征互动。许多工作已经探索了在骨干网络中利用点-体素特征融合的思想。这些方法可分为两类:1) 早期融合;2) 后期融合。
a) 早期融合:一些方法已经探索了使用新的卷积运算符来融合体素和点特征,PVCNN可能是这方向的首个工作。在这种方法中,基于体素的分支首先将点转换为低分辨率的体素网格,并通过卷积聚合邻近体素特征。然后,通过称为去体素化的过程,将体素级特征转换回点级特征,并与基于点的分支获得的特征融合。基于点的分支为每个单独的点提取特征。由于它不聚合邻近信息,该方法可以以更高的速度运行。接着,SPVCNN在PVCNN的基础上扩展到物体检测领域。其他方法试图从不同的角度进行改进,如辅助任务或多尺度特征融合。
b) 后期融合:这一系列方法主要采用两阶段检测框架。首先,使用基于体素的方法生成初步的物体提议。接着,利用点级特征对检测框进行精确划分。Shi等人提出的PV-RCNN是点-体素基础方法中的一个里程碑。它使用SECOND作为第一阶段检测器,并提出了带有RoI网格池的第二阶段精炼阶段,用于关键点特征的融合。后续工作主要遵循上述范式,专注于第二阶段检测的进展。值得注意的发展包括注意力机制、尺度感知池化和点密度感知精炼模块。
点-体素基础的方法同时具有基于体素方法的计算效率和基于点方法捕获细粒度信息的能力。然而,构建点到体素或体素到点的关系,以及体素和点的特征融合,会带来额外的计算开销。因此,与基于体素的方法相比,点-体素基础
的方法可以实现更好的检测精度,但代价是增加了推理时间。
基于投影的3D物体检测方法在特征融合阶段使用投影矩阵来实现点云和图像特征的整合。这里的关键是关注在特征融合期间的投影,而不是融合阶段的其他投影过程,如数据增强等。根据融合阶段使用的不同类型的投影,可以将投影基础的3D物体检测方法进一步细分为以下几类:
这些方法展示了如何在多模态3D物体检测中使用投影技术来实现特征融合,但它们在处理不同模态间的交互和准确性方面仍存在一定的局限性。
非投影式三维物体检测方法通过不依赖特征对齐来实现融合,从而产生稳健的特征表示。它们规避了相机到激光雷达投影的局限性,这种投影通常会降低相机特征的语义密度,并影响如Focals Conv和PointPainting等技术的有效性。非投影式方法通常采用交叉注意力机制或构建统一空间来解决直接特征投影中的固有不对齐问题。这些方法主要分为两类:(1)基于query学习的方法和(2)基于统一特征的方法。基于query学习的方法完全避免了融合过程中的对齐需求。相反,基于统一特征的方法虽然构建了统一的特征空间,但并没有完全避免投影;它通常发生在单一模态背景下。例如,BEVFusion利用LSS进行相机到BEV的投影。这个过程发生在融合之前,在特征不对齐的场景中显示出相当的鲁棒性。
VirConv、MSMDFusion和SFD通过伪点云构建统一空间,在特征学习之前发生投影。通过后续特征学习解决了直接投影引入的问题。总之,基于统一特征的三维物体检测方法目前代表了高精度和强鲁棒性的解决方案。尽管它们包含投影矩阵,但这种投影不发生在多模态融合之间,因此被视为非投影式三维物体检测方法。与自动投影式三维物体检测方法不同,它们不直接解决投影误差问题,而是选择构建统一空间,考虑多模态三维物体检测的多个维度,从而获得高度鲁棒的多模态特征。
3D物体检测在自动驾驶感知中扮演着至关重要的角色。近年来,这个领域快速发展,产生了大量的研究论文。基于传感器产生的多样化数据形式,这些方法主要分为三种类型:基于图像的、基于点云的和多模态的。这些方法的主要评估指标是高准确性和低延迟。许多综述总结了这些方法,主要关注于`高准确性和低延迟'的核心原则,描述它们的技术轨迹。
然而,在自动驾驶技术从突破转向实际应用的过程中,现有的综述没有将安全感知作为核心关注点,未能涵盖与安全感知相关的当前技术路径。例如,最近的多模态融合方法在实验阶段通常会进行鲁棒性测试,这一方面在当前的综述中并未得到充分考虑。
因此,重新审视3D物体检测算法,以`准确性、延迟和鲁棒性'为关键方面进行重点关注。我们重新分类以前的综述,特别强调从安全感知的角度进行重新划分。希望这项工作能为未来3D物体检测的研究提供新的见解,超越仅仅探索高准确性的局限。
TOP