基于强语义关键点采样的三维目标检测方法

2024-05-11 03:34车运龙孙丽慧
计算机工程与应用 2024年9期
关键词:候选框体素关键点

车运龙,袁 亮,孙丽慧

1.北京化工大学信息科学与技术学院,北京 100029

2.航天工程大学士官学校,北京 100000

三维目标检测是自动驾驶感知系统的重要组成部分,其目的是在自动驾驶场景中获得车辆、行人和其他物体的尺寸和位置信息[1-2]。激光雷达作为自动驾驶感知领域的主要传感器,其提供的原始点云数据具有精确的几何信息。激光点云具有数据量大且无序的特点,因此如何从众多点云中筛选出具有较好特征代表性的可用数据点,成为目标检测领域的一个研究热点。

根据前人的研究进展,基于对点云数据的处理方式,现有的三维检测方法可基本分为两类:基于体素的方法和基于点的方法[3-4]。

基于体素的方法通常是将不规则点云数据转换为规则的网格表示,例如三维体素网格或二维鸟瞰图,后通过卷积神经网络(convolutional neural network,CNN)提取特征以生成物体的三维建议。VoxelNet[5]首次提出点云的体素表示方法,采用体素特征编码层(VFE)完成从原始点云到体素特征的转换。虽然这种方法实现了对点云的体素特征编码,但是编码后的体素数量过多且含有大量空体素,导致后续三维卷积显存占用过大,训练速度较慢。鉴于此,SECOND[6]网络提出稀疏卷积的方法,采用索引的方式对非空的输入做3D卷积,之后填入对应的输出位置。该方法避免了大量不可用的空体素对计算资源的消耗,提升了检测效率。

基于点的方法大都采用直接从不规则点云数据中提取特征,进而保留原始点云的精确几何信息。PointNet[7]首次提出从原始点云学习逐点特征信息,但其直接对全局特征进行池化操作,会造成局部特征信息的缺失。PointNet++[8]提出采用堆叠集合抽象层并设置灵活的感受野区域,对点云进行多层次的局部特征提取,提升了网络的特征学习能力。PointRCNN[9]在PointNet++点云分割方法的基础上,提出基于自下而上的三维目标检测生成算法,取得了较好的效果。

为保留体素有效编码多尺度特征并生成高质量三维建议框的优点,同时发挥基于点方法的灵活感受野和较好的建议框细化能力。PV-RCNN[10]通过集抽象的方式对点到体素进行关键场景编码,同时保留了体素的快速编码能力和点的特征细化能力,从而提高3D 目标检测性能。

尽管PV-RCNN网络在三维目标检测任务上取得了较好的效果,但在特征融合采样上仍然存在局限性。从原始点云中筛选出有限且准确的关键点是点与体素特征融合的关键。PV-RCNN 网络采用最远点采样方法(farthest point sampling,FPS),其倾向于选择较远的点以更好地覆盖整个场景,但由于原始输入点中含有大量背景点,FPS 采样到的点中涉及过多不相关的背景点,而大量有益的前景点被不适当地丢弃,进而影响后续网络的特征学习。PV-RCNN++网络[11]提出基于提案中心区域的关键点采样方法,在进行关键点采样前,通过区域过滤将采样范围缩小至提案周围,提升了关键点采样中的前景点比例,但该网络在关键点采样中仍采用传统的FPS 采样方式,未能全面地采样到更多的前景点。SASA 网络[12]提出语义增强集抽象方法,通过添加语义分割模块估计逐点语义分数,并采用语义引导的点采样算法,识别与前景对象相关的价值点,在基于点表示的目标检测网络中取得了进一步提升,但在采样结果中仍存在对远距离的离群点不敏感问题。

针对上述问题,文章提出一种基于强语义关键点采样的三维目标检测方法。(1)通过三维语义分割网络,提取逐点语义信息,改进传统FPS采样中只基于距离采样的缺陷;(2)将基于候选框的FPS 采样方法与基于语义加权的FPS采样方法融合,弥补对远距离离群点不敏感问题;(3)在特征聚合阶段,对关键点特征进行语义分数重新加权实现对特征贡献的进一步分配。

水击中流扬帆进,乘风破浪正当时。今天,云南民营经济已成为云南省拉动投资增长的主要动力、创业就业的主力军、财政收入的重要来源、促进对外贸易的主要力量、繁荣市场的主体力量。东风已至,在改革开放的伟大历史进程中,云南民营经济将继续演绎“春天的故事”。

1 算法框架

基于PV-RCNN 网络基本框架,对关键点采样模块和语义信息加权模块进行改进,提出了一种基于强语义关键点采样方法的三维目标检测网络,旨在关键点采样阶段提取更具特征代表性与判别性的关键点。

算法由五个核心模块组成:(1)三维稀疏卷积主干网络:将输入点云数据进行体素化生成标准数据格式,并经三维卷积完成特征提取;(2)二维特征提取网络和RPN 模块:通过对特征图进行不同尺度的下采样,经过RPN卷积运算,生成三维目标预测框和类别信息;(3)三维点云语义分割网络:通过语义分割得到逐点语义分数,为后续关键点采样方法提供语义加权信息;(4)关键点采样与集抽象特征融合模块:根据三维点语义信息和RPN模块生成的候选框位置信息,在三维点云中采样出一部分关键点,并将其置于原始点云、体素特征层、鸟瞰图层中进行集抽象采样,完成特征聚合,实现对整个场景的信息表达;(5)RoI多尺度特征聚合模块:多尺度集合抽象实现对RoI(region of interest)区域关键点信息的特征提取,输出建议框类别信息与尺寸置信度。

与基准算法相比,文章所提算法的检测精度在KITTI验证集和测试集上都取得了不错的效果,尤其在Cyclist类的表现,超越了当前大部分主流三维目标检测算法。网络整体结构为图1所示。

图1 网络算法框架图Fig.1 Diagram of network algorithm frame

2 强语义关键点采样

2.1 候选框生成主干网络

算法的主干网络为基于体素的方法,输入点云经体素化后成为标准三维体素数据格式。为加速张量运算速度,采取传统三维稀疏卷积与子流形三维稀疏卷积相结合的方式对体素数据进行卷积运算,保证了合适的感受野大小以及良好的网络卷积稀疏性,同时也减小了内存的占用。两种稀疏卷积模块均使用批标准化(batch normalization,BN)对数据进行归一化处理和线性整流函数(ReLU)来提高模型的表达能力,加快学习速度。三维卷积完成对输入点云数据的特征提取后,将输出张量沿z轴向下压缩生成鸟瞰图特征映射,生成标准的二维特征数据格式。二维特征提取网络通过对特征图进行不同尺度的下采样,最后将输出特征与RPN中1×1卷积层进行卷积运算,生成三维目标预测框和预测类别。

2.2 语义引导的关键点采样

三维点云语义分割网络为采样方法提供逐点语义信息,具体为:将点云原始三维坐标(x,y,z)及反射率r等信息送入PointNet++语义分割网络,首先通过多个集抽象方法(在整个点云内划定多个局部采用范围,将范围内的点作为局部的特征,用PointNet方法进行特征提取)实现多层次的下采样,得到不同规模的逐点特征,之后通过反向插值和残差连接进行上采样,以获得具有局部和全局加权的逐点语义信息。该模块得到的整个场景范围内的逐点语义分数,将为后续关键点采样方法提供语义加权信息。

从原始点云中筛选出有限且准确的关键点,是点云特征与体素特征融合的关键。传统FPS 采样步骤为:(1)随机选取一个点fi为起始点,并写入起始点集B={fi} ;(2)计算所有点与(1)中点的距离,选择距离最大的值写入起始点集B={fi,fj} ;(3)计算剩余各点和点集B中每个点的距离,将最短距离作为该点到点集的距离,选取距离最远点写入起始点集B={fi,fj,fk} ;(4)重复上述操作直到满足采样点数量。

传统FPS 采样策略倾向于选择距离较远的点以更好地覆盖整个场景,这可能会使采样到的点涉及过多不相关的背景点。因此,文章采用基于语义引导的关键点采样方法,保持传统FPS 的整体过程不变,通过合并逐点语义信息校正采样度量(即到已采样点的距离)。具体来说,将添加到关键点集B中的采样点由选取剩余点到点集B的距离最大值点变为具有语义权重p加权的距离最大值点,采样度量如下:

2.3 强语义关键点采样

基于语义引导的关键点采样方法可以实现在原始点云中采样到的关键点大部分都是前景语义点,但对于自动驾驶场景下的远距离物体,由于其距离较远、落在其表面的点较为稀少,且语义分割网络生成的语义分数较低造成语义加权后的采样权重值较小,导致采样算法往往难以选择它们。因此,语义加权的采样方法存在对远距离的离群点不敏感的问题。

参考PV-RCNN++网络基于候选框的关键点采样方法:将RPN阶段生成的建议框置于原始点云场景中,将以建议框中心为圆心、建议框最大尺寸与扩充尺寸之和为半径的圆形区域作为关键点选择区域,从原始三维点云中筛选出位于候选框周围的点,针对过滤后的点采用传统FPS采样方式,实现候选框周围点的均匀采样。

基于候选框的关键点采样方法通过区域过滤将采样范围缩小至提案周围,提升了关键点采样中的前景点比例,但考虑到缩小采样范围的同时也出现因候选框位置不准确而导致关键点遗漏等问题,同时上述S-FPS采样方式对离群点不敏感的缺点,文章提出基于候选框的FPS采样方式与基于语义引导的S-FPS采样方式融合的强语义关键点采样方法。

图2 展示了基于强语义关键点采样方法的采样过程,其中圆点为原始点云,五角星为采样关键点。基于候选框的FPS 采样方法首先对原始点云进行建议框过滤,之后对建议框内的点进行FPS 采样;基于语义引导的S-FPS 采样方法通过语义信息加权的距离值采样关键点。最后,将两种采样到的关键点进行融合,保留两者均采样到的关键点,对于不重合的关键点基于语义引导的FPS采样方法做进一步的关键点采样,在满足关键点数量的情况下筛选出具有较好特征代表性的点云数据。强语义关键点采样方法既削弱了S-FPS 对离群点的不敏感性又改进了提案中心区域的关键点采样方法中候选框偏差导致的关键点遗漏问题,提升了算法提取有用关键点的能力。

图2 强语义关键点采样示意图Fig.2 Strong semantic key point sampling diagram

2.4 语义信息加权模块

在关键点的采样中,尽管引入了语义信息,但其中一部分仍可能仅代表背景区域。在特征信息提取与处理阶段,属于前景对象的关键点应该对目标检测框的精确细化贡献更大,而来自背景区域的关键点贡献更少。鉴于此,提出了一个关键点加权模块,在不增加网络结构的基础上,用点云分割结果加权关键点特征,实现对关键点权重的进一步分配,为后续网络提供更好的特征信息。

3 损失函数

网络的损失函数包含三个部分:RRN 阶段损失Lrpn、语义分割损失Lcls、RCNN 阶段损失Lrcnn。其中Lrpn损失与SECOND一样,可表示为:

式中,Lrpn-cls是分类损失,采用的是Focal Loss函数[13],Lrpn-reg-other是位置和尺寸的回归损失,Lrpn-reg-q是角度损失,Lrpn-dir是方向分类损失。β1=1.0、β2=1.0 和β3=1.0 是损失公式的常数系数。文章使用相对较小的β3值来避免网络难以识别物体方向的情况。

语义分割损失Lcls采用的是Focal Loss函数。RCNN阶段损失Lrcnn由预测框的尺寸损失和置信度损失组成,可表示为:

其中,置信度损失Lrcnn-reg为:

位置损失分为两部分Lrcnn-reg和Lrcnn-conner。Lrcnn-conner为采用Smooth L1Loss对物体框的中心点、物体框的长宽高、物体框的朝向分别与真值物体框做差进行优化的,Lrcnn-conner为预测物体框与真值物体框的8 个顶点做差值进行优化。

算法的总损失为:

4 实验与结果分析

4.1 数据集与评价指标

KITTI数据集[14]自动驾驶三维目标检测最流行的数据集之一,包含了道路场景的激光雷达点云和配套的图片数据,其中有7 481 个训练样本和7 518 个测试样本,并细分为简单、中等和困难三个层级。这三个等级的依据图片中二维包围框的像素高度、遮挡程度和截断比例三个指标进行划分,表1展示了三个难度层级的划分依据。KITTI使用两个指标进行检测结果的评估:三维目标检测性能(3DmAP,3DIoU=0.7)和鸟瞰图检测性能(BEVmAP,2DIoU=0.7)。

表1 KITTI数据集中难度层级的划分依据Table 1 Basis for difficulty levels in KITTI dataset

4.2 训练细节

网络是用ADAM优化器以端到端的方式从头开始训练的,初始学习率设置为0.01,衰减方式为onecycle速率策略。算法模型在2 个GTX 3090 GPU 上以批大小为8 来训练整个网络,持续80 个周期,耗时约12 h。对于建议框细化阶段,采用随机抽样128个建议框的方式,并保证正负样本比例为1∶1。其中,如果一个建议框和地面真值框具有至少0.55 个3D IoU,则该建议框被视为建议框细化分支的正样本,否则将被视为负样本。在训练期间,采用3D对象检测数据增强策略,包括沿X轴从[-π/4,π/4]的随机翻转和使用从[0.95,1.05]随机采样作为缩放因子的全局缩放。同时还进行了地面实况采样增强,将一些新的地面实况对象从其他场景随机粘贴到当前训练场景中,以模拟各种环境中的对象。推理阶段,首先使用非极大值抑制(NMS)操作选出前100个感兴趣区域候选框,此时的IoU阈值设置为0.7,即当检测框的IoU 置信度大于0.7 时,才被视为有效的检测结果,这些建议框在细化阶段通过集抽象对关键点特征进行提取,进一步细化建议框。最后,使用IoU为0.1的NMS阈值来删除冗余框。

4.3 算法性能对比

网络模型是在KITTI 数据集的TRAIN 训练集上训练生成的。为在网络训练过程中观察模型的收敛情况,将TRAIN 数据细分为训练集合和验证集合,分别包含3 712和3 769组样本。为使实验结果具有可比性,实验中采用的划分方式和其他方法相同。最终将网络通过训练集训练后在KITTI官方测试集上进行测试,并将结果提交到KITTI官方获得训练结果。

使用官方KITTI 测试服务器上的40 个召回位置计算测试集的平均准确度,并与先前工作的结果进行比较。表2显示了算法在KITTI测试集上的表现。对于汽车类,本方法对比以往的方法有了一定的提升,在简单、中等和硬难度水平上分别将mAP 提高了0.38%、0.68%和0.41%;对于汽车类的鸟瞰检测,在简单和困难难度级别上也具有相应的提升;对于骑车人的表现,在基于纯点云算法中,较以往的方法取得了较大的提升,在简单、中等和硬难度水平上分别将mAP 提高了5.18%、6.27%和5.25%。文章还报告了KITTI 验证集上基于R11 标准的mAP 的性能,如表3 所示,结果表明比以往的方法也具有了一定的提升。

表2 KITTI测试集的对比实验结果Table 2 Comparative experimental results for KITTI test set 单位:%

表3 KITTI验证集上R11标准下不同算法3DmAP结果Table 3 3DmAP results for different algorithms under R11 standard on KITTI validation set 单位:%

实验结果显示,算法在Car类上的检测精度具有一定的提升,在Cyclist类上取得了较大的提升。实验结果证明强语义关键点采样方法的有效性,尤其在远距离小目标的检测上具有较好效果。

4.4 消融实验

通过消融实验分析所提方法中各个组件的有效性。所有模型都在TRAIN 集上进行训练,并在KITTI数据集的车辆类别的验证集上进行评估。将原始PV-RCNN网络分别与添加语义引导的关键点采样方法S-FPS、基于候选框中心的采样方法(PCS)、基于强语义关键点采样方法三种方法在KITTI 验证集上进行对比实验,实验结果为在R40和R11两个标准下物体检测的准确率。表4给出了分别在3D/BEV不同目标检测指标和R40/R11不同检测标准下的实验结果,其中在重要指标——中等难度(Mod.)等级上,融合后的算法均取得了较好的效果。

表4 KITTI验证集的对比实验结果Table 4 Comparative experimental results for KITTI validation set 单位:%

为比较融合后的关键点采样方法和语义信息加权对算法性能提升的贡献率,进行了检测性能实验对比,实验结果为KITTI验证集上的Car类在中等难度水平下的40个召回位置的平均精度,如表5所示。

表5 SSPS-RCNN在不同策略下的烧蚀实验结果Table 5 Ablation experiment result of SSPS-RCNN on different strategies

f1表示对融合后不重合的关键点采用FPS 采样方式,f2表示对融合后不重合的关键点采用S-FPS采样方式,f3表示不添加语义加权模块,f4表示采用原始独立网络语义加权模块,f5表示采用语义分割分数直接加权。通过实验对比,证明对融合后不重合的关键点采用S-FPS的采样方式能更好地筛选出有用关键点,语义分割分数直接加权也可以进一步更好地分配关键点贡献权重,验证了所设计模块的有效性。

图3 可视化地展示了原始算法和改进后的算法两组在KITTI数据集验证集场景下的定性结果:左侧为改进后的算法,右侧为原始算法。图3圆圈标记处展示了在远距离物体检测上,算法较好地减少了原始算法的漏检和错检问题。

图3 验证集下的可视化检测结果对比Fig.3 Comparison of visual detection results under verification set

4.5 时耗对比分析

SSPS-RCNN在KITTI数据集上的运行时间如表6、表7 所示;表6 是网络的各个模块在推理一帧点云数据时所消耗的时间。包括三维稀疏卷积,二维RPN模块、语义分割模块(SS)、点特征提取模块(PFE)、ROI 模块等。其中特征聚合阶段消耗时间较长,时间为56 ms,接近总时间的一半。主要原因是特征聚合模块包含了关键点采样和特征聚合两部分,关键点采样中由于采用语义引导点采样和提案区域点过滤两种方式进行采样,并进行进一步的筛选,相对增加了时耗,特征聚合阶段由于需要在不同尺度下进行特征提取,有不同维度水平的点云被重复提取,也导致了时耗的增加。但在最后语义信息特征加权中,不再设计新的网络结构预测关键点的语义分数,用原有点云分割结果直接加权关键点特征,在一定程度上节约了时间。

表6 算法各模块运行时间分析Table 6 Runtime analysis of each algorithm module

表7 方法时间对比Table 7 Method time comparison

表7是SSPS-RCNN与其他算法的时耗对比,SSPSRCNN 网络的总推理时间为126 ms,并通过CUDA 进行算法的加速,其推理时间均是基于对Car,Cyclist 和Pedestrian多目标检测的基础上计算的。结果表明SSPSRCNN算法在保证较高精度的同时,推理速度虽有下降但仍基本符合目标检测速度水平。

4.6 结果分析

在算法网络框架中,采样到的关键点主要用于候选框的后续精细化修正过程,若只采用基于候选框内的关键点采样,会因个别较远处或遮挡较严重的物体上原始点云落点较少,进而出现采样点较少或漏采等情况,在后续框的置信度上呈现较低分数,经过NMS 后会被剔除,最终呈现漏检现象;基于框内的语义采样会保证对上述点的精确采样,进而很好地作用到特征学习之中。由于基于框的关键点采样和RoI 多尺度特征采样的范围不同,融合S-FPS采样和基于候选框的FPS采样方法能很好地在采样初始阶段获得较为全面的有用关键点。

5 结束语

文章提出的基于强语义关键点采样方法的三维目标检测网络,通过融合具有逐点语义信息加权的关键点采样方法与基于候选框的关键点采样方法,获得具有更高特征代表性的采样关键点,较好地提升了采样点中前景点的比例;对聚合后的关键点特征进行语义加权也进一步提升了算法精度。在KITTI 数据集上的实验结果表明,新的关键点采样方法与基准算法相比,有效提高了三维目标检测性能,尤其在远距离和小目标检测上取得了较好的效果。虽然强语义关键点采样方法对远距离物体检测有所改善,但若三维稀疏主干网络也未检测到远距离物体框,则仍存在对于远距离或遮挡严重物体的漏检情况,后续需要进一步对远距离、遮挡严重、小物体等的检测进行改进优化。

猜你喜欢
候选框体素关键点
基于多级细分的彩色模型表面体素化算法
重定位非极大值抑制算法
瘦体素决定肥瘦
聚焦金属关键点
面向自然场景文本检测的改进NMS算法
肉兔育肥抓好七个关键点
基于Soft-NMS的候选框去冗余加速器设计*
运用边界状态约束的表面体素加密细分算法
基于体素格尺度不变特征变换的快速点云配准方法
一种针对特定目标的提议算法