技术领域
本发明涉及人脸检测技术领域,特别涉及一种基于Retinaface算法的人脸口罩检测系统和方法。
背景技术
传统的视频监控系统可以将现实场景采集的模拟信号转化为数字信号并存储至本地硬盘,方便后期调用或查看;也可以通过网络将视频实时传至主控机房,对现实场景进行实时监控。随着人脸识别技术的发展,人脸识别算法开始在视频监控系统广泛使用,监控系统将采集的现场视频传输至安装有人脸识别算法的主控机房,可以快速检测出现实场景中的人脸区域和数量。
目前监控系统中的人脸识别算法主要用来检测人脸并将其框出来,例如经典的Retinaface算法,但无法分辨该人脸是否戴了口罩,难以起到安全监控的作用。
Retinaface算法作为一款经典的人脸检测算法,无法判断检测出的人脸是否戴了口罩,存在以下两个缺陷:(1)目前的人脸数据集大多只针对正常情况,且基本是能露出来的人脸,有遮挡物或口罩遮挡的人脸数量较少;(2)Retinaface只能分辨出图片中的人脸和背景,是一个简单的检测模型,无法识别出众多人脸中,哪些戴了口罩,哪些没有戴口罩。
发明内容
针对现有技术中无法识别人脸口罩的问题,本发明提出一种基于Retinaface算法的人脸口罩检测系统和方法,通过在Retinaface算法模型上结合口罩检测模型,以对人脸口罩进行检测,且提高了口罩的检测速度和精度。
为了实现上述目的,本发明提供以下技术方案:
一种基于Retinaface算法的人脸口罩检测系统,包括口罩识别单元,用于对人脸图像的口罩进行识别;所述口罩识别单元采用口罩识别模型,口罩识别模型包括三个卷积层、三个池化层和两个全连接层,三个卷积层和三个池化层交替连接。
优选的,还包括监控单元、人脸识别单元、存储单元和处理器;
监控单元获取视频数据并存储在存储单元中,处理器对视频数据进行处理得到待识别图像,人脸识别单元对待识别图像中的人脸进行标注得到人脸图像,口罩识别单元对人脸图像进行检测判断是否戴有口罩。
优选的,所述人脸识别单元采用Retinaface算法模型;Retinaface算法模型中特征提取网络采用MobileNet V1(0.25)结构,特征融合层采用FPN结构。
本发明还提供一种基于Retinaface算法的人脸口罩检测方法,具体包括以下步骤:
S1:从监控系统中获取视频数据并进行处理得到待识别图像;
S2:将待识别图像输入Retinaface算法模型,以对人脸进行识别得到人脸图像;
S3:将人脸图像输入构建的口罩识别模型,输出识别口罩的概率值:
p=1/(1+e
公式(1)中,糠为口罩识别模型的输出值,p为输出的口罩概率值;若该概率值大于第一阈值,则表示该人脸戴了口罩;若小于或等于第一阈值,则表示该人脸未戴口罩。
优选的,所述S1中,根据预定的帧数间隔该视频数据划分成n张图片,得到待识别图像。
优选的,所述Retinaface算法模型的权重优化公式为:
公式(2)中,L反映模型输出与真实标签的差值,L
优选的,所述S3中,所述人脸图像的像素大小为48*48。
综上所述,由于采用了上述技术方案,与现有技术相比,本发明至少具有以下有益效果:
本发明在Retinaface算法模型上结合口罩检测模型,以对人脸口罩进行检测,并使用轻量级网络MobileNet V1(0.25)作为Retinaface算法的特征提取网络,提高口罩的检测速度和精度。
附图说明:
图1为根据本发明示例性实施例的一种基于Retinaface算法的人脸口罩检测方法示意图。
图2为根据本发明示例性实施例的口罩识别模型结构示意图。
图3为根据本发明示例性实施例的一种基于Retinaface算法的人脸口罩检测系统示意图。
具体实施方式
下面结合实施例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
如图1所示,本发明提供一种基于Retinaface算法的人脸口罩检测方法,具体包括以下步骤:
S1:从监控系统中获取视频数据并进行处理得到待识别图像。
本实施例中,部署监控系统采集现实场景内的视频数据,根据预定的间隔(例如间隔为5帧,间隔可根据现实场景内的人流密集程度调整,人流越密集,间隔越小)将该视频数据划分成n张图片。采用LabelMe标注软件标注n张图片,分别将n张图片中人脸框出来并标出人脸的5个关键点(两只眼睛,鼻子,嘴角两端),得到m个标签文件,n≥m。若人脸有遮挡,人为判断关键点的位置,在遮挡物表面进行标注。
再将n张图片和m个标签文件形成待识别图像,作为Retinaface算法模型的输入。
S2:将待识别图像输入Retinaface算法模型,以对人脸进行识别得到人脸图像。
本实施例中,Retinaface算法模型需经过训练,从网络上采集训练数据集,且将人脸中两只眼睛、鼻子和嘴巴等5个关键点的部位标示出来,在训练过程中可将人脸和背景信息区别开来。
本实施例中,Retinaface算法模型中的特征提取网络使用MobileNet V1(0.25)该网络属于轻量级网络,是MobileNet系列的第一个版本,0.25表示模型中的参数量为MobileNet V1的1/4,具有更快的速度;特征融合层使用了普通的FPN结构,可以融合低层的位置信息和高层的语义信息,增强小目标的检测效果。
因为Retinaface算法模型本身具有随机初始化的权重,将数据集输入Retinaface算法模型中,会产生和真实标签偏差较大的人脸位置和5个关键点位置的预测值。因此本发明构建函数度量预测值和真实标签的差值,并求和将其作为度量偏差的损失值,再根据该损失值更新Retinaface算法模型权重,提高模型人脸识别的精度。
公式(1)中,L反映了模型输出与真实标签的差值,L
S3:将人脸图像输入构建的口罩识别模型,输出概率值。
显而易见的,戴口罩的人脸和不戴口罩的人脸有明显的区别,戴口罩的人脸,嘴巴与鼻子部分为一样的颜色,脸的其他部位为正常的肤色,不戴口罩的人脸均为正常的肤色,因此可预先采集戴口罩的人脸图片进行标注,并输入构建的口罩识别模型进行训练。
本实施例中,将训练完成的Retinaface算法模型输出的人脸图像调整为48*48的大小,并输入构建的口罩识别模型,如图2所示,口罩识别模型包括3个卷积层,3个池化层和两个全连接层,3个卷积层和3个池化层交替连接,两个全连接层连接在最后,即第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第三池化层、第一全连接层、第二全连接层依次连接,且在第三池化层和第一全连接层之间连接有Flatten层,用于将多维数据一维化。
表1口罩识别模型
再将口罩识别模型输出的值糠输入至sigmoid函数中,从而得到带有口罩的概率值,如下式所示:
p=1/(1+e
公式(2)中,糠为口罩识别模型输出的值,p为经sigmoid函数处理后输出的口罩概率值。
若该概率值p大于第一阈值,则表示该人脸戴了口罩,用绿色表示;若该概率值p小于或等于第一阈值,则表示该人脸未戴口罩,用红色表示。
表2.口罩检测精度
如图3所示,本发明还提供一种基于Retinaface算法的人脸口罩检测系统,包括监控单元、人脸识别单元、口罩识别单元、存储单元和处理器。
监控单元获取视频数据并存储在存储单元中,处理器对视频数据进行处理得到待识别图像,人脸识别单元对待识别图像中的人脸进行标注得到人脸图像,口罩识别单元再对人脸图像进行检测判断是否戴了口罩。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
机译: DCFNN一种基于动态补偿模糊神经网络算法的人脸识别混合方法
机译: 云环境中基于最优算法的基于多算法的人脸识别系统及方法
机译: 基于径向基神经网络模式分类器和对象跟踪算法的人脸识别和人脸跟踪方法