基于MTCNN的口罩佩戴识别方法

文档序号:26231612发布日期:2021-08-10 16:32阅读:511来源:国知局
基于MTCNN的口罩佩戴识别方法

本发明涉及一种基于mtcnn的口罩佩戴识别方法,属于目标检测领域。



背景技术:

传染病是一种可通过飞沫传播、血液传播等途径,在人与人、动物与动物、人与动物之间相互传播并广泛流行的疾病。在传染病流行期间,为了尽可能阻断传染病传播途径,一般要求公众佩戴口罩并对口罩佩戴情况进行检测。

目前,基于深度学习的目标检测算法对是否口罩佩戴检测是现有技术的一种。其原理是:在待测图像上判断是否存在检测目标,根据目标检测器获取所有潜在目标位置,对所有潜在目标分类,获取并标记正确的目标。

但是,由于该方法的神经网络模型参数较多且复杂,并且需要非极大值抑制等处理,使该方法的目标检测实时性较低,识别效率较低。



技术实现要素:

本发明的目的是提供一种口罩佩戴识别方法,用于解决现有的神经网络网络模型的目标检测实时性较低、识别效率较低的问题。

一种基于mtcnn的口罩佩戴识别方法,该方法包括以下步骤:

s1、人脸检测,包括如下步骤:

s11、打开摄像头,实时获取待测图像;

s12、将待测图像输入到多任务卷积神经网络mtcnn的人脸检测模型中,用于获取图像中人脸及面部的双眼瞳孔、鼻尖和左右嘴角的横纵坐标;

s2、获取口鼻区域图像,包括如下步骤:

s21、根据人脸的双眼瞳孔坐标进行人脸矫正;

s22、根据人脸的鼻尖坐标、左右嘴角坐标获取口鼻区域图像;

s221、计算通过鼻尖的直线l1:

(1)

(2)

(3)

其中,鼻尖坐标p1(p1x,p1y),左嘴角坐标p2(p2x,p2y),右嘴角坐标p3(p3x,p3y),l1为通过左右嘴角坐标的直线,a1为直线l1的斜率,b1为直线l1的截距

s222、根据嘴角左右坐标,计算得到直线l2及两点之间的距离d:

(4)

(5)

(6)

(7)

其中,左嘴角坐标p1(p1x,p1y),右嘴角坐标p2(p2x,p2y),为通过左右嘴角坐标的直线,为直线的斜率,为直线的截距,d为左右嘴角坐标点的距离;

s223、口鼻区域左侧直线l3:

(8)

(9)

(10)

其中,a3为直线l3的斜率,为直线l3的截距

s224、口鼻区域左侧直线l4:

(11)

(12)

(13)

其中,为直线的斜率,为直线的截距

s225、通过左右嘴角距离,按一定的比例调整,分别用矩形框标记出人脸左右眼的roi,其计算公式如下:

k1坐标为(14)

k2坐标为(15)

k3坐标为(16)

k4坐标为(17)

其中,k1为矩形框左上角坐标,k2为矩形框右上角坐标,k3矩形框左下角坐标,k4为矩形框右下角坐标

s3、口罩佩戴识别,包括如下步骤:

s31、将口鼻区域图像传入口罩佩戴识别网络mwr-net,判断是否佩戴口罩;

s32、将识别结果在输入图像中显示;

优选的,所述s21中,根据人脸的双眼瞳孔坐标进行人脸矫正的步骤是:

s211、根据人脸的左右双眼瞳孔坐标,计算并得到通过双眼瞳孔的一条直线;

s212、计算通过双眼瞳孔的直线与原点的夹角,围绕图像中心点旋转相应夹角度数。

优选的,所述s31中,口罩佩戴识别网络模型的建立步骤如下:

s311、训练集、验证集的构建:使用已有数据库筛选出佩戴口罩与未佩戴口罩清晰人脸图像各1000张,采集并扩充至各5000张,根据上述基于mtcnn的截取口鼻区域的程序,获取佩戴口罩和未佩戴口罩的口鼻区域图像各5000张,构建训练集和测试集;

s312、搭建基于卷积神经网络的口罩佩戴识别模型msr-net,基于通道卷积提取待测图像的图像特征,包括:通过口罩佩戴识别模型msr-net的若干卷积层,对所述待测图像进行卷积,得到输出特征;根据预设的若干卷积核,在通道方向上对所述输出特征进行卷积,得到所述口罩区域图像对应的结果特征。

s313、通过口罩佩戴识别模型msr-net实现口罩佩戴识别:通过训练好的卷积神经网络分类器对待分类图像进行分类时先将单个口罩区域的图像拉伸为一个列向量,将预测图像转化为2维矩阵进行预测,再将得到的预测结果对应到相应位置,进行可视化显示。

s314、口罩佩戴识别网络模型的损失函数如下:

(18)

其中,表示真实样本的标签0或1,表示训练样本预测为正或负的概率。

优选地,所述s311中,数据扩充方式包括:对图像进行一定角度旋转、对图像进行翻转处理、对图像进行随机缩放处理、对图像进行亮度、对比度、色度和饱和度调整、对图像随机加入噪声。

优选地,所述s311中,将所有图片分放至不同文件夹,标签为0和1,将图像信息与标签信息输出为pickle文件,其中训练集、验证集的比例为8:2。

优选地,所述s312中,自建的口罩佩戴识别模型msr-net,基于通道卷积提取待测图像的图像特征,包括:(1)若干卷积层:对于具有3个通道的所述待测图像,根据预设的m个k*k的卷积核,在通道方向上对所述输出特征进行卷积,得到t个所述待测图像对应的结果特征;(2)全连接层:将卷积层得到的多通道向量转变为单通道n维特征向量;(3)输出层:本质仍为全连接层,对于该二分类问题,其神经元个数为1个,输出为单通道1维向量,即标签0或1;其中,n、k、m为预设参数,t根据n、m确定。

与现有技术相比,本发明具有以下有益效果:

(1)人脸定位速度快,能在定位人脸的同时进行面部关键点的定位;

(2)通过基于卷积神经网络的分类技术实现口罩佩戴的识别,能够准确辨别是否佩戴口罩;

(3)能够实现自动无接触口罩佩戴检测,检测速度快,准确率高。

附图说明

图1是本发明的口罩佩戴识别整体流程图;

图2是口罩佩戴识别模型训练过程的流程图;

图3是口罩识别网络的卷积原理示意图;

图4是口罩佩戴识别结果的示意图。

具体实施方式

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

需要注意的为,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

下面结合附图与具体实施方式对本发明提出的口罩佩戴识别方法及检测装置作进一步详细说明。

图1为本发明口罩佩戴识别整体流程,主要包括人脸区域检测、口鼻区域图像获取和口罩佩戴识别三部分。人脸检测基于多任务卷积神经网络mtcnn对采集的视频图像进行人脸及面部关键点的检测,得到人脸区域图像;口罩区域图像获取基于面部关键点进行标记并截取口罩区域图像;口罩佩戴识别基于训练好的口罩佩戴识别模型msr-net模型对人脸区域图像进行分类,根据口鼻处的分类结果实现口罩佩戴的识别,减少面部遮挡情况下的误检误判。

一种口罩佩戴识别方法,其基于多任务卷积神经网络mtcnn的人脸检测模型,主要包括如下步骤:

(1)首先将图像进行不同尺度的变换,构建图像金字塔,以适应不同大小人脸的检测(2)使用建议网络p-net网络对图像金字塔进行特征提取和边框标定,使用较浅层简单的cnn快速生成人脸候选窗口,供精修网络r-net进一步处理;(3)精修网络r-net对生成的候选框进行细化选择,过滤掉大部分错误输入并再次进行边界框回归和关键点定位,进一步优化过滤候选区域;(4)最后输出网络o-net通过较精修网络r-net多出的一层卷积结构识别面部区域并回归面部的5个特征点。

通过mtcnn网络输出网络模型,预测图像中是否存在人脸以及人脸、关键点的坐标位置。

口鼻区域图像获取,包括如下步骤:

第一步人脸矫正:根据人脸的双眼瞳孔坐标进行人脸矫正;

第二步截取口鼻区域图像:根据人脸的鼻尖坐标、左右嘴角坐标获取口鼻区域图像,步骤如下:

(1)、计算通过鼻尖的直线

(1)

(2)

(3)

其中,鼻尖坐标p1(p1x,p1y),左嘴角坐标p2(p2x,p2y),右嘴角坐标p3(p3x,p3y),l1为通过左右嘴角坐标的直线,a1为直线l1的斜率,b1为直线l1的截距

(2)、根据嘴角左右坐标,计算得到直线l2及两点之间的距离d:

(4)

(5)

(6)

(7)

其中,左嘴角坐标p1(p1x,p1y),右嘴角坐标p2(p2x,p2y),为通过左右嘴角坐标的直线,为直线的斜率,为直线的截距,d为左右嘴角坐标点的距离;

(3)、口鼻区域左侧直线l3:

(8)

(9)

(10)

其中,a3为直线l3的斜率,为直线l3的截距

(4)、口鼻区域左侧直线l4:

(11)

(12)

(13)

其中,为直线的斜率,为直线的截距

(5)、通过左右嘴角距离,按一定的比例调整,分别用矩形框标记出人脸左右眼的roi,其计算公式如下:

k1坐标为(14)

k2坐标为(15)

k3坐标为(16)

k4坐标为(17)

其中,k1为矩形框左上角坐标,k2为矩形框右上角坐标,k3矩形框左下角坐标,k4为矩形框右下角坐标

一种口罩佩戴识别方法,其基于卷积神经网络的口罩佩戴识别模型msr-net训练过程如图2所示,主要包括如下步骤:

针对口罩佩戴识别问题,训练口罩佩戴识别模型mwr-net分类器,用以对脸部口罩区域图像进行分类,达到口罩识别的目的。

第一步样本数据的采集和扩充:使用已有人脸数据集筛选佩戴口罩与未佩戴口罩清晰人脸图像各1000张。之后对数据进行扩充,增加输入图像的可变性,使训练出的人脸检测模型具有更高的鲁棒性。一方面调整图像的亮度、对比度、色度、饱和度,并随机加入噪声,另一方面对采集的图像进行随机缩放、裁剪和旋转。最终得到佩戴口罩与未佩戴口罩各5000张样本图片。

第二步训练集、测试集的构建:将佩戴口罩与未佩戴口罩图像分别放置到不同的文件夹内,标签设置为0和1,将图像信息与标签信息输出为pickle文件,其中训练集、验证集的比例为8:2。

第三步通过口罩佩戴识别模型msr-net分类器实现口罩佩戴识别:通过训练好的卷积神经网络分类器对待分类图像进行分类时先将单个口罩区域的图像拉伸为一个列向量,将预测图像转化为2维矩阵进行预测,再将得到的预测结果对应到相应位置,进行可视化显示。

第四步计算口罩佩戴识别网络模型的损失函数如下:

(18)

其中,表示真实样本的标签0或1,表示训练样本预测为正或负的概率。

口罩佩戴识别模型msr-net是基于卷积神经网络建立的,其原理示意图如图3所示,具体包含内容如下:

(1)若干卷积层:待测图像具有3个通道,根据预设的m个k*k的卷积核,在通道方向上对所述输出特征进行卷积,得到t个所述待测图像对应的结果特征;(2)全连接层:将卷积层得到的多通道向量转变为单通道n维特征向量;(3)输出层:本质仍为全连接层,对于该二分类问题,其神经元个数为1个,输出为单通道1维向量,即标签0或1;其中,n、k、m为预设参数,t根据n、m确定。

例如,输入为3通道图像,通过模型若干卷积层得到的特征图为6*6,通道数为128,模型预设的分类类别为2类。

在口罩佩戴识别模型msr-net模型中,根据32个3*3的卷积核对输入特征进行通道逐步卷积,其需要计算的总参数量为32*(3*3*3+1)=896个。

在口罩佩戴识别模型msr-net模型中,首先需要通过全局平均池化层,对输入特征图进行降维,得到128*1*1的输出特征,再根据预设的分类类别,经过全连接层进行分类,其需要计算的总参数量为(128+1)*2=257个。

最后根据人脸关键点的预测结果判断人员的口罩佩戴情况,如果口鼻区域图像的分类结果为口罩,则正确佩戴口罩,显示结果为绿色框且右上角显示wearmask;如果口鼻区域图像分类结果不是口罩,则未佩戴口罩,显示结果为红色框且右上角显示nowearmask。图4为实验中的某次识别结果,佩戴口罩则显示框为绿色且右上角显示wearmask。

本发明的实例在intelcorei7-5500u,nvidiageforce840m显卡、8.0g内存、64位windows操作系统的计算机上进行仿真实验。实验所用摄像头的通道数为3个,像素空间分辨率为640×480。

以上所述各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应该理解:其依然能对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1