论文阅读:AF2S3Net:Attentive Feature Fusion with Adaptive Feature Selection for Sparse Semantic

题目:(AF)2-S3Net: Attentive Feature Fusion with Adaptive Feature Selection for

Sparse Semantic Segmentation Network关注特征融合与自适应特征选择的稀疏语义分割网络

原文连接:https://arxiv.org/pdf/2102.04530v1.pdf

(加粗) 为自己的理解欢迎讨论交流~

0、摘要

自动驾驶机器人系统和自动驾驶汽车依赖于对周围环境的准确感知,因为乘客和行人的安全是重中之重。语义分割是道路场景感知的重要组成部分之一,它提供了周围环境的语义信息。近年来,针对三维激光雷达的语义分割提出了多种方法。虽然它们可以提高性能,但它们要么受到高计算复杂度的影响,因此效率低下,要么缺乏较小实例的细节信息。为了缓解这些问题,我们提出了,一种用于三维激光雷达语义分割的端到端编码器-解码器cnn网络。在编码器中提出了一种新颖的多分支关注特征融合模块,在解码器中提出了一种独特的自适应特征选择模块。我们的(AF)2-S3Net将基于体素的学习方法和基于点的学习方法融合成一个统一的框架,有效地处理大型3D场景。实验结果表明,该方法在大规模SemanticKITTI基准测试上的表现优于目前最先进的方法,在公开发布的排行榜上排名第一。(2021)

1、引言

了解周围环境一直是自主机器人系统最基本的任务之一。随着自动驾驶汽车等最新技术带来的挑战,在过去几年里,详细、准确地理解道路场景已经成为任何户外自动机器人系统的主要组成部分。为了获得可接受的道路场景理解水平,许多框架都受益于图像语义分割,其中输入图像中的每个像素都预测了特定的类,从而提供了场景的清晰视角。

虽然图像语义分割是实现自动驾驶汽车的重要步骤,但视觉传感器在光照条件差、传感器灵敏度变化、缺乏深度信息、视场(FOV)有限等方面的局限性,使得视觉传感器难以成为场景理解和语义分割的唯一主要来源。相比之下,光探测和测距(Light Detection and Ranging, LiDAR)传感器可以在高密度和帧率的情况下记录精确的深度信息,使其成为自动驾驶等关键任务的可靠信息来源。

激光雷达传感器通过扫描环境并计算发射激光束的飞行时间来生成点云。在这样做的过程中,激光雷达可以收集有价值的信息,如距离(例如,在笛卡尔坐标)和强度(从物体表面反射的度量)。激光雷达技术的最新进展使得从所需环境产生高质量、低噪声和密集扫描成为可能,使得使用激光雷达理解场景的任务成为可能。虽然信息丰富,但激光雷达数据通常采用非结构化格式,在远距离部分稀疏。这些特点使得使用激光雷达作为主要传感器来进行场景描述具有挑战性。尽管如此,在使用激光雷达的场景理解和具体的语义分割方面的研究,在过去的几年里,随着诸如semantic kitti[3]这样的数据集的可用性,已经看到了增长。

激光雷达数据的非结构化和部分稀疏性给语义分割带来了挑战。然而,研究人员已经付出了很大的努力来解决这些障碍,许多成功的方法已经在文献中提出(见第2节)。从使用投影技术受益于可用的2D计算机视觉技术的实时方法,到目标更高精度的全3D方法,有一系列的方法可以建立。为了更好地处理三维激光雷达点云,克服点密度不均匀和体素化步骤中颗粒信息丢失等局限性,我们提出了(AF)2-S3Net,该算法基于Minkowski Engine[8],以适应激光雷达点云中不同程度的稀疏性,在SemanticKITTI[3]上实现了最先进的语义分割方法。图1展示了与SalsaNext[9]和MinkNet42[8]相比,我们方法的定性结果。我们将我们的贡献总结为:

  • 一种端到端编码器-解码器3D稀疏CNN,实现了最先进的语义精度kitti基准[3];

  • 在编码器中引入多分支关注特征融合模块,学习全局上下文和局部细节;

  • 在解码器中引入自适应特征选择模块,通过特征映射重权来主动强调特征融合模块中的上下文信息,提高了算法的泛化能力;

  • 通过消融研究、定性和定量结果,在semanticKITTI[3]、nuScenes-lidarseg[5]和ModelNet40[33]三个基准上对我们的模型与现有方法相比的语义切分和分类性能进行了综合分析。

2、相关工作

2.1 二维语义切分

SqueezeSeg[31]是使用距离图像进行激光雷达语义分割的首批作品之一,其中激光雷达点云使用球面变换投影在二维平面上。SqueezeSeg[31]网络是一种基于全连接神经网络(FCNN)和条件随机场(CRF)作为循环神经网络(RNN)层的编码器-解码器。为了减少网络中的参数数量,SqueezeSeg整合了[14]中的“firemodule”。在随后的工作中,SqueezeSegV2[32]引入了上下文聚合模块(CAM)、细化损失函数和批处理归一化来进一步改进模型。SqueezeSegV3[34]站在[31,14]的肩膀上,采用了spatial - adaptive Convolution (SAC),在相对于输入图像的不同位置使用不同的滤波器。受YOLOv3[25]的启发,RangeNet++[21]使用DarkNet骨干网来处理距离图像。除了一个新颖的CNN, RangeNet++[21]提出了一种使用K-nearest neighbour (KNN)的快速实现来预测全点云标签的有效方法。

得益于新的2D投影,PolarNet[37]采用了一种不同的方法,使用极地鸟瞰视图(BEV),而不是标准的基于网格的2D BEV投影。此外,PolarNet使用PointNet封装了关于每个极网的信息,而不是使用手工制作的特征,从而产生了数据驱动的特征提取、最近邻无方法和平衡的网格分布。最后,在一个更成功的尝试中,SalsaNext[9]对SalsaNet[1]中引入的主干进行了一系列改进,如新的全局上下文块、改进的编码器-解码器和Lov´asz-Softmax loss[4],以实现使用距离图像输入的2D LiDAR语义分割的最先进的结果。

2.2 三维语义分割

大规模3D感知方法的分类由早期作品[6,20,23,29,39]开启,其中采用体素表示来大写普通的3D卷积。为了尝试直接处理非结构化点云,PointNet[22]提出了一种多层感知(Multi-Layer Perception, MLP)方法,在没有任何体素化的情况下从输入点提取特征。PointNet++[24]是对名义工作PointNet[22]的扩展,它引入了不同尺度的采样来提取局部和全局的相关特征。虽然该方法对较小的点云有效,但它依赖于Pointnet[22],其变化在处理大规模数据时速度较慢。

下采样是RandLA-Net[13]中提出的方法的核心。由于下采样随机去除特征,同时引入局部特征聚合模块,逐步增加每个三维点的接收域。将这两种技术结合起来,实现了大规模点云语义分割的高效和准确。在另一种方法中,Cylinder3D[38]使用圆柱网格来划分原始点云。为了提取特征,作者在[38]中引入了两个新的CNN块。该方法采用非对称残差块来保证长方体物体相关特征的保留,以及基于维数分解的上下文建模方法,将多个低秩上下文合并成适合于三维点云数据的高秩张量。

作者在KPConv[28]中引入了一种新的点卷积,在处理点云时不需要任何中间步骤。本质上,KPConv是一种卷积运算,将邻域中的点作为输入,用空间定位的权值对其进行处理。此外,还引入了一种可变形的卷积算子,该算子可以学习局部移动,使其适应点云几何形状。最后,MinkowskiNet[8]为时空三维点云数据引入了一种新的4D稀疏卷积,以及一个支持稀疏张量自动微分的开源库。总的来说,在我们考虑准确性和效率的地方,基于体素的方法,如MinkowskiNet[8]优于其他方法,在3D语义分割的所有子类别中都实现了最先进的结果。

2.3 混合方法

混合方法,即混合使用基于体素、基于投影和/或基于点的操作来处理点云,在过去很少被研究,但随着更有效的内存设计的可用性,在产生竞争结果方面越来越成功。例如,FusionNet[35]使用了一个基于体素的MLP,称为基于体素的迷你点网,它直接从邻近体素中的所有点聚合特征到目标体素。这使得FusionNet[35]能够以低复杂度搜索邻域,以可接受的性能处理大规模点云。在另一种方法中,3D- mininet[2]提出了一个基于学习的投影模块,从3D数据中提取局部和全局信息,然后将其提供给2D FCNN,以生成语义分割预测。MVLidarNet[7]采用了一种略微不同的方法,从距离图像的LiDAR语义分割中获益,以鸟瞰图的视角细化对象实例,展示了LiDAR语义分割在现实世界应用中的适用性。

最后,SPVNAS[27]构建在Minkowski引擎[8]的基础上,并设计了一种混合方法,使用4D稀疏卷积和逐点操作来实现最先进的LiDAR语义分割结果。为此,SPVNAS[27]中的作者使用了一种神经结构搜索(NAS)[18],基于他们新颖的稀疏点-体素卷积(SPVConv)操作高效地设计了一个神经网络。

3、提出的的方法

与室内场景点云相比,室外场景点云的稀疏性使得空间信息的提取较困难,室内场景点云的点数固定或基于密集的图像数据集。因此,在点密度不均匀、覆盖100米以上的大型驾驶场景中,很难利用基于室内场景或基于图像的分割方法获得良好的性能。大多数的激光雷达分割方法尝试将三维激光雷达点云通过球面投影(即透视、鸟瞰图)转化为二维图像,或者直接处理原始点云前一种方法舍弃了有价值的三维几何结构,同时由于投影过程而导致信息丢失。后一种方法需要大量的计算,在资源有限的受限系统中部署是不可行的。近年来,稀疏三维卷积技术在户外激光雷达语义分割任务中的应用得到了广泛的应用。然而,在[8,27]中提出的几种方法中,并没有提出先进的特征提取器来增强类似于计算机视觉和二维卷积的结果。

为了克服这个问题,我们提出了(AF)2-S3Net用于LiDAR语义分割,其中MinkNet42[8]的基线模型被转换为带有注意块的端到端编码器解码器,并获得了最先进的结果。在本节中,我们首先介绍提出的网络架构及其新组件,即AF2M和AFSM。然后介绍了网络优化,接着是训练细节。

3.1. 问题陈述

让我们考虑一个语义分割任务,其中一个LiDAR点云框架给定一组无序点(P, L) = ({pi, li}), , i = 1,…,N,其中N为输入点云扫描的点数。每个点pi包含din输入特征,即笛卡尔坐标(x, y, z),返回的激光束强度(i),颜色(R, G,B)等。在这里,表示每个点pi对应的ground真值标签。然而,在对象分类任务中,一个单独的类标签L被分配给包含P个点的单独场景。

我们的目标是学习函数,由Φ参数化,为点云中的所有点指定一个类标签L,或者换句话说,,将每个点标签分配给每个点。为此,我们提出(AF)2-S3Net来最小化预测标签(s),,以及ground truth类标签(s), L和li在分类和分割任务中的差异。

(这里好绕,应该就是给每个输入一个标签输出)

3.2 网络架构

本文方法的框图(AF)2S3Net如图2所示。(AF)2-S3Net由一个基于剩余网络的骨干网和两个新的模块组成,即注意力特征融合模块Attentive Feature Fusion module(AF2M)自适应特征选择模块Adaptive Feature Selection Module(AFSM)。该模型获取三维激光雷达点云,并将其转换为包含每个点对应的坐标和特征的稀疏张量。然后,利用(AF)2-S3Net对输入的稀疏张量进行处理,该算法基于适合稀疏点云的三维稀疏卷积运算,有效地预测了给定激光雷达扫描的每个点的类标签。

稀疏张量可以表示为,其中表示M坐标的输入坐标矩阵,表示其对应的特征矩阵,特征维数为K。在本文中,我们将点的三维坐标(x, y, z)作为我们的稀疏张量坐标C,将每个点的法向特征(nx, ny, nz)和返回激光束的强度(i)作为我们的稀疏张量特征f。利用法向特征可以帮助模型学习额外的方向信息,因此,通过对物体的精细细节进行微分,可以提高模型的性能。下面提供了对网络架构的详细描述。

(这里的输入是两部分拼起来C+F,C是前三个是x,y,z,F是三维的法向量和反射强度 ,所以输入Ps应该是N x 7)

注意特征融合Attentive Feature Fusion (AF2M)

为了更好地提取全局上下文,AF2M包含了一种混合方法,涵盖了小、中、大内核大小,分别关注基于点、基于中等尺度体素和基于大规模体素的特征。AF2M的框图如图2(左上)所示。本文提出的AF2M主要是利用g(·)在相应的分支上融合特征,定义为:

其中,α、β和γ为稀疏张量中每个点的特征列标度对应的系数,用函数处理,如图2所示。此外,引入注意残差∆,通过加入残差阻尼因子来稳定注意层hi(·),∀i∈{1,2,3}。这个阻尼因子是剩余卷积层π的输出。进一步,函数π可以表示为

最后,AF2M的输出由F(g(·))生成,F用于将稀疏张量尺度空间与下一个卷积块对齐。如图2(左上)所示,对于每个hi,∀i∈{1,2,3},相应的权重梯度whi可计算为:

其中J为f的输出,考虑到g(·)是特征¯x和∆串接的线性函数,我们可以将Eq. 3改写为:

其中,是softmax函数: 的雅可比矩阵,并将第i个输入特征列映射到第j个输出特征列,δ是Kronecker delta函数,其中。如式5所示,

当softmax输出S接近0时,趋近于0,这没有梯度,当S接近1时,梯度接近单位矩阵。因此,当S→1时,α、β、γ中的所有值都有很高的置信度,的更新为:

在S→0的情况下,更新梯度只依赖于π。图3进一步说明了提出的AF2M的能力,并突出显示了每个分支的视觉效果。

注意特征融合和点云空间展示图。三个标签ax1,bx2,和yx3表示AF2M编码器块中的分支。第一个分支,ax1学习捕捉和强调较小的实例,如人、杆和交通标志,在驾驶场景中有着变化的点云密度。较浅的分支,bx2和yx3,学习不同的注意力地图,这些地图集中在更大的场景中,如植被、人行道和路旁。

(说实话这里的梯度公式一大堆,我也没太看懂,话说方向传播不是自己算吗)

自适应特征选择模块Adaptive Feature Selection module (AFSM):

AFSM的框图如图2(右上角)所示。在AFSM解码器块中,对AF2M、x1、x2、x3中多个分支的特征映射进行残差卷积单元的进一步处理。将得到的输出,,串联起来,如图所示(维度变成了N*96),并传递到共享的挤压重权网络[12]中,在该网络中不同的特征层互相投票。这个模块就像一个自适应的dropout,它会有意地过滤掉一些对最终结果没有贡献的特征映射。我们使用阻尼因子θ = 0.35来正则化加权效应,而不是直接通过加权特征图作为输出。值得注意的是,将注意的特征融合模块分支连接到最后一个解码器块的skip连接,确保了误差梯度返回到编码器分支,以获得更好的学习稳定性。

(相当于有三部分了,一部分充当权值和原来的一部分加权相乘,这里说是投票,一部分直接加进来)

3.3 网络优化

我们利用了geo-aware anisotrophic[17]、Exponential-log loss[30]和Lov´asz损失[4]的线性组合来优化我们的网络。特别是,geo-aware anisotrophic损失有助于恢复激光雷达场景的细节。此外,Exponential-log loss在高度不平衡的数据集下。通过同时关注大、小结构来进一步提高分割性能。

geo-aware anisotrophic损失可以通过,

其中是ground truth标签和predicted标签。参数N是局部张量邻域,在我们的实验中,我们根据经验将其设置为5(一个10体素大小的立方体)。参数C是语义类,,在[17]中定义。我们归一化当前体素单元p和相邻体素网格滑动窗口Ψ内的局部几何各向异性

因此,训练所提网络的总loss为:

其中w1、w2、w3分别表示Exponentiallog loss[30]、geoaware anisotrophic和Lov´asz loss的权值。在我们的实验中,它们分别被设定为1、1.5和1.5。

4. 实验结果

实验结果基于SemanticKITTI、nuScenes和ModelNet40三个不同的数据集,以显示所提方法在不同场景和领域的适用性。至于SemanticKITTI和ModelNet40, (AF)2-S3Net是目前最先进的,但由于最近宣布的挑战nuscens -lidarseg数据集[5],我们提供了我们自己的评估结果对基线模型。

为了评估所提出方法的性能并与其他方法进行比较,我们利用平均相交于联合(mIoU)作为我们的评估指标。

对于训练参数,我们使用SGD优化器训练模型,动量为0.9,学习率为0.001,50个epoch的权值衰减为0.0005。实验使用8个Nvidia V100图形处理器进行。

4.1 定量评价

在本节中,我们在两个户外大型公共数据集SemanticKITTI[3]和nuScenes-lidarseg数据集[5]和ModelNet40[33]上对(AF)2-S3Net进行了定量评价。

SemanticKITTI dataset:

我们在最大的自动驾驶汽车激光雷达分割数据集SemanticKITTI[3]数据集上进行实验。该数据集基于[11]中引入的KITTI数据集,共包含21个序列共41000帧。我们在表1中列出了我们的实验和所有其他已发表的作品。如表1所示,我们的方法在以平均IoU计算的SemanticKITTI测试集上取得了最先进的性能。在我们提出的方法(AF)2-S3Net中,我们发现与第二最佳方法[27]相比有2.7%的改善,与基线模型(MinkNet42[8])相比有15.4%的改善。我们的方法主要用于分类小的物体,如自行车,人和摩托车,使其成为一个可靠的解决方案,以低估复杂的场景。值得注意的是,(AF)2-S3Net只使用体素化数据作为输入,而与之竞争的方法,如SPVNAS[27],既使用体素化数据,又使用逐点特征。

Nuscenes dataset:

为了证明我们所提出方法的通用性,我们使用nuSceneslidarseg数据集[5]训练我们的网络,[5]是最近可用的大型数据集之一,提供了LiDAR点云的点级标签。它包含了来自波士顿和新加坡不同地点的1000个驾驶场景,为推动自动驾驶汽车技术提供了一套丰富的数据。在这1000个场景中,850个场景用于训练和验证,剩下的150个场景用于测试。这些标签在某种程度上类似于语义kitti数据集[3],这使得提出能够很好地处理这两个数据集的方法成为一个新的挑战,因为它们记录数据集的传感器设置和环境不同。在表2中,我们将我们提出的方法与MinkNet42[8]基线和基于投影的方法SalsaNext[9]进行了比较。表2的结果表明,我们提出的方法可以处理nuScenes数据集中的小对象,与竞争方法相比有很大的改善。考虑到两个公共数据集之间的巨大差异,我们可以证明我们的工作可以很好地推广。

ModelNet40

为了扩展和评估所提方法在不同应用中的能力,采用三维对象分类数据集[33]的ModelNet40进行评估。ModelNet40包含来自40个不同对象类别的12,311个网格化CAD模型。从所有样本中,9,843个模型用于训练,2,468个模型用于测试。为了评估我们的方法与现有的心脏统计数据,我们将(AF)2-S3Net与使用单一输入(例如,单一视图,采样点云,体素)来训练和评估模型的技术进行了比较。为了使(AF)2-S3Net兼容于分类任务,去除网络的解码器部分,将编码器的输出直接重构为ModelNet40数据集中的类数。此外,该模型仅使用交叉熵损失进行训练。表3给出了我们提出的方法和之前的最新技术的总体分类精度结果。在我们的网络中引入AF2M后,我们取得了与利用细粒度局部特征的基于点的方法相似的性能。语义学

4.2.定性评价

在本节中,我们通过将缩放后的特征映射投影回原始点云来可视化AF2M中的注意图。此外,为了更好地展示对基线模型MinkNet42[8]和SalsaNext[9]所做的改进,我们提供了误差图,突出了我们方法的优越性能。

如图5所示,我们的方法能够捕捉场景中的细节。为了证明这一点,我们在SemanticKITTI上训练(AF)2S3Net,并将测试框架可视化。在图5中,我们分别用青色、橙色和绿色来突出显示αx1、βx2和γx3的每个比例特征图中特征模前5%的点。可以观察到,我们的模型学会了将注意力放在小的实例(如人、杆子、自行车等)和大的实例(如汽车、区域边界等)上。图4显示了SemanticKITTI(上)和nuScenes(下)基准测试的一些定性结果。可以看出,本文方法大大超过了基线(MinkNet42[8])和基于范围的SalsaNext[9],未能捕捉到汽车、植被等细节。

4.3 消融研究

为了展示在第3节中介绍的AF2M和AFSM以及其他设计选择(如损失功能)的有效性,本节将致力于从[8]中介绍的基线模型开始的全面消融研究。基线为MinkNet42,这是一个三维稀疏数据的语义分割残差神经网络模型。从一个训练良好的基线开始,我们使用指数对数损失[30]来训练模型,结果在语义kitti上验证集的mIoU精度为59.8%。

接下来,我们将我们提出的AF2M添加到基线模型中,以帮助模型从原始数据中提取更丰富的特征。AF2M的加入使mIoU提高到65.1%,增加了5.3%。在我们的第二项研究中,为了证明仅使用AFSM的有效性,我们首先将AF2M块减少到只输出{x1, x2, x3}(参考图2),然后将AFSM添加到模型中。添加AFSM后mIoU较基线增加3.5%。在改进神经网络模型的最后一步,我们将AF2M和AFSM结合在一起,如图2所示,mIoU为68.6%,比基线模型提高了8.8%。

最后,通过添加Lov´asz损失以及结合Lov´asz和geo-aware anisotrophic loss,研究了Lov´asz损失函数的影响,mIoU分别为70.2%和74.2%。消融研究表明,在(AF)2-S3Net的设计中有一系列适当的步骤,证明了所提出模型的设计步骤是有效的,可以单独用于其他神经网络模型以提高精度。

4.4 基于距离的评估

在本节中,我们研究分割是如何受到点到自我载体的距离的影响。为了展示这些改进,我们跟随我们的消融研究,并在SemanticKITTI验证集(seq 8)上比较(AF)2-S3Net和基线(MinkNet42)。图6显示了(AF)2-S3Net的mIoU与基线和SalsaNext的w.r.t t距离自我车的激光雷达传感器。由于激光雷达生成的点云相对稀疏,特别是在距离较大的情况下,随着距离的增加,所有方法的结果都变得更糟。然而,所提出的方法可以在所有距离产生更好的结果,使其成为一个有效的方法部署在自主系统。值得注意的是,虽然基线方法试图通过在残差样式网络中使用稀疏卷积来缓解点云的稀疏性问题,但它缺乏对第3节中提出的特征进行必要的封装,从而稳健地预测语义。

5. 结论

本文提出了一种端到端的CNN模型来解决三维激光雷达点云的语义分割和分类问题。我们提出了一种基于3D稀疏卷积的网络(AF)2-S3Net,该网络包含两个新的注意块,即注意特征融合模块(AF2M)和自适应特征选择模块(AFSM),以有效地学习局部和全局上下文,并强调给定的LiDAR点云中的精细细节信息。在几个基准测试、SemanticKITTI、nuScenes-lidarseg和ModelNet40上进行的大量实验证明了捕获局部细节的能力和我们提出的模型的最先进的性能。未来的工作将包括将我们的方法扩展到大规模激光雷达点云上的端到端三维实例分割和目标检测。

(自己总结:这个attention似曾相识,但是忘记了在哪里看到过了,感觉原来也不算太难,类似于unet的结构,但是最上层做了一个attention的结构,但是八卡teslaV100着实有点劝退,另外没有开源,感觉效果很不错~)

猜你喜欢

转载自blog.csdn.net/qq_53086461/article/details/129488422