1.ECCV两年一次,是计算机视觉三大会议(另外两个是ICCV和CVPR)之一
2.多模态传感器融合意味着信息互补、稳定和安全,长期以来都是自动驾驶感知的重要一环。然而信息利用的不充分、原始数据的噪声及各个传感器间的错位(如时间戳不同步),这些因素都导致融合性能一直受限。本文全面调研了现有多模态自动驾驶感知算法,传感器包括LiDAR和相机,聚焦于目标检测和语义分割,分析超过50篇文献。同传统融合算法分类方法不同,本文从融合阶段的不同将该领域分类两大类、四小类。此外,本文分析了当前领域存在的问题,对未来的研究方向提供参考。
这是因为单模态的感知算法存在固有的缺陷[4, 26]。举个例子,一般激光雷达的架设位置是高于相机的[102],在复杂的现实驾驶场景中,物体在前视摄像头中可能被遮挡,此时利用激光雷达就有可能捕获缺失的目标。但是由于机械结构的限制,LiDAR在不同的距离有不同的分辨率,而且容易受到极端恶劣天气的影响,如暴雨等。虽然两种传感器单独使用都可以做的很出色,但从未来的角度出发,LiDAR和相机的信息互补将会使得自动驾驶在感知层面上更安全。
近期,自动驾驶多模态感知算法获得了长足的进步[15,77,81],从跨模态的特征表示、更可靠的模态传感器,到更复杂、更稳定的多模态融合算法和技术。然而,只有少数的综述[15, 81]聚焦于多模态融合的方法论本身,并且大多数文献都遵循传统分类规则,即分为前融合、深度(特征)融合和后融合三大类,重点关注算法中特征融合的阶段,无论是数据级、特征级还是提议级。这种分类规则存在两个问题:首先,没有明确定义每个级别的特征表示;其次,它从对称的角度处理激光雷达和相机这两个分支,进而模糊了LiDAR分支中提级级特征融合和相机分支中数据级特征融合的情况[106]。总结来说,传统分类法虽然直观,但已经不适用于现阶段多模态融合算法的发展,一定程度上阻碍了研究人员从系统的角度进行研究和分析。
常见的感知任务包括目标检测、语义分割、深度补全和预测等。本文重点关注检测和分割,如障碍物、交通信号灯、交通标志的检测和车道线、freespace的分割等。自动驾驶感知任务如下图所示:
常用的公开数据集主要包含KITTI、Waymo和nuScenes,下图汇总了自动驾驶感知相关的数据集及其特点。
多模态融合离不开数据表达形式,图像分支的数据表示较简单,一般均指RGB格式或灰度图,但激光雷达分支对数据格式的依赖度较高,不同的数据格式衍生出完全不同的下游模型设计,总结来说包含三个大方向:基于点、基于体素和基于二维映射的点云表示。
传统分类方法将多模态融合分为以下三种:
1.前融合(数据级融合)指通过空间对齐直接融合不同模态的原始传感器数据。
2.深度融合(特征级融合)指通过级联或者元素相乘在特征空间中融合跨模态数据。
3.后融合(目标级融合)指将各模态模型的预测结果进行融合,做出最终决策。
本文则采用下图的分类方式,整体分为强融合和弱融合,强融合进一步细分为:前融合、深度融合、不对称融合和后融合。
本文使用KITTI的3D检测任务和BEV检测任务横向对比各个多模态融合算法的性能,下图是BEV检测测试集的结果:
下图是3D检测测试集的结果:
根据激光雷达和相机数据表示的不同组合阶段,本文将强融合细分为:前融合、深度融合、不对称融合和后融合。如上图所示可以看出,强融合的每个子模块都高度依赖于激光雷达点云,而不是相机数据。
与传统的数据级融合定义不同,后者是一种在原始数据级别通过空间对齐和投影直接融合每种模态数据的方法,早期融合在数据级别融合LiDAR 数据和数据级别的相机数据或特征级。早期融合的一个例子可以是图4中的模型。
与传统分类方法定义的前融合不同,本文定义的前融合是指在原始数据级别通过空间对齐和投影直接融合各个模态数据的方法,前融合在数据级指的是融合激光雷达数据,在数据级或特征级融合图像数据,示意图如下:
在LiDAR分支,点云具有多种表达形式,如反射图、体素化张量、前视图/距离视图/BEV视图以及伪点云等等。虽然这些数据结合不同主干网络都有不同的内在特征,但是除了伪点云之外[79],大多数数据都是通过一定的规则处理生成。此外,相比于特征空间嵌入,LiDAR的这些数据都有很强的可解释性,均可以直接可视化。
在图像分支,严格意义上的数据级定义应该是RGB或灰度图,但是这种定义缺乏通用性和合理性。因此本文扩展了前融合阶段的图像数据的数据级定义,包含数据级和特征级数据。值得一提的是,本文将语义分割预测结果也作为前融合的一种(图像特征级),一是因为有利于3D目标检测,二是因为语义分割的“目标级”特征与整个任务的最终目标级提议不同。
深度融合,也称特征级融合,是指在激光雷达分支的特征级融合多模态数据,但在图像分支的数据集和特征级进行融合。例如一些方法使用特征提举起分别获取LiDAR点云和图像的嵌入表示,并通过一系列下游模块融合两种模态的特征[32, 102]。然而,与其他强融合不同的是,深度融合有时会以级联方式融合特征[4, 32, 46],这两者都利用了原始和高级语义信息。示意图如下:
后融合,也可叫作目标级融合,指的是对多个模态的预测结果(或proposal)进行融合。例如,一些后融合方法利用LiDAR点云和图像的输出进行融合[55]。两个分支的proposal的数据格式应与最终结果一致,但是质量、数量和精度存在一定差异。后融合可以看作是一种多模态信息优化最终proposal的集成方法,示意图如下所示:
强融合的最后一种是不对称融合,指的是融合一个分支的目标级信息和其他分支的数据级或特征级信息。上述三种融合方法将多模态的各个分支平等对待,不对称融合则强调至少有一个分支占据主导地位,其他分支则提供辅助信息预测最终结果。下图是不对称融合的示意图,在proposal阶段,不对称融合只有一个分支的proposal,而后融合则是所有分支的proposal。
与强融合的区别在于,弱融合方法不直接从多模态分支中融合数据、特征或者目标,而是以其他形式处理数据。下图展示了弱融合算法的基本框架。基于弱融合的方法通常使用基于一定规则的方法来利用一种模态的数据作为监督信号,以指导另一种模态的交互。例如,图像分支中来自CNN的2D proposal可能会导致原始LiDAR点云中出现截断,弱融合直接将原始LiDAR 点云输入到 LiDAR 主干中以输出最终的proposal[60]。
还有一些工作不属于上述任何一种范式,因为它们在模型设计的框架中使用了多种融合方式,例如[39]结合了深度融合和后融合,[77]则结合了前融合。这些方法不是融合算法设计的主流方式,本文统一归为其他融合方式。
近年来,用于自动驾驶感知任务的多模态融合方法取得了快速进展,从更高级的特征表示到更复杂的深度学习模型 [15, 81]。然而,还有一些悬而未决的问题有待解决,本文总结了如下几个未来可能的改进方向 。
当前的融合模型存在错位和信息丢失的问题[13,67,98]。此外,平融合(flat fusion)操作 [20, 76] 也阻碍了感知任务性能的进一步提高。总结如下:
1.错位和信息丢失:相机和LiDAR的内外在差异很大,两种模态的数据需要进行坐标对齐。传统的前融合和深度融合方法利用标定信息将所有LiDAR点直接投影到相机坐标系,反之亦然[54,69,76]。然而由于架设位置、传感器噪声,这种逐像素的对齐是不够准确的。因此,一些工作[90]利用周围信息进行补充以获取更好的性能。此外,在输入和特征空间的转换过程中,还存在一些其他信息的丢失。通常,降维操作的投影不可避免地会导致大量信息丢失,如将3D LiDAR点云映射为2D BEV图像中则损失了高度信息。因此,可以考虑将多模态数据映射到另一种专为融合设计的高维空间,进而有效的利用原始数据,减少信息损失。
2.更合理的融合操作:当前许多方法使用级联或者元素相乘的方式进行融合[69, 77]。这些简单的操作可能无法融合分布差异较大的数据,因此难以拟合两个模态间的语义红狗。一些工作试图使用更复杂的级联结构来融合数据并提高性能[12,46]。在未来的研究中,双线性映射[3,25,38]等机制可以融合具有不同特点的特征,也是可以考虑的方向。
前视单帧图像是自动驾驶感知任务的典型场景[26]。然而,大多数框架只能利用有限的信息,并未详细设计辅助任务来促进驾驶场景的理解。总结如下:
1.采用更多的潜在信息:现有方法[81]缺乏对个维度和来源的信息的有效利用。大多数都将精力放在前视图中的单帧多模态数据上。这就导致其他有意义的数据并未被充分利用,例如语义、空间和场景上下文信息。一些工作[20, 76, 90]尝试使用语义分割结果辅助任务,而其他模型则有可能利用CNN主干的中间层特征。在自动驾驶场景中,许多具有显式语义信息的下游任务可能会极大的提高目标检测性能,例如车道线、交通灯和交通标志的检测。未来的研究可以结合下游任务,共同构建一个完整的城市场景的语义理解框架,来提升感知性能。此外,[63]结合了帧间信息提升性能。时间序列信息包含序列化的监控信号,与单帧方法相比,它可以提供更稳定的结果。因此,未来的工作可以考虑更深入地利用时间、上下文和空间信息来实现性能突破。
2.自监督表征学习:互相监督的信号自然存在于从同一个真实世界场景但不同角度采样的跨模态数据中。然而,由于缺乏对数据的深入理解,目前的方法还无法挖掘各个模态间的相互关系。未来的研究可以集中在如何利用多模态数据进行自监督学习,包括预训练、微调或者对比学习。通过这些最先进的机制,融合算法将加深模型对数据更深层次的理解,同时取得更好的性能。
域偏差和分辨率与现实世界的场景和传感器高度相关[26]。这些缺陷阻碍了自动驾驶深度学习模型的大规模训练和实时。
1.域偏差:在自动驾驶感知场景中,不同传感器提取的原始数据伴随着严重的领域相关特征。不同的摄像头有不同的光学特性,而LiDAR可能会从机械结构到固态结构而有所不同。更重要的是,数据本身会存在域偏差,例如天气、季节或地理位置[6,71],即使它是由相同的传感器捕获的。这就导致检测模型的泛化性受到影响,无法有效适应新场景。这类缺陷阻碍了大规模数据集的收集和原始训练数据的复用性。因此,未来可以聚焦于寻找一种消除域偏差并自适应集成不同数据源的方法。
2.分辨率冲突:不同的传感器通常有不同的分辨率[42, 100]。例如,LiDAR的空间密度明显低于图像的空间密度。无论采用哪种投影方式,都会因为找不到对应关系而导致信息损失。这可能会导致模型被一种特定模态的数据所主导,无论是特征向量的分辨率不同还是原始信息的不平衡。因此,未来的工作可以探索一种与不同空间分辨率传感器兼容的新数据表示系统。
深度学习模型仅限于输入的表达形式。为了实现该模型,我们需要在将数据输入模型之前,通过一个复杂的特征提取器对原始数据进行预处理。因此,我们首先介绍了激光雷达和图像数据的表达形式,并将在后面讨论融合方法和模型。
对于图像分支,大多数现有方法保持与下游模块输入的原始数据相同的格式。然而,激光雷达分支高度依赖于数据格式,数据格式强调不同的特性,并对下游模型设计产生巨大影响。因此,我们将其总结为基于点、基于体素和基于2D映射的点云数据格式,以适应不同的深度学习模型。
作为2D或3D目标检测和语义分割任务中最常用的数据采集传感器,单目摄像头提供了丰富纹理信息的RGB图像。具体而言,对于每个图像像素as(u,v),其具有多通道特征向量F(u,v)={R,G,B,…},其中通常包含摄像机捕获颜色分解的红、蓝、绿通道或其他手动设计的特征作为灰度通道。
然而,由于深度信息有限,单目摄像机难以提取,因此在三维空间中直接检测目标相对具有挑战性。因此,许多工作通过时空空间使用双目或立体相机系统来利用额外的信息进行三维物体检测,如深度估计、光流等。对于夜间或迷雾等极端驾驶环境,一些工作还使用门控或红外摄像头来提高鲁棒性。
至于3D感知传感器,激光雷达使用激光系统扫描环境并生成点云。它对世界坐标系中的点进行采样,该坐标系表示激光光线与不透明度曲面的交点。一般来说,大多数激光雷达的原始数据都是四元数(x、y、z、r),其中r表示每个点的反射率。不同的纹理会导致不同的反射率,这在多个任务中提供了额外的信息。
为了整合激光雷达数据,一些方法通过基于点的特征提取主干网络直接使用点的信息。然而,点的四元数表示存在冗余或速度缺陷。因此,许多研究人员试图在将点云输入下游模块之前,将其转换为体素或2D投影。
一些工作利用三维卷积神经网络,将三维空间离散为三维体素,表示为Xv={x1, x2, x3 … xn},其中每个xi表示为xi={si, vi}的特征向量。si代表体素化长方体的质心,vi代表一些基于统计的局部信息。
局部密度是由局部体素中3D点的数量定义的常用特征。局部偏移通常定义为点实词坐标和局部体素质心之间的偏移。其他可能包含局部线性和局部曲率。最近的工作可能会考虑一种更合理的离散化方法,即基于圆柱体的体素化,但与上面提到的基于点云的表示不同,基于体素的点云表示大大减少了非结构化点云的冗余度。此外,由于能够利用3D稀疏卷积技术,感知任务不仅可以实现更快的训练速度,还可以实现更高的准确性。
一些作品没有提出新的网络结构,而是利用复杂的2D CNN主干对点云进行编码。具体来说,他们试图将激光雷达数据作为两种常见类型投影到图像空间,包括相机平面图(CPM)和鸟瞰图(BEV)。通过将每个3D点(x, y, z)投影到相机坐标系(u, v)中,可以通过外部校准获得CPM。由于CPM具有与相机图像相同的格式,因此可以通过使用CPM作为附加通道来自然融合。然而,由于激光雷达投影后分辨率较低,CPM中许多像素的特征被破坏。因此,有人提出了一些方法来对特征图进行上采样,而其他方法则将其留空。
与直接将激光雷达信息投影到前视图像空间的CPM不同,BEV映射提供了从上方视角的场景视图。检测和定位任务使用它有两个原因。首先,与安装在挡风玻璃后面的摄像头不同,大多数激光雷达位于车辆顶部,遮挡较少。其次,所有目标都放置在BEV的地平面上,模型可以生成预测,而不会在长度和宽度上发生扭曲。BEV组件可能会有所不同。一些是直接从高度、密度或强度转换为基于点或基于体素的特征,而另一些是通过特征提取模块学习激光雷达信息的特征。