Complex-YOLO激光雷达,在实际应用中,如何增加行人检测精度?

一本正经的烧杯 2024-02-11 10:36:50

文|正经的烧杯

编辑|正经的烧杯

«——【·前言·】——»

目标检测是计算机视觉中重要的研究领域之一,近年来,基于深度学习的目标检测推动了各领域的发展,例如无人驾驶、人脸识别等,其中检测行人是一个具有挑战性的任务。

目前基于二维图像的行人检测算法已取得较大的进展,但针对三维的行人检测算法仍在深入研究中。

三维检测主要用到的传感器有激光雷达、毫米波雷达和深度相机等。其中激光雷达凭借其不受光照影响、检测精度高等特点在各个领域中得到广泛应用,激光雷达捕获的数据与图像不同,其为三维点云而非二维图像。

根据点云的处理方法不同,检测行人的方法可分为:基于原始点云、基于点云体素化、基于点云投影的目标检测方法。

针对以上问题,提出了一种基于改进Complex-YOLO的检测方法。将信息缺失的伪图作为输入,使用某公司提出Ghost模块设计全新的主干网络,增强网络对于稀疏特征的提取能力,减少网络的运算量。

将FPN(FeaturePyramidNetworks)改为级联FPN,通过扩展网络宽度、融合不同尺度特征,设计全新的线性多分支融合结构,进一步增强网络的泛化能力,实验结果表明在检测头不变的情况下,检测精度增加,表明改进后的网络结构有助于提高网络检测行人的能力。

«——【·Complex-YOLO算法·】——»

对三维点云的高度、强度和密度分别进行编码,将点云投影到网格中,对于每一个网格,高度特征是每个网格中所有点高度的最大值;强度特征为每个网格中最大高度点的反射值;密度特征为每个网格中包含点的数目。

图1为激光雷达扫描的点经BEV投影生成的伪图。从左到右依次为:激光雷达点云可视化、有效点云可视化、将高度、强度、密度可视化和生成伪图的可视化。

Complex-YOLO算法结构可分为三个部分:点云投影、特征提取和检测头输出。该算法检测流程如下:将点云进行BEV投影,将三维点云转为二维伪图,降低维度。

将伪图送入二维Backbone(主干网络)提取特征,送入Neck(中间层)进行特征融合,有助于增强网络泛化性,将Neck输出的特征,送入检测头完成检测后输出,解码后获得目标的位置和类别。

«——【·改进后的算法·】——»

不同输入数据特征对比如图2所示,红框区域为图像数据,绿框区域雷达点云数据,蓝框区域为点云投影后的伪图。为便于观察,最下方三个图片为内部框选区域放大后的图像,其中图像与点云数据在同一个时间同一地点获得,相互对应。

其中图像信息密度最高,行人特征数量多,点云数据由于其离散性,行人特征缺失,但包含的特征仍然较多;伪图相比于点云数据更为稀缺,包含信息更为稀少。

图3为改进后结构,流程与原算法类似。将CSPDarkNet53(CrossStageParitialDarkNetwork)中ResNet块替换为Ghost模块,用于增强网络的特征提取能力。

SPP(SpatialPyramidPooling)只对原图提取一次特征,避免了重复计算,使得网络更加轻量化,取消crop/warp归一化过程,解决图像变形导致的信息丢失问题。

虚线框处为级联FPN,将Backbone生成的不同尺度、不同深度特征融合,提高网络泛化性;最右侧为YOLO检测头,其在三个维度进行检测。

特征图大小分别是(19×19),(38×38),(76×76),以输入图像大小为(608×608)为例,在特征图(19×19)上每个点对应原图像32个像素,即缩小到原图的1/32,会导致难以检测小物体,故用于检测大物体;(38×38),(76×76)分别用于检测中等物体和小物体。

受改变主干网络结构的启发与上文分析,修改Backbone有助于增强网络的提取特征能力,故在CSPDarkNet53框架中引入Ghost模块,图4a为常规卷积操作,图4b为添加Ghost模块后的卷积操作。

为了取代原网络中的CSPResNet模块(图5a),CSPDarkNet53框架增强了CNN的学习能力,在轻量化的同时可以保证精度。

将CSPDarkNet53网络思想用于Ghost模块中,构建CSPGhost模块(图5b),将特征分成Baselayer(Ⅰ)和(Ⅱ),将Baselayer(Ⅱ)送入Ghostmodule完成特征提取,最后在PartialTransition层将特征Baselayer(Ⅰ)和Baselayer(Ⅱ)提取的特征连接作为网络输出。

使梯度组合的差异最大化,可以产生足够丰富的输出,减少由于输入数据稀少造成的影响,通过上面分析CSPGhost模块可以减少特征提取阶段的运算量,并且能产生到更多的特征。

为更好识别不同尺度的行人,故需要将Backbone所提取的特征进行融合,融合过程在Neck阶段完成。

图6为Neck层的网络结构,由级联FPN结构构成,以图6a分支为例,FPN具有横向连接的自顶向下体系结构,可以有效的利用并融合不同尺度、不同深度的语义信息,使生成的不同层的特征包含的信息更加丰富,有助于包含更多的行人特征,有利于加强行人检测。

因此输出的特征略有不同,使网络提取的特征更加丰富,由于不同的分支具有不同的感受野,将不同分支所对应的同一尺度输出特征求均值最为最终输出。

«——【·实验结果及分析·】——»

KITTI包含多种场景采集的多种数据,包含7481个训练数据和7518个测试数据,并标注了数据的类别及其对应的位置。

实验使用Pytorch深度学习框架,模型训练的处理器为AMDRyzen55600H,GPU为3050Ti。将BatchSize设置为4,迭代次数为100,权重衰减为0.01,学习率调整使用cosine,动量设置为0.95,使用Adam优化器优化模型。

网络模型的评价指标为准确率P(Precision)、召回率R(Recall)、平均精度AP(AveragePrecision),其表达式为:

式中,nTP为预测正确的数量,nFP为预测错误的数量,nFP为未检测到的目标数量,AP为PR曲线与坐标轴围成的面积。与其他模型比较结果如表1所示,其中easy,moderate,hard由不同的最小边界框高度、最大遮挡级别和最大截断比例定义。

相比于使用BEV投影的BirdNet与Complex-YOLO(C.YOLO)算法,改进方法检测精度存在优势,表明添加级联FPN和带有Ghost模块的卷积能更好的提取伪图中包含的特征信息。

相比于AVOD使用点云和图像作为输入数据的方法,改进方法检测精度较高,表明只需要点云数据作为输入数据仍可获得较好的精度,检测精度受网络结构影响较大。

该算法同时使用激光雷达与点云数据,图像受外部光强影响极大,而激光雷达几乎不受外界光强影响,引入图像数据可能会影响网络点云特征提取能力。

相比于VoxelNet网络,由于该网络存在大量的空体素,所包含有效信息较少,类似于稀释了特征图中每个点所包含的特征,给卷积操作造成了额外的负担,导致检测精度较低。

为验证引入网络的有效性,设计消融实验,实验结果如表2所示,√表示应用该模块,×表示未使用,精度均值为不同难度下检测精度的均值。

为验证本文改进算法的有效性,采KITTI数据集作为实验数据。随机采用数据集中部分数据作为实验数据,使用mayavi等工具可视化点云、图像和检测结果。由于投影后的点云目标不易辨识,故提供点云数据所对应的图像数据作为参考,如图7所示。

检测结果对比如图8所示。图7a,图7b,图7c,图7d分别对应图8a,图8b,图8c,图8d。图8每个小图的左侧为改进后检测结果,右侧为原方法检测结果,小型方框为行人,大型方框为检测到的车辆。

对比图8a,由于距离较远,点云生成的伪图包含数据较为稀缺,原算法无法检测到目标,改进算法通过增强网络特征的提取能力,成功检测到漏检的行人。

对比图8b,该行人在路标旁,部分区域被遮挡,改进后的算法可以准确检测到行人;对比图8c,原算法漏检最右侧岔路口的被遮挡车辆,改进后的算法可检测到,表明算法在应对输入特征较少的情况仍可检测到目标,表明改进后的网络具有较好的泛化能力。

对比图8d,多个行人在一块时,使得投影后特征发生畸变,改进后的算法通过级联FPN融合,提高了网络的泛化能力,从而成功检测到人群,表明网络泛化能力有所提升

为验证改进算法的有效性,使用RSHELIOS型激光雷达在某高校附近路段捕获数据,如图9所示。

抽取100帧作为实验数据,由于与原数据集所采用的激光雷达型号不同等原因,故需将RSHELIOS型激光雷达导出的csv格式数据通过numpy库调整生成所需格式的数据,将数据预处理之后,比较原算法与改进后算法的检测能力。

部分检测结果如图10所示,第一行为点云数据可视化,第二行为改进算法检测结果,第三行为原算法检测结果。

从图中可以看出,第三列中俩个行人之间距离较远,原算法和改进后算法都能检测到,第一列中俩个行人距离较近,改进后算法的检测效果好于原算法。与前述所得结果相同。

«——【·结语·】——»

对于原有算法在行人目标检测方面存在的问题,包括提取特征能力较弱和泛化性不足等方面进行了改进。

首先选用CSPDarkNet53作为Backbone框架,设计CSPGhost模块,在输入数据较少的情况下,提升了网络特征提取能力,并减少网络的运算量,有助于挖掘到更丰富的信息。

通过设计级联FPN拓展网络的宽度和深度,扩大网络感受野,有利于获取将不同尺度、不同深度的特征,通过全新的特征融合方式,实现不同尺度、不同深度特征层之间的线性连接,有助于改善不同尺度下行人的检测问题。

实验证明通过增强特征提取能力和融合不同尺度特征,我们的方法在行人检测任务中表现出色。这不仅改善原算法在行人检测方面精度低和泛化性差等问题,而且为进一步优化其他小目标检测算法提供了有益的启示。

0 阅读:6

一本正经的烧杯

简介:感谢大家的关注