当前位置:轶方文库网 > 专题范文 > 公文范文 >

融合稀疏注意力和实例增强的雷达点云分割

时间:2023-09-12 09:35:04 来源:网友投稿

刘盛,曹益烽,黄文豪,李丁达

浙江工业大学计算机科学与技术学院,杭州 310023

环境感知是移动机器人和无人驾驶汽车应用的首要任务。主流的环境感知传感器包括相机和激光雷达,相比于视觉传感器,3维激光雷达能够快速准确地获取周围环境的距离信息并且不受光照影响。3维点云语义分割算法能够预测出场景中物体的类别,如道路、车辆、行人和植物等。3维点云分割在无人驾驶、移动机器人以及VR/AR(virtual reality/augmented reality)等领域都有广泛应用,是计算机视觉的重要研究方向。对周围环境的准确分割是可靠无人驾驶的先决条件。

随着图像分割技术的发展,基于视觉的环境感知方法(Wang等,2019)取得了优异成绩。但是与结构化的2维图像数据不同,雷达点云数据是非结构化的、无序性的、密度不一致的。因为这些特性,神经网络很难从雷达数据中提取有效的语义信息。

深度学习的发展不断推动图像语义分割方法的进步。有研究者(Milioto等,2019)将图像语义分割方法应用于点云语义分割。一些方法(Milioto等,2019;
Cortinhal等,2020;
Zhang等,2020b)将不规则、无序分布的3维雷达点云投影成规则的2维图像,常用的投影方法有球状投影和鸟瞰图投影,再通过成熟的2维卷积方式对投影图像进行语义分割,最后将完成分割的投影图像反投影回3维空间。但是这些方法在3维到2维投影过程中会导致几何信息丢失,不能得到较高的分割精度。基于点的方法(Charles等,2017a;
Hu等,2020)能通过较少的网络参数实现点云语义分割,但是在处理大场景点云过程中会消耗过多的计算资源,也不能得到较高精度的分割结果。Graham等人(2018)针对传统稠密体素中存在的稀疏性问题,提出基于子流形稀疏卷积网络(submanifold sparse convolutional networks),通过将非空体素特征值和空间坐标建立哈希关系,仅对非空体素进行卷积操作,大幅降低了内存和计算资源的消耗。随着稀疏卷积(Choy等,2019)的提出和应用,极大提高了基于体素的点云语义分割方法的效率。

视觉语义分割精度的提高主要依靠扩大感受野和使用注意力机制。感受野是语义分割任务中非常重要的一个因素,然而基于编码器的网络无法提供更大的感受野。SDRNet(spatial depthwise residual network)(Liu等,2021)通过扩张特征整合模块(dilate feature aggregation,DFA)扩大网络感受野以提升全局特征提取能力。同时,SalsaNext(Cortinhal等,2020)通过引入空洞卷积来扩大感受野。目前,注意力机制已广泛应用于图像分类、目标识别(Li等,2020)和语义分割(Yu和Wang,2021)等领域,可以有效提取局部和全局特征。在点云上,DGCSA(dynamic graph convolution with spatial attention)(Song等,2021)结合空间注意力模块与动态图卷积模块,取得更加精确的点云分类分割效果。Du和Cai(2021)提出一种基于多特征融合与残差优化的点云语义分割方法,并且引入注意力机制来提高点云聚合能力。但这些引入注意力的方法都是在小规模点云数据中应用,针对室外大场景雷达点云工作相对较少。Transformer也是注意力机制的一种,最先提出用于自然语言处理(Vaswani等,2017)。Transformer在图像处理上(Liu等,2021)取得巨大成功,但在点云上的应用(Guo等,2021)相对较少。Transformer位置排列不变的特点非常适合处理无序的点云数据。

此外,现有方法主要集中在对网络的改进,很少关注输入数据本身。但真实场景数据集中,存在点云数据分布不平衡现象,导致样本数量稀少的类别特征被抑制,使点云数量稀少的类别不能得到较好的预测结果。

为解决上述问题,本文提出一种基于稀疏注意力和实例增强的激光雷达点云分割的方法。本文主要贡献如下:1)采用点云实例注入的方式,提取训练数据数量稀少的类别的实例点云信息,并将其在训练过程中注入到每一帧点云的合适位置,减少了点云数量不平衡带来的精度下降问题。2)在卷积网络的瓶颈层(bottleneck layer)加入Transformer模块,扩大网络的感受野,通过建立点云远、近距离的上下文特征关联,有效提高了提取点云局部和全局信息的能力。3)提出一种基于稀疏卷积的空间注意力机制,通过提取特征图中代表性的局部关键信息,增强网络对关键特征的关注。4)为了增加语义分割的精度,提出一种新的TVLoss来增强网络对不同类别点云对象边缘的监督。

基于数据驱动的深度学习算法成为计算机视觉领域的重要研究方向。深度学习在2维图像的分类、检测和分割等领域取得优异成果。但是3维点云标注比2维图像费时费力,起步相对较晚。得益于SemanticKITTI数据集(Behley等,2019)的出现,雷达点云语义分割工作相继涌现,分为基于点的方法、基于投影的方法和基于体素的方法。

基于点的方法不需要对点云进行前期处理,而是直接对点云进行操作。PointNet(Charles等,2017a)最先提出用MLP(multilayer perceptron)的方法对每个点进行处理,用于点云的分类和分割任务,但不能有效提取局部信息。PointNet++(Charles 等,2017b)在PointNet(Charles等,2017a)上加入局部特征提取模块。RandLA-Net(Hu等,2020)针对大规模点云数据,用随机采样代替最远点采样降低计算量,提高语义分割效率,同时使用局部特征聚合方法减少随机采样带来的信息损失。SDRNet(Liu等,2021)提出结合SDR(spatial depthwise residual)模块和DFA模块的点云分割网络。SDRNet针对点云旋转不变性设计了改进的SDR模块,用于提取局部特征,消除雷达点云数据Z轴旋转对分割结果的影响;
DFA模块提高了网络感受野。基于点的方法能通过较少的网络参数实现点云语义分割,但在处理大场景点云过程中会消耗过多的计算资源,也不能得到较高精度的分割结果。

基于投影的方法在点云分割中受到广泛研究,主要投影方式有球状投影和鸟瞰图投影。RangeNet++(Milioto等,2019)最先提出通过球状投影的方法将3维点云投影到2维空间,利用2维卷积对投影图像进行语义分割,并在反投影过程中利用KNN(k-nearest neighbor)进行空间邻域搜索,提高语义分割精度。SalsaNext(Cortinhal等,2020)在SalsaNet(Aksoy等,2020)基础上引入空洞卷积和新的局部特征提取模块,获得更好的分割效果。Zheng等人(2021)根据人类观察机制提出一种场景视点偏移方法,改善了因投影过程中信息丢失带来的精度下降问题。PolarNet(Zhang等,2020b)提出一种鸟瞰图投影方法,根据激光雷达本身特点建立基于极坐标的空间雷达划分方法。相比传统基于欧氏空间的体素划分方法,基于投影的方法能减少空体素出现的概率,不同类别的点云出现在同一个体素内的概率也相应减少,但在3维到2维的投影过程中会损失场景对象的几何信息,不能得到较高的分割精度。

基于体素的方法(Zhou和Tuzel,2018;
Wang等,2019)将点云划分到不同体素中,并用传统卷积进行语义分割。但是因为激光雷达的稀疏性,导致大部分体素冗余,这会增加内存和计算资源的消耗。Tao等人(2021)提出一种基于稀疏体素金字塔的多尺度点云特征提取方法,提高了点云特征提取的效率。随着稀疏卷积(Choy等,2019)的提出和应用,极大提高了基于体素的点云语义分割方法的效率。Cylinder3d(Zhu等,2022)采用稀疏卷积和柱状划分网格的方法在点云语义分割精度上取得了显著效果,提出的不对称残差(asymmetrical residual)卷积模块能够更好地提取类似于车辆、行人周围的语义信息,最终提高此类物体的语义分割精度。但上述方法为提高精度需要不断增加体素的分辨率,导致内存增加和计算资源消耗。

本文提出的基于稀疏注意力和实例增强的雷达点云分割方法主要由实例注入模块、点特征提取模块和稀疏卷积模块3部分组成,总体架构如图1所示。

图1 网络结构总览

2.1 网络总体架构

1)实例注入模块。网络输入数据由原始点云数据与从数据集中筛选的实例数据组合得到,并通过柱状坐标对点云进行体素划分。其中,每个点的特征包括点云欧氏空间坐标{x,y,z}、极坐标{ρ,θ}、每个点云到体素中心的偏移量{Δρ,Δθ,Δz}和点云的反射率{i},共9维特征。

2)点特征提取模块。在本模块中,通过多个MLP层从输入数据提取出每个点的特征。在每个体素中,只保留特征值最大的数据作为当前体素的代表特征。由特征信息F={f1,f2,f3,f4,f5,…,fN}和对应的柱状体素坐标V={v1,v2,v3,v4,v5,…,vN}构建稀疏卷积张量,其中N表示非空体素数量,fi和vi分别表示第i个特征点的特征值和柱状体素坐标。

3)稀疏卷积模块。主干网络采用类似UNet的设计,通过下采样不断降低特征图尺寸,获得网络更深层特征,同时通过上采样将特征图恢复到原有尺寸。通过跳跃连接将上采样的特征图与相同大小的浅层特征图相融合。在本文所提网络结构中,每一层的特征图尺寸和通道数分别为[480×360×32,32],[240×180×16,64],[120×90×8,128],[60×45×8,256]和[30×23×8,512]。最终,利用seghead子模块预测每个体素中每个类别的概率值,选择概率值最大的类别作为该体素预测的结果,将体素的语义信息转化为点云的语义信息。

2.2 实例注入

真实场景采集的数据集中存在类别数量不平衡现象。图2为SemanticKITTI训练数据集中不同类别点云的数量。

图2 SemanticKITTI训练数据集中不同类别点云的数量

从图2可以看出,一些类别如自行车、摩托车、骑自行车的人和骑摩托车的人等的点云样本数量占整个数据集的比重非常少。这些类别的特征在网络训练过程中会被其他类别的特征淹没,通常不能得到较好的分割结果。但是在无人驾驶场景中,行人和车辆正确的语义分割极其重要,直接影响驾驶安全。本文采用实例注入的方法来减少这个问题。SemanticKITTI数据集提供了点云的实例和语义信息。根据提供的实例ID(identity),可以从训练集的点云数据中筛选出对应的实例点云,随后将筛选的实例数据保存到文件,并在文件名中标记语义类别。实例数据包括自行车、摩托车、卡车、其他车辆、行人、骑自行车的人和骑摩托车的人,共6类。

实例注入策略如下:在训练过程中,首先随机选择道路类别(包括马路、停车场和人行道)中的一个点作为基准点,并计算以基准点为圆心,半径为R的基准范围内所有点云的高度差。若高度差小于阈值threshold,说明道路上不存在其他障碍物,此时随机选择一个实例数据插入基准位置,并且使基准范围最高点与实例数据最低点对齐;
若高度差大于阈值threshold,则重新选择基准点。

本文实验参数半径R设置为1.5 m,高度阈值threshold设置为0.3 m,每一帧点云注入7个实例数据。最终实例注入效果如图3所示,图中黑色的为原始点云,彩色的点云区域为注入的多个实例,颜色与实例类别对应。

图3 实例注入

2.3 稀疏卷积模块和空间注意力机制

空间注意力机制能区别对待特征图的不同信息,使网络增加对关键特征的关注,提高网络性能。在不对称残差模块(asymmetrical residual block)后添加基于稀疏卷积的空间注意力机制。网络结构如图4所示。不对称残差模块通过交叉进行1×3×3和3×1×3的稀疏卷积提高了提取特征的效率。稀疏空间注意力机制通过sigmoid函数筛选特征值较大的点作为注意力掩膜,最后将学习到的注意力掩膜与原始的特征图元素相乘,以达到提取关键特征的目的。解码器模块有两部分输入,一部分是上一层网络上采样得到的特征图,另一部分是通过跳跃连接得到的浅层网络特征,两者有相同的特征图尺寸和通道数。本文通过元素相加的方式将两部分特征相融合。

图4 不对称残差卷积模块和空间注意力机制

2.4 Transformer模块

Transformer模块网络结构如图5所示,该模块输入为体素的位置和特征信息,其中N为非空体素的数量。首先对位置信息进行位置编码(position embedding),计算得到点与点之间的位置关系特征,然后将得到的位置信息与特征信息相融合。融合后的信息作为自注意力机制的输入,计算得到自注意力掩膜。自注意力机制可以表示为

图5 Transformer 模块

(1)

式中,Q,K,V∈RM2×d分别表示query,key和value矩阵,M2为patches的数量,d表示query或key矩阵的维度,B为偏差矩阵(bias matrix)。将query、key和value矩阵分别经过线性网络,再用query和key矩阵的转置矩阵相乘得到attention map。最后将attention map经过softmax后与value矩阵相乘作为模块的输出。

Transformer模块采用自注意力机制的方式,通过attention map对点与点之间的连接赋予不同权重,增强了每个点之间的联系。Transformer模块可以扩大网络的感受野,使网络有效提取局部和全局特征。

2.5 损失函数

本文损失函数将权重交叉熵Lovasz-softmax和TVloss线性融合得到最终的Ltotal,表示方式为

Ltotal=Lwce+Lls+Ltv

(2)

式中,权重交叉熵损失函数(He等,2016)可以表示为

(3)

Lovasz-softmax损失函数(Berman等,2018)已广泛应用在语义分割领域(Zhu等,2022;
Cortinhal等,2020),其损失函数可以表示为

(4)

(5)

式中,|C|表示类别数量,J是一个具有全局最小值分段线性函数。m(c)表示c类别的误差向量。xi(c)和yi(c)分别表示c类别的第i个点云的预测值和真值。Lovasz-softmax loss是一个有效的附加损失函数,可用于不同的深度学习任务,例如目标检测和语义分割。因此,在训练模型过程中,Lovasz-softmax loss与其他损失函数相结合可以实现更好的模型训练效果。

受Gerdzhev等人(2021)的启发,为增加网络对点云边缘的监督,本文添加了TVLoss。原方法中直接对真值边缘和预测边缘取绝对值。这会由于边缘类别的不同导致不同的损失值,为避免这种情况,本文采用异或操作。具体函数表示为

(6)

实验在SemanticKITTI(Behley等,2019)和 nuScenes(Caesar等,2020)数据集上进行,将本文算法与近年有代表性的方法比较,进行详细的精度评估,并对提出的各模块进行消融实验。

3.1 数据集及评价方式

3.1.1 SemanticKITTI数据集

SemanticKITTI数据集(Behley等,2019)是一个无人驾驶场景的雷达点云数据集,面向点云语义分割和实例分割等多类任务。数据集通过Velodyne-HDL64E激光雷达在德国进行数据采集,每一帧点云大约有12万个点,共22个序列。实验时,将00—07、09—10序列共19 130帧点云数据作为训练集,将08序列共4 071帧点云数据作为验证集,将11—21序列共20 351帧点云数据作为测试集。点云的语义分割任务共19个类别。

3.1.2 nuScenes数据集

nuScenes数据集(Caesar等,2020)共1 000个场景,每个场景持续20 s。数据集使用Velodyne-HDL32E 激光雷达在美国波士顿和新加坡采集数据,采样周期为20 Hz。每个场景包含40个关键帧,共包含40 000个关键帧的点云数据。官方将点云数据划分成测试集、验证集和训练集,其中850个场景用于训练和验证,150个场景作为测试。点云的语义分割任务共16个类别。

3.1.3 评价指标

实验采用官方提供的评价方法(Behley等,2019;
Caesar等,2020),以mIoU(mean intersection over union)作为精度的评价指标。mIoU可表示为

(7)

式中,TP表示真阳性,FP表示假阳性,FN表示假阴性。

3.1.4 实验参数设置

实验中,两个数据集柱状体素的划分尺寸都是[480 × 360 × 32],分别表示距离、角度和高度3个维度。实验环境为Ubuntu16.04、Pytorch1.4、Intel i7- 8700K、NVIDIA RTX。使用Adam优化器,学习率为0.001,batch size为2,共训练40个epochs。由于nuScenes数据集未提供实例信息,实验没有使用实例注入。

3.2 SemanticKITTI数据集实验结果

在SemantKITTI数据集的测试集上,将本文方法与代表性方法进行比较。其中,基于点的方法包括TangentConv(Tatarchenko等,2018)、RandLA-Net(Hu等,2020)、KPConv(Thomas等,2019)和SDRNet(Liu等,2021),基于投影的方法包括Darknet53(Behley等,2019)、SqueezeSegv3(Xu等,2020)、RangeNet++(Milioto等,2019)、Salsanext(Cortinhal等,2020)、KPRNet(Kochanov等,2020)和 PolarNet(Zhang等,2020b),基于体素的方法包括FusionNet(Zhang等,2020a)、TORANDONet(Gerdzhev等,2021)和Cylinder3d(Zhu等,2022)。定量实验结果如表1所示。可以看出,本文方法在mIoU指标上取得较好成绩,特别是在行人和汽车类别上取得了优秀的表现,相比Cylinder3d,卡车(truck)提高了8.6%,其他车辆(other-vehicle)提高了4.4%。原因是本文提出的空间注意力机制和TVloss能很好地处理边缘细节信息。

表1 SemanticKITTI测试集精度结果对比

在SemanticKITTI验证集上的点云语义分割结果的可视化如图6所示,从上到下分别是真值、预测图和细节图。从细节图可以看出,本文方法可以准确预测行人和自行车类别(图中红框)。

图6 SemanticKITTI验证集语义分割结果

3.3 nuScenes数据集实验结果

表2 nuScenes验证集精度结果对比

nuScenes验证集语义分割结果的可视化如图7所示,可以看出,本文方法可以准确预测激光雷达获取的点云数据。

图7 nuScenes验证集语义分割结果

3.4 消融实验

为评估实例注入、空间注意力机制、Transformer和Tvloss等模块对网络的贡献,在SemanticKITTI的验证集上进行消融实验,其中,体素尺寸大小为[240 × 240 × 32],结果如表3所示。可以看出,实例注入对mIoU有1.2%的提升,空间注意力机制和Transformer模块分别有1.0%和0.7%的提升,两者组合共提升1.5%,TVloss对网络提升了0.2%。所有模块组合在baseline的基础上提高了3.1%。实验结果表明,本文提出的网络能提高激光点云的语义分割任务的精度,网络的各模块均能有效提高网络的性能。

表3 SemanticKITTI验证集上的消融实验

本文提出一种端到端的稀疏卷积网络用于雷达点云的语义分割,使用实例注入的方法减轻数据集类别分布不平衡问题,同时为了增强网络提取全局和局部特征的能力,使用稀疏卷积的空间注意力机制提取特征图关键信息,添加Transformer模块提高网络提取全局信息的能力,扩大网络的感受野,提高了网络性能,并且提出新的TVloss加强网络对点云边缘进行监督。实验证明,本文提出的方法具有良好效果。在SemanticKITTI在线单帧精度评估中,mIoU指标为64.6%,在nuScenes数据集上的mIoU为75.6%。消融实验结果表明,本文方法的mIoU在Baseline的基础上提高了3.1%。对比近年出现的代表性方法,本文方法能取得较好的表现,特别是行人和车辆的分割结果取得了显著提升。

但是,通过观察实验结果可以发现,在远离雷达中心的点云数据分割误差相对较大,主要原因是远离雷达中心的点云数据相对稀疏,对于提取语义信息较为困难。

将来的工作主要有以下两个方面:1)考虑到雷达数据是一个时间序列,并且可以通过帧间匹配的方式获取两帧之间的位置信息,在网络设计上可以利用时序和空间位置的信息;
2)基于体素的方法和基于投影的方法都会产生不同的信息损失,可以通过融合基于体素的方法和基于投影的方法,减少特征损失,提高分割精度。

猜你喜欢体素实例类别基于多级细分的彩色模型表面体素化算法计算机集成制造系统(2022年11期)2022-12-05瘦体素决定肥瘦家庭医学(2022年3期)2022-04-07运用边界状态约束的表面体素加密细分算法计算机集成制造系统(2020年4期)2020-05-08基于体素格尺度不变特征变换的快速点云配准方法中国惯性技术学报(2019年1期)2019-05-21壮字喃字同形字的三种类别及简要分析民族古籍研究(2018年1期)2018-05-21服务类别新校长(2016年8期)2016-01-10多类别复合资源的空间匹配浙江大学学报(工学版)(2015年1期)2015-03-01完形填空Ⅱ高中生学习·高三版(2014年3期)2014-04-29完形填空Ⅰ高中生学习·高三版(2014年3期)2014-04-29中医类别全科医师培养模式的探讨中国中医药现代远程教育(2014年16期)2014-03-01

推荐访问:稀疏 分割 注意力