轻量化高精度卷积神经网络的安全帽识别方法

2021-11-26 07:22陈明举薛智爽罗仕胜
计算机工程与应用 2021年22期
关键词:安全帽轻量化卷积

陈 柳,陈明举,薛智爽,罗仕胜

四川轻化工大学 人工智能四川省重点实验室,四川 自贡643000

随着电子信息技术的发展,机器视觉技术已逐渐应用到社会生产生活的各个领域。在电力生产、施工现场以及交通等领域,未正确佩戴安全帽是造成安全事故的主要因素之一。通过机器视觉技术能实现对施工作业现场安全帽的检测与识别,减少安全事故的发生。

近年来,一些科研人员采用机器视觉技术进行安全帽识别,并获得了一些有效的研究成果。在传统机器学习算法研究方面,主要通过安全帽的形状与颜色特性进行识别。如Park 等人[1]利用颜色直方图与空间关系匹配实现对安全帽的检测。李琪瑞等人[2]通过ViBe 运动目标检测,并结合SVM的特征分类算法,以判断是否佩戴安全帽。刘晓慧等人[3]通过头部区域的Hu 矩特征进行训练得到分类器,从而实现对安全帽的判断。传统的基于机器学习的安全帽检测算法,检测速度较快,但严重依赖人为特征设计和选取,同时由于特征单一,泛化能力较差,无法对复杂施工环境下的目标进行有效检测,导致检测准确率较低。

基于深度学习的卷积神经网络技术在图像处理中表现出较好的性能,越来越多的科研人员将卷积神经网络应用于图像的分类识别中,并取得了较好的识别效果。基于神经网络的目标检测主要分为两阶段网络方法和单阶段网络方法。两阶段网络通过区域提取和分类两个阶段去实现识别,具有较高的检测精度,但由于检测过程存在大量的数学计算,从而导致检测速度较慢[4-5]。单阶段网络使用目标的高级特征直接进行识别,避免复杂的特征提取与检索算法,大大减少了运算时间[5],但由于单阶段网络对各级网络特征单独进行预测,底层特征缺少语义与全局信息,造成小物体漏检的情况发生[6]。

由于生产作业的场景错综复杂,采用单阶段卷积神经网络对作业人员是否佩戴安全帽进行识别,存在漏检现象。采用两阶段网络进行识别的运算时间长,无法满足实时性的要求。为满足对作业场景佩戴安全帽识别的精度和速度的要求,本文以单阶段检测网络RFBnet[7]为基础,引入多尺度特征金字塔结构增强对小目标的检测能力,并轻量化网络模块,提高检测效率。实验中采用SCUT-HEAD数据集进行训练和测试,将本文改进的轻量化RFBnet网络与RFBnet-300[7]、RFBnet-512[7]、YOLO-v3[8]三种检测方法进行对比实验,结果表明,本文改进的RFBnet 检测方法能够保持较快的检测速度,同时能够实现较高的检测精度。

1 RFBnet卷积神经网络基本结构

强大的特征提取能力在目标检测网络中变得至关重要,提取精确的目标特征需要增加卷积神经网络的层数,然而性能的不断提高带来的却是高额的计算成本,导致模型检测速度降低。受人类视觉系统中感受野(Receptive Filed,RF)结构的启发而诞生的RFBnet网络是一种简单而高效的目标检测网络。

RFBnet目标检测网络以VGG-16网络[9]作为提取特征的主干网络,将VGG-16网络最后的三个全连接层采用空洞卷积层Conv6 和Conv7 进行替换,并对池化层Pool5 的步长和大小进行改变,实现在不增加网络运算量的前提下使卷积层能够提取到更多的特征信息,实现图像语义信息准确分割[10]。另外,为了更好地增强浅层卷积神经网络的特征表示能力,有效提取目标的特征,RFBnet 模拟人类浅层视网膜图中的群体感受野(population Receptive Field,pRF),构建以多分支卷积模块与膨胀卷积层为组件的RF Block,以提取目标更精细的特征[7]。RFBnet 在Conv4_3 层连接小群体感受野的RF Block,在Conv7层之后连接多个RF Block,如图1所示。根据网络输入图片的大小,RFBnet又有RFBnet-300和RFBnet-512两个版本,以适用输出特征图不同分辨率的要求。

图1 RFBnet-512结构Fig.1 Structure of RFBnet-512

由上分析可知,RFBnet采用空洞卷积层与RF Block模块,实现以较少的层数增强浅层卷积神经网络的特征表示能力,然而RFBnet强调同层之间特征表示,忽略了高层特征与底层特征之间的相互联系,使得浅层特征表示能力有限,从而造成复杂环境下小目标的漏检。

2 一种轻量化高精度卷积神经网络

针对施工环境的复杂性,为达到安全帽检测精度的要求,本文在检测效果更佳的RFBnet-512 的基础上进行改进。为了更好地利用不同层次特征之间的联系,有效地增强浅层特征,将特征金字塔网络(Feature Pyramid Networks,FPN)模块引入到RFBnet 中。同时保持网络特征提取能力不变的情况下减少计算量,本文构建一种轻量化模块代替网络中的部分卷积模块,从而建立一种实现安全帽检测的轻量化高精度卷积神经网络。

2.1 引入FPN的FP+RFBnet

在目标检测网络中,RFBnet 由于卷积层和池化层的不断堆叠,导致深层特征图分辨率较低,不能对小目标进行有效检测。FPN 模块[11]通过深层特征进行上采样,然后将上采样得到的特征与次一级特征图进行融合,实现高层特征向浅层特征融合,使浅层特征也具有较强的语义信息,并且在多个融合尺度上进行预测,增强对小目标的检测能力[11],其网络结构如图2所示。

图2 FPN网络Fig.2 FPN network

为了实现适用于复杂环境下多形态安全帽的检测,并降低安全帽漏检的概率,本文将FPN 模块引入到RFBnet结构中。RFBnet网络层数较大的深层特征图不含有小目标信息,在过小的特征图上进行上采样融合,反而会使目标的检测效果变差,影响整个网络的识别能力。本文针对施工环境安全帽图像的特性,在RFBnet中输出8×8 特征图的特征层处添加自上而下的FPN 结构,通过上采样生成16×16的特征图,然后与低一层16×16 的特征图进行对应融合,依次自上向下融合直到Conv4_3层。改进后的FP-RFBnet结构如图3所示。

图3 FP-RFBnet网络Fig.3 FP-RFBnet network

2.2 SE+Ghost轻量化的SG+FP-RFBnet

由于引入FPN 模块的FP-RFBnet 网络增加了网络的结构复杂性,从而导致检测速度变慢,为了提高网络的检测速度,同时保持检测性能不变的情况下,提出一种SG(SE+Ghost)模块来对FP-RFBnet网络进行轻量化。

SE注意力模块通过学习自动获取每个特征通道的重要程度,然后根据该重要程度去提升有用的特征并抑制表达能力不强的特征。SE 模块首先对特征进行压缩,得到一个多维的全局感受野的特征,然后通过自动学习确定每一维度特征的权重,最后通过将学习到的特征逐通道加权到先前的特征上,实现对原始特征的重新标定[12]。在RFBnet 网络中,卷积存在大量的浮点运算并产生大量的冗余特征图,而这些冗余的特征对于目标检测等任务是至关重要的[13-14]。Ghost 模块由两个卷积块构成,首先通过较小卷积核生成少量的原始特征,然后对原始特征通过“廉价”的线性运算来产生大量的冗余特征,从而实现花费很小的计算代价达到普通卷积实现的效果[15]。

将SE 模块和Ghost 模块组合得到SG 模块(SEGhost),SG 模块不仅实现RFBnet 网络中冗余特征图的提取,且提取的特征图体现特征通道重要程度,SG模块的结构如图4所示。

图4 SG结构Fig.4 Structure of SG

在SG 结构中,首先将Ghost 模块输出的特征经过Squeeze 全局平均池化得到压缩特征;然后将特征维度降低到输入的1/16,经过激活函数后通过两个全连接层FC将维度提升到原来的水平;接着通过Sigmoid激活函数将每个特征层的权重归一化到[0,1]之间;最后通过Scale 操作将归一化后的权重加权到每个通道的特征上,得到具有特征通道重要程度信息的特征层。

为了减小网络的参数量与计算量,用构建的轻量高效的SG模块替换FP-RFBnet主干网络中的部分卷积模块,使其能够聚合不同感受野的特征和不同特征层之间的相关性,使得改进后的网络更好地实现对较小目标的检测,在提取安全帽特征时更加高效。另外,FP-RFBnet在Conv7之后连接了4个RF Block,由于深层特征分辨率较低,同时RF Block相较于普通卷积运算量较大,为了进一步轻量化网络,用普通卷积替换FP-RFBnet中最后两个RF Block。改进后的FP-RFBnet网络命名为SGFP-RFBnet,其主干结构如图5所示。

图5 SG-FP-RFBnet主干网络Fig.5 Backbone network of SG-FP-RFBnet

3 实验

3.1 实验环境

在服务器上搭建进行训练所需要的环境,服务器硬件配置为CPU(Intel Xeon)、GPU(Nvidia TITAN Xp)、主板(超微X10DRG-Q)、内存(镁光256 GB)、硬盘(2 TB);软件配置为Windows10 专业版操作系统、CUDA、Anaconda、Pytorch 等。实验数据采用开源的安全帽SCUTHEAD 数据库(https://github.com/njvisionpower/Safety-Helmet-Wearing-Dataset),该数据集下有6 878 张图片,其中6 328张作为训练集,550张作为测试集。为了提高SG-FP-RFBnet 的鲁棒性并防止模型过拟合,对训练样本图片进行随机裁剪和放大、亮度和镜像变换等操作。为了说明SG-FP-RFBnet 网络的有效性,在相同的实验环境下采用相同的学习参数与数据集对RFBnet-512、RFBnet-300、YOLO-v3 分别进行训练,得到相对应的训练模型。

3.2 识别结果与分析

选取复杂施工环境的样本图片用上述网络模型进行测试,并对测试结果进行对比分析。图6(a)给出了不同遮挡、干扰和大小的4 幅代表性测试图像。图6(b)、(c)、(d)、(e)分别是测试样本在YOLO-v3、RFBnet-300、RFBnet-512 和SG-FP-RFBnet 方法检测下得到的结果。从图中可以看出,RFBnet-300 的检测效果最差,在4 幅图中都存在弱小安全帽的漏检,这是由于其提取图像特征信息的能力较弱造成的。YOLO-v3网络尺度表示和特征提取能力有限,对图1、图2中的弱小安全帽存在漏检。相比YOLO-v3 与RFBnet-300 网络,RFBnet-512 检测准确率有一定的提高,但在图3中出现了远处弱小安全帽的漏检。在所有算法中,本文的SG-FP-RFBnet 实现了图中所有安全帽的准确检测,取得最好的检测效果,说明了建立的SG-FP-RFBnet 网络有效地实现了图像多尺度语义信息的表示与图像特征的提取,从而提高了弱小目标的提取能力。

图6 模型对比结果Fig.6 Model test comparison results

为了从客观指标上说明SG-FP-RFBnet 网络的性能,本文从检测精度、速度以及模型参数量等方面来验证改进的效果。利用SCUT-HEAD 测试数据集分别对上文中的四种检测方法进行测试,识别率结果如图7和表1所示。图7给出了四种检测方法在SCUT-HEAD测试数据集上的平均准确率(Average Precision,AP)和平均准确率均值(Mean Average Precision,MAP)。SGFP-RFBnet在安全帽(hat)和人脸(person)检测中获得的AP 与MAP 值最高,相较于YOLO-v3、RFBnet-300 和RFBnet-512,MAP 分别提高了1.60 个百分点、3.62 个百分点和0.98 个百分点,说明SG-FP-RFBnet 网络中的特征金字塔网络模块可以有效地提高安全帽检测的精度。表1给出了四种检测方法的速度与参数量,可以看出SG-FP-RFBnet虽然每秒检测的帧数相较于FRBnet-512略有下降,但达到20 frame/s,具有一定的实时性。模型存储参数量得到了极大的降低,相较于YOLO-v3、RFBnet-300 和RFBnet-512 分别减少了183.5 MB、77.5 MB 和80.5 MB,可以节省大量的存储空间。

图7 模型精度对比Fig.7 Model accuracy comparison

表1 参数对比结果Table 1 Parameter comparison results

综述,本文将特征金字塔网络模块引入到RFBnet网络中,使神经网络融合浅层和深层语义信息,实现了复杂施工环境下安全帽的精确识别。采用SE-Ghost 模块,对网络的主干网络结构进行轻量化,大幅度降低了网络的存储空间。建立的SG-FP-RFBnet实现了高精度安全帽的识别,并满足实时性的要求。

4 结论

本文针对工业复杂环境下的安全帽佩戴检测问题,构建FPN结构来增强网络对于小目标检测的能力,采用SG 模块对网络进行轻量化,从而建立轻量化高精度的安全帽佩戴检测网络SG-FP-RFBnet。通过实验证明,该网络在复杂施工场景下,能有效地实现安全帽佩戴识别,极大地缩小网络的存储空间,运算速度满足实时要求,识别准确率相对其他网络有一定的提高。因此,本文提出的SG-FP-RFBnet网络具有较大的学术参考与应用价值。

猜你喜欢
安全帽轻量化卷积
小小安全帽,生命保护伞
汽车轻量化集成制造专题主编
基于3D-Winograd的快速卷积算法设计及FPGA实现
爆笑四格
从滤波器理解卷积
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
基于傅里叶域卷积表示的目标跟踪算法
瞄准挂车轻量化 锣响挂车正式挂牌成立
用户:轻量化挂车的使用体验