近年来,公共安全领域危险事件频发,引发人们广泛关注。由于公共区域具有人流量大、危险因素多、环境复杂等特点,公共区域安全难以得到全面保障。当前主流的检测方法主要分为毫米波检测[1-3]和目标检测。毫米波检测对静态物品的检测精度高、速度快,但只能基于特定设备及环境。目标检测不依赖特定设备和环境,但对小目标的检测效果较差,增加模型深度又会影响检测时间,不能满足公共安全领域的实时性要求。人工进行管制刀具检测效率低、成本高、危险度高,利用监控系统对管制刀具检测可有效克服以上缺点,因此具有重要的研究意义。
当前主流的目标检测算法主要分为双阶段算法和单阶段算法,双阶段算法的典型代表有Faster R-CNN [4] 、Mask R-CNN [5]和SPPNet[6]等。Fernandez-carrobles等[7]提出基于Faster R-CNN算法的枪支刀具检测系统,使用GoogleNet架构对算法进行改进,获得刀具检测的最佳结果,AP50达到46.68% 。虽然双阶段算法较单阶段算法检测精度高,但是由于其网络结构是双阶段的,需要事先提取多个候选区域对应的图像,检测速度不能满足公共安全领域实时性要求。单阶段算法仅需处理一次图像就能得到目标的位置和分类结果,避免了双阶段算法中将检测任务分为2个阶段进行的复杂操作,明显提升了检测速度。单阶段算法的典型代表有YOLOv4[8]、YOLOv5[9]、SSD[10-11]等。YOLOv5算法借鉴了CutMix[12]方法,在输入部分采用Mosaic数据增强的方式对数据进行优化,并结合自适应锚框计算、自适应图片缩放等技术,在快速处理图片的同时,又保证了识别的精度。但是,YOLOv5算法采用的K-means聚类算法鲁棒性较差,性能依赖于初始类中心的选择,并需指定类中心个数[13]。此外,管制刀具目标相对较小,而YOLOv5无法有效地识别出小目标。
本实验采用改进密度峰值聚类算法优化先验框尺寸,增大先验框与实际框的匹配度,提升目标检测的精度,并将骨干网络Backbone中的C3模块与CBAM(convolutional black attention module)结合,改进为CBAMC3模块,提升模型捕捉目标物体特征的能力,改善模型对小目标的识别性能。同时,创建自定义管制刀具数据集,并在该数据集上验证了改进后算法的有效性。
YOLOv5网络结构分为输入端Input、骨干网络Backbone、颈部Neck和预测端Prediction等部分。算法包含4个模型,模型尺寸由小到大分别为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。YOLOv5算法在COCO数据集上的训练结果显示,YOLOv5s模型能在检测精度较高的前提下保证检测速度,可以满足公共安全领域实时性检测的要求,因此选择基于YOLOv5s的模型进行优化。
YOLOv5算法在输入端Input采用Mosaic数据增强对数据集进行优化。每次读取数据集中的4张原始图片,并对图片进行随机缩放、翻转、改变色域等操作,随后将变化后的图片按照4个方向分别拼接。
YOLOv5算法的骨干网络Backbone采用 Focus+CSP结构。在图片进入Backbone之前,需要经过Focus结构对图片进行切片,切片操作如图1所示,尺寸为4×4×3的图像切片后变成2×2×12的特征图。YOLOv5s模型中原始图尺寸为608×608×3,经过切片操作变成304×304×12,通过一个32个卷积核的卷积后特征图的尺寸变为304×304×32。在CSP模块中加入SPP模块后,多尺度最大池化层大幅度提升了感受野,降低了直接伸缩图片导致信息丢失的可能性,提升了模型精度。YOLOv5的网络结构借鉴CSP-Net[14]的设计思路,在网络中加入CSP结构,骨干网络Backbone中使用的是CSP1_X结构,Neck中使用的是CSP2_X结构。
图1 切片操作
Figure 1 Slicing operation
算法改进主要体现在3个方面:采用改进密度峰值聚类算法优化目标框;引入CBAM注意力机制;创建自定义管制刀具数据集。
Rodriguez等[15]提出了一种基于快速搜索和发现密度峰值的聚类算法(clustering by fast search and find of density peaks, DPC),可以有效解决K-means聚类算法的问题。薛小娜等[16]针对DPC算法中存在的缺点提出了IDPCA聚类算法,当数据集密度差异较大时,DPC算法中局部密度ρ和该点与其他具有较高密度点之间的最小距离δ不能应对复杂的密度差异,而且DPC算法对剩余点的分配策略存在多米诺效应,会导致误差传播。本实验采用IDPCA密度峰值聚类算法对目标框聚类。IDPCA聚类按照以下步骤选取聚类中心。
(1)计算每个点xi的局部密度ρi和该点与其他具有较高密度点之间的最小距离δi,计算公式[15]为
(1)
(2)
式中:σ为数据量的2%;dij为点xi和点xj的距离;r为相似性系数,该值越大,距离点xi越近的点对该点的ρi权重越大。
(2)通过γ决策图获取m个聚类中心,其中γ=ρδ。
(3)提取核心点,并采用全局搜索分配策略将分类点归类,提取核心点的方式为计算局部类Cm中所有点与其类中心cenm间的平均距离um。um的计算公式如式(3)所示,若xi∈Cm在cenm的εum邻域内,则xi为核心点,分离阈值ε=N‰,N为数据集数量。
(3)
(4)采用统计学习策略分配剩余点。
(5)最后未被处理的点可看作噪声点,归入到其最近邻类中。
IDPCA聚类算法对已标注管制刀具的边界框进行聚类分析,生成多个不同大小的先验框尺寸,使得先验框与实际框的匹配度更高,从而提升目标检测的精度。实验采用的基于IDPCA聚类算法的先验框尺寸如表1所示,基于K-means聚类算法的先验框尺寸如表2所示。
CBAM[17]是由Woo等提出的一种分别从通道和空间维度顺序提供注意力图的注意力机制模块,主要分为通道注意力模块和空间注意力模块,可以使模型提取到的特征更加精炼,有效提升模型的分类效果。通道注意力模块主要关注输入图像中有意义的信息,可以在通道维度不变的情况下压缩空间维度;空间注意力模块关注的是目标的位置信息,可以在空间维度不变的情况下压缩通道维度。CBAM结构如图2所示。
表1 基于IDPCA聚类算法的先验框尺寸
Table 1 Prior box size based on IDPCA clustering algorithm
目标种类先验框尺寸小目标55,23,33,46,80,36中目标62,70,147,59,137,91大目标92,170,250,103,167,165
表2 基于K-means聚类算法的先验框尺寸
Table 2 Prior box size based on K-means clustering algorithm
目标种类先验框尺寸小目标54,23,32,42,78,35中目标58,69,152,60,135,90大目标80,202,158,166,175,100
图2 CBAM结构
Figure 2 CBAM structure
通道注意力模块的结构如图3所示,在输入端输入特征图F(F∈RC×H×W),经过平均池化和最大池化后,将尺寸为C×H×W的特征图变成C×1×1大小,然后再将它们送入神经网络MLP,第1层神经元个数为C/r,r为下降率,激活函数为Relu,第2层神经元个数为C,完成后将结果相加,再经过一个Sigmoid函数得到权重系数Mc,权重系数的计算方式如式(4)所示,再乘以最初的输入,即可得到缩放后的新特征。
(4)
式中:σ1表示Sigmoid函数;表示尺寸为1×1×C的平均池化特征;表示尺寸为1×1×C的最大池化特征。
空间注意力模块结构如图4所示,将上一步得到的结果通过最大值池化和平均池化分成2个大小为1×H×W的通道描述,然后通过连接操作将张量堆叠在一起,再通过卷积操作和一个Sigmoid得到权重系数Ms,权重系数的计算方式如式(5)所示,最后用权重系数乘以上一步的输入即可得到缩放后的新特征,完成空间注意力操作。
图3 通道注意力模块结构
Figure 3 Channel attention module structure
图4 空间注意力模块结构
Figure 4 Spatial attention module structure
(5)
式中:f7×7表示一个7×7的卷积;σ1表示Sigmoid函数;表示平均池化特征,大小为表示最大池化特征,大小也为1×H×W。
CBAM注意力机制主要增加在骨干网络Backbone中,新版YOLOv5s模型中BottleneckCSP模块转变为了C3模块,因此选择将Backbone中的C3模块与注意力机制结合,改进为CBAMC3模块,改进后的网络结构如图5所示。
当前并没有公开的管制刀具数据集,因此选择自定义数据集。素材来源为物流集散中心真实录像、自做管制刀具图片和互联网视频等。数据集中包含水果刀、菜刀、砍刀和斧头等共计8 060张各种类型的刀具图片。使用LabelImg对筛选后的数据打标签,标签格式为txt,其中训练集占60%,验证集占20%,测试集占20%。
图5 改进后网络结构
Figure 5 Improved network structure
实验机器操作系统版本为Ubuntu18.04,GPU为GeForce RTX 3090,显存24 GB,内存32 GB,训练框架基于Pytorch1.8.0,使用Cuda11.1.1对GPU进行加速。
模型评价指标主要采用精确率P、召回率R和平均精度均值mAP等。精确率P表示在检测出为刀斧的样本中有多少是真正的刀斧,反映了检测结果是否准确;召回率R表示在全部图片样本中,有多少个刀斧被正确检测出,反映了刀斧数目是否齐全;精度均值AP大小等于以精确率P和召回率R所围成的曲线面积值,平均精度均值mAP即为所有类别精度均值的平均值。
本文实验的训练轮次为150,批尺寸为32,采用Warmup方法预热学习率。在Warmup阶段采用一维线性插值更新每次迭代的学习率,在Warmup阶段以后采用余弦退火算法来对学习率进行更新。实验中L0、L1、L2分别表示BN层、weight层和bais层的学习率,学习率的变化曲线如图6所示,L0和L1的曲线相同。
图6 学习率曲线图
Figure 6 Graph of learning rate
通过消融实验来逐步验证网络结构改变所引起的性能变化,消融实验分为YOLOv5+CBAM、YOLOv5+IDPCA、YOLOv5、YOLOv5-Plus等测试部分,评价指标P、R、mAP@0.5、mAP@0.5∶0.95指标对比图如图7~10所示。
图7 精确率对比图
Figure 7 Comparison chart of precision
图8 召回率对比图
Figure 8 Comparison chart of recall
由表3的消融实验数据可以看出,在训练自定义数据集时原始YOLOv5模型评价指标P、R、mAP@0.5、mAP@0.5∶0.95等评价指标的数值分别为96.50%、94.21%、96.05%、73.42%。采用IDPCA密度峰值聚类算法优化先验框,使得先验框与实际框的匹配度更高,明显提升检测精度,评价指标的数分别提升0.41、1.14、0.60、1.67个百分点。在模型 骨干网络加入CBAM后,显著提升模型对于对比强调特征等高级特征的提取能力,评价指标的数值分别提升0.20、0.65、0.45、1.49百分点。YOLOv5-Plus算法相比于YOLOv5算法,在先验框与实际框的匹配度以及对特征的提取能力均有显著提升,评价指标的数值分别提升1.64、1.59、1.51、3.26百分点。
图9 mAP@0.5对比图
Figure 9 Comparison chart of mAP@0.5
图10 mAP@0.5∶0.95对比图
Figure 10 Comparison chart of mAP@0.5∶0.95
表3 实验结果分析
Table 3 Analysis of experimental results %
模型精确率P召回率RmAP@0.5mAP@0.5∶0.95YOLOv596.5094.2196.0573.42YOLOv5+IDPCA96.9195.3596.6575.09YOLOv5+CBAM96.7094.8696.5074.91YOLOv5-Plus98.1495.8097.5676.68
YOLOv5-plus与YOLOv5检测精度对比如图11所示,改进前后检测精度分别为90%和95%。实验证明改进后的模型对管制刀具等小目标的检测精度有了较大的提升,在一些环境复杂、目标物体不易发现的场景下提升效果尤为明显,基本满足公共区域对管制刀具检测的速度与精度要求。
图11 检测精度对比
Figure 11 Detection accuracy comparison
针对当前公共区域缺乏较为成熟的管制刀具实时检测的算法,传统管制刀具检测方法过度依赖检测设备和环境,且检测精度与检测速度不能满足实时性要求的问题,本文提出一种优化聚类和引入CBAM的YOLOv5管制刀具检测算法。采用改进密度峰值聚类算法优化先验框尺寸,使得先验框与实际框尺寸的匹配度更高,从而提升目标检测的精度。此外,将骨干网络Backbone中的C3模块与CBAM结合,提升模型对目标特征的捕捉能力,解决YOLOv5算法对小目标检测效果不佳的问题。同时,创建自定义管制刀具数据集,并在该数据集上验证了改进后算法的有效性。改进后的算法相比于改进前算法的P、R、mAP@0.5、mAP@0.5∶0.95等评价指标分别提升1.64、1.59、1.51、3.26百分点,基本可以满足实用要求。
[1] 徐晨玉. 基于YOLOv3的危险物品检测模型研究与改进[D]. 兰州: 兰州大学, 2019.
XU C Y. Research and improvement of a dangerous goods detection model based on YOLOv3[D]. Lanzhou: Lanzhou University, 2019.
[2] 杨希. 基于深度学习的地铁安检危险物品检测[D]. 武汉: 武汉理工大学, 2020.
YANG X. Detection of dangerous goods in subway security check based on deep learning[D]. Wuhan: Wuhan University of Technology, 2020.
[3] 王胜. 毫米波图像中危险物品检测[D]. 北京: 清华大学, 2018.
WANG S. Dangerous objects detection in millimeter wave images[D]. Beijing: Tsinghua University, 2018.
[4] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[5] HE K M, GKIOXARI G, DOLLR P, et al. Mask R-CNN[C]∥2017 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2017: 2980-2988.
[6] HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[7] FERNANDEZ-CARROBLES M, DENIZ O, MAROTO F. Gun and knife detection based on faster R-CNN for video surveillance[C]∥Iberian Conference on Pattern Recognition and Image Analysis. Cham:Springer International Publishing,2019: 441-452.
[8] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. Yolov4: optimal speed and accuracy of object detection[EB/OL].(2020-08-23)[2021-09-13].https:∥ doi.org/10.48550/arXiv.2004.10934.
[9] Ultralytics. YOLOv5[EB/OL].(2020-05-18)[2021-08-12]. https:∥ github.com/ultralytics/yolov5.
[10] LIU W, ANGUELOV D, ERHAN D, et al. Ssd: single shot multibox detector[C]∥European Conference on Computer Vision. Berlin:Springer Press, 2016: 21-37.
[11] 张伟彬, 吴军, 易见兵. 基于RFB网络的特征融合管制物品检测算法研究[J]. 广西师范大学学报(自然科学版), 2021, 39(4): 34-46.
ZHANG W B, WU J, YI J B. Research on feature fusion controlled items detection algorithm based on RFB network[J]. Journal of Guangxi Normal University (Natural Science Edition), 2021, 39(4): 34-46.
[12] YUN S, HAN D, CHUN S, et al. CutMix: regularization strategy to train strong classifiers with localizable features[C]∥2019 IEEE/CVF International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2019: 6022-6031.
[13] 张震, 李浩方, 李孟洲, 等. 改进YOLOv3算法与人体信息数据融合的视频监控检测方法[J]. 郑州大学学报(工学版), 2021, 42(1): 28-34.
ZHANG Z, LI H F, LI M Z, et al. Video surveillance detection method based on improved YOLOv3 algorithm and human body information data fusion[J]. Journal of Zhengzhou University (Engineering Science), 2021, 42(1): 28-34.
[14] WANG C Y, MARK LIAO H Y, WU Y H, et al. CSPNet: a new backbone that can enhance learning capability of CNN[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops(CVPRW).Piscataway: IEEE, 2020: 1571-1580.
[15] RODRIGUEZ A, LAIO A. Clustering by fast search and find of density peaks[J]. Science, 2014, 344(6191): 1492-1496.
[16] 薛小娜, 高淑萍, 彭弘铭, 等. 结合k近邻的改进密度峰值聚类算法[J]. 计算机工程与应用, 2018, 54(7): 36-43.
XUE X N, GAO S P, PENG H M, et al. Improved density peaks clustering algorithm combining k-nearest neighbors[J]. Computer Engineering and Applications, 2018, 54(7): 36-43.
[17] WOO S, PARK J, LEE J Y, et al. Cbam: convolutional block attention module[C]∥Proceedings of the European Conference on Computer Vision (ECCV). Berlin:Springer Press,2018: 3-19.