自动驾驶领域中的多模态3D目标检测:调查
原文链接
论文日期:2023-08-01
论文期刊:International Journal of Computer Vision
SCI2区,IF:19.5
Keywords: 3D Object Detection, Multi-modal Fusion , Sensor Fusion ,Autonomous Driving
关键词:三维目标检测;多模态融合;传感器融合;自动驾驶
自动驾驶技术过去10年发展迅速,实现全自动驾驶依然是一项艰巨的任务
驾驶场景不断变化且复杂,为了降低感知难度,自动驾驶车辆通常配备了一系列传感器(摄像头、激光雷达),希望能够捕捉到视觉重叠的场景以此来减少盲点。融合这些数据流并利用他们的互补特性成为当前趋势。然而这一任务并不容易,如果处理不当,传感器数据会互相影响、互为噪声。
本研究对最近数十种多模态3D目标检测网络(特别是camera-LiDARs)进行了深入研究,专注于研究其融合阶段(何时融合)、融合输入(融合什么)、融合粒度(如何融合)。
深度学习和计算机视觉的突破带来了自动驾驶的迅速发展,然而自动驾驶的潜力尚未完全发挥,虽然在受限受控环境中已经得到了应用,但是在城市环境中部署依然是一项挑战。
图1显示了一个典型的自动驾驶系统,它由三个子系统组成:感知、定位和决策。AV系统利用多个传感器(如激光雷达、摄像机)来收集原始传感器数据。感知和定位子系统以原始传感器数据为输入,执行目标检测、跟踪、三维地图生成和测绘等重要任务,对感兴趣的目标进行识别和定位。给定对象及其位置后,决策子系统可以进行导航并做出自动决策。在这些任务中,目标检测具有重要的意义,其目的是对感兴趣的目标进行定位和分类。
将物体定位在二维图像平面上远远不能满足AVs(autonomous vehicles)感知三维真实世界的需求。三维目标检测要求预测目标的三维位置、形状和旋转角度。在现实世界中,通过单一类型的传感器数据进行3D对象检测远远不够。因为:
因此结合不同传感器的数据流并发展多模态检测算法是3D检测当前的发展趋势
不同类型的传感器在时间和空间上都不同步。在时域中,由于每个传感器独立的采集周期,难以同时采集数据。在空间领域,传感器在部署时具有不同的视角。因此,多传感器标定是数据融合前的第一步,目前尚未引起足够的重视。
不同类型的传感器数据之间的差距较大,这些数据流无论是在输入阶段还是在特征空间中都很难进行精确对齐。为了将传感器数据转换成能够正确对齐和融合的表示格式,一定数量的信息丢失是不可避免的。
数据增强对于增强训练样本的大小,改善模型过拟合问题,在三维目标检测中起着至关重要的作用。增强策略如全局旋转和随机翻转被基于激光雷达和基于相机的方法广泛采用,但由于担心会导致不同模态之间的不一致性,在许多多模态方法中并不存在。
何时融合。融合阶段是最具影响力的设计考虑,因为它决定了基于融合的检测算法的整体网络架构,早期融合是最主要的选择。
融合什么。融合模块可以设计成以原始数据或某种类型的中间特征作为输入。
融合输入是一个关键的设计考虑,因为数据表示在整体检测性能中起着重要的作用。
如何融合。
融合粒度影响着融合的复杂性和有效性,越细,计算复杂性更高,性能通常更好。
在本节中,我们将介绍自动驾驶中使用的典型传感器的背景概况,特别是依赖于每种传感器的3D目标检测方法。我们主要讨论相机和激光雷达。此外,我们还介绍了其他可以用于三维物体检测的传感器。
在三维物体检测任务中,需要提供场景中物体的三维包围框。如图4所示,需要预测物体中心的三维坐标c、长度l、宽度w、高度h及其偏转角θ,得到红色的三维边界框。
近年来常用且成熟的2D检测方法可以在3D检测中复用。
单目相机以像素强度的形式提供密集信息,揭示形状和纹理属性。形状和纹理信息也可以用来检测车道几何,交通标志和对象的类型。使用单目相机进行三维探测的主要缺点是缺乏深度信息,而深度信息是AVs准确估计目标尺寸和位置所必需的。
与单目相机相比,立体相机估计的深度图更精确。多视角相机可以通过不同的相机覆盖不同范围的场景,更准确地捕捉深度图。然而处理立体图像的复杂度和成本也将大大增加。
激光雷达传感器使用激光作为光源来完成遥感测量,具体方式为检测传感器和目标之间的光波信号。它连续发射激光,并收集反射点的信息,以获得全方位的环境信息。当激光雷达传感器旋转一圈时,所有的反射点坐标形成点云。作为一种主动传感器,不需要外部照明,因此我们可以在极端光照条件下实现更可靠的检测。
激光雷达点的典型分辨率范围从16个通道到128个通道。如表2所示。
与相机图像相比,激光雷达点提供了强大的三维几何信息,这对三维目标的检测至关重要。此外,LiDAR传感器能够更好地适应外界因素。基于激光雷达的方法比基于相机的方法具有更好的检测精度和更高的查全率。
(缺点)然而,仅使用lidar的算法还没有准备好在AVs上广泛应用,原因如下:
其他常见的传感器包括:毫米波雷达、红外相机等。
毫米波雷达传感器
毫米波雷达长期以来一直被用于自动驾驶汽车,因为它比相机和激光雷达更能抵御恶劣天气条件。更重要的是,雷达点提供了对应目标的速度信息,这对于避开动态目标至关重要。
毫米波雷达是在毫米波波段工作的主动传感器。他们可以通过测量反射波来确定物体的位置和速度。
优点:
缺点:
毫米波雷达输出可以按照三个层次进行组织:
1)以时频谱图形式的原始数据;
2)利用聚类算法对原始数据进行聚类;
3)对聚类进行对象跟踪。
毫米波雷达通常将探测到的目标作为鸟瞰图的二维点报告,并提供到目标的方位角和径向距离。对于每次探测,雷达还报告物体在径向方向上的瞬时速度。
KITTI提供立体彩色图像、激光雷达点云、GPS坐标等。该数据集支持多种任务:立体匹配、视觉里程计、3D跟踪、3D目标检测等。该数据集使用一辆配备64通道LiDAR、4个摄像头和组合GPS/IMU系统的汽车进行数据采集。数据集中有超过20个场景,包括城市、住宅和道路。特别是,对象检测数据集包含了7,481个训练和7,518个带有校准信息和标注的2D/3D包围框的测试帧。KITTI注释了8个不同的类。每个类别被划分为“容易”、“中等”和“困难”案例。
为了促进自动驾驶中多模态检测方法的开发,KITTI开发团队提出了KITTI360数据集,该数据集具有更丰富的传感器信息和360°注解。
由700个训练场景、150个验证场景和150个测试场景组成。该数据集使用6台摄像机和32波束激光雷达收集,在360度视场中为23个类别提供3D注释。NuScenes还提供5个雷达传感器用于测量物体的速度。完整的数据集包括大约1.4M的相机图像,390k的激光雷达扫描,1.4M的雷达扫描,以及1.4M的关键帧对象边界框。驾驶场景收集在波士顿和新加坡,这两个城市以交通密集和极具挑战性的驾驶情况而闻名。此外,nuScenes注释对象级的属性,如可视性、活动、姿态等。在目标检测任务2中,nuScenes需要检测10类,包括交通锥、自行车、行人、汽车、公共汽车等。
该数据集涵盖了从城市到郊区的各种场景。共有798个训练场景和202个带有2D和3D标注标签的验证场景,由5个LiDAR传感器和5个针孔摄像机采集。每个场景捕捉了20秒的连续驾驶。标注提供了“汽车”、“行人”、“骑车人”和“标志”四类对象。
ApolloScape
由中国4个地区不同天气条件下的数据组成。ApolloScape数据集由2个LiDAR传感器、6个视频摄像机和一个组合的IMU/GNSS系统收集。支持场景解析、车道分割、轨迹预测、目标检测、跟踪等多种自动驾驶任务。该数据集包含140K+带车道线标注的图像。对于3D对象检测,ApolloScape提供6K+点云帧和带注释的3D包围框。
H3D
特别关注城市地区拥挤的交通场景。该数据集由3个260度视场(FoV)摄像机和一个64波束Velodyne激光雷达传感器采集。它包含了超过27K帧的160个场景和超过100万个物体。
Argoverse
支持自动驾驶汽车的3D跟踪、运动预测和其他感知任务的进展。它为地图提供了丰富的语义注释。在传感器设置方面,它配备了2个32通道激光雷达,7个环绕视图摄像头和2个立体声摄像头。它提供了道路基础设施和交通规则的丰富语义信息。Argoverse数据集还提供了高清地图的自动地图创建。
Cityscapes 3D
扩展了原始Cityscapes数据集,添加了3D边界框注释,支持3D车辆检测任务。它还提供了像素级或实例级语义标记和全景语义标记任务的基准。它为每辆车标注了3D包围框和相应的2D实例分割掩码。3D包围框用立体的RGB图像和9个自由度进行注释。
AIODrive
综合来自多个传感器的数据,包括3D激光雷达、RGB相机、深度相机、雷达和IMU/GPS。所有传感器都以10Hz的频率收集数据。在模拟器的帮助下,它提供了对象的2D/3D边界框、轨迹、速度和加速度的小细节注释。该数据集还综合了一些不利的场景,如恶劣的天气和车祸。
早期融合通常发生在每个分支到达其预测之前的输入阶段或特征提取阶段。它使得中间层的多模态特征之间的交互更加直接。先分别提取图像和点云特征,然后在特征提取阶段对这些特征进行融合。然后利用融合特征在预测阶段进行分类和回归任务。早期融合可以更好地利用形态中丰富的中间信息,是目前应用最广泛的融合阶段。
与早期融合相比,晚期融合对每个模态采用单独的分支,然后在预测阶段通过融合网络将单个决策级输出进行组合。晚期融合可以更好地利用现有网络的每种模式。它也不需要处理诸如如何将不同模式的数据对齐等问题。
级联融合采用混合模式,将一个支路的预测与另一个支路的输入相融合,建立了多模态间的级联关系。首先从图像流的预测阶段获得2D提案。接下来,利用已知的摄像机投影矩阵,可以将2D提案提升到定义3D搜索空间的截锥上。我们收集截锥体内的所有点,形成一个用于分类和定位对象的3D截锥体方案。因此,在级联融合中,一种模式提供了先验信息,大大减少了另一种模式的搜索空间。
① 特征图:深度神经网络能够从原始图像中提取外观和几何特征图,这是相机和其他传感器之间最常用的融合输入。特征映射的使用探索了更丰富的外观线索和更大的接受域,这使得模式之间的交互更加深入和彻底。例如,VGG-16 , ResNet , DenseNet。
② 图像掩模:图像通过语义分割网络获得逐像素分割掩码。图像掩模通常用于与其他传感器数据的融合,作为图像处理分支的独立产品。与特征图相比,使用掩模作为相机数据融合输入具有以下优点。首先,图像掩模可以作为图像更紧凑的摘要特征。其次,通过使用已知的校准矩阵进行点到像素映射,可以很容易地使用像素级图像掩模来“绘制”或“装饰”LiDAR点。一些流行的基于融合算法的图像分割网络:如DeepLabV3, Mask-RCNN,轻量级网络Unet。
③ 伪激光雷达点云:相机数据也可以转换为伪点云作为融合输入。伪点云表示将图像像素提升到三维空间,其信号比实际的LiDAR点云密度大得多。其缺点是,由于估计的深度在物体边界附近可能不准确,经常有一个长尾问题。
激光雷达点云通常是由不同视点的深度测量数据合成的。它基本上是三维坐标系统中的一组点,通常由x、y、z和反射强度定义。
① 体素化点云或体素网格:由于在规则体素网格上具有高效的并行处理势,体素化点云被广泛用作融合输入。先将三维空间离散成三维体素网格,然后通过体素特征编码层(voxel feature encoding, VFE)得到体素特征,如图14所示。
然而,用体素化点融合也有一些缺点:
在实践中,点云数据通常只在x-y平面(我们称之为柱子(pillars))上体素化成均匀间隔的网格,以满足计算和效率需求。
② 原始点云:由于高效的三维点云处理网络,可以直接对原始的三维点云进行处理,获得合适的点特征,而不会产生体素化损失。与基于体素的方法相比,直接采用原始点作为输入可以保留更多的信息,然而计算代价很高。因此,考虑到效率和性能,适当下采样点云数据对数据进行预处理是必要的。
③ BEV或RV投影:投影得到的伪图像可以被二维cnn有效地处理。由于BEV平面上物体之间的重叠较少,所以通常采用BEV进行图像特征融合。RV,它也是旋转激光雷达传感器的原生表示。本质上,它形成了一个紧凑的2.5D场景,而不是一个稀疏的3D点云。将点云投影到RV上,保留了激光雷达传感器数据的全分辨率,避免了空间损失。但RV存在近远物体尺度变化的问题。在融合过程中,这些点云的投影通常先用2D cnn进行处理,得到基于视图的特征,然后将其合并成与图像特征相同大小的图像。
BEV
将三维点云投影到二维BEV平面上,并将得到的二维点云视图与图像特征图相结合。
缺点:
RV
点云距离视图可以避免上述信息丢失问题。与BEV和FV投影相比,RV是一种紧凑的,更重要的是,来自激光雷达的内在表征。因此,最近的一种趋势是将点云的RV与RGB图像特征映射直接结合,而不产生投影损失。
直接处理原始点云成为可能,而不需要任何投影或体素化。将点与特征映射直接结合作为融合输入。
直接对三维点进行连续卷积,同时检索更深层次的语义特征,而不是图像特征作为图像输入。主要的比例体现在这两个方面。
1)在语义分割监督下学习的特征在表示图像时通常更具有表现力和紧凑性
2)可以得到齐次变换矩阵,可以建立二维掩模与三维点之间的关系
为了融合点云数据和图像掩模,将激光雷达点通过齐次变换投影到图像平面,建立两者之间的3D-2D映射。
融合模块从图像分支提取图像特征图和伪激光雷达点云,从点云分支提取BEV。然后将这些输入信息融合在一起进行三维目标检测。
融合输入的研究在于力求将点云投影或体素化过程中产生的信息损失最小化。力求充分利用图像数据的丰富性。
roi级融合只融合选定目标区域的特征,而不是特征图上密集位置的特征。因此,roi级融合通常在相对较晚的阶段进行(即3D区域提案生成阶段之后)。这种融合粒度发生在对每个视图应用RoI-pooling以获得相同长度的特征向量时.roi级别的融合限制了神经网络在早期阶段捕获跨通道交互的能力。为了克服这个缺点,roillevel融合常常与其他融合粒度相结合,以进一步细化提议
体素化的点云数据通常被投影到图像平面上,这样我们就可以将图像特征附加到每个体素上,如图22所示。
这里,我们在体素特征和图像特征之间建立了一个相对近似的对应关系。具体来说,我们通过摄像机投影矩阵将每个体素特征中心投影到图像平面上。在图像域中获得一个参考点后,将相应的图像特征附加到LiDAR体素特征分支。体素级融合会导致一定程度的信息丢失,这是由于体素化过程中的空间信息丢失和相机特征映射的不平滑造成的。为了解决这一问题,可以通过插值投影结合相邻的图像特征像素来修正空间偏移,从而实现体素与图像特征的更精确对应。[85,187]。此外,我们可以探索交叉注意机制,使每个体素感知整个图像域,并自适应地关注相应的二维特征,而不是采用一对一的匹配模式。
点级融合通常是早期融合,其中每个3D点通过图像特征或掩膜聚合,以捕捉密集的上下文。通过将相应的图像特征或掩模“提升”到三维点的坐标,点级融合为每个三维点提供了一个额外的通道。具体来说,我们使用已知的变换矩阵将3D点投影到2D图像像素上,从而建立3D-2D映射。接下来,我们可以通过映射索引用相应的图像蒙版装饰点或体素特征。图23概述了这个过程。点级融合的突出优点是能够从两种模式中总结有用的信息,因为图像特征在非常早期的阶段就被连接起来。与上述两种融合粒度级别相比,我们可以简单地建立密集图像与稀疏点云之间的对应关系,而不存在模糊问题。
缺点:
a%5Ctypora-user-images%5Cimage-20231204220328481.png&pos_id=img-p92DNlas-1701699352987)
点级融合通常是早期融合,其中每个3D点通过图像特征或掩膜聚合,以捕捉密集的上下文。通过将相应的图像特征或掩模“提升”到三维点的坐标,点级融合为每个三维点提供了一个额外的通道。具体来说,我们使用已知的变换矩阵[149]将3D点投影到2D图像像素上,从而建立3D-2D映射。接下来,我们可以通过映射索引用相应的图像蒙版装饰点或体素特征。图23概述了这个过程。点级融合的突出优点是能够从两种模式中总结有用的信息,因为图像特征在非常早期的阶段就被连接起来。与上述两种融合粒度级别相比,我们可以简单地建立密集图像与稀疏点云之间的对应关系,而不存在模糊问题。
综上所述,roi级别的融合是相当有限的,因为这种融合缺乏深层次的特征交互。后一种体素级和点级融合方法允许深度特征交换,有其自身的优点。然而,最近的一些研究表明,由于标定矩阵建立的点和像素之间的硬关联,这种方法很容易受到传感器不对中影响。
毫米波雷达具有射程远、成本低、抗干扰能力强等优点
如图25所示,自动驾驶汽车上安装的多个传感器来自不同的传感器坐标。这些传感器数据的对齐需要基于融合的方法。在自动驾驶系统中,不可避免的颠簸和抖动会导致校准良好的激光雷达-摄像机系统的外部参数发生变化。更糟糕的是,如果不及时纠正,错误会逐渐累积,最终影响感知结果。
在融合多模态数据时,由于投影、量化、特征毛刺等原因,不可避免地会丢失一定量的信息。在设计多模态融合网络时,需要注意融合操作的阶段、输入和粒度,以最大限度地减少信息损失。
融合阶段的选择会导致不同程度的信息丢失。较晚的融合阶段易于实现,但无法享受嵌入在原始数据或早期特征图中的丰富信息。考虑到问题的复杂性,在可能的情况下,确定最优的融合阶段来平衡信息丢失和易于实现是非常具有挑战性的。为此,一个可能的解决方案是考虑利用神经架构搜索(NAS)技术在管道中找到合适的融合阶段。它定义了搜索空间,然后设计了一种搜索算法来提出接近最优的神经结构。
由于数据投影或体素化的结果,融合输入的选择对信息丢失量有最大的影响。因此,重要的是找到合适的输入表示,尽可能保留丰富的几何和语义信息。
融合粒度的选择也会影响信息丢失的数量,例如,粗粒度的多模态数据对齐会导致特征模糊问题。
由于数据集中对象的数量有限,通常采用数据增强来保证高效学习和避免过拟合。现有的针对单个数据流的数据增强技术可以应用于深度融合方法,如对象剪切粘贴、随机翻转、缩放、旋转等。但是,为了在多个模式之间保持数据扩展的一致性,我们需要在数据元素(例如点或像素)之间构建细粒度的映射。不幸的是,增强操作通常选择在随机选择的对象上进行,因此在不同的模式中是不一致的。
未来,随着知识蒸馏的发展,利用激光雷达数据,利用大尺度、高标定的多模态数据,可以提取基于相机的探测器的三维几何信息。这种方法不仅可以实现精确的检测,而且可以降低系统成本。
目前在3D检测中比较流行的数据集存在以下问题:体积小、类别不平衡、标注错误。
由于三维视觉在自动驾驶等应用中的重要性日益增加,本文综述了最近的多模态三维目标检测网络,特别是融合相机图像和激光雷达点云的网络。我们首先仔细比较了常用的传感器,讨论了它们的优缺点,并总结了单模态方法的常见问题。然后,我们提供了几个常用的自动驾驶数据集的深入总结。为了提供一个系统的综述,我们根据多模态融合方法的选择,讨论了以下三个设计考虑因素:(1)融合阶段,即融合在管道中发生在哪里;(2)融合输入,即融合使用哪些数据输入;(3)融合粒度,即两个数据流在什么粒度级别上合并。最后,我们讨论了在多模态三维目标检测中开放的挑战和潜在的解决方案。
随着知识蒸馏的发展,利用激光雷达数据,利用大尺度、高标定的多模态数据,可以提取基于相机的探测器的三维几何信息。这种方法不仅可以实现精确的检测,而且可以降低系统成本。