广东工业大学学报  2023, Vol. 40Issue (4): 67-76.  DOI: 10.12052/gdutxb.220139.
0

引用本文 

曹智雄, 吴晓鸰, 骆晓伟, 凌捷. 融合迁移学习与YOLOv5的安全帽佩戴检测算法[J]. 广东工业大学学报, 2023, 40(4): 67-76. DOI: 10.12052/gdutxb.220139.
Cao Zhi-xiong, Wu Xiao-ling, Luo Xiao-wei, Ling Jie. Helmet Wearing Detection Algorithm Intergrating Transfer Learning and YOLOv5[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2023, 40(4): 67-76. DOI: 10.12052/gdutxb.220139.

基金项目:

教育部重点实验室开放课题(2021-1EQBD-02) ;广东省国际科技合作领域项目(2019A050513010)

作者简介:

曹智雄(1997–) ,男,硕士研究生,主要研究方向为智慧城市、图像处理与模式识别。

通信作者

吴晓鸰(1979–) ,女,副教授,博士,主要研究方向为物联网、网络安全,E-mail:xl.wu@gdut.edu.cn

文章历史

收稿日期:2022-09-13
融合迁移学习与YOLOv5的安全帽佩戴检测算法
曹智雄1, 吴晓鸰1, 骆晓伟2, 凌捷1    
1. 广东工业大学 计算机学院,广东 广州 510006;
2. 香港城市大学 建筑及土木系,香港 999077
摘要: 针对现有安全帽佩戴检测算法在检测小目标和密集目标时出现漏检、检测准确度低下等问题,本文提出一种基于改进YOLOv5和迁移学习的安全帽佩戴检测新方法。使用K-means算法聚类出更适合检测任务的先验框尺寸以解决默认先验框不适应任务的问题;在特征提取网络后段引入空间通道混合注意力模块,使模型加强对目标权重的学习,抑制无关背景的权重;改进YOLOv5后处理阶段的非极大值抑制(Non-Maximum-Suppression,NMS) 算法的判断度量,减少预测框误删和缺失的现象;采用迁移学习的策略对网络进行训练,克服现有数据集不足的缺陷并提升模型泛化能力;最后提出一种适用于视觉传感网络的安全帽佩戴级联判断框架。实验结果表明改进模型的平均准确率(IOU=0.5)达到了93.6%,与原始模型相比提高了5%,性能优于其他同类算法,提高了施工场景下对安全帽佩戴检测的准确率。
关键词: 安全帽佩戴检测    YOLOv5    迁移学习    注意力机制    视觉传感器网络    
Helmet Wearing Detection Algorithm Intergrating Transfer Learning and YOLOv5
Cao Zhi-xiong1, Wu Xiao-ling1, Luo Xiao-wei2, Ling Jie1    
1. School of Computer Science and Technology, Guangdong University of Technology, Guangzhou 510006, China;
2. Department of Architecture and Civil Engineering, City University of Hong Kong, Hong Kong 999077, China
Abstract: To address the problems of missing detection and low detection accuracy of the existing helmet wearing detection algorithms for small and crowded targets detection, this paper proposes a helmet wearing detection method based on improved YOLOv5 and transfer learning. First, different from the default priori frame that is not suitable for the task, we use the K-means algorithm to cluster the suitable priori frame size for the detection task. Then, in the back of the feature extraction network, we introduce a spatial channel mixed attention module to strengthen the learning of relevant weights and suppress the weights of irrelevant backgrounds, respectively. Further, we improve the judgment metric of the non-maximum-suppression (NMS) algorithm in the post-processing stage of YOLOv5 to reduce the phenomenon of false deletion and missing of prediction boxes. After that, the proposed network is trained based on the strategy of transfer learning, which can overcome the scarcity of limited existing data sets and improve the generalization ability of the model. Finally, we build a cascade judgment framework for helmet wearing deployed in visual sensor networks. The experimental results show that our proposed method improves the average accuracy (IOU=0.5) to 93.6%, which is 5% higher than the original model in the helmet wearing data set. The proposed model also outperforms other state-of-the-art algorithms by obviously improving the accuracy of helmet wearing detection in the construction scenarios.
Key words: helmet wearing detection    YOLOv5    transfer learning    attention module    visual sensor network    

在建筑施工的过程中,施工人员的人身安全饱受不同类型的意外事件的侵害。例如,高处坠落、物体打击、坍塌、起重伤害、其他伤害等。据统计,我国建筑行业发生的安全事故中有约60%的伤亡者没有正确佩戴安全帽。安全帽对于高空坠物等伤害可以起到关键的缓冲作用,降低事故的伤亡和损失。因此,监督工人正确佩戴安全帽已经成为实现安全生产施工的必要措施[1]。目前对于安全帽佩戴的检测主要依靠施工现场管理人员的监督,这种靠人力监管的方式由于施工场所的不确定性和复杂性变得繁琐而耗时,拉长了工地的生产周期[2]

在建筑领域,利用机器学习和深度学习等技术可以提升施工过程的自动化程度。其中,基于深度学习的目标检测算法是解决安全帽佩戴情况检测问题的主流做法。目标检测算法可以分为双阶段法(two-stage) 和单阶段法(one-stage) 。双阶段算法在检测时先对候选区域进行预处理提议,然后对提议的区域进行分类和回归并输出分类结果。经典的双阶段算法有R-CNN[3]和Faster R-CNN[4]算法等。Redmon等在前者的基础上提出了YOLOv1[5]算法,使用单个卷积网络一次性完成特征提取和候选框预测,相较于Faster R-CNN检测速度有了大幅提升。后续的YOLOv2[6]、YOLOv3[7]算法,增加了预测框的数量,并缓解了中小目标和超大目标丢失的问题。Bochkovskiy等[8]借鉴跨阶段局部网络(Cross Stage Partial Network,CSP Net)改进了主干网络和颈部的特征金字塔(Feature Pyramid Networks,FPN)结构,构建出YOLOv4算法。

单阶段目标检算法检测速度更快,适合部署在施工相关的场景中,被许多学者用于安全帽佩戴检测研究。林俊等[9]在安全帽检测中引入YOLOv1算法,检测结果实时性较好,但识别性能较差。方明等[10]利用密集块加强了多层特征的融合和语义信息,缓解了YOLOv2模型在识别远距离小目标时准确率低的问题。Cheng等[11]通过在YOLOv3算法中引入深度可分卷积和残差块,并改进了SPP模块,减少了模型的参数量并提升了特征提取能力和回归精度。Chen等[12]为了改善小目标检测的效果,基于YOLOv4引入群卷积和CSP结构,提高模型特征聚合能力并降低冗余量。以上方法虽然提升了算法性能,但依然存在以下弊端:单阶段算法的泛化能力较弱,只适用于通用场景,对于远距离小目标与密集目标仍然有较高的漏检率与错检率,同时无法获取更多的上下文信息;安全帽检测领域目前存在的数据集质量不高,数据量不大,直接用于训练容易使模型出现过拟合问题,难以直接运用于真实场景中;在施工实际部署时,多个角度的视觉传感器节点获得的同一目标的检测信息没有得到充分利用。

基于此,本文在YOLOv5算法的基础上使用K-means聚类算法先验地得到更合适于安全帽检测的初始候选框数据;加入空间通道混合注意力模块,强化模型对感兴趣区域的捕捉,并对比不同的添加方式和模块组合方式对检测结果的影响;改进YOLOv5后处理阶段算法,使用DIOU_nms解决普通非极大值抑制(Non-Maximum Suppression, NMS)算法在目标重叠度过高时丢失预测框的问题;引入迁移学习的思想对YOLOv5进行训练,降低训练成本,增强模型提取特征能力,减少过拟合现象,进一步提升了模型在通用场景的检测性能,而且改善了模型在密集目标以及小目标场景下的检测效果。最后,探讨本文模型部署在多个方向的视觉传感器节点上时如何利用级联网络更高效利用特征信息的问题。

1 算法设计 1.1 先验框模块

YOLOv5算法使用锚框(Anchor) 机制来辅助目标框坐标的预测,针对不同数据集,都会有初始设定长宽的先验锚框。在模型训练时和真实框(Ground Truth,GT) 进行对比,通过两者的差距反向迭代网络参数。因此,一个更贴合数据集的锚框能够节省模型训练时间,提升模型检测效果。

YOLOv5算法中的先验框通过K-means聚类算法在COCO(Common Objects in Context)数据集上计算得出,但由于COCO数据集一共有80个类别,在本文场景下,这组先验框并不能完全适用于安全帽佩戴检测,需要重新使用K-means聚类算法分析得到新的先验框。本文选取K=9,计算得到新的先验锚框,输入640×640图片时结果如表1所示。其中,特征图尺度表示模型预测网络检测头最终获得的用于判别的特征图尺寸,先验框尺寸为不同预测分支初次回归时默认的锚框数值。

表 1 聚类后先验框分布 Table 1 Distribution of priori box after clustering
1.2 注意力模块

随着深度学习的发展,在目标检测中引入注意力机制被证实可以提高模型的识别能力[13]。注意力机制可以通过额外权重让卷积层更聚焦关键位置,产生的特征会更有分辨性,使网络能够获取更多的上下文信息。本文对YOLOv5模型采用空间通道混合注意力机制(Convolutional Block Attention Module,CBAM) 进行改进,该注意力机制分为2个部分[14]:空间注意力模块(Spatial Attention Module, SAM) 和通道注意力模块(Channel Attention Module, CAM) ,通过对2个模块的组合使用可以将神经网络特征图中的安全帽特征分配较高的权重,抑制无关的背景特征权重,从而提高YOLOv5神经网络对安全帽的关注度,改善检测任务中安全帽因为密集、遮挡、光线暗淡等场景因素识别率较低的问题。

YOLOv5在进行特征提取时,卷积层负责计算所有特征图邻近位置的特征信息,通道信息通常可以反映图像间特征的映射关系,普通卷积层并不会考虑通道信息所隐含的相关映射性。因此,可以通过对模型加入通道注意力机制,对通道路径进行打分和筛选。为实现选择通道的功能,本文采用上述所提及的通道注意力模块[15],其结构如图1所示。该模块的部署方式为即插即用,加在卷积模块之后。

图 1 通道注意力模块结构图 Figure 1 Structure diagram of the channel attention module

通道注意力模块分为3个部分:并行池化层、多层感知机和激活函数。模型送入一张特征图 ${\boldsymbol{F}} \in {{\boldsymbol{R}}^{C \times H \times W}}$ ${\boldsymbol{R}} $ 为特征图集合,并行地经过全局平均池化和全局最大池化,得到2个均为C×1×1的带有上下文信息的池化特征图 ${\boldsymbol{F}}_{\max }^c$ ${\boldsymbol{F}}_{{\text{avg}}}^{{c}}$ 。这两张特征图通过一个2层大小的多层感知机(Multilayer Perceptron,MLP),其中第1层的神经元个数为C/r,激活函数为Relu,第2层的神经元个数为C。得到的结果特征图经过逐元素(Element-wise) 加和操作后送入激励函数sigmoid进行激活操作,最后得到通道注意力特征 ${{\boldsymbol{M}}_{{c}}} \in {{\boldsymbol{R}}^{C \times 1 \times 1}}$ ,其定义如式(1) 所示。

$ {{\boldsymbol{M}}_c}( {\boldsymbol{F}} ) = \sigma ( {{W_1}( {{W_0}( {{\boldsymbol{F}}_{{\rm{avg}}}^{{c}}} ) } ) + {W_1}( {{W_0}( {{\boldsymbol{F}}_{\max }^c} ) } ) } ) $ (1)

式中: $ \sigma $ 为sigmod函数,W0跟随在激活函数RELU后,W0W1为MLP对2张特征图的共享权重。最后,将 ${{\boldsymbol{M}}_c}$ 和最初送入的特征 ${\boldsymbol{F}}$ 做逐元素乘法操作得到用于打分的特征 ${{\boldsymbol{F}}'}$ 。通过上述通道注意力模块,在不过多增加参数的情况下,网络学习到了丰富的上下文信息,抑制了非小目标的通道间权重,改善了模型检测远距离小目标的性能。

相比通道注意力机制,空间注意力机制主要用于解决待识别目标大致方位的问题,并对通道注意力进行补充,可以使模型的识别能力进一步提升。本文在通道注意力模块后串行1个空间注意力模块[16],即空间注意力的输入部分来自通道注意力的输出。空间注意力机制的结构如图2所示。

图 2 空间注意力模块结构图 Figure 2 Structure diagram of the spartial attention module

空间注意力模块的输入为通道注意力的输出 ${{\boldsymbol{M}}_c}$ 与最初输入的特征 ${\boldsymbol{F}}$ 做逐元素相乘得到的 ${{\boldsymbol{F}}'}$ ,首先做1个基于通道轴的全局平均池化和全局最大池化操作,得到2个池化特征 ${\boldsymbol{F}}_{{\rm{avg}}}^s \in {{\boldsymbol{R}}^{1 \times H \times W}}$ ${\boldsymbol{F}}_{\max }^s \in {{\boldsymbol{R}}^{1 \times H \times W}}$ ,将这2个特征图基于通道轴做张量拼接(concat) 操作。然后将得到的2D特征经过一个7×7大小的卷积,降维为一个通道。再将得到的特征图送入sigmoid生成空间注意力特征 ${{\boldsymbol{M}}_s}$ 。同样地,得到的空间通道特征也要和特征 ${\boldsymbol{F}}$ 进行逐元素相乘。空间注意力模块的定义如式(2) 所示。

$ {{\boldsymbol{M}}_s}( {\boldsymbol{F}} ) = \sigma ( {{f^{7 \times 7}}( {{\boldsymbol{F}}_{{\rm{avg}}}^s;{\boldsymbol{F}}_{\max }^s} ) } ) $ (2)

式中: $ \sigma $ 为sigmoid激活函数, $ {f^{7 \times 7}} $ 为滤波器大小为7×7的卷积运算。则整个空间通道注意力机制可由式(3) 表示。

$ {{\boldsymbol{F}}'} = {{\boldsymbol{M}}_c}( {\boldsymbol{F}} ) \otimes {\boldsymbol{F}},{{\boldsymbol{F}}{''}} = {{\boldsymbol{M}}_s}( {{{\boldsymbol{F}}'}} ) \otimes {{\boldsymbol{F}}'} $ (3)

通道注意力模块CAM和空间注意力模块SAM可以以并行或串行顺序的方式组合在一起,共有3种方案可供选择。文献[14]指出以先通道后空间的串行部署能够取得最好的效果,本文选择在网络模型中采用同样的部署方式。

CBAM模块可以引入在颈部网络末端的C3模块后,也可以引入在主干网络中SPPF模块与邻近C3模块之间。分别在原始YOLOv5网络中加入这2种改进并进行实验,具体性能对比见下文消融实验部分。其中主干+CBAM在主干网络中引入,颈部+CBAM在颈部网络中引入。实验数据表明,在主干网络加入CBAM模块,精确度(Precision,P) 获得了更大的提升,比原始模型提高了0.9%,与在颈部引入相比提升了0.2%,但召回率(Recall,R) 和平均精确率(mean Average Precision,mAP) 比在颈部引入降低了0.4%和0.3%。经过综合对比,本文选择在YOLOv5颈部网络引入CBAM模块,用于提升模型检测小目标的性能。

1.3 后处理模块

目标检测模型在输出推理结果之后通常要进行后处理,通过和GT框的对比进行打分,优选分数最高的目标框,筛除重复的目标框。在后处理阶段,YOLOv5模型使用NMS算法,只要冗余的预测框和分数最高的预测框的交并比(Intersection Over Union,IOU) 超过预设的阈值,就将该冗余框移除,迭代以上过程后就可以达到去除冗余框的效果。IOU的定义如式(4) 所示。

$ \text{IOU}\left(M,B\right) =\frac{\left|M\cap B\right|}{\left|M\cup B\right|} $ (4)

式中:M为最优预测框,B为待重新打分的预测框,即IOU为2个预测框交集与并集的比例。以IOU为基础的损失函数可以表示为式(5)。

$ \text{IOU}\_\text{Loss}=1-\text{IOU} $ (5)

在最原始的NMS算法中,使用IOU作为抑制冗余检测框的度量。然而IOU设计时只考虑到了重叠区域的因素,算法经常在密集目标检测的过程中产生对遮挡情况的错误筛选,即对于属于同一类的不同目标的预测框将只会保留置信度最高的一个,出现误删除现象。为了解决IOU存在的不足,有研究提出DIOU[17],在考虑重叠区域之外,额外考量框间中心点距离,当对比的2个框存在包含关系时,DIOU_Loss仍可以进行高速回归,损失函数的定义如式(6) 所示。

$ \text{DIOU}\_\text{Loss}=1-\text{DIOU}=1-\left(\text{IOU}-\dfrac{{\left({D}_{2}\right) }^{2}}{{\left({D}_{\text{c}}\right) }^{2}}\right)$ (6)

式中: $ {D_{\rm{c}}} $ 为2个预测框最小外接矩形的对角线长度, $ {D_2} $ 为2个预测框中心点的欧氏距离。两者平方后相除结果可定义为DIOU惩罚项 $ {R_{{\text{DIOU}}}}\left( {M,{B_i}} \right) $ 。鉴于DIOU相较于IOU的性能更加优秀,本文使用DIOU作为NMS算法的新度量,以此提升模型在密集目标检测时的性能。基于得分最高的预测框M,每个待后处理的预测框 $ {B_i} $ 的置信度用式(7) 更新。

$ {s}_{i}=\left\{ \begin{array}{l}{s}_{i},\text{IOU}-{R}_{\text{DIOU}}\left(M,{B}_{i}\right) \lt \varepsilon \\ 0,\text{IOU}-{R}_{\text{DIOU}}\left(M,{B}_{i}\right) \ge \varepsilon \end{array}\right. $ (7)

式中: ${{\text{s}}_{{i}}}$ 为预测框置信度, $ \varepsilon $ 为预设阈值。

1.4 迁移学习

迁移学习是一种在机器学习领域广泛运用的方法。具体在目标检测任务中,就是使用一个经过大型数据集预训练的模型来解决新的目标检测任务,预训练的源域与目标域需要有一定的潜在关联,由此借鉴已经得到的优质卷积层权重更好地进行目标识别任务。同时在某些领域构建高质量的大型数据集存在许多困难,迁移学习利用在大型数据集上学习到的对图像特征提取的通用能力,加强模型的泛化能力,因此在本文的使用场景中,迁移学习可以在提升模型性能的同时有效缓解因安全帽数据不足导致的模型过拟合问题。

在对YOLOv5模型进行改进后,官方提供的预训练权重将失去效果,如果使用随机初始权重,不仅会使模型迭代时收敛困难,而且会让最终的检测效果变差。基于此,本文拟在COCO数据集上对改进后的YOLOv5进行预训练,再用基于视觉传感网络拍摄的安全帽数据集训练。由于数据集的数据量不够大,训练初期为了保护预训练权重,选用的迁移学习方式为Fine-tune,并在迭代后期进行解冻。

1.5 基于视觉传感器网络的级联检测框架

目标检测模型通常考虑在单目视觉传感器的情景下进行预测框的回归,每次只处理单帧图片,与现实运用场景相比过于理想。在真实的施工情境下,必然部署了由多个摄像头组成的视觉传感网络进行场所监控,如果只考虑单视角的安全帽检测,会丢失其他角度的视觉传感器搜集到的信息,降低整个检测网络的可信度和效率。本文提出一种充分利用多视角信息的安全帽佩戴检测框架,利用融合YOLOv5与行人再识别[18](Person Reidentification, REID) 技术的级联检测网络实现视觉传感器网络中的安全帽佩戴检测,算法流程如图3所示。

图 3 安全帽佩戴检测流程图 Figure 3 Flow chart of the helmet wearing detection

首先是选择任一个视角下的监控视频帧送入YOLOv5网络进行安全帽佩戴检测,如果感兴趣区域(Region of Interest,ROI) 内的目标工人安全帽佩戴置信度都在75%以上,误检的情况比较低,可以认为工人都正确佩戴了安全帽,那么结束当前帧的检测,如果存在置信度低于75%的目标,进行后续判断。将需要后续判断的工人图像进行异常目标坐标整体截取,为了防止截图失真影响REID模型匹配,将截图长宽增大40像素,获得额外的背景信息,然后送入CNN-LSTM匹配网络。CNN-LSTM匹配网络为图像−视频REID模型,查询对象是单个图像,候选图库为视觉传感器网络中拥有相同ROI的视觉传感器所保存的监控视频帧。通过CNN-LSTM网络进行匹配,如果没有在其他视频帧中匹配到需要进一步检测的工人,那么判断为该工人未正确佩戴安全帽,发出警告。如果存在其他视角,则进一步判断这个视角是否检测过,如果没有,将这一帧送入YOLOv5进行检测,进一步减少误检发生的概率,反之则触发警告。

2 基于YOLOv5改进的整体模型

本文基于YOLOv5的改进模型一共有3个模块,分别为主干网络、颈部网络以及预测网络。将主干网络第1层的focus结构换成一个6×6大小的卷积层,两者在特征提取上的效果是等价的,但经过前向推理实验可以发现,6×6卷积的推理速度是focus模块的1倍以上。这个改良使模型能够更好地部署在基于视觉传感网络的级联检测框架中,满足工程运用的实时性。同时在颈部网络临近预测网络的C3模块后添加CBAM模块。改进后的总体模型结构如图4所示。

图 4 改进YOLOv5网络结构图 Figure 4 Structure diagram of the improved YOLOv5 network

网络结构图中每一个矩形框表示一个卷积模块,内容由模块名称和模块参数列表组成。其中,Conv表示普通卷积层,各参数意义分别为(输入通道数,输出通道数,卷积核大小,卷积步长),在预测网络卷积核输出通道数公式中,S表1所示的特征图尺度,C为检测任务类别个数;Sppf表示一个复合模块,连续使用几个最大池化操作后再将得到的特征图做Concat操作,各参数意义分别为(输入输出通道数,[最大池化核尺寸]);Concat表示做张量拼接操作,各参数意义分别为(输入1通道数,输入2通道数);Upsample表示上采样操作,使用双线性插值代替默认的临近插值,各参数意义分别为(输入输出通道数,上采样倍数);C3表示CSP模块,借鉴了CSPNet的思路设计而成,融合了瓶颈残差模块,各参数意义分别为(输入通道数,输出通道数),C3结构如图5所示。

图 5 C3模块结构图 Figure 5 Structure diagram of the C3 module

图5中的BottleNeck为瓶颈残差模块,主干网络和颈部网络中的C3模块分别采用了不同的瓶颈残差模块,结构如图6所示。

图 6 瓶颈残差模块结构图 Figure 6 Structure diagram of the BottleNeck module

算法整体改进思路如下:第1步在预处理阶段使用K-means算法对数据集进行聚类,获得9组更适合数据集的先验锚框。第2步从输入角度,采用普通6×6卷积替代主干网络第1层的Focus结构,提升算法效率。第3步从上下文信息角度,在颈部网络的下层引入CBAM模块,缓解卷积模块在空间与通道信息域提取能力不足的问题,通过对通道间特征信息的重新拟合与分配,以及对空间信息的进一步筛选,提高了小目标通道的权重占比,也抑制了非目标区域的权重占比,加强了模型对有效特征的训练。第4步从后处理角度,通过改进NMS算法的判断度量,在仍能保证检测速度的前提下,较大程度地提升了算法的筛选性能,减少了预测框误删除的状况,加强了模型对密集目标的识别能力。最后,从训练角度采用迁移学习的思想对模型进行训练,减少训练所需成本,提升模型的泛化能力,并且减少过拟合现象。

3 实验与分析 3.1 数据收集

由于缺乏高质量的开源安全帽数据集,本文数据集所需图像主要来源于施工现场视觉传感网络所保存的监控视频分帧以及网络爬虫和公开数据集清洗,共搜集7000幅与安全帽相关联的图像。所有图像转为jpg格式,使用labelimg工具标记图像中所有目标,一共有2个类别,未佩戴安全帽的作为0类,标签为person,正确佩戴安全帽的作为1类,标签为hat。除了标签外还存有每个目标的左上角坐标和宽高的相对值,最后保存为YOLO格式。

3.2 实验设置

将数据集按9:1的比例随机划分为训练集和测试集。训练采用迁移学习思想,将改进后的模型先在COCO数据集上重新进行预训练,再用于本文的数据集进行训练。在训练过程中,为了防止迁移权重受到破坏,采用Fine-tune训练方式,总共训练200轮,前100轮冻结主干网络,只训练剩下的卷积层,初始学习率设置为0.001加快收敛。在第101轮解冻主干网络,学习率设置减少为0.0001,每轮迭代输入的批次大小为8,梯度优化函数选用SGDM,动量设为0.937,图像输入大小为640×640,一些实验超参数如表2所示。

表 2 超参数设置 Table 2 Parameter setting
3.3 评价指标

本文实验使用PR和mAP来评价模型的检测性能。P用来评估模型检测的准确性,即检测为正样本的目标中有多少是正确的。R用来评估模型检测的全面性,即所有正样本中有多少被检测为正确的。通过对单类别的精确率(Average Precision,AP)采用积分法近似计算PR和坐标轴所包围的曲线下面积,再除以对应的类别数量,可以得到mAP值,一般在IOU阈值为0.5时计算mAP,参数表示方式为mAP@0.5,具体表达式如式(8) ~ (11) 所示。

$ P = \frac{{{\text{TP}}}}{{{\text{TP}} + {\text{FP}}}} $ (8)
$ R = \frac{{{\text{TP}}}}{{{\text{TP + FN}}}} $ (9)
$ {\text{AP}} = \int_0^1 {P\left( r \right) {\text{d}}r} $ (10)
$ {\text{mAP}} = \frac{{\displaystyle\sum\nolimits_{i = 1}^C {{\text{A}}{{\text{P}}_i}} }}{C} $ (11)

式中:TP为真阳性,将正样本预测为正的个数;FP为假阳性,将负样本预测为正的个数;FN为假阴性,没有正确检测到的GT框个数。 $ P\left( r \right) $ 为平滑后的P-R曲线,C为检测任务类别个数,本文中C=2。

3.4 训练结果

为了验证本方案的优越性,将本文提出的改进YOLOv5模型与原始的YOLOv5模型在相同的配置下分别训练200轮,mAP@0.5对比曲线图如图7所示。可以看出,前50轮次2种模型都迅速收敛,在150轮后逐渐趋于稳定,直至训练结束,2种模型训练效果稳定,均没有出现欠拟合和过拟合现象,说明模型的泛化能力优秀,并且改进后的模型相较于原始模型在mAP上有5%提升,验证了本文提出的改进策略的有效性。

图 7 mAP@0.5对比图 Figure 7 Comparative chart on the mAP@0.5
3.5 消融实验

消融实验可以更好地验证本文各个模块的优化作用和带来的性能提升,实验结果如表34所示,每帧推理时间指的是模型对单帧模型进行前向预测所花费的时间。其中改进1表示利用K-means算法计算先验锚框,改进2表示在颈部加入空间通道注意力机制,改进3为将加权NMS算法优化为DIOU_NMS算法,改进4为使用迁徙学习方式进行训练。实验表明,加入注意力机制和DIOU_NMS算法后,平均精确率分别提升了3.1%和1.8%,且推理速度分别增加了2 ms和3 ms。将4个改进共同作用于原始模型后,在仍然满足检测速度需求的前提下,平均精确率提升了5%,这使模型对小目标和密集目标的检测性能有了一定的提高。

表 3 模型改进前后性能对比 Table 3 Performance comparison of models before and after improvement
表 4 消融实验结果 Table 4 Ablation experimental results
3.6 与现有目标检测算法对比

为了进一步衡量本文算法对于安全帽检测性能的提升,在使用本文所提到的数据集的前提下,采用与上述一致的超参数设置和划分策略,将本文算法同Faster-RCNN[4]、YOLOv3[7]、YOLOv3-spp、YOLOv4[8]以及YOLOv5s等现有的目标检测算法分别训练了200轮,结果的性能对比见表5。其中mAP@0.5:0.95表示当IOU取0.5~0.95之间所有对应的平均精确率求算术平均,刷新间隔为0.05。通过对比可以看出,本文所提出的算法因为注意力机制和后处理的优化,召回率有所提升,每幅图像需要检测更多的目标,在检测速度上略低于原始的YOLOv5s模型,但仍优于YOLOv4和YOLOv3等其他算法,并且在mAP@0.5与mAP@0.5:0.95方面也明显优于其他算法,与YOLOv4算法相比分别提升了2.3%和2.5%。结果表明,本文算法在安全帽佩戴检测的性能上优于当前同类检测算法,能够更好地部署在本文所提出的级联检测网络中,满足基于视觉传感网络的安全帽佩戴检测需求。

表 5 多种检测模型结果对比 Table 5 Comparison of results of multiple detection models
3.7 模型检测可视化

为了更好地展现本文提出模型的性能提升,在测试集中选取部分图片进行可视化测试。图8为模型部分检测效果图。图8左中右分别为原始图片、原始YOLOv5模型检测效果和本文提出的改进YOLOv5检测效果。图8(a) 为密集目标检测,可以看到左边的4个目标存在两两重叠,改进后的模型检测出了原始模型漏检的目标,且对每个目标的分类有着更高的置信度。图8(b) 为远距离目标检测,通过观察可以看出原始模型漏检了最远处的2个目标,改进后的模型准确检测了这些目标,且置信得分有所提高。这表明改进后的模型在密集目标和小目标场景下拥有更强的泛化能力。

图 8 结果可视化对比图 Figure 8 Visualization comparisons
4 结论

针对目前安全帽检测算法在密集目标与小目标场景下漏检且准确率较低的情况,本文对YOLOv5进行了改进,通过K-means聚类算法获得更适合安全帽检测训练的先验候选框,并将候选框与合适的特征图大小进行匹配。在原始模型的基础上添加了CBAM注意力模块,并对比了注意力模块添加在主干网络和颈部网络对于检测性能的影响,确定了更优的模块添加方案,使用DIOU_NMS算法解决了在后处理阶段模型因物体重叠导致的误删预测框和多个同类目标只保留单一最高置信框的问题。引入迁移学习的思想在减少训练开销的同时加快模型训练速度并提升了模型的泛化能力,减少了过拟合现象。最后针对在施工场景具体部署的情景,提出了一个级联检测框架,更好地利用了视觉传感网络提供的整体特征信息。实验结果表明,本文算法在保证检测速度的前提下,获得了较好的检测准确性,能更好地满足在复杂施工场景下的安全帽佩戴检测需求。未来将考虑缺乏光照的环境和复杂气象等特殊情况,自适应地平衡检测速度和检测精度。

参考文献
[1]
郭师虹, 井锦瑞, 张潇丹, 等. 基于改进的YOLOv4安全帽佩戴检测研究[J]. 中国安全生产科学技术, 2021, 17(12): 135-141.
GUO S H, JING J R, ZHANG X D, et al. Researchon detection of safety helmet wearing basedon improved YOLOv4[J]. China Safety Production Science and Technology, 2021, 17(12): 135-141.
[2]
岳诗琴, 张乾, 邵定琴, 等. 基于ResNet50-SSD的安全帽佩戴状态检测研究[J]. 长江信息通信, 2021, 34(3): 86-89.
YUE S Q, ZHANG Q, SHAO D Q, et al. Safety helmat wearing status detection study based on ResNet50-SSD[J]. Yangtze River Information and Communication, 2021, 34(3): 86-89. DOI: 10.3969/j.issn.1673-1131.2021.03.025.
[3]
GIRSHICK R, DONAHUE J, DARRELL T , et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]// CVPR 2014: Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2014: 580-587.
[4]
REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6): 1137-1149.
[5]
REDMON J, DIVVALA S, GiIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 779-788.
[6]
REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]// IEEE Conference on Computer Vision & Pattern Recognition. Piscataway: IEEE, 2017: 6517-6525.
[7]
REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. (2018-04-08) [2021-12-21].https://arxiv.org/pdf/1804.02767.pdf.
[8]
BOCHKOVSKIY A, WANG C Y, LIAO H. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. (2020-04-23) [2021-12-21].https://arxiv.org/pdf/2004.10934.pdf.
[9]
林俊, 党伟超, 潘理虎, 等. 基于 YOLO 的安全帽检测方法[J]. 计算机系统应用, 2019, 28(9): 174-179.
LIN J, DANG W C, PAN L H, et al. Safety helmet detection based on YOLO[J]. Computer System Applications, 2019, 28(9): 174-179.
[10]
方明, 孙腾腾, 邵桢. 基于改进 YOLOv2 的快速安全帽佩戴情况检测[J]. 光学精密工程, 2019, 27(5): 1196-1205.
FANG M, SUN T T, SHAO Z. Fast helmet-wearing-condition detection based onimproved YOLOv2[J]. Optical Precision Engineering, 2019, 27(5): 1196-1205. DOI: 10.3788/OPE.20192705.1196.
[11]
CHENG R, HE X W, ZHENG Z L, et al. Multi-scale safety helmet detection based on SAS-YOLOv3-Tiny[J]. Applied Sciences, 2021, 11(8): 3652. DOI: 10.3390/app11083652.
[12]
CHEN W, LIU M, ZHOU X, et al. Safety helmet wearing detection in aerial images using improved YOLOv4[J]. Computers, Materials, Continua, 2022(8): 16.
[13]
黄志强, 李军. 基于空间通道注意力机制与多尺度融合的交通标志识别研究[J]. 南京邮电大学学报(自然科学版), 2022, 42(2): 93-102.
HUANG Z Q, LI J. Research on traffic sign recognition based on spatial channel attention mechanism and multi-scale fusion[J]. Journal of Nanjing University of Posts and Telecommunications (Natural Science Edition), 2022, 42(2): 93-102.
[14]
WOO S , PARK J , LEE J Y , et al. CBAM: convolutional block attention module[C]//Proceedings of the European Conference on Computer Vision(ECCV) . Munich: Springer, 2018: 3-19.
[15]
JIE H, LI S, GANG S, et al. Squeeze-and-excitation networks[EB/OL]. (2019-05-16) [2021-12-21].https://arxiv.org/abs/1709.01507.
[16]
YING X, WANG Y, WANG L, et al. A stereo attention module for stereo image super-resolution[J]. IEEE Signal Processing Letters, 2020, 27(99): 496-500.
[17]
ZHENG Z, WANG P, LIU W, et al. Distance-IoU Loss: faster and better learning for bounding box regression[EB/OL]. (2019-11-19) [2021-12-21]. https://arxiv.org/abs/1911.08287.
[18]
ZHANG D, WU W, CHENG H, et al. Image-to-video person re-identification with temporally memorized similarity learning[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2018, 28(10): 2622-2632.