APP下载

改进的轻量级安全帽佩戴检测算法

2023-07-17刘雪纯刘大铭刘若晨

液晶与显示 2023年7期
关键词:安全帽嵌入式卷积

刘雪纯,刘大铭*,刘若晨

(1. 宁夏大学 电子与电气工程学院,宁夏 银川 750000;2. 宁夏大学 沙漠信息智能感知重点实验室,宁夏 银川 750000)

1 引 言

建筑工程安全工作是工程建设管理中不可或缺的一部分。佩戴安全帽可以有效减轻高空坠物对工人头部的伤害[1],然而有些工人安全意识淡薄,不按要求佩戴安全帽,导致事故的发生。因此,对施工现场进行安全帽佩戴检测具有一定的现实意义。早期的检测主要依赖人工,但监视人员不会时刻处于施工现场,并且由于疲劳以及其他原因,漏检的现象经常发生[2]。近年来,随着计算机视觉技术的发展,不少学者对安全帽佩戴检测做了大量工作。传统的检测算法采取了支持向量机算法以及方向梯度直方图特征先检测人体,再基于安全帽的颜色特征检测出头盔[3]。但实际作业环境复杂多变且安全帽体积较小,传统检测方法的鲁棒性和泛化性较差。

2012 年,基于深度学习[4]的检测算法时期到来。卷积神经网络的检测算法分为两阶段和一阶段。两阶段的代表算法主要有R-CNN[5]、Fast-RCNN[6]、Faster-RCNN[7],核心思想是将被检测图像分割成一个个区域,形成候选框,然后在此基础上做分类或者回归。徐守坤等在算法Faster-RCNN 的基础上增加锚点数量,优化原始模型,解决了目标尺寸差异大、遮挡等因素的影响,完成了安全帽佩戴检测且检测准确率高,但检测速率慢,无法满足实时监控的需求[8]。2015 年,Redmon 提出了一阶段检测算法YOLO(You Only Look Once)[9],核心思想是无需提取候选框,直接对图像进行端到端的回归,一次性完成物体的分类与位置回归,提高了训练效率和检测速度。2020 年,YOLOv5 以最高140 FPS 的检测速度问世,真正实现了实时监测。虽然YOLOv5 可以实现多种物体的实时监测,但是对于小目标仍有漏检现象,且参数量多、模型较大,难以应用在嵌入式设备端。为了解决以上问题,本文在YOLOv5 的基础上提出了一种基于注意力机制和多尺度特征融合的轻量级安全帽佩戴检测算法YOLOv5-Q,主要改进了以下3 个方面:

(1)采用轻量级的GhostNet 网络代替原主干网络。GhostNet 网络先用普通的1×1 卷积核生成部分真实特征层,实现对输入图片通道数的压缩;再使用深度可分离卷积(DW)对真实特征层的每个通道进行低成本计算,得到Ghost 特征层;最后将Ghost 特征层和真实特征层组合形成的特征层作为输出。GhostNet 网络大幅减少了网络计算量,实现了轻量化。

(2)提出了四尺度特征融合的检测方法。首先,在原网络80×80 的特征图上进行2 倍上采样操作形成160×160 的特征图;其次,为了获得更加丰富的语义信息,增强浅层和深层的特征信息,将新特征图融合原模型的3 层特征信息,形成四尺度检测,提升了密集目标及小目标的检测精度。

(3)添加了CA 注意力机制。通过提升特征图中重要信息的权重并抑制非相关信息的权重,对权重进行重新分配使得网络更好地学习原图目标物体的特征信息,使轻量级的模型具有复杂网络模型的学习能力,增加模型检测的召回率,从而提升模型的精度。

2 YOLOv5 原理

YOLOv5 经过不断更新迭代,现官方根据模型的大小推出了YOLOv5s、YOLOv5m、YOLOv5l以及YOLOv5x[10],各个模型的不同之处仅在于网络的宽度与深度,采用缩放因子控制模型的大小,其中,YOLOv5s 模型的深度和宽度最小,运算速度最快。

YOLOv5 网络结构由4 部分组成,分别是输入端、骨干网络(Backbone)、颈部(Neck)及输出端。输入是640×640 的彩色图像,采用了Mosaic进行数据增强、初始锚框计算、自适应图片缩放等[11]。骨干网络使用Focus、CSP 结构[12]和空间金字塔池化(SPP)结构提取图像的特征。Focus进行2 倍下采样,将输入图像640×640×3 切分为4 个320×320 结构,然后通过拼接操作得到12 维的特征图,再经过卷积生成32 维的特征图。YOLOv5 的第6 个版本将focus 结构修改为一个卷积操作,增加了导出功能,方便网络结构的可视化。将SPP 结构改为SPPF 结构,旨在增强特征图的特征表达能力。其次,YOLOv5 中设计了两种CSP 结构,分别是CSP1_X 和CSP2_X。CSP1_X 应 用 于Backbone 主 干 网 络,CSP2_X 应用于Neck。第6 版中CSP 结构用C3 替换,加强网络特征融合的能力。在Neck 中,YOLOv5 加入了FPN(Feature pyramid networks)+PAN(Path Aggregation Network)结构。FPN 自顶向下地将高层特征通过上采样与低层的特征做融合得到特征图。PAN 在FPN 的后面添加一个自下向上的金字塔,将低层的定位特征传递上去。FPN+PAN 结合了底层和高层的图像特征融合。输出端对图像进行预测,可以对生成的3 个特征图进行多尺度预测。YOLOv5 的结构图如图1所示。

图1 YOLOv5 结构图Fig.1 YOLOv5 structure

YOLOv5 作为单阶段检测算法,集成了速度与精度,可以一次性实现目标分类与定位任务,满足目标检测的实时性要求,在PASCAL VOC 与COCO(Common Objects in Context)数据集上[13]取得了较好的效果,但针对特定场景的小目标检测的泛化性还有待提高。本文针对小目标的漏检以及移植性困难等问题对YOLOv5 模型进行改进,提出了一种基于注意力机制和多尺度特征融合的轻量级安全帽佩戴检测算法YOLOv5-Q。

3 YOLOv5 的改进

3.1 主干网络的改进

YOLOv5 中采用了跨区域特征融合算法,融合了多层特征图的信息,参数较多,但是安全帽佩戴检测的环境复杂,需要移植在嵌入式端实现目标检测,只有较少的参数量和计算量才能实现远程网络部署。本文选择轻量级的GhostNet[14]代替YOLOv5 的主干网络实现特征提取。

在网络轻量级改进过程中,主流思想是保留特征信息中的显著部分,将冗余信息从网络中剔除,虽然达到了轻量级的特点,但是精度却有所下降。GhostNet 网络考虑到冗余的信息也可能是成功模型的重要组成部分,在设计改进轻量化时并没有去除这些冗余,而是用更低成本的计算量来获取特征。如图2 所示。

图2 GhostNet 网络结构Fig.2 GhostNet network structure

图2(a)是普通卷积示意图,h×w×Ci是输入特征图,h'×w'×Co是输出特征图。卷积核大小为k×k。普通卷积计算量如式(1)所示:

图2(b)是GhostNet 网络的卷积过程[15]。对于输入的特征层,首先用普通的1×1 卷积核生成部分真实特征层,实现对输入图片通道数的压缩;再使用深度可分离卷积(DW)对真实特征层的每个通道进行低成本计算,得到Ghost 特征层;最后将Ghost 特征层和真实特征层组合形成的特征层作为输出。GhostNet卷积的计算量如式(2)所示:

其中,m表示输入特征图分为m份。

普通卷积与GhostNet 卷积的比例为:

因此GhostNet 卷积方法比普通的卷积运算量减少了m倍,缩短了网络训练的时间,降低了计算的成本。YOLOv5-Q 主干提取网络结构如表1 所示。

表1 YOLOv5-Q 主干提取网络结构Tab.1 YOLOv5-Q backbone extraction network structure

表1 中From 列的-1 表示输入来自上一层输出[16],Number 列的1 表示只进行一次Ghost 运算,GhostBottleneck 后Arguments 列的值分别表示该模块的输入通道数、输出通道数、1×1 卷积升维后的通道数、卷积核大小以及步长。GhostBottleneck 分别采用步长是1、步长是2 的两种结构的Bottleneck,如图3 所示。

图3(a)是步长为1 的结构,采用两个Ghost module(GM)串联组成,残差边部分借鉴ResNet网络,第一个GM 用于扩大输入通道数,第二个GM将输出通道数降低至与输入通道数一致。步长为1 不支持下采样,用于加深网络的深度。图3(b)是步长为2 的结构,在图3(a)的基础上增加了步长为2 的深度可分类卷积(DW),对特征图的高和宽进行压缩,实现下采样功能。

GhostNet 代替主干网络实现轻量化的模型,在保证精度降低最少的情况下,大幅减少了参数量、模型大小,满足嵌入式部署的要求。表2 是YOLOv5m 与改进的轻量级模型的对比结果

经计算,用GhostNet 替换原YOLOv5m 主干网络的模型大小是24.93 MB,参数量共计12 187 951 个。YOLOv5m 模型大小是24.93 MB,参数量共计20 856 975 个。由此可知,轻量化后的模型参数量减少了41.6%,模型大小降低了40.8%,满足嵌入式端部署的需求。

3.2 基于四尺度特征融合的改进

YOLOv5 中使用了3 个尺寸的特征图融合进行预测,分别是20×20、40×40 和80×80。由于这3 个特征图经过了多次卷积和下采样操作,导致丢失了较小目标的特征信息,对于占据图像位置信息较少的安全帽会造成漏检现象[17]。为了解决以上问题,本文在三尺寸检测的基础上新添加了160×160 的特征图,形成了四尺度检测,如图4 所示。

YOLOv5 中输入图像经过2 倍下采样、4 倍下采样、8 倍下采样、16 倍下采样以及32 倍下采样得到20×20 的特征图,再分别经过两个上采样得到40×40 和80×80 的特征图[18]。本文在80×80 的特征图基础上,进行一次上采样得到160×160 的特征信息,再将此特征与4 倍下采样的特征层进行融合形成第四个160×160 的特征图。4 倍下采样得到的特征图属于浅层卷积,目标位置信息精确,感受野较小,可以提高小目标检测的检测精度。32 倍下采样得到的20×20 的特征图的感受野最大,用来检测大目标。所以大尺度的特征图应该用小尺寸的先验框检测,小尺寸的特征图应该用大尺度的先验框检测。本文采用四尺度检测结构,4 个尺度的特征图大小与先验框尺寸的对应关系如表3 所示[19]。

3.3 基于CA 注意力机制的改进

注意力机制借鉴人类视觉对于事物选择性关注的特点,倾向于关注事物相关的信息,忽略不相关的信息。同样,在深度学习中。注意力机制通过对权重的重新分配使网络能够更好地学习原图目标物体的特征信息。

CA(Coordinate attention)是将注意力分解沿着不同方向聚合的特征编码过程,其中一个方向捕获长程依赖,另一个空间方向保留精确的位置信息。两个方向获得的信息分别编码形成一对方向感知和位置敏感的特征图,可以互补地应用到输入特征图中来增强相关的目标。

CA 为获取图像宽度和高度上的注意力,将输入特征图沿着宽度和高度两个方向分别进行全局平均池化,获得两个方向的特征图,公式如式(4)和式(5)所示:

随后将两个方向的特征图进行拼接,送入卷积核为1×1 的卷积模块,使维度降为原来的C/r,再经过批量归一化处理。接着使用1×1 卷积核按原来的高度和宽度进行卷积,分别得到与原来一致的特征图。经过Sigmoid 激活函数后,分别得到特征图在高度上的注意力权重gh和在宽度方向上的注意力权重gw。公式如式(6)和式(7)所示:

最后通过乘法加权计算,得到两个方向上带有注意力权重的特征图,公式如式(8)所示:

CA 注意力机制的实现方式如图5 所示。

图5 CA 实现原理Fig.5 CA implementation principle

4 实验与结果分析

4.1 实验环境与参数设置

本实验采用YOLOv5m 为预训练模型,设置初始学习率为0.01,优化器为SGD,动量参数为0.937,最终学习率为0.1,BatchSize 为16,总迭代次数为100,并在训练模型时采用动量参数为0.8、epoch 为3 的warm-up 方法预热学习[11],从而防止模型在初始阶段出现过拟合现象,保证模型的稳定性。在warm-up 阶段时采用一维线性插值更新学习率,预热结束后采用余弦退火对学习率进行更新。实验运行环境如表4 所示。

表4 实验运行环境Tab.4 Experimental operating environment

4.2 数据集的建立

本文使用的数据集是目前开源的SHWD(Safety Helmet Wearing-Dataset)[20],其中一部分未佩戴安全帽的类别来自于学生上课的监控照片,不符合施工环境,对其进行剔除,并通过现场采集与网络爬虫的方式在数据集中加入多组背景复杂、目标密集的数据集进行补充,总计5 121 张图片,分辨率大小为640×640。按照8∶2的方式分成了训练集和验证集,其中训练集4 038 张,验证集1 083 张。使用开源标记软件Labelimg 标注数据,分为两个标记类别,佩戴安全帽标记为hat,未佩戴安全帽标记为 person。

为增强检测结果的泛化性能,本文在实验前使用了mosaic 数据增强的方法增加图片的数量以及多样性。核心思想是将4 张图片随机剪裁,拼接为1 张图进行训练,极大丰富了图片的背景,变相增加了batch_size,如图6 所示。

图6 Mosaic 数据增强Fig.6 Mosaic data enhancement

4.3 性能评价指标

为验证改进的YOLOv5-Q 的性能,本文采用召回率(Recall,R)、精确率(Precision,P)、平均精度(Average precision,AP)、平均精度均值(mean AP,mAP)和每秒检测图片的帧数(Frames per second,FPS)等作为评价检测指标。公式如式(9)~(12)所示。

其中,TP(True Positive)表示正确判断成正样本,指工人佩戴了安全帽且正确检测的数量[16];FP(False Positive)表示错误判断成正样本,指工人未佩戴安全帽但检测错误的数量;TN(True Negative)表示正确判断成负样本,指工人未佩戴安全帽且正确检测的数量;FN(False Negative)表示错误判断成负样本,指工人佩戴了安全帽但检测错误的数量;平均精度(AP)是召回率的可能取值下所有准确度的平均值,指的是P-R曲线所围成的面积;mAP 是对AP 求均值得到的数值,mAP 的数值越大表明算法的精度越高,检测效果越好。

4.4 结果分析

为验证YOLOv5-Q 算法的有效性,本文在相同环境下使用相同的数据集与目前比较流行的目标检测算法(SSD、Faster R-CNN、YOLOv5)进行对比实验。其中,SSD和YOLOv5为一阶段检测算法,Faster R-CNN 为两阶段检测算法[10]。具体实验结果见表5。由表5 可知,本文提出的算法YOLOv5-Q 的模型大小是26.47 MB,对比SSD、Faster-RCNN 和YOLOv5 算法,模型大小分别降低了64.63,81.53,15.7 MB。由此可知,本文提出的YOLOv5-Q 算法在保证精确度的情况下满足嵌入式设备端移植的需求,在轻量化方面优于SSD、Faster-RCNN 和YOLOv5 算法。

表5 实验结果对比Tab.5 Comparison of experimental results

为了进一步验证改进算法YOLOv5-Q 的有效性,本文进行了消融实验对比分析[21]以检测各个改进点的优化效果,结果如表6所示。其中改进点1 对应主干网络的改进,改进点2 对应多尺度特征融合的改进,改进点3 对应注意力机制的改进。

表6 消融实验Tab.6 Ablation experiments

从表6 可知,本文提出的YOLOv5-Q 引入GhostNet 改进基础卷积网络,可以大幅度减少运算量,降低模型大小;四尺度特征融合检测改进点增加了复杂环境下的漏检数量;引入注意力机制提升了模型的检测准确度。结合以上3 类改进点,相对于YOLOv5,本文提出的YOLOv5-Q 模型大小由原来的42.17 MB 降至26.47 MB,降低了37.2%,但是模型精度仅下降了1.2%,完全满足移植在嵌入式设备端的要求。

4.5 交互式界面

为了体现本文提出的YOLOv5-Q 检测算法的实用性,本文制作了交互式检测界面,方便移植到嵌入式设备端。嵌入式设备采用NVIDIA Jetson Xavier NX。交互式检测界面如图7 所示。

图7 交互式检测界面Fig.7 Interactive inspection interface

其中,图7(a)是图片检测,图7(b)是摄像头实时监测及视频文件检测。由图7 可知,移植到嵌入式设备端后其功能仍然可以正常运行。因此,本文实现了在嵌入式平台上实时检测安全帽的佩戴情况,改进的YOLOv5 模型的检测效果也得到了验证,可以应用在施工现场。

4.6 可视化分析

为了更直观地看出YOLOv5-Q 检测算法的优越性,本文对有背景遮挡的小目标头盔检测以及雨雾环境下的检测结果进行了可视化分析。背景遮挡的小目标头盔检测可视化结果如图8 所示,降雨环境下的可视化结果如图9 所示,大雾环境下的可视化结果如图10所示。其中的图(a)、(b)分别是相同检测场景下YOLOv5m 和YOLOv5-Q的可视化结果。

图8 背景遮挡的可视化分析结果Fig.8 Results of visual analysis of background occlusion

图9 降雨环境下的可视化分析结果Fig.9 Results of visualisation analysis in a rainfall environment

图10 大雾环境下的可视化分析结果Fig.10 Results of visualisation analysis in foggy conditions

从图8 可以看出,YOLOv5 模型在识别过程中对小目标头盔有漏检的情况,本文提出的YOLOv5-Q 模型在相互有遮挡的背景下可以识别出头盔的佩戴情况,识别准确率优于原YOLOv5。由图9 可知,降雨环境下的精度并未出现大幅降低,且本文的YOLOv5-Q 在降雨环境下的识别准确率优于原YOLOv5,对于小目标检测的识别率也优于原YOLOv5。图10 表明大雾对于安全帽的识别精度有一定的影响,但相比于原YOLOv5,本文的YOLOv5-Q 在大雾环境下的识别准确率更高,对于小目标的识别也更齐全,准确地识别出了大雾环境下安全帽的佩戴情况。图8、图9、图10 测试了3 种复杂环境下安全帽的佩戴情况,针对漏检现象提出了四尺度特征融合,提升了小目标的检测精度,证实了YOLOv5-Q在对应环境下的鲁棒性和泛化性,表现出了更好的性能[22]。

5 结 论

本文提出一种改进YOLOv5 算法以解决安全帽佩戴检测中密集目标和小目标的漏检现象以及计算量大不适合部署在嵌入式设备端等问题。采用Ghost 代替原YOLOv5 特征提取网络使模型得以轻量化。将原来的检测网络改进为四尺度特征融合检测,提升了小目标的检测精度。引入CA 注意力机制提升了特征图中重要信息的权重并抑制非相关信息的权重,从而提升了模型的精度。实验结果表明,本文改进算法YOLOv5-Q 的模型大小为26.47 MB,参数量为12 696 640,精度为0.937。与原YOLOv5 算法相比,本文算法提高了小目标的识别率,极大地降低了模型的参数,可以移植在嵌入式设备端。

猜你喜欢

安全帽嵌入式卷积
小小安全帽,生命保护伞
基于3D-Winograd的快速卷积算法设计及FPGA实现
爆笑四格
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
一种基于卷积神经网络的性别识别方法
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器