基于混合路径聚合网络的点云目标识别
2023-12-04梁正友陈子奥蔡俊民
梁正友,陈子奥,蔡俊民,孙 宇
(1.广西大学 计算机与电子信息学院,广西 南宁 530004;2.广西大学 广西多媒体通信与网络技术重点实验室,广西 南宁 530004)
0 引 言
与二维目标识别相比,点云具有输入数据容量巨大,图像结构复杂,导致计算量大幅提升等问题,因此点云目标识别是一个非常有挑战的研究课题。
早期基于深度学习的激光雷达点云识别普遍采用将3D点投影到2D点图中,然后使用单一的2D端到端全卷积网络来识别。Kurobe等[1]用局部特征与全局特征连接起来并回归点云之间的对应关系,而不是直接构成或聚合特征,因此比传统方法集成了更多有用的信息。Heyang Li等[2]提出了一种在三维激光雷达点云中精确地分割和提取乡村路面目标的方法,为了降低计算资源的需求,点云在进行仿射变换之前被映射到一个二维图像空间,陈强等[3]先计算源点云与目标点云的内部形态描述子关键点,再求取关键点k邻域内优化的点对信息然后进行点云处理,大幅提高处理效率。胡辉等[4]的改进R-FCN结合多尺度训练、可变形网络的方法,降低了环境因素的影响,提高了检测的精确度。
Qi等[5]通过改进原本将纯点作为网络输入的模型,将两个变化的原网络模型实现分割和目标检测,由于投影矩阵是已知的,这样就可以从二维图像区域得到三维截锥了。基于体素的方法是深度学习在目标识别领域的重要发展,其最大的缺点是点云体素化后其体积非常庞大,运算速度非常缓慢。Voxelnet[6]突破性地解决了基于点等方法逐点进行运算导致的模型运算巨大问题,在此基础上SECOND[7]通过改善了稀疏卷积网络,解决推理速度慢和朝向估计的性能差的问题,Alex等提出的Pointpillars[8]进一步对Yan Yan的SECOND进行优化,把点云数据转化成Pillar(点柱),然后用PillarVFE提取特征,这样得到的鸟瞰图,中间省略了SECOND中的稀疏卷积操作,此方法在损失了部分准确率,但在识别速度上表现得十分优秀。
相较于VoxelNet,SECOND和Pointpillars等方法中强调提取点云数据中的语义特征,本文的方法加强了点云信息中的定位特征,能够识别点云中的更多信息,使目标准确率提升。本文主要创新点和贡献有:①设计了一种混合路径融合的残差金字塔网络,能够提取包含点云语义信息和点云定位信息的点云特征;②在混合路径的提取模块中加入注意力机制,强化在残差网络中提取的点云定位特征,进一步增加了模型对于有效特征的学习能力;③通过和其它方法在KITTI公开数据集上进行对比分析,验证了本文方法在点云识别上的先进性。
1 点云识别网络模型
1.1 网络结构
点云数据因为其数据体积非常庞大的特点,在训练神经网络时会造成计算量也非常大,点云点柱化的设计很好地解决了这种计算量庞大的问题,因此本文采用了pointpillar网络作为基础网络,并增加了一个注意力模块。本文的网络结构如图1所示,由点柱特征提取、混合路径聚合网络(包括注意力、残差金字塔等两个子模块)和检测头等3个模块组成。
图1 网络结构
点柱特征提取模块将稀疏的三维数据转换为堆叠的柱张量和柱指数张量,再通过简化的Pointnet[5]网络对张量化的点云数据进行处理使其伪图像化。这样做的好处是直接使用柱子而不是体素来处理点云数据,从而忽略了z轴方向上的差异,没有了多个体素,将3D空间转为2D伪图像处理,大大提升运行速度。
混合路径聚合网络,它包括了残差金字塔模块和注意力模块两个模块。在残差金字塔模块中,点柱特征提取模块传递的点云特征经过处理,以提取和融合多尺度的特征信息。这样的处理能够有效地捕捉目标的细节和上下文关系,从而提高定位准确性。注意力模块被应用于获取增强的定位特征。通过多层采样和特征融合,注意力模块能够选择和强化具有较高重要性的定位特征,并将其归一化后与多尺度特征进行合并,形成一个384维的预测特征,这样的特征表示具有更强的表达能力和区分度。
检测头模块中包含了3个关键预测分支:分类预测、锚盒回归预测和方向分类预测。这些预测分支的结合在输入的预测特征中融合了语义信息和定位信息,从而显著提高了目标检测的预测效果。
1.2 混合路径聚合网络
1.2.1 路径聚合网络
目前最经典的特征金字塔网络[9](feature pyramids net)采用了ConvNet的金字塔特征层次结构。该网络首先以任意大小的单尺度图像作为输入,通过自底向上和自顶向下的网络卷积操作,生成多尺度的图像特征。通过横向连接,这些特征被结合在一起,用于预测任务。这种网络结构具有从低级到高级的语义信息,构建了一个具有高级语义的特征金字塔。如图2(a)所示,通过多次卷积操作,得到了多层特征图。接着,通过自顶向下的特征融合,将每个特征图与其前一层的特征结合起来。这种自顶向下的特征融合过程有助于提取更高级别的语义特征,并增强了网络对目标的表示能力。
图2 路径聚合网络
在金字塔网络中的特征融合过程中,随着特征图的尺寸减小,感受野也相应增大。在特征金字塔网络中,自顶向下的传递模式中,虽然高层特征被传递到下层,但底层特征无法影响高层特征。信息从顶部向下逐层传递,计算量逐渐增大,导致顶层特征在特征传播过程中部分定位特征可能会丢失,在PANet[10](路径聚合网络)图2(b)中通过在自顶向下特征融合之后,再进行自底向上的特征融合。这种双向传递的方式,使得每一层特征图都能获取前面所有特征图的特征信息。这样的设计能够有效解决顶层特征在传播过程中丢失部分定位特征的问题。
1.2.2 混合路径聚合的残差金字塔网络
本文采用了基于PANet路径聚合网络的思想,并结合残差结构[11]的方法,以进一步提取点云的定位特征。在特征提取过程中,采用用残差网络主要是基于以下3个原因:首先,残差网络能够有效地控制模型参数的数量,从而提高模型的效率和运行速度。其次,残差网络在保持梯度不消失或爆炸的前提下,能够增加网络的深度,解决了传统网络中深度增加所引发的梯度问题。最重要的是,通过残差模块的使用,我们能够补全路径聚合网络的自底向上的特征融合,使得融合后的特征图能够包含每个尺度特征图的特征信息。这种特征融合的方法能够提高点云定位任务的准确性和鲁棒性,使得模型在处理复杂场景和不同尺度的点云数据时具有更好的性能表现。因此,本文的方法在点云特征提取方面具有重要的意义,并为相关领域的研究提供了有价值的思路和方法。
其结构如图3所示。网络由3个部分组成:一个自顶向下的卷积神经网络以越来越小的空间分辨率生成多尺度特征,一个注意力机制模块提取特征并进行下采样生成多尺度特征图,以及一个特征金字塔特征网络将两条网络进行连接。自上而下的卷积神经网络可以由一系列块Block(C,K,S) 表示。每个块以C(channals) 输出通道,K(Kernel)2D 卷积核和S(Strides) 步幅操作组成,每个输出通道后面使用BatchNorm批规范化函数和ReLU线性整流函数来解决梯度爆炸。层内的第一个卷积的步幅S=2,以降低要素的空间分辨率,卷积核K=(3×3)。每个Block的所有后续卷积步幅S = 1保持相的同空间分辨率。ResBlock中利用注意力机制提取特征,并通过下采样的卷积核K=(1×1) 步幅S=2进行下采样。在第三个网络中将前两层中的每个Block的末端做一次通道C=128的卷积,并在Block3的输出特征继续两次步幅S=2的向上采样,将相同空间分辨率的特征进行并联,并通过卷积核K=[(1×1),(2×2),(4×4)]步幅S=[1,2,4]的反卷积归一化不同尺度的特征图并连接得到最终特征F。
图3 混合路径聚合网络
1.2.3 改进的混合坐标注意力机制
注意力机制在深度学习中是一种数据权重分配方法,可以很好地强化部分特征。Coordinate Attention[12]位置注意力是通过将位置信息嵌入到通道注意力中的一种新颖有效的注意力机制,通过把SENet(squeeze-and-excitation network)[13]中的通道注意力分解成了两条并行的一维特征通道,在其之上进行编码再融合,以获得在方向和位置上更加敏感的特征表示。这种改进方法能够有效地提取和强化特征,从而提升模型的性能。
由于Coordinate注意力中平均池化可能导致欠拟合问题,并为了增强金字塔网络中Resblock的特征,本文对该注意力进行了改进。图4展示了改进后的注意力结构。在改进后的结构中,通过对点云的XY坐标分别进行平均池化,新增了一条原始的SE注意力通道,将其扩展为两条一维通道和一条二维通道,并在不同通道上对特征进行融合。接下来,本文将详细描述这一改进方法。
图4 混合坐标注意力
将特征转为两对1D特征,对输入X,用两个池化核 (H,1) 和(1,W)去沿水平和垂直方向对其编码。因此可用C通道的高度h和宽度w来表示输出
(1)
(2)
对每个1D特征进行最大池化和平均池化,然后在不同通道对特征进行融合通过将池化后的特征经过一个共享卷积变换和非空线性函数,再沿着空间维度将特征分解为两个单独的张量,再用(1×1)的卷积核去对输入X对其直接编码,可表示为
(3)
最后经过sigmoid激活函数融合得到最终的输出信息。
1.3 Loss损失函数
损失函数使用SECOND中的相同损失函数。因为要检测的物体的大小近似固定,所以使用固定大小的锚,地面真值框和锚由 (x,y,z,w,l,h,θ) 定义,其中x,y,z为中心坐标,w,l,h分别为宽度、长度、高度,θ是绕z轴的偏航旋转。地面实况和锚之间的定位回归残差定义如下
Δθ=sin(θgt-θa)
(4)
(5)
由于角度定位损失无法区分翻转的方框,因此在离散化方向上用softmax分类损失Ldir学习航向。为了解决这种损失将具有相反方向的框视为相同的问题,在RPN的输出中添加了一个简单的方向分类器
Lcls=-αa(1-pa)γlogpa
(6)
其中,pa是类的概率,常数系数γ设置为2,α设置为0.25。结合上述损失,我们可以得到多任务损失的最终形式如下
(7)
其中,Lcls是分类损失,其Lreg是角度损失,是Ldir方向分类损失,常数系数β1=1,β2=2,和β3=0.2。
2 实验结果与分析
2.1 数据集与评估协议
本文的所有实验都是在KITTI[14]点云目标识别数据集上进行的。该数据集包含了3类对象,分别是汽车、行人和自行车。3D对象检测基准由7481张训练图像和7518张测试图像以及对应的点云构成,总共有80.256个标注对象。所有图像都是彩色,并以png和bin文件的格式保存。
在目标检测任务中,对于汽车类别的检测,要求目标框与真实边界框的重叠面积达到70%以上。对于行人和自行车类别的检测,要求重叠面积达到50%以上才能被视为有效检测结果。无关区域的检测结果或者小于最小尺寸的检测结果将被视为误报。检测难度的定义见表1。
表1 KITTI点云检测难度标准
指标KITTI的用PR曲线上的40个召回位置的平均精度(AP)来衡量检测效果。根据对象大小、遮挡和截断级别,标签被分为3个子集(简单(easy)、中等(Mode-rate)、困难(Hard))。
所有检测结果均使用KITTI官方评估检测指标进行测量,这些指标包括:鸟瞰图(BEV)、3D、2D和平均方向相似性(AOS)。二维检测在图像平面上进行,平均方向相似性评估二维检测的平均方向(BEV视角)相似性。
2.2 实验设置
所有实验在一台配备Intel®CoreTMi5-10400F 2.9 GHz处理器、16 GB内存和1块Nvidia RTX3060ti显卡(显存8 GB)的工作站上进行。软件环境采用Ubuntu 18.04操作系统,Python 3.6编程语言,PyTorch 1.10.2深度学习框架以及Cuda 11.3加速库。我们选用了自适应优化器Adam进行模型优化,动量大小设置为0.9,初始学习率为0.003,权重衰减为0.01,批处理大小设置为3。整个训练过程共计80个epoch,总计耗时7小时。
2.3 可视化实验
为了直观展示本方法在KITTI数据集上的检测效果,图5展示了基线模型和本方法的可视化结果。图5中共有4组图片,从左至右排列,分别为图5(a)、图5(b)、图5(c)、图5(d)。每组图片的左侧展示了本文方法的结果,右侧展示了基线模型的结果。在每组图片中,从上至下分别展示了3D点云锚框、鸟瞰图锚框和2D图像锚框。这样的可视化呈现方式有助于直观地比较两种方法的检测效果。图中的第一行图中的score为置信度得分,这些分数代表了预测结果的可信度,具体结果请参考表2。通常情况下,当预测结果正确时,较高的分数意味着更好的预测效果;而当预测结果错误时,较高的分数则意味着预测效果较差,根据图5和表2的结果可知,本文的模型在3D点云锚框方面表现出明显的精确度优势,相较于PointPillars模型,在预测正确的情况下置信度方面都有一定的提升。通过观察图片中鸟瞰图的点密度,可以推断出所识别目标与传感器之间的距离。特别是通过图5(c)的结果,可以观察到本文所提出的模型对于远距离目标的识别具有较高的准确性。此外,在图5(d)的结果中,基线模型将自行车类别错误地识别为行人类目标,而本文的模型则没有出现这种错误。
表2 可视化结构置信度分数
图5 在KITTI数据集上的可视化
本文的模型还能有效解决目标识别中的定位特征错误问题。通过仔细观察图5(b)中的图像,可以明显观察到基线模型由于对目标点云方向的估计错误,导致在同一位置的点云中错误地识别出了两个方向交叉的目标。然而,本文提出的网络结构通过引入残差结构和注意力机制,显著提升了对定位特征的提取能力。通过这些机制的协同作用,本文模型能够更全面地利用点云数据中的信息,并有效地减少定位特征错误的问题,从而实现更加准确的目标识别结果。
2.4 消融实验
为了分析不同成分对最终性能的影响,我们对KITTI验证集进行了消融研究见表3。通过使用两类(行人和自行车)的BEV和3D平均准确率作为评估指标,基础模型如表4所示为PointPillars模型。
表3 在KITTI验证集上的消融实验
表4 在KITTI验证集上和基线模型的性能的提升
金字塔网络:从表3的特征金字塔网络和本文改进的残差金字塔中可以看出,用传统的FPN替换骨干网络在3D卷积上有一定的提升,但是在俯视图上有较大的干扰影响,导致精度下降。可见由残差结构传递的自顶部信息流往下逐层损失的位置信息对目标识别的影响至关重要。
注意力机制:本文从表3中Attention和本文改进方法的结果可以看出直接加入的注意力因为直接对点云运算,再经过骨干网络的特征提取导致定位特征强化没有发挥很好的效果其准确率反而有一定下降,并且通过对比最后两条实验结果在相同金字塔网络影响下本章改进的注意力提升非常大,可以看出经过本章算法改进的混合注意力机制,通过路径聚合的网络可以充分发挥出的该坐标注意力的优势。
表4描述了本文算法在KITTI数据集上的测试精度和相较于原始模型的精度提升,可以看出与PointPillars相比,本文模型的精度更高,且运行的内存不变,运行速度也没有明显下降,依旧能满足60 hz的工业要求。本文方法有着更高的性能,达到标准的运行速度,为满足目前的智能驾驶中实时性和准确性的要求,本模型可以作为智能车辆驾驶的参考方案。
2.5 与其它先进方法的比较
为了验证所提方法的性能,将该方法与主流的点云识别方法进行对比,对比结果见表5,能够看出,本文方法在KITTI数据集上自行车鸟瞰图类上分别得到了81.12%、64.61%、57.93%的结果,相较于同样使用注意力机制的TANet(Triple Attention,三元注意力)本文的注意力更加简单,在不降低运行速度的同时,准确率也有显著的提升。相较于Faraway-Frustum等直接使用点云的模型,本文模型使用点云转换点柱的方法,达成伪图像以便使用2D卷积,使运行速度极大提升,可以看到本文模型继承了PointPillars的检测速度,远超其它模型,且精度还能有所提升,拥有着很强的竞争力。
表5 在KITTI测试集上与主流方法性能对比
3 结束语
本文提出了一种混合路径融合的点云目标识别网络,包括残差特征金字塔网络和混合坐标注意力机制,能够在激光雷达点云上进行端到端训练。在KITTI数据集的实验结果表明了本文所提算法在保证速度的前提下提供了更好的检测性能。
本文后续重点工作将考虑点云的编码方法。通过直接使用点云数据的情况下保持更多特征的投射为伪图像,以保证速度的提升下有更多的性能提升。