公开/公告号CN116543435A
专利类型发明专利
公开/公告日2023-08-04
原文格式PDF
申请/专利权人 浙江工业大学;
申请/专利号CN202310459355.6
申请日2023-04-24
分类号G06V40/16(2022.01);G06V10/25(2022.01);G06V10/26(2022.01);G06V10/28(2022.01);G06V10/74(2022.01);G06V10/764(2022.01);G06V10/82(2022.01);G06N3/045(2023.01);G06N3/0464(2023.01);G06N3/048(2023.01);G06N3/084(2023.01);G06N3/0985(2023.01);
代理机构杭州天正专利事务所有限公司 33201;
代理人舒良
地址 310014 浙江省杭州市拱墅区潮王路18号浙江工业大学
入库时间 2024-01-17 01:23:17
法律状态公告日
法律状态信息
法律状态
2023-08-22
实质审查的生效 IPC(主分类):G06V40/16 专利申请号:2023104593556 申请日:20230424
实质审查的生效
技术领域
本发明涉及计算机视觉技术领域,具体是一种基于皮肤区域的戴口罩的人脸识别方法和系统。
背景技术
随着计算机技术的的迅速发展,给人们的生活带来了极大的便利,作为计算机视觉中相当成熟的人脸识别技术的发展也相当迅速,人脸识别技术已经广泛的运用到安防,金融,交通,教育等各个领域中,并且识别的准确率也十分的高。人脸识别技术一般包括人脸检测,人脸预处理,人脸特征提取,人脸比对四大部分。人脸识别的原理也是十分的简单:向人脸识别系统中输入一张人脸图,用已经训练好的主干网络提取其特征值,再将其放到已经建立好的人脸信息库进行相似度计算,输出得分最高的人脸的信息。然而在大面积的遮挡下,当前的人脸识别技术已经不能满足。
现阶段实现的戴口罩的人脸识别技术方案主要分为两大类,一种是基于图像修复的戴口罩的人脸识别,一种是基于消除遮挡的戴口罩的人脸识别。基于图像重建的戴口罩的人脸识别方法是利用未被遮挡的人脸信息预测遮挡部分的人脸信息,重组构建完整人脸信息,最后进行人脸识别。这种方法没有办法重组人脸关键信息,遇到大面积的遮挡物的时候重构效果不佳,识别准确率不大。基于消除遮挡的戴口罩的人脸识别大部分都是在卷积过程中加入注意力机制,效果不明显。总之,目前的戴口罩的人脸识别的技术方案还存在以下一些缺点:
1,戴口罩的人脸的真实数据集不够。
2,只是在网络中添加注意力机制,效果不够明显。
3,目前现有的戴口罩的人脸识别的准确率不是很高。
发明内容
本发明要克服现有技术的上述问题,提出一种基于皮肤区域的戴口罩的人脸识别方法和系统。
本发明利用基于高斯肤色模型的人脸肤色检测算法提取肤色区域,消除口罩和背景区域对识别结果的干扰。提出了一种改进的Resnet网络模型,使其更加的适合戴口罩的人脸识别,提高戴口罩的人脸识别的准确率和速度,解决了上述的问题。
本发明解决其技术问题所采用的技术方案是:
一种基于皮肤区域的戴口罩的人脸识别方法,包括以下步骤:
S1,用摄像头获取待测人脸图片,用paddleHub技术进行人脸检测,再将其剪裁到112*112大小;
S2,运用基于高斯肤色模型的人脸肤色区域检测算法,提取人脸肤色区域;
S3,搭建改进的Resnet网络并训练,然后用训练好的改进的Resnet网络提取人脸特征;
S4,计算待测人脸的特征值和人脸数据库中的人脸特征值的相似度;
S5,设置特定的阈值,将阈值和相似度进行比较,并且输出对应的结果。
进一步,所述步骤S2中,运用基于高斯肤色模型的人脸肤色区域检测算法,提取人脸肤色区域,包括:
构建高斯肤色模型,根据肤色在CrCb通道上符合的二维高斯分布的规律,统计人脸的数据图像建立高斯肤色模型;将待测人脸图片由颜色空间转换到YCrCb空间,输入高斯肤色模型,计算肤色概率,得到肤色概率图;设置自动调节的阈值,对肤色概率图进行分割,获取肤色区域,再进行孔洞填充滤除眼睛和眉毛部分的影响;计算原始特征图和孔洞填充后的肤色区域图的Hadamard乘积,通过融合两者的结果提取人脸区域,消除背景区域和口罩区域对戴口罩的人脸识别的干扰。
进一步,所述步骤S3中,搭建改进的Resnet网络并训练,然后用训练好的改进的Resnet网络提取人脸特征;搭建改进的Resnet网络:在原来的Resnet网络的基础上,将原本的残差块进行分组,分别输入到卷积核大小为3*3,5*5和7*7的三个通道中,融合不同尺度的特征,获得更多的信息量;将网络的第一层的7*7的卷积核改成3个3*3的卷积核,在不改变感受野的大小的情况下降低网络的计算量,加快网络的速度;在第一层的conv后面增加注意力机制CMAM,分别在通道上和空间上增加了注意力机制,使网络在训练的过程中更加关注重要区域,增加网络分类的准确率;将网络中的激活函数由Relu改成PRelu,降低神经元失去活性的概率,在不增加计算量的同时保持网络更加的稳定。
训练网络:利用paddlehub中的64点人脸关键点给公开人脸数据集CASIA带上口罩,然后将数据集送入网络中获取人脸特征值,然后根据arcface损失函数计算损失值,再将损失值反馈到网络中,更新网络的学习率和权重参数,以此获得最优的分类器。
将最优分类器中的学习率和权重参数加载到测试网络中提取待测人脸的特征值。
进一步,所述步骤S4中,计算待测人脸的特征值和人脸数据库中的人脸特征值的相似度包括:
构建人脸数据库,人脸数据库的构建是先将一组照片送到高斯肤色模型中滤除非人脸区域照片,然后输入到训练好的网络进行特征值提取。将提取的特征值保存,建立为人脸数据库。
计算待测图片和人脸数据库中的人脸的相似度,相似度计算方式是计算两者的余弦距离,余弦距离小的相似度就大,余弦距离大的对应的相似度就小。
进一步,所述步骤S5中,输出识别结果。设置合适的阈值,当两者的相似度大于当前阈值,则判定为同一张人脸,输出人脸数据库中的人脸对应的id为待测图片的id;当两者的相似度小于当前阈值时,判定为不同人脸,继续寻找相似度小于阈值的人脸,当遍历了人脸数据库都没有找到符合条件的人脸,则判定则判定为未知人脸。
为了解决问题一,本发明使用公开数据集CASIS,根据paddleHub上面的64关键点坐标,给人脸数据集戴口罩,创建戴口罩的人脸人脸数据集,然后将数据集进行清洗。
为了解决问题二:在训练网络之前运用高斯肤色模型对数据集提取人脸区域,使其更加关注人脸区域的特征信息。
为了解决问题三:本发明对网络进行更改,修改网络结构和增加注意力机制,使识别的准确率和速度达到最优的情况。
本发明还包括一种基于皮肤区域的戴口罩的人脸识别系统,包括:
获取待测人脸图片获取模块,用摄像头获取待测人脸图片,用paddleHub技术进行人脸检测,再将其按照设定的大小进行剪裁;
人脸肤色区域提取模块,运用基于高斯肤色模型的人脸肤色区域检测算法,提取人脸肤色区域;
人脸特征提取模块,用训练得到的改进的Resnet网络提取人脸特征;
人脸特征匹配模块,用于计算待测人脸的特征值和人脸数据库中的人脸特征值的相似度;
识别结果输出模块,用于设置特定的阈值,将阈值和相似度进行比较,并且输出对应的结果。
本发明还包括一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种基于皮肤区域的戴口罩的人脸识别方法。
本发明还包括一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本发明的一种基于皮肤区域的戴口罩的人脸识别方法。
本发明优点主要表现在:本发明采用深度学习技术,提出了一种基于皮肤区域的戴口罩的人脸识别方法,运用基于高斯肤色模型的人脸肤色区域检测算法提取肤色区域,消除非人脸区域对人脸识别的干扰;对经典Resnet网络进行改进,将原残差块进行分组,分别输入到三个卷积核大小不同的通道中,融合不同尺度的特征值;在网络中加入CBMA注意力机制,提高网络模型对戴口罩的人脸识别的准确率;将Resnet网络中的激活函数由Relu改成PRelu,降低神经元失去活性的概率,在不增加计算量的前提下提高了网络的稳定性。
附图说明
图1是本发明方法的总体流程图;
图2是本发明方法的网络训练流程图;
图3(a)-图3(e)是本发明方法的数据集变化示意图,图3(a)-图3(e)按照变化的先后顺序排列;
图4是本发明方法的改进的残差网络结构;
图5是本发明方法的CBMA注意力机制图。
图6是本发明方法的通道注意力机制图。
图7是本发明方法的空间注意力机制图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1
参见图1-7,一种基于皮肤区域的戴口罩的人脸识别方法,用于识别戴口罩的人脸。本申请实施的一种基于皮肤区域的戴口罩的人脸识别方法,主要是指利用基于高斯肤色模型的人脸肤色区域检测算法和改进的Resnet网络。
本申请实施例所述的一种基于皮肤区域的戴口罩的人脸识别方法的网络整体结构图如图1所示。首先利用摄像头捕获人脸信息,利用paddleHub技术检测人脸区域,再将待测人脸进行剪裁成112*112的尺寸。利用基于高斯肤色模型的皮肤区域检测算法,提取人脸区域,消除口罩和背景区域的干扰,然后将新生成的特征图送入到改进的resnet网络提取特征值;接着将该特征值和人脸数据库进行比对,最后输出结果。
本申请的一种基于皮肤区域的戴口罩的人脸识别方法主要包括以下步骤:
S1,用摄像头获取待测人脸图片,用paddleHub技术进行人脸检测,再将其剪裁到112*112大小;
S2,运用基于高斯肤色模型的人脸肤色区域检测算法,提取人脸肤色区域;
S3,搭建改进的Resnet网络并训练,然后用训练好的改进的Resnet网络提取人脸特征;
S4,计算待测人脸的特征值和人脸数据库中的人脸特征值的相似度;
S5,设置特定的阈值,将阈值和相似度进行比较,并且输出对应的结果。
本申请的实施例中,获取待检测的人脸图片。是指用摄像头采集信息,然后利用paddleHub技术对人脸进行检测,并且剪裁到112*112大小的图片。
本申请的运用基于高斯肤色模型的人脸肤色区域检测算法,提取人脸肤色区域,包括:将数据集送入高斯肤色模型,获得肤色概率图。
本设计建立的高斯肤色模型的建立公式如式(1)所示:
P(Cb,Cr)=exp(-0.5(x-m)
其中x=(Cb,Cr)
根据实验统计,在CrCb通道上肤色像素符合高斯模型,实验结果得出:
m=(156.5597,117.4366)
再将获得的高斯概率图分别进行二值化,孔洞填充。
本申请提出的二值化是图像分割的常用手段,利用肤色区域和背景区域的差异,将其看成两个不同的灰度颜色的区域组合,然后设置合适的阈值就能够背景区域和人脸区域,生成二值图。
本申请的高斯肤色模型的阈值的设置并不是一个固定的值,是根据每个图片设置的不同的阈值,设置阈值初始值为0.5,每次循环减小0.05,直到减小到0.05为止,每次循环记录肤色数量,选择肤色数量变换做小的阈值当做最佳阈值。
本申请所述的孔洞填充的原理是:找到一个连通的点,然后根据连通性膨胀,遇到闭合区域就不会膨胀,最后取反,特征图就能被填充好。
最后将新产生的肤色概率图和其未送入高斯肤色模型的数据集相互融合,滤除该数据集的背景部分和口罩部分。
本申请的融合是计算两者的Hadamard乘积,所谓的Hadamard乘积表示对应元素矩阵相乘。所以首先对上述二值化后的矩阵进行升维,变成和原来的图形一样的三维矩阵,然后求两者的Hadamard乘积。
本申请的实施例中,搭建改进的Resnet网络并训练,然后用训练好的改进的Resnet网络提取人脸特征包括:
构建戴口罩的人脸数据集。在CASIA开源人脸数据集上,用paddleHub的人脸64点关键点的检测技术,对人脸进行戴口罩,构建戴口罩的人脸数据集,然后进行人脸的剪裁,去重和去模糊操作,得到273852张112*112分辨率的戴口罩的人脸信息,该数据库一共有10569个身份信息。
搭建基于高斯肤色模型的肤色区域检测模型,提取人脸区域。
搭建改进的Resnet网络。改进的Resnet网络结构如表1所示,网络结构总体由一层conv,四个大Block和全连接层组合,每个大Block又是由一些基础的残差块堆叠而成。为了使整个网络适用于口罩人脸识别这个任务,将原本的基础残差块改进为如图4所示。新增两条之路,一条经过7*7的卷积核,一天经过5*5的卷积核,还有一条原本的3*3的卷积核,然后将三者的特征值与原来的特征值相互融合。形成新的网络结构,将不同尺度的信息相互融合,在扩大感受野的同时减少信息的丢失,使网络能够提取更多的信息。同时在第一层conv1后面添加注意力机制CBAM,使网络更加关注人脸部分。
本设计所述的注意力机制CBMA包括通道注意力机制(channel)和空间注意力机制(spatial)。空间注意力机制使训练的时候网络更加的关注分类中重要的区域,而忽视不是那么重要的区域,通道注意力机制是用于处理通道的分配的。CBMA是对两个维度上面都增加了注意力机制,对戴口罩的人俩识别系统有所提高。
首先从第一个conv出来的特征图分别进入Maxpool和Avgpool池化层,产生两个对应的权重向量,接着将这两个对应的权重向量分别送入一个MLP网络,映射出通道的权重,然后将每个通道的权重相加,送入激活函数中,最后将得到的权重和原来的特征图相乘。空间注意力机制则是将特征图分别经过Maxpool和Avgpool池化层后将其堆叠,形成一个二维的特征空间权重,之后再将其送入卷积层,得出的结果就是空间注意力机制,数值越大表示越重要。将这个空间注意力机制和原来的特征图相乘,则表示给每个特征附上了空间注意力机制。
为了获得更加稳定的网络结构,本设计将激活函数ReLu改成Prelu,降低神经元失去活性的概率,能够在不增加计算量的同时保持网络更加的稳定;在全连接层和Block3之间添加一个Dropout层,增加模型的泛化能力,防止模型过拟合。
表1是本发明一种基于皮肤区域的戴口罩的人脸识别方法的主网络的网络结构。
表1改进的resnet网络结构图
将数据集送入改进的网络Resnet之后,用arcface loss损失函数计算主网络改进Resnet网络所提取的特征值的损失函数。
所述的arcface loss损失函数的计算公式如式(2)所示:
计算损失值的过程是:
首先对主网络输出的特征值进行归一化,初始化和归一化对应权重;将归一化的权重和特征值输入全连接函数,然后计算预测标签的向量和真实标签的向量之间的夹角,将当前夹角加上角度裕度m惩罚两者之间的角度,将所得的结果乘以固定值s,最后通过计算交叉熵损失得到各个类别之间的概率。
本发明使用Adam优化函数来更新参数。
训练时候的网络参数更新计算公式如公式(3)-公式(7)所示:
t=t+1 ⑶
mom_1_out=β
mom_2_out=β
其中Ir表示学习率,t表示当前轮次,mom_1_out和mom_2_out分别表示平均梯度和平方梯度的移动的平均值,β
利用np.argmax()函数获取最大概率对应的类别值,和真实的标签进行对比,计算出当前轮次的准确率和损失函数。
然后将损失值和准确率反馈到网络中,更新网络的学习率和权重参数,以此获得最优的分类器。
本实施例中,计算待测人脸的特征值和人脸数据库中的人脸特征值的相似度。是指计算它和人脸数据库中的特征值的余弦距离。余弦距离也叫做余弦相似度,在数学上是用来表示两个向量之间的夹角。本实例中用余弦距离来表示两个样本之间的相似度。余弦计算公式如公式(8)所示:
本实例中,设置特定的阈值,将阈值和相似度进行比较,并且输出对应的结果。是指比较计算后的相似度和阈值,判定相似度小于阈值的两组照片为同一张人脸,输出当前人脸对应的id;判定相似度大于阈值的两组照片为不同的人脸,继续寻找相似度低于阈值的照片,当遍历完了人脸数据库信息,还没有找到相似图片,则判定为未知人脸。
特定的阈值的计算方式是:设置一组相似度样本,放入试验中循环试验,从0增加,每次增加0.01.直到4为止。计算测试集的准确率,选择准确率最大的值作为最佳阈值。
实施例2
本发明还包括一种基于皮肤区域的戴口罩的人脸识别系统,以实现实施例1所述的方法,包括:
获取待测人脸图片获取模块,用摄像头获取待测人脸图片,用paddleHub技术进行人脸检测,再将其按照设定的大小进行剪裁;
人脸肤色区域提取模块,运用基于高斯肤色模型的人脸肤色区域检测算法,提取人脸肤色区域;
人脸特征提取模块,用训练得到的改进的Resnet网络提取人脸特征;
人脸特征匹配模块,用于计算待测人脸的特征值和人脸数据库中的人脸特征值的相似度;
识别结果输出模块,用于设置特定的阈值,将阈值和相似度进行比较,并且输出对应的结果。
实施例3
本发明还包括一种计算机可读存储介质,以实现实施例1所述的方法,其上存储有程序,该程序被处理器执行时,实现本发明的一种基于皮肤区域的戴口罩的人脸识别方法。
实施例4
本发明还包括一种计算设备,以实现实施例1所述的方法,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本发明的一种基于皮肤区域的戴口罩的人脸识别方法。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;对本领域的普通技术人员来说,可以根据上述说明加以改进,或者对其中部分或者全部技术特征进行等同变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
机译: 一种用于发送基于面积的360度视频的方法,一种用于接收基于面积的360度视频的方法,一种用于发送基于区域的360度视频的设备,一种用于基于区域接收360度视频的设备
机译: 用于获得患者体内内部组织表面或区域的一种或多种生物学特性的可询问外部传感器系统,用于获得患者内部内部组织表面或区域的一种或多种生物学特性的方法,用于获得患者体内一种或多种生物学特性的透皮传感器系统患者的内部组织区域,用于获得患者的内部组织区域的一个或多个生物学特征的方法以及用于获取患者的内部组织区域的一个或多个生物学特征的可询问传感器系统
机译: 基于关键点描述匹配和多数投票法的人脸识别系统及人脸识别方法