APP下载

基于轻量化深度学习模型的安全帽检测方法

2022-06-14秦子豪雷鸣宋文广张维

科学技术与工程 2022年14期
关键词:安全帽轻量化卷积

秦子豪, 雷鸣*, 宋文广, 张维

(1.长江大学城市建设学院, 荆州 434023; 2.长江大学计算机科学学院, 荆州 434023)

工程施工现场通常具有许多安全隐患,容易发生高空坠物、重物伤人等安全事故。安全帽作为一种防护装备能够减轻甚至避免作业人员在遭遇事故后所受到的伤害。但是实际工程现场面积往往较为宽广,且人员的轨迹也十分分散,因此给安全帽佩戴的监管带来了较大的难度[1]。

机器视觉作为一种替代人眼对图像进行分析的技术,成为工程上常用的一种手段。传统的机器视觉方法通常与机器学习相结合,通过人工提取特征进行模型的学习。李琪瑞[2]基于特征向量机对图片进行分类,以此分析安全帽的佩戴情况。刘晓慧等[3]通过人体头部的部分特征对分类器进行了训练,得到了安全帽检测的模型。Haar特征与霍夫变换相结合的技术路线[4]也被引入安全帽检测任务中。但在施工现场中各方面情况较为复杂,受光照、视角以及遮挡等方面的因素影响,传统算法的效果并不是令人满意。

近年来,随着计算机技术的飞速发展,新兴的深度学习技术蓬勃发展。卷积神经网络(convolutional neural networks, CNN)是深度学习领域中一种广泛应用于目标检测任务的方法,典型算法主要有YOLO系列[5-7]SSD[8-9]系列的单阶段算法,这种算法往往检测速度快,更适合于实际应用。Ren[10]提出经典的双阶段方法Faster R-CNN,这类方法通过生成一系列候选框,再对其进行分类与回归,这一做法提升了检测精度,但也造成更慢的检测速度。

卷积神经网络往往拥有庞大的计算量(floating point operations, FLOPs)和参数量(parameters, Params),因此其通常依赖于强算力的硬件,如GPU来完成训练和推断过程,但在施工场地中往往不会拥有高性能的计算硬件,而额外的购置会给生产企业带来不必要的经济负担[11]。因此,设计一种轻量化的安全帽检测模型对于实际的施工工程管理至关重要。CNN模型的轻量化成为近几年研究的热点,分组卷积[12]大大降低了卷积过程中所需要的计算量与参数量。深度可分离卷积(depthwise separable convolution, DSC)[13]在分组卷积的基础上引入点卷积的操作提升了模型性能。混洗操作[14]同样在分组卷积的操作上增强了通道间的信息交流。现将目前先进的轻量化方法引入Tiny-YOLO v3网络中,并根据任务具体特点对网络结构进行了优化,最终提出一种LT-YOLO网络,该网络在维持高性能基础上,实现了极低的模型复杂度,为实际工程管理提供可用的卷积神经网络模型。

1 Tiny-YOLO v3网络简介

Tiny-YOLO v3网络作为YOLO v3的轻量化版本,有着较为简单的特征提取结构,具体包含13个卷积层与6个最大池化层,同时Tiny-YOLO v3使用了两个不同尺度的特征图进行预测,网络详细结构如图1所示。

图1 Tiny-YOLO v3网络结构Fig.1 The network structure of Tiny-YOLO v3

Tiny-YOLO v3网络最终在所提取到的特征图上通过映射关系,将输入图像划分为S×S个网格。每个网格均预测3个预选框,同时输出每个框所对应的类别概率和置信度,具体表示为

c=Pr(object)IOU

(1)

式(1)中:c为目标的置信度;Pr(object)为预选框包含目标的概率,若包含目标则Pr(object)=1,否则为0;交并比(intersection over union,IOU)为标注框标签与预选框的交并比。最终每个网格预选框针对某一种类别的概率为

Pr(classi|object)×Pr(object)IOU=Pr(classi)IOU

(2)

式(2)中:Pr(classi|object)为对应网格的目标属于某一类别的得分。最后Tiny-YOLO v3将预选框的各类别得分进行阈值筛选和排序,并最终采用非极大值抑制算法[15]得到最后的检测结果。

2 基于Tiny-YOLO v3的轻量化安全帽检测网络

尽管Tiny-YOLO v3是一种轻量化的网络模型,但其模型大小仍然超过了30 MB,且因其网络结构设计较为简单,因此仍然有进一步轻量化和优化的空间。基于Tiny-YOLO v3设计了一种新型的LT-YOLO网络,LT-YOLO网络在网络结构和卷积方式上对Tiny-YOLO v3均进行了优化,最终在精度和轻量化之间取得了优良的平衡。

2.1 网络结构调整

Tiny-YOLO v3的输出层由两部分组成,分别为13×13和26×26的最终特征图,分别被应用于检测大尺寸目标和中等尺寸目标,但由图2可知,在实际工程所获得的图像数据里,工人及所佩戴的安全帽的尺度较为复杂,同时存在小、中、大尺寸,因此两条支路的输出层并不完全适用于安全帽检测的工程管理任务。故在此基础上,针对Tiny-YOLO v3增加了52×52的小目标检测层,增强了其对工地复杂场景的应对能力。

2.2 R-DSC模块设计

Tiny-YOLO v3中所使用的卷积方式为标准卷积,会产生较为庞大的计算量和参数量,从而生成“臃肿”的卷积神经网络模型。深度可分离卷积作为一种轻量化的卷积方式,由分组卷积和逐点卷积组成,其能够大大降低模型的时间和空间复杂度。

图2 实际工地图像的目标分布Fig.2 Object distribution of actual site image

为了解决上述问题,设计了一种如图4所示的R-DSC模块。该模块首先包含“DSC-Maxpool-DSC”的特征提取结构,同时第一个经过DSC处理后的特征图通过插值进行上采样,并复制一份特征图后与自身在通道上进行叠加,最终与经过第二个DSC处理的特征图完成残差操作。

x为输入特征图图3 残差操作Fig.3 Residual operation

C为特征图的深度图4 R-DSC模块结构Fig.4 The structure of R-DSC module

2.3 轻量化安全帽检测网络LT-YOLO

基于上述设计,提出了轻量化的安全帽检测网络LT-YOLO,其网络结构如图5所示。LT-YOLO由本文所提出的R-DSC模块作为主要的特征提取结构,用于在尽量保证精度的前提下,降低网络模型的复杂度。同时LT-YOLO网络在增加了一条小尺寸目标检测层的基础上,将Tiny-YOLO v3中所有的3×3卷积均替换为了深度可分离卷积,此操作能够极大地降低模型的参数量与计算量,提升网络的轻量化程度,加快LT-YOLO在实际工地管理中的应用。

R-DSC3_DSW1代表第三个R-DSC结构中的第一个深度可分离卷积图5 LT-YOLO网络结构Fig.5 The network structure of LT-YOLO

f为使用一个全连接层的神经网络结构图6 SPP模块和SE模块Fig.6 SPP module and SE module

为了进一步增强网络的性能,同时引入了空间金字塔池化(spatial pyramid pooling,SPP)模块[17]和压缩激活(squeeze-and-excitation,SE)模块[18],它们的结构如图6所示。SPP模块通过利用不同大小的最大池化操作对输入特征图分别进行操作,且最终将结果在通道方向上进行堆叠。所设置的池化大小为5×5、9×9和13×13,步长均设置为1。SPP模块通过构成一种空间上的池化金字塔实现了局部特征和全局特征的结合,更好地提高了特征图的表达能力,使得特征图所携带的信息更为丰富。SE模块是一种注意力机制结构,输入特征图首先经过全局平均池化,并通过线性变换f得到一个加权张量,该张量最终与输入特征图基于广播机制进行元素级别的相乘,最终实现特征图每个通道的权重分配,使得特征图各通道参数分配更为合理。SPP模块与SE模块的引入在空间和通道两个方向上都提高了特征图的表达能力,进一步增强了LT-YOLO网络对工地安全帽佩戴情况的检测性能。

3 实验

为了验证本文所提出的轻量化安全帽检测网络的可行性与实用性,本节介绍了数据集的来源,实验的评价指标,以及实验结果与分析。实验环境如下:CPU为Intel(R) Core(TM) i7-8700K CPU@ 3.70 GHz,显卡GTX1070Ti,Ubuntu 18.04操作系统,使用Pytorch深度学习框架。

3.1 实验数据集

采用公共数据集Hard Hat Workers,数据集中包含5 000张图片,标签分为“Helmet”和“Head”两类,每张图片按照PASCAL VOC格式进行了包围框和类别的标注。本文将数据集中的图片按照9∶1的比例随机分为训练集与测试集,最终训练集4 500张图片,测试集500张图片。

3.2 评价指标

为了定量分析各个网络的性能,主要使用以下指标进行衡量。

(1)召回率(Recall):表示正确的预测框与真实标签的比值,其计算公式为

(1)

式(1)中:TP为预测正确的样本的数量;FN表示本来为正样本、但预测为负样本的数量;FP表示本来为负样本、但预测为正样本的数量。

(2)多类别平均精度mAP (mean average precision):mAP用来衡量网络对所有目标类别的通用预测效果。当mAP的值越大时,则说明网络模型的性能更加全面和先进,其计算公式为

(2)

式(2)中:AP为平均精度;其计算公式为

(3)

(4)

式中:p为精确率(precision);r为召回率;C为总类别;c为当前计算类别。

(3)预测速度(frames per second, FPS):每秒可以预测的图像数量。

3.3 训练参数设置及过程分析

使用优化器SGD(stochastic gradient descent)进行训练,初始学习率为0.001,动量设置为0.937,权重衰减为0.000 5,使用LambdaLR学习率调整策略。在训练过程中,每完成一个epoch后将在测试集上进行一次预测。

图7展示了本文所提出的LT-YOLO网络在训练过程中的loss值曲线,从图7中可知网络整体训练过程优良,loss值逐渐下降,且在250个epoch后基本趋于稳定。图8展示了LT-YOLO在完成每轮训练后在测试集上的mAP值和Recall值,初期网络因为训练效果欠佳,故性能有限,但随着训练轮数的增加,在150个epoch后网络的检测能力逐步收敛,并维持在一个较高的水平。

图7 LT-YOLO训练loss曲线Fig.7 The loss curve of LT-YOLO during training

图8 LT-YOLO训练过程中测试集的mAP与Recall曲线Fig.8 The mAP and Recall curves of LT-YOLO on test dataset during training

3.4 实验结果

为了验证针对LT-YOLO所使用模块的必要性,首先设计了如表1所示大量的消融实验。从表1中可以看出,当R-DSC模块、SE模块、SPP模块和三层输出设计同时采用时,网络在轻量化程度和性能之间取得了最好的平衡,mAP达到了59.3,Recall为59.4%。尽管只采用后三种策略时网络的检测性能最好,mAP和Recall分别为60.4和60.5%,但因为没有应用本文所提出的R-DSC轻量化模块,其FLOPs和Params分别为最高的13.1 G和10.3 M,模型大小更是达到了41.4 MB,相比较本文所提出的网络,分别为其相应指标的3.9倍、3.0倍和2.9倍。仅仅使用R-DSC模块时,模型达到了最低的计算量和参数量,但其精度有较大的牺牲,mAP和Recall分别低于本文网络1.5个点和1.1%。不采用三层输出设计时的模型复杂度与本文模型相当,但mAP和Recall均有下降。因此大量的消融实验证明,本文所采用的网络设计策略均缺一不可,使得模型最终在维持高检测性能的基础上,拥有较低的时间和空间复杂度,使得其能够更好地部署在实际工程管理应用中。

为了进一步验证LT-YOLO的性能,将其与其他经典的卷积神经网络进行了对比,包含同样为轻量化网络的Tiny-YOLO v3,以及经典的单阶段模型SSD300和双阶段模型Faster R-CNN,对比结果如表2所示,网络名括号内表示模型所采用的骨干网络。

表1 消融实验

表2 与经典网络性能对比

从表2可知,本文所提出的LT-YOLO在性能上达到甚至超过了已有的先进网络,同时在模型的参数量和计算量上远远优于它们。Tiny-YOLO v3和Faster R-CNN的mAP值分别高于LF-YOLO网络0.9个点和1.6个点,但其模型大小分别为LT-YOLO 的2.5倍和11.8倍,FLOPs分别为其2.9倍和26.8倍。与SSD网络相比,LT-YOLO的模型大小虽然仅为其14.6%,但mAP仍优3个点。与先进网络相比,本文的LT-YOLO在轻量化程度上有非常大的优势,同时在检测性能上也有较强的竞争力,最终LT-YOLO的部分检测结果如图9所示。从图9可知,LT-YOLO在面对各种工程场景时都能较好地实现检测目标,在目标较小,或较为密集,以及有遮挡的情况下,均有令人满意的检测效果。

helmet为检测到安全帽;head为未戴安全帽;数值表示预测的置信度图9 LT-YOLO部分检测结果Fig.9 The prediction results of LT-YOLO

4 结论

提出了一种针对在施工现场中工程管理任务的LT-YOLO网络,主要用于检测施工人员安全帽的佩戴情况。经过理论分析和实验验证,得到以下结论。

(1)所提出的R-DSC特征提取模块在提取有效特征图的基础上,能够极大地降低模型地参数量与计算量。

(2)基于R-DSC所提出的LT-YOLO网络在公共数据集Hard Hat Workers取得了59.3 mAP和59.4% Recall的成绩,在计算量与参数量分别为Tiny-YOLO v3的35%和40%的前提下取得了几乎一致的结果。

(3)LT-YOLO网络能够降低工程管理中的硬件成本预算,更具有实际工程应用价值。

猜你喜欢

安全帽轻量化卷积
小小安全帽,生命保护伞
汽车轻量化集成制造专题主编
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
爆笑四格
从滤波器理解卷积
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
基于傅里叶域卷积表示的目标跟踪算法
危险