题目:Perception-Aware Multi-Sensor Fusion for 3D LiDAR Semantic Segmentation
中文:用于 3D LiDAR 语义分割的多传感器感知融合
来源: ICCV 2021
链接:https://arxiv.org/abs/2106.15277v2
个人觉得有用的和自己理解加粗和()内表示,尽量翻译的比较全,有一些官方话就没有翻译了,一些疑惑的地方欢迎大家探讨。[]内引用的文献如果感兴趣,可以找到对应原文去寻找阅读,也可以一起探讨。
如果对整个领域比较了解 建议只用看一下 引言最后一段 + 第三章网络结构即可。可以打开右侧目录跳转~
3D LiDAR (光检测和测距) 语义分割对于许多应用 (例如自动驾驶和机器人技术) 在场景理解中很重要。例如,对于配备RGB摄像头和激光雷达的自动驾驶汽车,至关重要的是融合来自不同传感器的互补信息,以实现稳健和准确的分割。但是,由于两种模式之间的巨大差异,现有的基于融合的方法可能无法实现有前途的性能。在这项工作中,我们研究了一种称为多传感器感知融合perception-aware multi-sensor fusion (PMF)的协作融合方案,以利用两种模式的感知信息,即来自RGB图像的外观信息和来自点云的空间深度信息。为此,我们首先将点云投射到相机坐标上,为RGB图像提供空间深度信息。然后,我们提出了一个包含两个工作流(激光雷达流+相机流)的网络,分别从两种模态中提取特征,并通过有效的基于残差的融合模块融合特征。此外,我们提出了额外的感知感知损失来测量两种模态之间的感知差异。在两个基准数据集上进行的大量实验表明了我们方法的优越性。例如,在nuScenes上,我们的PMF通过在mIoU中0.8% 而优于最先进的方法。
语义场景理解是许多应用程序的基本任务,例如自动驾驶和机器人技术 [16,34,47,48]。具体来说,在自动驾驶的场景中,它为高级运动规划提供了细粒度的环境信息,并提高了自动驾驶汽车的安全性 [3,18]。语义场景理解中的重要任务之一是语义分割,它为输入数据中的每个数据点分配一个类标签,并帮助自动驾驶汽车更好地理解环境。
根据语义分割方法使用的传感器,最近的研究可以分为三类:只用相机的方法 [2, 9, 10, 35, 58],只用激光雷达的方法 [1, 13, 26, 54, 62] 和多传感器融合方法 [30、37、39、52、59]。借助大量开放访问数据集 [6,12,14],仅相机方法取得了很大进展。由于相机获得的图像具有丰富的外观信息(例如,纹理和颜色),因此仅相机方法可以提供细粒度和准确的语义分割结果。然而,作为被动传感器,相机容易受到光照条件变化的影响,因此不可靠 [50]。为了解决这个问题,研究人员对 LiDAR 的点云进行了语义分割。与仅使用相机的方法相比,仅使用 LiDAR 的方法对不同的光照条件更加稳健,因为 LiDAR 可提供有关物理世界的可靠且准确的空间深度信息。不幸的是,由于点云的稀疏和不规则分布,仅 LiDAR 的语义分割具有挑战性。(相机和激光都有各自的缺点)
此外,点云缺乏纹理和颜色信息,导致仅激光雷达方法的细粒度分割任务存在较高的分类误差。解决仅摄像机和仅激光雷达方法的两个缺点的简单解决方案是融合来自两个传感器的多模态数据,即多传感器融合方法。尽管如此,由于RGB相机和激光雷达之间存在较大的领域差距,多传感器融合仍然是一项艰巨的任务。
在多传感器融合方法中,融合来自不同传感器的多模态数据是一个重要问题。现有的基于融合的方法[37、52]主要使用球面投影[40]将密集的图像特征投影到LiDAR坐标,并在稀疏的LiDAR域中进行特征融合。然而,这些方法有一个关键的局限性:由于点云非常稀疏,RGB 图像的大部分外观信息在投影到 LiDAR 坐标后都丢失了。例如,如图1(c)所示,图像中的汽车和摩托车因球面投影而变形。因此,现有的基于融合的方法难以从投影的 RGB 图像中捕获外观信息。
在本文中,我们旨在开发一种有效的多传感器融合方法。与现有方法 [37、52] 不同,我们假设并强调来自 RGB 图像和点云的感知信息,即来自图像的外观信息和来自点云的空间深度信息,在基于融合的语义分割中很重要。基于这种直觉,我们提出了一种感知多传感器融合(PMF)方案,该方案从三个方面对来自两种数据模态的感知信息进行协同融合。首先,我们提出了一种透视投影,将点云投影到相机坐标系,以获得 RGB 图像的额外空间深度信息。其次,我们提出了一个包含相机流和激光雷达流的双流网络 (TSNet),以分别从多模态传感器中提取感知特征。考虑到来自图像的信息在室外环境中不可靠,我们通过有效的基于残差的融合(RF)模块将图像特征融合到 LiDAR 流中,这些模块旨在学习原始 LiDAR 模块的互补特征。第三,我们提出感知损失来衡量两种数据模式之间巨大的感知差异,并促进不同感知信息的融合。具体来说,如图2所示,相机流和LiDAR流捕获的感知特征是不同的。因此,我们使用置信度较高的预测来监督置信度较低的预测。
我们的贡献总结如下。首先,我们提出了一种感知的多传感器融合 (PMF) 方案,以有效地融合来自RGB图像和点云的感知信息。其次,通过融合来自点云的空间深度信息和来自RGB图像的外观信息,PMF能够解决不希望的光照条件和稀疏点云的分割问题。更关键的是,PMF通过整合来自点云的信息,对RGB图像的对抗性样本具有鲁棒性。第三,我们将感知感知损失引入网络,并迫使网络从两个不同的模态传感器捕获感知信息。在两个基准数据集上进行的大量实验证明了我们方法的卓越性能。例如,在nuScenes [7] 上,通过在mIoU中0.8%,PMF的性能优于Cylinder3D [64],这是一种最先进的仅激光雷达方法。
仅相机的语义分割旨在预测2D图像的像素标记。FCN [35] 是语义分割的基础工作,它提出了一种基于图像分类网络的端到端全卷积体系结构。除FCN外,最近的工作还通过探索多尺度信息 [9,31,63],扩张卷积 [10,38,53] 和注意机制 [27,58] 获得了重大改进。然而,仅相机的方法容易受到照明 (例如,曝光不足或曝光过度) 的干扰,并且可能对室外场景不具有鲁棒性。
为了解决摄像头的缺点,激光雷达是自动驾驶汽车上的重要传感器,因为它对更复杂的场景具有鲁棒性。根据预处理流水线,现有的点云方法主要包含两类,包括直接方法 [26,44,45,64] 和基于投影的方法 [13,54,55,56]。直接方法通过直接处理原始3D点云来执行语义分割。PointNet [44] 是该类别中的一项开创性工作,通过多层感知提取点云特征。随后的扩展,即 PointNet++ [45],进一步聚合了多尺度采样机制以聚合全局和局部特征。然而,这些方法没有考虑室外场景中点云的不同稀疏性。 Cylinder3D [64] 通过使用 3D 圆柱分区和非对称 3D 卷积网络解决了这个问题。然而,直接方法具有较高的计算复杂度,这限制了它们在自动驾驶中的适用性。基于投影的方法更有效,因为它们将 3D 点云转换为 2D 网格。在基于投影的方法中,研究人员专注于开发有效的投影方法,例如球面投影 [40、54] 和鸟瞰投影 [62]。这种 2D 表示允许研究人员研究基于现有 2D 卷积网络的高效网络架构 [1、13、21]。除了基于投影的方法之外,还可以通过现有的神经架构搜索 [8、22、42] 和模型压缩技术 [23、33、57] 轻松提高网络效率。
为了利用相机和激光雷达的优势,最近的工作试图融合来自两个互补传感器的信息,以提高3D语义分割算法的准确性和鲁棒性 [30,37,39,52]。RGBAL [37] 将RGB图像转换为极坐标网格映射表示,并设计早期和中级融合策略。PointPainting [52] 获得图像的分割结果,并通过使用鸟瞰投影 [62] 或球形投影 [40] 将其投影到激光雷达空间。将投影的分割分数与原始点云特征相连接,以提高激光雷达网络的性能。与在LiDAR域中执行特征融合的现有方法不同,PMF利用了相机坐标中多峰数据的协作融合。
在这项工作中,我们提出了一种感知感知多传感器融合 (PMF) 方案,以对来自RGB图像和点云的感知信息进行有效融合。具体来说,如图3所示,PMF包含三个组成部分 :( 1) 透视投影; (2) 具有基于残差的融合模块的双流网络 (TSNet); (3) 感知感知损失。PMF的一般方案如算法1所示。我们首先使用透视投影将点云投影到相机坐标系。然后,我们使用包含相机流和激光雷达流的双流网络分别从两种模态中提取感知特征。来自相机流的特征通过基于残差的融合模块融合到激光雷达流中。最后,我们将感知感知损失引入网络优化中。
小知识图片里的 w.r.t. :with respect to 关于
现有方法 [37,52] 主要使用球面投影将图像投影到激光雷达坐标系。但是,由于点云的稀疏性质,来自图像的大多数外观信息都随球形投影而丢失 (请参见图1)。为了解决这个问题,我们提出了透视投影,将稀疏点云投影到相机坐标系。
{P,X,y} 是来自给定数据集的训练样本。分别是点云、图像、点云的标签。
表示来自激光雷达的点云,N表示点数。点云P中的每个点Pi由3D坐标 (x,y,z) 和反射率值 (r) 组成。
是来自RGB相机的图像,其中H和W分别表示图像的高度和宽度。
是点云P的语义标签集。
在透视投影中,我们旨在将点云 P 从 LiDAR 坐标投影到相机坐标以获得 2D LiDAR 特征。这里,C 表示投影点云的通道数。根据[17]的思想 ,我们通过将第四列附加到 Pi 获得,并通过下面的公式计算相机坐标中的投影点
是从激光雷达坐标到相机坐标的投影矩阵。R是旋转矩阵,T和R可以通过[19]中的方法获得。随后,投影图像中的对应像素 (h,w)可以通过 和获得。
由于点云很稀疏,投影图像可能没有对应的点云p。因此,我们首先让所有点初始化为0。根据[13], 对于每个投影图像像素点(h,w),我们计算5个通道的雷达特征(d,x,y,z,r),。
由于图像和点云是不同模态的数据,因此很难使用单个网络处理来自两种模态的两种类型的信息 [30]。受 [15, 49] 的启发,我们提出了一个包含相机流和 LiDAR 流的双流网络 (TSNet),分别处理来自相机和 LiDAR 的特征,如图3所示。通过这种方式,我们可以使用为图像和点云设计的网络架构作为 TSNet 中每个流的主干。
令和M分别为TSNet中的激光雷达流和摄像机流(之后也都是这么定义的,带~都指代的是相机,整体上是个很并行的网络,只有融合模块有交集)。令和为输出概率。每个网络,其中S表示语义类的数量。TSNet的输出为
由于图像的特征包含许多物体的细节,因此我们引入了一个基于残差的融合模块,将图像特征融合到 LiDAR 流中。如图 4 (补充了公式对应的位置)所示,。设是来自相机流的一组图像特征,其中 l 表示我们在其中获取特征的层。表示相机流中第l层的通道数。 和 分别表示第 l 层特征图的高度和宽度。设为来自 LiDAR 流的特征,其中表示 LiDAR 流中第 l 层的通道数。为了获得融合特征,我们首先连接来自每个网络的特征并使用卷积层来减少融合特征的通道数。融合特征由下式计算
其中 [· ; ·] 表示串联操作。fl(·) 是卷积运算关于第l个融合模块。
考虑到相机容易受到不同光照和天气条件的影响,RGB 图像的信息在室外环境中并不可靠。我们使用融合的特征作为原始 LiDAR 特征的补充,并基于残差结构设计融合模块 [24]。结合attention module [5], 融合模块的输出特征
σ是sigmoid,表示attention模块中的卷积操作,⊙表示逐元素乘法运算。
(这里图四对应的是图三黄色部分,根绝图三示意,l应该就是3,也就是分层进行融合操作)
感知感知损失的构建在我们的方法中非常重要。如图 2 所示,由于点云非常稀疏,LiDAR 流网络仅学习点的局部特征而忽略了物体的形状。相比之下,相机流可以很容易地从密集的图像中捕捉到物体的形状和纹理。换句话说,相机流和 LiDAR 流捕获的感知特征是不同的。凭借这种直觉,我们引入了感知损失,使融合网络专注于来自相机和 LiDAR 的感知特征。
为了测量激光雷达流中置信度,我们首先通过计算熵映射
根据[46]思想,我们使用logS来归一化熵到(0,1]。激光雷达的置信度,同理相机流的置信度。
(熵:越平均可能性越大、熵越大,这里衡量的是结果分布情况。也就是说我们希望某个像素点的分类结果集中在某一个标签上,因此熵会很小,因此归一化后希望趋近于0,而置信度就是趋近于1。自己的疑问,熵这里为什么不能是0呢)
注意到不是所有的相机流的信息都是有用的。例如,相机流在对象内部是有信心的,但可能会在边缘出错。(中间比较准边缘测可能比较差)此外,置信度分数较低的预测结果更容易出错。结合置信度阈值,我们通过以下方式衡量摄像机流中感知信息的重要性
这里 τ 表示置信度阈值。
受 [25, 28, 61] 的启发,为了从相机流中学习感知信息,我们构建了激光雷达流的预测感知损失
其中 Q = H · W 和 表示 KullbackLeibler 散度。
(这里个人理解是,假设目前相机的置信度比较高(超过了阈值),同时激光雷达的置信度没这么高,此时就加到了中,这里相当于是mask。因此会优化激光流网络,让结果向着和相机流的置信度优化)。
除了感知损失外,我们还使用了现有分割工作中常用的multi-class focal loss [32] 和Lov´asz-softmax loss [4] 来训练激光雷达流。
和分别是multi-class focal loss和Lov´asz-softmax loss,和是超参数。
原文没有写具体公式这里简单讲解一下
虽然我看不懂但是大家肯定没问题的,大概就是说这两种loss比一般的交叉熵要好一点。可能优化的更快一点,或者结果更准一点。还有几个其他的损失函数 可以来看下别人的知乎总结深度学习 - 损失函数 - 知乎
第三个loss就是刚才的预测感知损失。
——————————————————————————接下来是一样的
与激光雷达流类似,我们构造了用于优化相机流的目标。
(原文中的算法放在了最后这里,再来看一遍这个算法就可以看懂了,不过最后步骤6中的更新,感觉是用两个loss分别更新两个流的网络。)
大佬们下边其实就不用看了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在本节中,我们根据经验评估 PMF 在基准数据集上的性能,包括 SemanticKITTI [3] 和 nuScenes [7]。 SemanticKITTI 是一个基于 KITTI Odometry Benchmark [18] 的大规模数据集,提供 43,000 次带有逐点语义标注的扫描,其中 21,000 次扫描(序列 00-10)可用于训练和验证。该数据集有 19 个语义类,用于评估语义基准。 nuScenes 包含 1,000 个具有不同天气和光照条件的驾驶场景。场景分为 28,130 个训练帧和 6,019 个验证帧。与只提供前视摄像头图像的 SemanticKITTI 不同,nuScenes 有 6 个摄像头用于 LiDAR 的不同视角。
我们在 PyTorch [43] 中实现了所提出的方法,并分别使用 ResNet-34 [24] 和 SalsaNext [13] 作为相机流和 LiDAR 流的主干。因为我们处理相机坐标中的点云,所以我们将 ASPP [9] 纳入 LiDAR 流网络以自适应调整感受野。为了利用现有图像分类模型的优势,我们使用来自 [43] 的预训练 ImageNet 模型初始化 ResNet-34 的参数。我们还采用混合优化方法 [60] 来训练网络 w.r.t.不同的模态,即 SGD 和 Nesterov [41] 用于相机流,Adam [29] 用于 LiDAR 流。我们在两个基准数据集上训练网络 50 个时期。学习率从 0.001 开始,并使用余弦策略衰减到 0 [36]。我们在 SemanticKITTI 上将批量大小设置为 8,在 nuScenes 上将批量大小设置为 24。我们将 τ、γ、λ 分别设置为 0.7、0.5 和 1.0。3 为了防止过度拟合,使用了一系列数据增强策略,包括随机水平翻转、颜色抖动、2D 随机旋转和随机裁剪。我们的源代码可在 https://github.com/ICEORY/PMF 获得。
为了评估我们在语义上的方法,我们将PMF与几种最先进的仅激光雷达方法 (包括SalsaNext [13],Cylinder3D [64] 等) 进行了比较。由于SemanticKITTI仅提供前视摄像机的图像,因此我们将点云投影到透视图,并仅保留图像上的可用点以构建SemanticKITTI的子集。在 [13,28,64] 之后,我们使用序列08进行验证。其余序列 (00-07和09-10) 用作训练集。我们在数据集上评估了最先进的仅激光雷达方法的发布模型。由于SPVNAS [51] 没有发布其最佳模型,因此我们报告了最佳发布模型 (带有65G mac) 的结果。此外,我们在数据集上重新实现了两种最先进的基于融合的方法,即RGBAL [37] 和PointPainting [52]。
从表1中,PMF在基于投影的方法中获得了最佳性能。例如,PMF在mIoU中4.5% 优于SalsaNext。然而,通过在mIoU中1.0%,PMF的性能比最先进的3D卷积方法 (即Cylinder3D) 差。由于长距离感知对自动驾驶汽车的安全性也至关重要,因此我们还对SemanticKITTI进行了基于距离的评估。从图5中,由于点云在距离增加时变得稀疏,因此仅激光雷达的方法在长距离下会遭受很大的性能下降。相反,由于图像为远处的物体提供了更多信息,因此基于融合的方法在远距离上优于仅激光雷达的方法。具体地,当距离大于30米时,PMF实现最佳性能。这表明我们的方法更适合解决稀疏点云的分割问题。这种能力源于我们的融合策略,该策略有效地结合了RGB图像。
在 [64] 之后,为了在更复杂的场景中评估我们的方法,我们将PMF与nuScenes LiDAR-seg验证集上的最新方法进行了比较。实验结果如表2所示。注意,nuScenes的点云比SemanticKITTI的点云稀疏 (35k点/帧对125k点/帧)。因此,对于3D分割任务而言更具挑战性。在这种情况下,与LiDARonly方法相比,PMF达到了最佳性能。具体而言,PMF在mIoU中0.8% 优于Cylinder3D。此外,与最先进的2D卷积方法 (即SalsaNext) 相比,PMF在mIoU方面取得了4.7% 的改善。这些结果与我们的预期一致。由于PMF结合了RGB图像,因此我们的融合策略能够解决稀疏点云下这种具有挑战性的分割。
为了更好地理解 PMF 的优势,我们可视化了 PMF 在基准数据集上的预测。4从图 6 中可以看出,与 Cylinder3D 相比,PMF 在对象边缘实现了更好的性能。例如,如图 6 (d) 所示,PMF 分割的卡车具有更完整的形状。更关键的是,PMF 对不同的照明条件具有鲁棒性。具体来说,如图 7 所示,PMF 在更具挑战性的场景(例如夜晚)上优于基线。此外,如图 6 (e) 和图 7 (c) 所示,PMF 生成密集的分割结果,结合了相机和 LiDAR 的优点,这与现有的仅 LiDAR 和基于融合的方法有很大不同。
为了研究 PMF 在对抗样本上的稳健性,我们首先向图像插入额外的对象(例如,交通标志)并保持点云不变。5 此外,我们实施了一种仅限相机的方法,即 FCN [35] , 以 SemanticKITTI 为基线。请注意,我们在训练期间不使用任何对抗训练技术。如图 8 所示,仅相机方法很容易受到输入图像变化的影响。相比之下,由于 PMF 集成了可靠的点云信息,因此在特征融合过程中图像中的噪声减少,对模型性能的影响很小。
(这个感觉就是p图,然后说FCN仅图像的效果不好。感觉有一点点牵强,因为融合信息仅作为类似加强信息加到激光网络中,所以加入在激光中加入噪声,不知道结果。不过以前有一个想法,加入一辆车的涂装是马路颜色,纯视觉的能分辨出来的吗)
在本节中,我们评估 PMF 在 GeForce RTX 3090 上的效率。请注意,我们从两个方面考虑 PMF 的效率。首先,由于相机流的预测被融合到 LiDAR 流中,我们删除了相机流的解码器以加速推理。其次,我们的 PMF 建立在二维卷积之上,可以通过现有的推理工具包(例如 TensorRT)轻松优化。相比之下,Cylinder3D 是建立在 3D 稀疏卷积 [20] 上的,很难被 TensorRT 加速。我们在表 3 中报告了通过 TensorRT 优化的不同模型的推理时间。从结果来看,我们的 PMF 在 nuScenes 上实现了最佳性能,并且比 Cylinder3D 快 2.8 倍(22.3 毫秒对 62.5 毫秒)且参数更少。
我们研究了PMF的网络组件的影响,即透视投影,ASPP,基于残差的融合模块和感知感知损失。实验结果如表4所示。由于我们仅使用SemanticKITTI的frontview point云,因此我们使用官方发布的代码将SalsaNext训练为数据集的基线。比较表4中的第一行和第二行,与仅激光雷达输入的球形投影相比,透视投影仅实现0.4% 的mIoU改进。相比之下,对比第四和第五行,透视投影带来了比具有多模态数据输入的球形投影5.9% 的mIoU改进。从第三和第五线开始,我们的融合模块为融合网络带来了2.0% 的mIoU改进。此外,比较第五和第六行,感知感知损耗通过2.2% mIoU来提高网络性能。
为了研究感知感知损失的影响,我们在图9中可视化了有和没有感知感知损失的LiDAR流网络的预测。从结果来看,感知感知损失有助于激光雷达流从图像中捕获感知信息。例如,用感知感知损失训练的模型学习汽车的完整形状,而基线模型只关注点的局部特征。由于感知感知损失引入了RGB图像和点云之间的感知差异,因此可以有效地融合来自两种模态数据的感知信息。结果,我们的PMF生成了密集的预测,这些预测结合了图像和点云的好处。
在这项工作中,我们提出了一种用于 3D LiDAR 语义分割的感知感知多传感器融合方案。与在 LiDAR 坐标系中进行特征融合的现有方法不同,我们将点云投影到相机坐标系,以实现来自两种模态的感知特征的协同融合。此外,通过融合来自相机和 LiDAR 的互补信息,PMF 对复杂的室外场景具有鲁棒性。两个基准的实验结果表明了我们方法的优越性。未来,我们会将 PMF 扩展到自动驾驶中的其他具有挑战性的任务,例如目标检测。(为啥我感觉语义分割比目标检测更难)
整理不易,求点赞!