掌桥专利:专业的专利平台
掌桥专利
首页

一种基于YOLOV3的人脸口罩检测方法、系统、设备及介质

文献发布时间:2023-06-19 11:35:49


一种基于YOLOV3的人脸口罩检测方法、系统、设备及介质

技术领域

本发明涉及人脸口罩检测技术领域,具体涉及一种基于YOLOV3的人脸口罩检测方法、系统、设备及介质。

背景技术

目前,佩戴口罩出行已成为日常出行的基本要求。在进入各种公共场所时,都必须佩戴口罩才能通过安检。针对人脸口罩检测,现有技术主要是通过人工检测逐一排查,但这种方式容易出现漏检、不仅耗费人力物力,效率低下,同时也存在较大的安全隐患。

发明内容

本发明的目的在于提供一种基于YOLOV3的人脸口罩检测方法、系统、设备及介质,该方法通过对YOLOV3算法结构进行改进,以解决现有技术中人脸口罩检测效率低、准确度无法保障的问题。

为了克服上述现有技术中的缺陷,本发明提供了一种基于YOLOV3的人脸口罩检测方法,包括:

将待测数据输入至目标YOLOV3算法模型,通过DarkNet53特征提取网络进行特征提取,得到不同格式的特征数据;所述待测数据为格式统一的人脸图像,所述目标YOLOV3算法模型为结合IOU Loss函数的YOLOV3算法模型;

将所述特征数据输入至特征融合层,通过卷积和长采样进行特征融合;

通过输出层对所述特征融合后的数据进行卷积操作,并对所述人脸图像的边界框进行检测,得到人脸口罩检测结果。

进一步地,在所述将待测数据输入至目标YOLOV3算法模型之前,还包括:

根据YOLOV3算法模型,利用IOU Loss函数进行检测框回归分析,生成初始YOLOV3算法模型;

对所述初始YOLOV3算法模型的学习率、训练迭代轮数及训练数据集样本数量进行调整,得到目标YOLOV3算法模型。

进一步地,所述对所述初始YOLOV3算法模型的学习率进行调整,包括:利用衰减策略,通过优化器对所述学习率进行拟合。

进一步地,所述训练迭代轮数包括270次。

进一步地,在所述将待测数据输入至目标YOLOV3算法模型之前,还包括:

采集人脸图像数据集,并对所述人脸图像数据集进行标注、去重、数据清洗及归一化处理,得到格式统一的人脸图像。

进一步地,所述归一化处理的方法包括Z-score标准化方法。

进一步地,利用图像检测或活体检测采集所述人脸图像数据集。

本发明还提供了一种基于YOLOV3的人脸口罩检测系统,包括:

特征提取单元,用于将待测数据输入至目标YOLOV3算法模型,通过DarkNet53特征提取网络进行特征提取,得到不同格式的特征数据;所述待测数据为格式统一的人脸图像,所述目标YOLOV3算法模型为结合IOU Loss函数的YOLOV3算法模型;

特征融合单元,用于将所述特征数据输入至特征融合层,通过卷积和长采样进行特征融合;

检测单元,用于通过输出层对所述特征融合后的数据进行卷积操作,并对所述人脸图像的边界框进行检测,得到人脸口罩检测结果。

本发明还提供了一种计算机终端设备,包括:

一个或多个处理器;

存储器,与所述处理器耦接,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上任一项所述的基于YOLOV3的人脸口罩检测方法。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行实现如上任一项所述的基于YOLOV3的人脸口罩检测方法。

相对于现有技术,本发明的有益效果在于:

本发明基于YOLOV3算法,结合了IOU Loss损失函数,能够在检测过程中对数据集的准确度进行相应的控制,以减少损失函数的值,最终提高整体学习的效果,进而提高检测人脸是否佩戴口罩的工作效率及检测结果的准确度。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明某一实施例提供的基于YOLOV3的人脸口罩检测方法的流程示意图;

图2是本发明某一实施例提供的YOLOV3的网格结构图;

图3是本发明某一实施例提供的图像检测方法的流程示意图;

图4是本发明某一实施例提供的学习率的变化过程示意图;

图5是本发明某一实施例提供的flutter下的服务架构图;

图6是本发明某一实施例提供的基于YOLOV3的人脸口罩检测系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。

应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,本发明某一实施例提供了一种基于YOLOV3的人脸口罩检测方法,包括:

S10、将待测数据输入至目标YOLOV3算法模型,通过DarkNet53特征提取网络进行特征提取,得到不同格式的特征数据;所述待测数据为格式统一的人脸图像,所述目标YOLOV3算法模型为结合IOU Loss函数的YOLOV3算法模型;

在本实施例中,首先需要说明的是,人脸口罩检测是根据人的脸部特征判断一张人脸是否佩戴口罩的一项技术,人脸口罩检测技术的实现是通过采集佩戴口罩的人脸和不佩戴口罩的人脸整合成数据集,运用相关算法进行训练在移动端等设备检测人脸,判断人脸是否佩戴口罩。

具体地,在步骤S10中主要是将预先获取的待测数据输入目标YOLOV3算法模型执行第一层运算。在对于目标YOLOV3算法模型解释之前,首先对于其组织结构和采用的损失函数的模型进行说明,如图2所示,YOLOV3将输入图像分成S*S个格子,即将输入图片化为N*N的栅格化格式,将每张输入的图片作为一个坐标轴,把格子的坐标标出,即只需要扫描一遍图片就能推理出图片中所有对象的位置信息和类别。每个格子预测B个bounding box,每个bounding box预测内容包括:Location(x,y,w,h)、Confidence Score和C个类别的概率,因此,YOLOV3输出层的channel数为B*(5+C)。YOLOV3的loss函数也有三部分组成,Location误差,Confidence误差和分类误差。

进一步地,YOLOV3的网络结构由基础特征提取网络、multi-scale特征融合层和输出层组成,其中,YOLOV3使用DarkNet53作为特征提取网络,DarkNet53基本采用了全卷积网络,用步长为2的卷积操作替代了池化层,同时添加了Residual单元,避免在网络层数过深时发生梯度弥散。

进一步地,损失函数对于YOLOV3模型的自学习效果来讲至关重要,需要说明,YOLOV3的损失函数共由五部分组成:

其中,(1)称为矩形框中心点损失误差计算,

(2)则为预测框高度误差,用

(3)和(4)则为预测框置信度损失计算,

(5)则为预测框类别损失,用于判断

需要指出,在YOLOV3下的损失函数用的是一种smooth L1 Loss来对检测框做一个回归检测,分为三个部分:①边界框均方误差,②置信度交叉熵,③类别交叉熵。以二分交叉熵作为检测,刻画了两个概率分布之间的距离,当交叉熵的数值越小,两个概率分布就越接近,将两个概率设为p、q;p作为现在正在的分布,q为预测的分布,通过p来表示出q的交叉熵,即:

H(p,q)=-∑p(xi)logq(xi) (6)

该式也称为YOLOV3的损失函数概率预测方程。通过YOLOV3的函数进行计算的过程中发现其目标检测的mAp的值大概在70-90之间浮动,没有一个比较准确的数值,因此需要首先对YOLOV3下的相关函数进行改进,以得到目标YOLOV3,其做法主要是使用IOU Loss替代smooth L1 Loss函数做检测框回归分析,IOU函数的损失函数公式如表1所示:

表1 IOU函数的损失函数公式

其中,在这套算法下,从两个框的4个点构成的box作为一个整体进行回归分析,先求出2个框的IoU,然后再求个-ln(IoU),在实际使用中,实际很多IoU常常被定义为IoULoss=1-IoU。其中IoU是真实框和预测框的交集和并集之比,当它们完全重合时,IoU就是1,那么对于Loss来说,Loss是越小越好,说明他们重合度高,所以IoU Loss就可以简单表示为1-IoU,以此用两个框图的方式对线性回归做了这么的一定得到调整。

因此在本实施例中,采取了IOU Loss损失函数对之前的损失函数作线性的改版,得到了目标YOLOV3算法模型,而使用的依旧是交互熵的原理,也规定了这个IOU的比例为[0,1]。这使得能够进行多尺度多个比例像的进行训练和测试,IOU同时也会随着迭代的次数增加,会有更低的loss值,预测框内的对象会更准确的分析,进而对于数据集的准确度进行相应的控制,减少损失函数的值,能够提高整体学习的效果。

S20、将所述特征数据输入至特征融合层,通过卷积和长采样进行特征融合;

在本实施例中,为了解决之前YOLO版本对小目标不敏感的问题,YOLOV3采用了3个不同尺度的特征图来进行目标检测,分别为13*13、26*26、52*52,用来检测大、中、小三种目标。特征融合层选取DarkNet产出的三种尺度特征图作为输入,借鉴了FPN(featurepyramid networks)的思想,通过一系列的卷积层和上采样对各尺度的特征图进行融合。需要说明的是,本实施例的3个不同尺度特征图,即“13*13、26*26、52*52”只是一种优选方式,在实际应用中也可以有其他适应性选择,在此不作进一步限定。

S30、通过输出层对所述特征融合后的数据进行卷积操作,并对所述人脸图像的边界框进行检测,得到人脸口罩检测结果。

在本实施例中,输出层同样使用了全卷积结构,其中最后一个卷积层的卷积核个数是255:3*(80+4+1)=255,3表示一个grid cell包含3个bounding box,4表示框的4个坐标信息,1表示Confidence Score,80表示COCO数据集中80个类别的概率。需要说明,如果换用别的数据集,80可以更改为实际类别数量。在卷积操作完成之后,对于人脸图像的边界框进行检测,将输出结果用不同颜色的检测方框输出,并标注对应类别跟对应检测结果的置信度,然后对于佩戴口罩或未佩戴口罩的结果进行图像分类操作,结束检测过程。

本发明实施例基于YOLOV3算法,结合了IOU Loss损失函数,能够在检测过程中对数据集的准确度进行相应的控制,以减少损失函数的值,最终提高整体学习的效果,进而提高检测人脸是否佩戴口罩的工作效率及检测结果的准确度。

在某一实施例中,在步骤S10之前,还包括采集人脸图像数据集,并对所述人脸图像数据集进行标注、去重、数据清洗及归一化处理,得到格式统一的人脸图像。本实施例中,主要给出了人脸口罩数据集的构建过程:

数据集图片的采集均从网络获取,分辨率为大于等于1920*1080。最后经过筛选、去重得到有效图片7949张图片,总共标注数量为16635个,其中mask标注数量为7024个,nomask标注数量为9611个。对采集的图片进行筛选,将图片分辨率低、不符合的图片进行删除处理,利用图片去重软件duplicatephotofinder对图片进行去重处理。在labelimg图片标注软件对图像进行标注,标注项分为mask和nomask,mask表示佩戴口罩的人脸,nomask表示没有佩戴口罩的人脸。

紧接着,对于标注后的数据进行数据清洗。数据清洗是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。首先进行数据去重,应用DuplicatePhotoFinder软件删除相同特征图片(特征去重);然后进行噪声数据删除,对特征去重之后的数据通过人工挑选的方式把噪声数据删除掉。

最后,进行数据归一化操作,将数据格式统一。通过这一系列的数据处理操作,就能够得到格内容较为有效的数据集,进而大大提高训练效率及效果。

在某一实施例中,归一化处理采用的方法是Z-score标准化方法,该方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:

其中,μ为所有样本数据的均值,σ为所有样本数据的标准差。使用Z-score标准化方法处理图像将图像归一化到[-1,1],不局限于[0,1],使输入结果有正有负,可以加快模型训练速度。

在某一实施例中,采集人脸图像的方式包括图像检测或活体检测,其中,图像检测是指通过网页或者本地获取一张图片,通过人脸检测算法、属性检测、特征分析,获取图像中人脸位置进行检测比对的过程。首先检测图像是否有人脸,获取人脸位置,通过属性检测出人脸是否佩戴口罩,通过相应算法输出检测结果,具体流程如图3所示。活体检测与图像检测不一样,活体检测通过设备摄像头获取实时画面,实时处理每一帧画面,检测画面中的人脸,并进行特征提取和属性检测,输出检测结果。活体检测是实时获取出现在设备能识别的范围,只要在此范围,系统会自动进行识别,反应检测结果,这个较图像检测更灵活,并且会在边界框上显示是否佩戴口罩的置信度,方便针对检测结果进行分析。

此外,在活体检测时,获取的动态画面方框定位不是很一致,需要检测者保持不动,方框才能定位准确。因此,需要对算法进行进一步优化改进。对于视频向模型持续使用ajax进行访问,每一帧即反应一次,这个长时间的持续下会导致Android的持续的异步请求会导致服务器和模型出现问题的情况,解决此次问题,我们采取的是webStock的方法,通过简单的异步通讯来实现减少ajax的频繁访问弊端,持续打开web信道通路,让信道开发访问途径。

在某一实施例中,在步骤S10之前,还包括对所述初始YOLOV3算法模型的学习率、训练迭代轮数及训练数据集样本数量进行调整,得到目标YOLOV3算法模型。

在之前的实施例中已说明通过替换损失函数来增强训练效果,在此处则是通过优化模型的参数以辅助检测。首先,对于学习率来说使用优化器,实行衰减策略,在训练过程中从小-渐渐大-固定-衰减固定值-逐步降低机器学习的学习过程,如图4所示,这样做的好处是让学习过程有个上升的趋势,防止过拟合的产生,让学习过程放缓,减少学习过程中出现的不稳定性问题,如过快学习,而导致损失函数值过大的情况减少数据训练结果出现震荡现象。

在某一实施例中,训练迭代轮数(num_epochs)优选为270。将迭代轮数定在了270次,是为了利用轮数的提升,来提高训练的效果和训练的完整性,让机器重复扫过这些数据集,提高学习的准确率。

在某一实施例中,训训练的batch大小,根据数据集的数量对训练的batch做出调整,调整至32时,训练效果能产生出一个比较好的结果和梯度适中。

在某一实施例中,采用监督学习进行训练,并针对实验结果进行对比分析以说明本发明的效果。其中,实验参数如表2所示:

表2实验参数及取值

通过该参数的设置,将YOLOV3训练下与结合IOU Loss的YOLOV3训练结果进行对比,对比结果如表3所示:

表3 YOLOV3训练与结合IOU Loss的YOLOV3训练结果

由上表可知,结合了IOU Loss的YOLOV3的mAP有明显的的提高,训练时长也有了明显缩短。此外,也通过将YOLOV3算法与其他算法作比较,结果如表4所示:

表4四种算法训练结果

由上表可知,在四种算法中,结合了IOU Loss的YOLOV3算法的精确度、训练速度、mAP效果及小物体测量精度都是最优的。

请参阅图5,在某一实施例中,提供了flutter下的服务架构图,其中可以通过使用Paddle-Lite工程结合Android平台实现实时视频监控技术,将分为由模型导出生成,到设置应用数据,再形成以Android为基础的实时视频播放对接技术,从而形成了重点在于视频与实时监控技术的一个app应用,以实现本发明提出的基于YOLOV3的人脸口罩检测方法。

请参阅图6,在某一实施例中,还提供了一种基于YOLOV3的人脸口罩检测系统,包括:

特征提取单元01,用于将待测数据输入至目标YOLOV3算法模型,通过DarkNet53特征提取网络进行特征提取,得到不同格式的特征数据;所述待测数据为格式统一的人脸图像,所述目标YOLOV3算法模型为结合IOU Loss函数的YOLOV3算法模型;

特征融合单元02,用于将所述特征数据输入至特征融合层,通过卷积和长采样进行特征融合;

检测单元03,用于通过输出层对所述特征融合后的数据进行卷积操作,并对所述人脸图像的边界框进行检测,得到人脸口罩检测结果。

在某一实施例中,还提供了一种计算机终端设备,包括:

一个或多个处理器;

存储器,与所述处理器耦接,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的基于YOLOV3的人脸口罩检测方法。

处理器用于控制该计算机终端设备的整体操作,以完成上述的基于YOLOV3的人脸口罩检测方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以包括用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

计算机终端设备可以被一个或多个应用专用集成电路(Application Specific1ntegrated Circuit,简称AS1C)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行如上述任一项实施例所述的基于YOLOV3的人脸口罩检测方法,并达到如上述方法一致的技术效果。

在某一实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现如上述任一项实施例所述的基于YOLOV3的人脸口罩检测方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由计算机终端设备的处理器执行以完成如上述任一项实施例所述的基于YOLOV3的人脸口罩检测方法,并达到如上述方法一致的技术效果。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

相关技术
  • 一种基于YOLOV3的人脸口罩检测方法、系统、设备及介质
  • 一种基于人脸及防护设备的匹配检测方法、系统、设备和介质
技术分类

06120112985354