职场文秘网

首页 > 心得体会 > 学习材料 / 正文

改进YOLO,v3的面部口罩佩戴检测算法

2023-01-15 17:50:08

莫伟龙,刘佳男,王迪,尹伟石

(长春理工大学 数学与统计学院,长春 130022)

2020年突如其来的肺炎疫情波及全世界,世界卫生组织在Situation report-220中提出截至到2020年9月10日,全世界已经有超过3 060万COVID-19病例和95万死亡病例。为有效控制疫情蔓延,各地政府要求群众外出必须佩戴口罩,但是不少行人存在侥幸心理,不佩戴或者错误佩戴口罩。为了改善这种情况,有必要对外出群众的口罩佩戴情况进行检测,降低因不佩戴或者错误佩戴口罩而造成的病毒传染风险。

目前对于公众场所人群口罩佩戴情况的检测主要依靠于人工排查,但该方法劳动量大、排查效率低、传染风险高,并且不能长期有效地提高人群佩戴口罩的自觉意识,因此如何智能高效地解决口罩的检测问题成为了提高公共卫生安全的关键。近年来,随着深度学习的不断发展与完善,很多企业及研究人员提出了一系列基于深度学习对口罩佩戴问题的目标检测算法。百度首先开源了PyramidBox算法[1],这是一种上下文辅助的单步检测算法,该算法原本用于人脸检测,但在口罩佩戴问题上也取得了良好的检测效果。滴滴出行科技有限公司提出了一种基于DFS的口罩佩戴检测算法[2],该算法先使用DFS定位人脸,再通过Attention机制关注口罩区域,对该区域进行检测进而判断是否佩戴口罩。AIZOO提出一种基于SSD的轻量级口罩佩戴检测算法[3],并对网络结构进行优化。UAI团队[4]结合人脸检测、关键点定位和口罩实例分割算法实现对口罩佩戴问题的智能识别检测。上述算法虽然均能够实现对口罩佩戴问题的检测识别,但无法检测口罩佩戴是否正确。

目前基于深度学习的目标检测算法主要分两类,一类是双步目标检测算法,例如:Fast-RCNN[5];
另一类是单步目标检测算法,例如:AFE-SSD[6]、YOLO[7]等,其中 YOLO v3 是一种优秀的单步目标检测算法。该算法能够满足实际生活中的实时检测需求,与此同时,YOLO v3又融合了先验框、特征融合金字塔等策略,极大程度上提高了检测准确率。官网数据表明在COCO检测集上,相较于RetinaNet-101在198 ms内mAP达到57.5%的检测效果,YOLO v3仅用了51 ms,性能相当,速度却快了3.7倍。YOLO v3以其检测性能的优越性,受到了诸多研究者的青睐。陈咏秋等人[8]提出基于YOLO v3算法的输电线路鸟类检测模型,该方法有效地解决了传统驱鸟器启停策略的弊端。郭进祥等人[9]将YOLO v3算法应用于机场场面飞机检测领域,并将特征提取网络中的卷积层改为空洞卷积,进而有效地提高了检测准确率。施辉等人[10]提出一种基于改进YOLO v3算法的安全帽佩戴检测方法,并结合特征融合金字塔、多尺度训练等策略实现了安全帽佩戴检测问题的实时性和准确性。张浩等人[11]引用Inception网络思想,通过改进YOLO v3将其运用于目标识别与抓取。虽然YOLO v3被广泛地应用于实际生活中,但目前还没有学者将其运用于检测人脸是否正确佩戴口罩这一场景下。

本文以YOLO v3算法为主体,将其运用于面部口罩佩戴情况的检测,并针对口罩佩戴问题中出现的难以检测的细节问题进行以下改进:(1)为了提高网络对细节目标语义信息的提取能力,对YOLO v3检测网络最终输出的8倍降采样特征图再进行2倍上采样,并与特征提取网络的第二个残差块中输出的4倍降采样特征图进行连接;
(2)为了提高网络对细节目标位置信息的提取能力,在Darknet-53网络的第二个残差块中增加至4个残差单元;
(3)为增强网络梯度,取消原YOLO v3检测网络输出层前的卷积操作,将其改为2个卷积和2个残差单元的组合;
(4)为增强网络召回率,将YOLO v3检测网络的输出层合并为一个最终检测输出;
(5)本文使用多尺度训练的策略以提高网络对输出图片尺寸的稳健性。

本文从Github及各大开源数据集上搜索、下载佩戴口罩人物图片,并结合学校附近实拍图片对图片集进行筛选、归类,制作成口罩图片检测数据集,最后通过实验,对面部口罩佩戴问题进行检测,观察改进后YOLO v3的检测性能。

1.1 Darknet-53网络

相比于YOLO v2使用Darknet-19网络对输入图片进行特征提取,YOLO v3采用新的特征提取网络DarkNet-53。具体网络结构如图1所示。

图1 Darknet-53网络结构

由图1知,Darknet-53中添加了5个残差块,每个残差块分别有 1、2、8、8、4个残差单元,在每个残差单元中,通过输入与两个conv单元进行残差操作,如图2(a)所示。与此同时每个conv单元又包含了卷积、归一化处理、LeakyReLU激活函数,如图2(b)所示,因此在增大网络深度的同时又有效地避免了梯度消失。

图2 Darknet-53中单元结构

1.2 YOLO v3检测网络

特征提取网络Darknet-53最终将输出三种不同尺度大小的特征图,并将其输入至YOLO v3的检测网络中。由于低层特征具有丰富的细节和定位信息,高层特征具有丰富的语义特征,因此YOLO v3检测网络通过上采样将低层特征与高层特征进行融合,得到不同尺度的特征图来对目标的位置和类别进行预测。具体结构如图3所示。

图3 YOLO v3检测网络

1.3 YOLO v3检测算法

由于YOLO v3模型在COCO数据集上预测得到的9个先验框位置大小能适用于本文的检测目标,因此本文沿用了原网络定义的先验框大小,以下介绍具体的YOLO v3检测算法。

该算法将YOLO v3检测网络输出的特征图片划分成N×N个网格。如果当某个网格中存在检测目标的中心,那么这个网格将负责预测该目标,如图4所示。

图4 图像划分示意图

在检测的过程中,每个网格都会产生3个先验框,每个先验框都会预测边界框位置信息(x,y,w,h)和置信度C,其中置信度计算公式如下:

其中,P(obj)为边界框所含目标的可能性,若网格中存在某个检测目标,P(obj)=1,否则P(obj)=0;
IOU为预测边界框与真实标注框的交并比。

本文共引入没有佩戴口罩、正确佩戴口罩和错误佩戴口罩三种目标类别。因此当引入类别属性后,可用P(classi|obj)表示包含目标的每个网格中各个类别属性的概率大小,同时为了得到每个边界框的分类信息,将边界框所属网格的类别概率与边界框的置信度相乘得到置信度评分,计算公式如下:

置信度评分代表了边界框中目标属于某个类的概率。

最后,先将边界框的各个类别的置信度评分按高到低排序,将得分小于阈值的置为0,再用非极大值抑制算法(NMS)去掉重复率较大的边界框,最后每一个边界框只保留置信度评分大于0且最高的类,从而检测出各类目标。

本文主要研究对面部口罩佩戴问题的检测,但考虑到原始的YOLO v3网络只能实现对口罩是否佩戴问题的检测,而不能检测出是否正确佩戴,因此需要改进原始的YOLO v3网络,使改进后的YOLO v3网络能够满足对是否正确佩戴口罩问题的检测。

2.1 特征融合目标检测层

口罩佩戴问题中很多细节错误屡见不鲜,例如:鼻夹条按压不到位、漏出口鼻等,相对于一般较大的目标识别,这些细节本身像素点少、特征不够明显,再考虑随着网络层数不断增加,过多的降采样使得目标分辨率不断下降,语义特征严重丢失,原始的YOLO v3网络对这些细节问题的检测存在明显的困难,因此为了使网络获取口罩佩戴时更多细节的特征信息,提高对细节目标的检测准确率,需要改变原有的输出方式,因此本文建立如下的特征融合目标检测层:

(1)为提高网络对细节目标语义信息的提取能力,对YOLO v3检测网络输出的8倍降采样特征图再进行2倍上采样,并与特征提取网络的第二个残差块中输出的4倍降采样特征图进行连接。

(2)为了提高网络对细节目标位置信息的提取能力,在Darknet-53网络的第二个残差块中增加至4个残差单元。

(3)为增强网络梯度,取消原YOLO v3检测网络输出层前的卷积操作,将其改为2个卷积(conv unit)和2个残差单元(ResNet unit)的组合。

通过上述方法,可建立输出为4倍降采样的特征融合目标检测层,它提高了对微小错误的信息提取能力。除此之外,为增强网络召回率,将YOLO v3检测网络的输出层合并为一个最终检测输出。改进后的网络结构如图5所示。

图5 改进后的YOLO v3网络

2.2 多尺度训练

YOLO v3算法采用卷积神经网络来提取特征,最后通过全连接层来对目标类别进行预测。由于全连接层的存在,网络对输入图片的尺寸不具备稳健性。为增强网络对输入图片尺寸的稳健性,本文采取多尺度训练的策略,然而多尺度训练仅对全卷积网络有效,因此本文将全连接层改为全卷积操作。

例如,当输入图片尺寸为512×512×3时,经过Darknet-53网络后,输出特征图大小为16×16×1 024。图6(a)通过一个包含4 096个神经元的全连接层后,得到了一组4 096×1的特征图;
图6(b)使用一组 16×16×4 096的卷积核,最终得到1×1×4 096的特征图。然而当输入特征图尺寸大小发生改变时,图6(a)中的全连接层需要相应修改参数个数才能使网络继续正常运行下去,而图6(b)改为全卷积操作后网络能够正常运行。除此之外,网络在进行前向传播运算时,对于 图 6(a)共需要计算16×16×1 024×4 096+1=1 073 741 825个参数,而对于图6(b)则只需要计算(16×16+1)×4 096=1 052 672个参数。由此可见,将全连接层改为全卷积操作后,能够有效减少参数个数,提高网络运算效率。

图6 全连接层转化为全卷积层

3.1 实验训练集制作

实验训练集是网络训练中必不可少的条件,而对于口罩佩戴检测任务一直没有开源的训练集可供直接使用,因此,本文自制了一套口罩佩戴训练集,具体包含以下四方面:数据的拍摄与收集、数据的预处理、数据的筛选和数据的标记。

(1)数据的拍摄与收集

口罩佩戴训练集的数据主要来源于两部分:网络搜集和行人随机抓拍。网络搜集为主要数据来源,行人随机抓拍为次要数据来源。

本文从Github及各大开源数据集上搜索、下载佩戴口罩人物图片。同时,为保证训练集的丰富性,本文通过架设照相机,在长春理工大学及其附近主要街道对行人进行随机抓拍,获取不同时间段、不同地点的照片数据,并进行保存。

(2)数据的预处理

由于YOLO v3采用DarkNet-53网络对图片进行特征提取,DarkNet-53网络中下采样倍率为32,所以需要对图片集进行预处理,将口罩佩戴图片集中,图片分辨率大小分为一系列32倍数的值。

(3)数据的筛选

从相机抓拍得到的图片数据,有一部分图片没有出现行人以及口罩等主体,这部分图片对本文研究没有实际意义,所以将该部分图片进行删除,本文只使用有行人的图片作为训练集。为体现改进后的网络能检测出口罩佩戴中微小错误的优势,本文主要保留目标较小的佩戴口罩的行人照片。

最终共筛选出8 000张图片作为训练集样本,其中是否佩戴口罩图片各3 000张、是否正确佩戴口罩图片各1 000张;
同时,按照训练集:测试集=9∶1的比例选取相应数量图片作为测试集。

(4)数据的标记

本文采用labelImg工具对图片进行标记,利用该标记工具,在人工操作过程中只需要在图片中标记出自定义的各种目标,该工具将会自动生成相对应的xml文件可供网络读入。其中labelImg操作界面如图7所示。

图7 labelImg操作界面

3.2 口罩佩戴情况定义

针对佩戴口罩、未佩戴口罩、正确佩戴口罩及错误佩戴口罩,本文有以下规定:

(1)佩戴口罩:若人脸部分出现口罩即认为佩戴口罩,如图8(a)所示。

(2)未佩戴口罩:若人脸部分没有出现口罩即认为未佩戴口罩,如图8(b)所示。

(3)正确佩戴口罩:若人脸部分的口、鼻完全被口罩遮挡住即认为正确佩戴口罩,如图8(c)所示。

(4)错误佩戴口罩:在佩戴口罩的前提下若人脸部分的口或鼻裸露即认为错误佩戴口罩,如图8(d)所示。

图8 口罩佩戴情况

3.3 实验平台及网络训练

3.3.1 实验平台

由于本文所使用的神经网络层数较多,参数训练较复杂,对硬件环境要求较高,需要使用GPU进行运算,表1为本实验硬件配置情况。同时,在计算机上搭建了用于本实验的环境,包括Linux、CUDA、python、OpenCV、anaconda等。

表1 实验硬件配置情况

3.3.2 网络训练

本文使用YOLO v3官网上提供的部分参数对网络进行初始化,并随机使用训练集中图片让网络进行参数学习,经过不断地迭代更新,最终网络检测效果达到最优,部分实验参数如表2所示。

表2 网络参数表

3.4 检测结果及对比分析

本文是在原始YOLO v3算法的基础上对其网络结构进行修改,得到改进型YOLO v3算法。该网络不仅能识别人脸是否佩戴口罩,还能够检测口罩是否佩戴正确。为了体现改进型YOLO v3的优越性,本文将原始YOLO v3和改进型YOLO v3进行比较,即分别使用原始YOLO v3和改进型YOLO v3对是否佩戴口罩和是否正确佩戴口罩两种情况进行检测识别,通过对比最终的实验结果,分析YOLO v3改进前后性能情况。

3.4.1 Loss函数曲线

在训练过程中,通过绘制损失(Loss)函数曲线能够直观地观察到预测值与真实值的偏差程度。本文使用二元交叉熵损失函数,图9为对应的Loss函数曲线,其中横坐标表示训练迭代次数,纵坐标表示训练过程中的Loss值。

图9 Loss函数曲线

由图9可观察到,在训练一开始Loss值下降较为迅速,当迭代训练10次后,Loss值下降较为缓慢,随后在0.033附近上下浮动,且随着迭代次数的增加,浮动范围越来越小,因此可近似认为:当迭代至100次时,Loss值收敛至0.033,结束训练,所以本文选取迭代100次为最优迭代次数。

3.4.2 网络改进前后检测性能对比

本文将检测任务分为两类,一类为检测是否佩戴口罩,记为Y/N,另一类为检测是否正确佩戴口罩,记为R/W。图10为两类检测任务的结果对比,从图中可清楚直观地看出网络改进前后检测性能优劣。

图10 网络改进前后检测性能对比

由图10可知,对于检测是否佩戴口罩,YO⁃LO v3改进前后均有良好的检测效果,但改进型YOLO v3更胜一筹;
而对于检测是否正确佩戴口罩,原始YOLO v3存在明显的检测困难,但改进型YOLO v3有更优的检测性能。因此,改进型YOLO v3网络除了能检测出是否佩戴口罩,还能够检测是否正确佩戴口罩。

为了更加具体清晰地突出改进型YOLO v3的优越性,本文从召回率R(Recall)、精确率P(Precision)、平均精确率(mAP)和Loss值四个方面,针对上述两种不同的检测任务,对原始YO⁃LO v3和改进型YOLO v3进行对比。实验结果如表3、表4所示。

表3 是否佩戴口罩结果对比表

表4 是否正确佩戴口罩结果对比表

3.4.3 结果分析

从实验结果可以看出,对于是否佩戴口罩的识别问题,改进型YOLO v3的召回率(Recall)、平均精确率(mAP)明显优于原始YOLO v3,虽然精确率(Precision)不及原始YOLO v3,但是两者相差无几,除此之外,改进型YOLO v3的损失函数值比原始YOLO v3更低,因此对于是否佩戴口罩的识别问题,改进型YOLO v3明显优于原始YOLO v3。对于是否正确佩戴口罩的识别问题,改进型YOLO v3在召回率(Recall)、精确率(Precision)、平均精确率(mAP)和Loss值上均优于原始YOLO v3。并且就召回率(Recall)和平均精确率(mAP)两方面,改进型YOLO v3的结果较原始YOLO v3有较大的提升。

3.4.4 网络改进前后实验效果对比

为了更加直观地感受网络修改前后的区别,本文寻找了一些距离相对较远的小目标进行测试,并对检测图像进行对比分析,具体检测效果如图11所示,其中左侧图片为原始YOLO v3检测效果,右侧图片为改进型YOLO v3检测效果。

图11 检测效果对比图

对于图11中(a),原始YOLO v3识别不出而改进型YOLO v3能正确识别;
对于图11(b),原始YOLO v3仅仅识别出是否佩戴口罩,而没有检测出是否正确佩戴口罩,但是改进型YOLO v3能正确识别口罩佩戴情况;
对于图11(c),原始YOLO v3存在明显的错误识别,而改进型YOLO v3均能正确识别。上述例子可以说明改进型YOLO v3能够对距离相对较远的微小目标实现正确的分类识别,而原始YOLO v3网络却存在明显的检测困难。

3.5 改进型YOLO v3检测识别

根据上述实验结果可以看到,对于口罩佩戴情况的检测任务而言,改进型YOLO v3有着更优的网络性能,因此可以使用改进型YOLO v3先检测面部是否佩戴口罩,再在佩戴口罩的基础上检测是否正确佩戴口罩,检测效果如图12所示。

图12 改进型YOLO v3检测效果图

通过图12可以看出,改进型YOLO v3能够完成口罩佩戴情况的检测任务。

3.6 检测中常见干扰因素研究

为进一步研究干扰改进型YOLO v3网络检测结果的潜在因素,本文又选取检测中常见的干扰因素,例如检测视觉、光照强度和人脸肤色进行实验说明,实验结果如图13所示。

图13 不同干扰因素检测效果图

如图13(a)所示,即使人脸在检测时存在倾斜角度,改进型YOLO v3网络依然能检测出人脸错误佩戴口罩;
由图13(b)又可以知道,在夜间或者光线微弱的情况下,网络依然有出色的检测结果;
最后,对于图13(c),当面部肤色较黑且佩戴浅色口罩近距离检测时,改进型YOLO v3网络能正确识别,而对于面部肤色较黑又佩戴深色口罩远距离检测时,尽管网络提高了对细节目标语义信息的提取能力,也无法正确检测。

本文提出了一种基于改进YOLO v3算法的面部口罩佩戴检测算法,针对口罩佩戴问题中常见的细节错误,原始YOLO v3网络难以检测,本文通过改变YOLO v3网络结构,建立输出为4倍降采样的特征融合目标检测层,提高网络对口罩佩戴问题中微小错误的召回率和检测的准确率;
除此之外,采用多尺度训练策略,提高网络对输入图片尺寸的稳健性。实验结果表明,改进后的YOLO v3算法无论在检测是否佩戴口罩还是在检测是否正确佩戴口罩的检测任务上均有较高检测准确率。最后,本文又对检测中可能出现的干扰因素进行研究,发现对于不同检测角度、微弱光线强度下,改进型YOLO v3均能正确检测,而对于面部较黑的检测者,只有当其佩戴浅色口罩近距离检测时才能被检测出。综上所述,改进型YOLO v3网络能够满足口罩佩戴问题的检测需求。

猜你喜欢 改进型残差卷积 基于全卷积神经网络的猪背膘厚快速准确测定农业工程学报(2022年12期)2022-09-09多级计分测验中基于残差统计量的被试拟合研究*心理学报(2022年9期)2022-09-06基于FPGA的卷积神经网络加速优化方法计算机仿真(2022年7期)2022-08-22基于残差-注意力和LSTM的心律失常心拍分类方法研究成都信息工程大学学报(2022年2期)2022-06-14基于图像处理与卷积神经网络的零件识别计算技术与自动化(2022年1期)2022-04-15用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*心理学报(2022年4期)2022-04-12融合上下文的残差门卷积实体抽取北京大学学报(自然科学版)(2022年1期)2022-02-21基于深度卷积网络与空洞卷积融合的人群计数上海师范大学学报·自然科学版(2019年5期)2019-12-13IWI美国分公司UZI PRO SB半自动冲锋枪改进型轻兵器(2017年2期)2017-03-10俄罗斯赛加MK—107半自动步枪改进型轻兵器(2016年20期)2016-10-28

Tags: 佩戴   口罩   面部  

搜索
网站分类
标签列表