面向密集型场景的多尺度行人检测方法

2023-04-29 00:00:00吴迪宋家豪李睿智

摘 要:针对目标检测算法对小目标行人识别率低、对监控远处视野目标检测精度不理想的问题,提出了改进YOLOv5高效多尺度特征利用的行人检测算法。首先,通过在原网络中改进高效的特征融合结构,提高模型对深层特征的感知力来提高模型精度;其次,采用Res2Net Block重构骨干网络,加强对细粒度特征信息的利用;最后,加入改进的空间金字塔注意力池化网络,强化模型的多层次特征表达能力。在CrowdHuman数据集进行训练和验证,YOLOv5-SA的平均检测精度达到了85.6%,相比原算法提高了3.8%,检测速度可以达到51FPS(frames per second),识别精度和检测速度均具有较好的效果,可以有效应用于密集目标行人检测任务。

关 键 词:小目标行人; 注意力模块; 密集行人检测; 空间金字塔池化网络

中图分类号:TP391.4 文献标志码:A

doi:10.3969/j.issn.1673-5862.2023.06.009

A multi-scale pedestrian detection method for dense scenes

WU Di, SONG Jiahao, LI Ruizhi

(College of Physical Science and Technology, Shenyang Normal University, Shenyang 110034, China)

Abstract:Aiming at the problems that the target detection algorithm has low recognition rate of small target pedestrians and unsatisfactory detection accuracy for monitoring distant field of view targets, in this paper we propose a pedestrian detection algorithm with improved YOLOv5 efficient multi-scale feature utilization. Firstly, by improving the efficient feature fusion structure in the original network, the perceptiveness of the model for deep features improves the model accuracy; secondly, the Res2Net Block is used to reconstruct the backbone network to enhance the utilization of fine-grained feature information; finally, an improved spatial pyramid attention pooling network is added to strengthen the multi-level feature representation capability of the model. Trained and validated on the CrowdHuman dataset, the average detection accuracy of YOLOv5-SA reaches 85.6%, which is 3.8% higher than the original algorithm, and the detection speed can reach 51FPS, with good results in both recognition accuracy and detection speed, it can be effectively used for dense target pedestrian detection tasks.

Key words:small target pedestrian; attention module; occlusion pedestrian detection; spatial pyramid pooling network

行人检测作为校园安全和智能监控系统中的关键技术,对实现区域安防具有极高的研究与应用价值。在实施检测任务时,研究者需面对场景的复杂性和目标尺度的多样性等多种性能影响因素,尤其是小尺寸目标行人的识别问题[1。小目标行人的检测不仅难度较大,而且对整体目标检测算法性能的提升构成了挑战。

在当前复杂环境下,行人检测主要依赖深度学习技术,分为两阶段(two-stage)和一阶段(one-stage)算法。Two-stage算法首先生成候选区域确定目标位置,然后通过深度网络对这些区域进行分类和回归,如R-CNN系列[2-3。但其计算量大,检测速度较慢。而one-stage算法,如SSD(single shot multibox detector)和YOLO系列[4-5,实现了检测和识别的端到端合并,提高了速度,但网络难以学习足够的小物体特征。文献[6]借鉴了ResNet残差网络,重构SSD算法的特征提取网络,以改进行人检测精度低的问题。文献[7]在YOLOv3-Tiny的基础上引入了空洞卷积增大网络感受野,改善了小目标的识别精度。受以上启发,本文在YOLOv5框架下,研究多尺度特征提取机制,提出一种增强小目标行人识别的改进算法。

1 YOLOv5算法概述

随着one-stage算法的不断迭代和优化,YOLOv5网络已成为广泛应用的高性能目标检测算法之一。YOLOv5网络包含4种不同大小的网络模型, 其中,YOlOv5s模型的网络宽度和深度较小,在拥有非常快的推理速度的同时,具有较高的精度,可以满足监控场景的实时检测需求。本文基于YOLOv5s模型改进后的网络结构如图1所示。

2 改进工作

2.1 高效的特征融合网络

本算法将骨干网具有相同空间尺度的特征图分为5个不同阶段:{stage1,stage2,stage3,stage4,stage5}。为了提高模型对小目标的检测精度,将原有的特征层融合扩展到4个特征层:{P2,P3,P4,P5},结构如图2所示。P2层的特征图为160×160像素,包含更完整的特征信息,通过融合多尺度的深层和浅层特征,可以提取到更多的定位与语义信息,增强特征金字塔网络的特征表达能力,提高小目标与遮挡目标的检测精度,并降低漏检率。

CA(coordinate attention)[8注意力可以同时捕捉到空间方向的位置信息和长期依赖关系,有助于网络更精准地定位目标。具体分为位置信息嵌入和坐标注意区域,输入特征由水平方向和垂直方向的池化核对不同通道进行编码,计算方式如下:

之后利用卷积操作和激活函数,将2个张量转化为空间子方向上的注意力权重,计算公式:

gh=σ(Fh(fh)) """(3)

gw=σ(Fw(fw)) """(4)

最后,将注意力权重与输入特征图进行乘法加权计算,得到带有注意力权重的特征图输出计算公式:

yc(i,j)=xc(i,j)×ghc(i)×gw(j) """(5)

如图3所示,通过将CA模块添加到特征融合模块中,可促进网络融合更丰富的多尺度特征信息,以增强不同尺寸目标的特征表达能力。

2.2 改进的细粒度特征提取网络

文献[9]指出,逐层提取的网络结构在特征采集过程中对多尺度特征信息利用率不足。在Res2Net[10中,每个残差块内增加了更多的分层残差连接,以更细粒度的方式表示特征,使网络具备更强的多尺度特征提取能力。

多尺度提取方式在更细粒度的层次上提高了特征表达能力,同时增大了可用感受野,应用于骨干网络中,可加强P2大尺度特征层的信息利用。网络的输出计算如式(6),首先通过1×1卷积将特征映射成s个特征块,用xi表示,每个特征块的大小为1/s,每个xi会经过相应的3×3卷积层,由Ki表示,最后yi输出融合xi后的特征图。

将重构后的特征提取为网络与多尺度特征融合的结构集成,有利于网络提取全局和局部信息,从而达到对小目标特征有效利用的目的。

2.3 改进的空间金字塔注意力池化网络

目前主流的目标检测网络通常会在特征提取网络与特征融合网络之间应用空间金字塔池化模块,以增大感受野,如SPP(spatial pyramid poding), SPPCSPC(spatial pyramid pooling amp; cross stage partial Network plus convBNSiLU)[11等。空间金字塔结构可以增强梯度表现,实现多尺度特征的融合,但是缺乏对复杂背景下的重要通道信息的有效利用。因此,为了有效提取多尺度特征,提出了SPAP(spatial pyramidal attention pooling)模块。如图4所示,在空间金字塔结构处建立了串行的路径连接模式,对特征图使用3个串行的5×5最大池化捕捉更多的特征表示和结构化信息,以增强全局信息和结构信息之间的联系。然后将3个输出特征进行连接,输入到注意力网络组成注意力图,最后通过卷积和连接操作输出最后的张量。通过空间金字塔注意力网络可以增强特征表示,也能汇集不同的尺度特征。为了减少计算成本,替换使用4×4的分组卷积结构,以减少网络计算量。

3 实验分析

3.1 数据集处理与训练环境

实验图像数据集来自开源的CrowdHuman Dataset[12,本实验将数据集进行预处理,去除头部标注,保留数据集中行人的全身标注框。将初始数据集进行数据清洗,将剩下的数据集随机划分为训练集13500张、验证集1500张和测试集4000张。

具体测试环境:PyTorch版本为1.8.1;训练环境:GPU为NVIDIA GeForce RTX 3060,显存为12G,CUDA版本为11.1。

采用平均精度均值(mean average precision, mAP) 、模型检测帧数(FPS)、参数量(Params)及计算量(floating-point operations, FLOPs)等指标对模型进行评估。

3.2 评估实验

为验证所提出的改进算法在密集人群检测任务中的有效性,设置3个消融实验和1个对比实验。第1个实验验证在添加P2特征层之后的改进效果受益于P2特征层的高像素信息,保留了更丰富的小目标特征信息,使更多的锚点和目标框相互匹配。第2个实验验证使用了CA注意力机制构建的骨干网络性能,增强了重要通道和空间定位的学习。第3个实验验证增强了特征提取网络的性能。第4个实验对比了添加SPAP模块后的最终算法与当前主流算法在遮挡行人检测任务中的表现性能,证明了提出算法的有效性。

训练前采用聚类算法和遗传进化算法计算合适的先验框大小。对数据集进行多个尺度的先验框(anchor)优化,先验框参数见表1,可得到12个anchor尺寸。

实验1 对YOLOv5算法模型和YOLOv5-P2算法模型进行对比实验。其中YOLOv5-P2实验为融合浅层特征后数据集上的测试效果, 对比结果见表2。从mAP的对比数据可知,添加浅层特征层的网络的mAP从81.8%提升到83.3%, 比原算法提升了1.5%。分析原因为初始算法对小目标的精度较差, 导致mAP值较低,改进算法重用高像素的P2特征层保留了更丰富的小物体特征信息并得益于K-means++算法, 让更多的anchor和目标框相互匹配, 有助于损失函数更快地收敛。同时,扩展的特征图分辨率较大导致了检测时间的增加, 与初始模型相比,推理速度降低了11%, 从62FPS降低到55FPS。

实验2 为进一步加强多尺度特征的表达能力,本文引入CA注意力机制,捕获多通道和空间位置的信息,以增强网络的特征表达能力。本实验引入CA模块后进行性能测试,在Backbone,Neck和Head的不同位置进行对比,并命名为YOLOv5-P2-BCA,YOLOv5-P2-NCA和YOLOv5-P2-HCA,验证算法设计结构的合理性,实验结果见表3。观察mAP可知,相比于YOLOv5-P2结构P/%,使用YOLOv5-P2-NCA的mAP提升了0.8%,而参数量和计算量保持不变。

实验3 在YOLOv5-P2-NCA的基础上,将Res2Net Block重构骨干网络,并与YOLOv5-P2-NCA算法进行对比,结果见表4。从表4中数据可知,YOLOv5-P2-NCA-Res2结构的平均检测精度达到了84.5%,进一步提高了模型的检测效果。

实验4 在实验3所提算法中加入SPAP模块,并将最终算法命名为YOLOv5-SA。如表5所见,在实验中测试本文算法与目前主流算法在行人检测任务中的性能表现对比,各算法划分数据一致。实验表明,改进算法在遮挡行人检测中可达到85.6%的检测精度,对小目标的识别率更高。相比于初始YOLOv5算法提高了3.8%的mAP精度,增加了10.8%的参数量。相比于YOLOv3-SPP算法,虽然精度相当,但是计算量和参数量远大于本算法,不适合设备部署。经过多次验证,YOLOv5-SA算法检测精度较高,并可以达到51FPS。对比其他算法模型,该算法兼顾性能和速度,是一种可行的小目标行人检测算法。

3.3 可视化检测结果

从测试集中随机选取不同场景下的小目标行人图片与原YOLOv5算法进行对比,改进前后的对比结果如图5所示。在图像视野面积大、人员目标体积较小的情况下,改进后的算法能够较好地检测出小尺寸行人目标,在准确率和精度方面具有优异表现,提高了小目标的检测精度。

4 结论与展望

本文提出改进的YOLOv5-SA算法用于小目标与密集行人检测。为改善小目标行人检测效果差、尺度变化大的问题,改进原YOLOv5算法的多尺度融合方式,并引入坐标注意力机制增强行人目标的特征提取能力和定位能力,以提高检测精度。针对原网络细粒度特征提取能力较弱的问题,采用Res2Net重构骨干网络,以充分利用浅层丰富的特征信息,强化特征信息的提取能力。改进特征金字塔结构,加入SPAP模块融合图像的局部和全局特征,有效扩大感受野,在减少网络参数的同时增强了上下文信息的表达。在CrowdHuman数据集上的实验证明,本算法提高了多目标行人的检测精度,并能兼顾实时检测效果,可以应用于密集目标行人的检测任务。未来将进一步优化网络结构以减少参数量,并提升在多个真实场景下的多角度检测精度,最终完成特定设备部署。

参考文献:

[1]LIU S,GENG Y,SONG Y. Research on small target pedestrian detection algorithm based on improved YOLOv3[C]∥International Conference on Genetic and Evolutionary Computing. Lille: IEEE, 2021:203-214.

[2]GIRSHICK R,DONAHUE J,DARRELL T. Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014:580-587.

[3]GIRSHICK R. Faster R-CNN: Towards real-time object detection with region proposal networks[C]∥Proceedings of The IEEE International Conference on Computer Vision. Boston: IEEE, 2015:1440-1448.

[4]REDMON J,DIVVALA S,GIRSHICK R. You only look once: Unified, real-time object detection[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016:779-788.

[5]REDMON J,FARHADI A. YOLOv3: An incremental improvement[J]. arXiv preprint arXiv: 1804. 02767, 2018.

[6]于波,刘畅. 基于改进SSD算法的行人检测方法[J]. 电子测量技术, 2021,44(12):24-28.

[7]化嫣然,张卓,龙赛,等. 基于改进YOLO算法的遥感图像目标检测[J]. 电子测量技术, 2020,43(24):87-92.

[8]HOU Q,ZHOU D,FENG J.Coordinate attention for efficient mobile network design[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021:13713-13722.

[9]LIU S,QI L,QIN H. Path aggregation network for instance segmentation[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018:8759-8768.

[10]GAO S H,CHENG M M,ZHAO K. Res2Net: A new multi-scale backbone architecture[J]. PAMI, 2019,43(2):652-662.

[11]WANG C Y,BOCHKOVSKIY A,LIAO H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2022:7464-7475.

[12]SHAO S,ZHAO Z,LI B,et al. CrowdHuman: A benchmark for detecting human in a crowd[J]. arXiv preprint arXiv: 1805.00123, 2018.