原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)
论文链接:https://arxiv.org/pdf/2207.04397.pdf
代码链接:https://github.com/yanx27/2DPASS
1提出背景
由于camera和激光雷达在自动驾驶中能够捕获一些互补信息,许多方法通过多模态数据融合方式进行语义分割。然而,基于融合的方法需要成对数据,即具有严格点到像素映射的激光雷达点云和2D图像,作为训练和推理阶段的输入,这严重阻碍了它们在实际场景中的应用。因此,论文提出了基于2D先验辅助语义分割(2DPASS)方法,这是一种通用的训练方案,用于促进点云上的表示学习。2DPASS充分利用了训练过程中有着丰富语义信息的2D图像,然后在没有严格paired数据约束的情况下进行语义分割。实践中,通过利用辅助模态融合和多尺度融合进行单知识提取(MSFSKD),2DPASS从多模态数据中获取更丰富的语义和结构信息,然后将这些信息提取到纯3D网络。基线模型显示,在配备2DPASS后,仅使用点云输入即可显著改善,在两个大规模公认基准(即SemanticKITTI和NuScenes)上达到了SOTA。
2应用需求
语义分割在大规模室外场景理解中起着至关重要的作用,在自动驾驶和机器人技术中有着广泛的应用[1-3]。在过去几年中,研究界投入了大量精力,使用相机图像[4-7]或激光雷达点云[2,8-12]作为输入来理解自然场景。然而,由于输入传感器的固有局限性,这些单模态方法在复杂环境中会遇到较多挑战。图像数据提供密集的颜色信息和细粒度纹理,但它们在深度传感方面不明确,在弱光条件下不可靠。相比之下,无论光照变化如何,激光雷达都能提供准确和广泛的深度信息,但只能捕获稀疏和无纹理的数据。由于摄像机和激光雷达能够相辅相成,因此最好使用两个传感器感知周围环境。
目前基于融合的方法仍存在以下不可避免的局限性:
1)由于摄像机和激光雷达之间的FOV(视野)不同,无法为图像平面外的点建立点到像素的映射,通常,激光雷达和摄像机的视场仅在一小部分重叠(如上图所示),这大大限制了基于融合的方法的应用;
2) 基于融合的方法在运行时同时处理图像和点云(通过多任务或级联方式),因此消耗了更多的计算资源,这给实时应用带来了很大负担;
为了解决上述两个问题,论文重点通过有效的设计,利用图像和点云来改进语义分割。考虑到传感器在场景中移动,与相同时间戳中的图像相对应的360度激光雷达点云的非重叠部分(参见图1中右侧部分的灰色区域)可以被来自其他时间戳的图像覆盖。此外,图像的密集和结构信息为可见和不可见的点云区域提供了有用的正则化。基于这些观察结果,我们提出了一种“与模型无关”的训练方案,即2D先验辅助语义分割(2DPASS),以增强任何3D语义分割网络的表示学习;
一方面,对于上述非重叠区域,2DPASS将纯点云作为输入来训练分割模型;另一方面,对于具有良好对齐点到像素映射的子区域,2DPASS采用辅助多模式融合来聚合每个尺度中的图像和点特征,然后将三维预测与融合预测对齐。与以前的跨模态对齐[17]容易污染模态特定信息不同,论文设计了一种多尺度融合到单知识提取(MSFSKD)策略,将额外知识转移到三维模型,并保留其模态特定能力。与基于融合的方法相比,论文的解决方案具有以下更好的特性:
1)通用性:它可以轻松地与任何三维分割模型集成,只需少量的结构修改;
2) 灵活性:融合模块仅在训练期间用于增强3D网络,训练后,增强的三维模型可以在没有图像输入的情况下部署;
3) 有效性:即使只有一小部分重叠的多模态数据,论文的方法也可以显著提高性能;
3网络结构设计
单模态方法
基于图像
基于图像的语义分割旨在预测输入2D图像的像素级标签。FCN[19]是语义分割领域的先驱,它提出了一种基于图像分类网络的端到端全卷积结构。最近的工作通过探索多尺度特征学习[4,20,21]、扩展卷积[5,22]和注意力机制[7,23]取得了显著的改进。然而,仅使图像的方法在深度传感方面不明确,在弱光条件下不稳定。
基于Lidar
激光雷达数据通常表示为点云。处理具有不同表示的点云有几种主流。
1) 基于点的方法使用逐点多层感知器(MLP)近似置换不变集函数。PointNet[24]是这一领域的先驱。后来,许多研究设计了基于点的MLP[25,26]、自适应权重[27,28]和伪网格[29,30]的方法来提取点云的局部特征,或利用非局部算子[31-33]来学习长距离依赖性。然而,基于点的方法在激光雷达场景中并不有效,因为它们的采样和分组算法通常很耗时。
2) 基于投影的方法是非常有效的激光雷达点云方法。一般将点云投影到2D像素上,使传统的CNN可以发挥正常作用。之前的工作通过平面投影[34-36]、球面投影[37、38]或两者[39]将旋转激光雷达扫描的所有点投影到2D图像上。然而,投影不可避免地会导致信息丢失。目前,基于投影的分割方法遇到了分割精度的瓶颈。
3) 最新的工作采用了基于体素的框架,因为它们平衡了效率和有效性,其中最常用的是稀疏卷积(SparseConv)[3]。与传统的基于体素的方法(即3DCNN)直接将所有点转换为三维体素网格相比,SparseConv仅将非空体素存储在哈希表中,并以更高效的方式仅对这些非空体素执行卷积运算。最近,许多研究使用SparseConv来设计更强大的网络架构。Cylinder3D[40]将原始网格体素更改为圆柱体体素,并设计非对称网络以提高性能。AF2-S3Net[41]应用具有不同内核大小的多个分支,通过注意力机制聚合多尺度特征。
4) 最近,出现了一种利用多表示融合方法的趋势。这些方法结合了上述多种表示(即点、投影图像和体素)和不同分支之间的设计特征融合。Tang等人[10]在每个稀疏卷积块中结合逐点MLP来学习点体素表示,并使用NAS搜索更高效的架构。RPVNet[42]提出了距离点体素融合网络,以利用来自三种表示的信息。然而,这些方法仅将稀疏和无纹理的激光雷达点云作为输入,因此未充分利用相机图像中的外观和纹理。
基于多模态方法
多传感器方法试图融合来自两个互补传感器的信息,并利用摄像机和激光雷达的优势[14、15、43、44]。RGBAL[14]将RGB图像转换为极坐标网格映射表示,并设计早期和中期融合策略。PointPainting[15]利用图像的分割逻辑,并通过鸟瞰图投影[23]或球面投影[45]将其投影到激光雷达空间,以提高激光雷达网络性能。最近,PMF[13]利用摄像机坐标系中两种模式的协作融合。然而,这些方法在训练和推理阶段都需要多传感器输入。此外,成对的多模态数据通常计算密集,在实际应用中不可用。
2DPASS
如上图所示,2DPASS首先从原始图像中裁剪出一小块patch作为2D输入。然后,裁剪后的图像面片和激光雷达点云分别通过2D和3D编码器,并行生成多尺度特征。然后,对于每个尺度,互补的二维知识通过多尺度融合到单知识蒸馏(MSFSKD)从而有效地转移到三维网络中(即充分利用纹理和颜色感知的二维先验知识,并保留原始的三维特定知识),最后3D任务通过解码器生成最终标签;
如上图所示,通过投影,2D和3D分支的预测由纯3D标签监督。在推理过程中,可以丢弃与2D相关的分支,与基于融合的方法相比,这在实际应用中有效地避免了额外的计算负担;
2Dencoder和3Dencoder结构如上图所示,(a)部分演示了2D特征生成,其中点云将首先投影到图像面片上,并生成点到像素(P2P)映射。然后,根据P2P映射将二维特征映射转换为逐点二维特征。(b)部分显示了三维特征生成。点到体素(P2V)映射很容易获得,体素特征将插值到点云上。点云在图像上的映射如下,其中K代表camera的内参,T代表外参:
MSFSKD
如下图所示,MSFSKD的内部结构包括模态融合和模态保持。其中2D特征和3D特征(通过2D Learner)进行融合,并通过两个MLP以及非线性映射对特征做点加,然后将输出特征和原2D特征进行融合,结合classifier,输出融合特征,3D部分则通过特征增强,结合classifier,输出3D预测结果,并在结果层面上做蒸馏;
2D和3D结果融合的表达方式如下:
蒸馏表达如下:
4实验结果
KITTI数据集上,语义分割结果,相同速度下,2DPASS大幅度超越PolarNet,相近性能下,2DPASS速度相比RPVNet和S3Net提升明显;
Nuscenes数据集上,性能优势明显:
5参考文献
[1] 2DPASS: 2D Priors Assisted Semantic Segmentation on LiDAR Point Clouds.ECCV2022.