一种人脸关键部位遮挡检测方法、装置和设备转让专利

申请号 : CN202010646569.0

文献号 : CN111797773A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马琳章烈剽柯文辉吴卫增

申请人 : 广州广电卓识智能科技有限公司广州广电运通信息科技有限公司广州广电运通金融电子股份有限公司

摘要 :

本申请公开了一种人脸关键部位遮挡检测方法、装置和设备,将获取的待检测人脸图像输入预置反卷积神经网络模型和预置人脸关键点检测模型,分别得到待检测人脸图像中每个像素点的类别概率和人脸关键点坐标;根据待检测人脸图像中每个像素点的类别概率和人脸关键点坐标确定每个像素点的类别,分别生成第一类别矩阵和第二类别矩阵,进而计算若干个关键部位的面积,得到若干个第一关键部位面积和第二关键部位面积;计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值,根据比值确定待检测人脸图像的遮挡检测结果,解决了现有的人脸遮挡方法对光照敏感,缺乏健壮性,使得实际应用中检测准确率较低的技术问题。

权利要求 :

1.一种人脸关键部位遮挡检测方法,其特征在于,包括:

获取待检测人脸图像;

将所述待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出所述待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,其中,所述预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,所述预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型;

根据所述待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据所述人脸关键点坐标确定所述待检测人脸图像中像素点的类别,生成第二类别矩阵;

基于所述第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于所述第二类别矩阵计算若干个所述关键部位的面积,得到若干个第二关键部位面积;

计算相同的所述关键部位对应的所述第一关键部位面积和所述第二关键部位面积的重合面积与非重合面积的比值;

判断所述比值是否小于预置阈值,若是,则输出所述比值对应的所述关键部位被遮挡,若否,则输出所述比值对应的所述关键部位未被遮挡。

2.根据权利要求1所述的人脸关键部位遮挡检测方法,其特征在于,所述关键部位包括眉毛、眼睛、鼻子和嘴巴。

3.根据权利要求1所述的人脸关键部位遮挡检测方法,其特征在于,所述基于所述第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于所述第二类别矩阵计算若干个所述关键部位的面积,得到若干个第二关键部位面积,包括:根据所述第一类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到若干个第一关键部位面积;

根据所述第二类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到若干个第二关键部位面积。

4.根据权利要求1所述的人脸关键部位遮挡检测方法,其特征在于,所述预置反卷积神经网络模型的配置过程包括:获取用于训练的预置反卷积神经网络、待训练人脸图像和所述待训练人脸图像中每个像素点的类别标签;

将所述待训练人脸图像和所述待训练人脸图像中每个像素点的类别标签输入至所述预置反卷积神经网络进行训练,得到所述预置反卷积神经网络模型。

5.根据权利要求4所述的人脸关键部位遮挡检测方法,其特征在于,所述预置反卷积神经网络包括:卷积层、池化层、全连接层、反卷积层和反池化层,其中,第一层和第二层为卷积层,第三层为池化层,第四层和第五层为卷积层,第六层为池化层,第七层至第九层均为卷积层,第十层为池化层,第十一层至第十三层均为卷积层,第十四层为池化层,第十五层至第十七层均为卷积层,第十八层为池化层,第十九层为全连接层,第二十层为反卷积层,第二十一层为反池化层,第二十二层至第二十四层均为反卷积层,第二十五层为反池化层,第二十六层至第二十八层均为反卷积层,第二十九层为反池化层,第三十层至第三十二层均为反卷积层,第三十三层为反池化层,第三十四层和第三十五层为反卷积层,第三十六层为反池化层,第三十七层和第三十八层为反卷积层。

6.根据权利要求1所述的人脸关键部位遮挡检测方法,其特征在于,所述根据所述人脸关键点坐标确定所述待检测人脸图像中像素点的类别,生成第二类别矩阵,包括:基于所述人脸关键点坐标,将所述待检测人脸图像中属于同一关键点类别的像素点进行连接,得到若干个关键点轮廓,所述关键点轮廓包括眼睛轮廓、眉毛轮廓、鼻子轮廓和嘴巴轮廓;

对每个所述关键点对应的所有的所述关键点轮廓进行筛选,保留面积最大的所述关键点轮廓;

将面积最大的所述关键点轮廓内的像素点的类别标记为所述关键点轮廓对应的所述关键点的类别,将所述关键点轮廓外的像素点的类别标记为非关键点类别,生成第二类别矩阵。

7.根据权利要求1所述的人脸关键部位遮挡检测方法,其特征在于,将所述待检测人脸图像输入至预置人脸关键点检测模型,输出人脸关键点坐标,包括:对所述待检测人脸图像进行人脸检测,输出人脸检测框;

基于所述人脸检测框对所述待检测人脸图像进行裁剪,得到人脸检测框图像;

将所述人脸检测框图像输入至预置人脸关键点检测模型,输出人脸关键点坐标。

8.一种人脸关键部位遮挡检测装置,其特征在于,包括:

获取单元,用于获取待检测人脸图像;

输出单元,用于将所述待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出所述待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,其中,所述预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,所述预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型;

生成单元,用于根据所述待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据所述人脸关键点坐标确定所述待检测人脸图像中像素点的类别,生成第二类别矩阵;

第一计算单元,用于基于所述第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于所述第二类别矩阵计算若干个所述关键部位的面积,得到若干个第二关键部位面积;

第二计算单元,用于计算相同的所述关键部位对应的所述第一关键部位面积和所述第二关键部位面积的重合面积与非重合面积的比值;

判断单元,用于判断所述比值是否小于预置阈值,若是,则输出所述比值对应的所述关键部位被遮挡,若否,则输出所述比值对应的所述关键部位未被遮挡。

9.根据权利要求8所述的人脸关键部位遮挡检测装置,其特征在于,所述第一计算单元具体用于:根据所述第一类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到若干个第一关键部位面积;

根据所述第二类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到第二关键部位面积。

10.一种人脸关键部位遮挡检测设备,其特征在于,所述设备包括处理器以及存储器;

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行权利要求1-7任一项所述的人脸关键部位遮挡检测方法。

说明书 :

一种人脸关键部位遮挡检测方法、装置和设备

技术领域

[0001] 本申请涉及图像处理技术领域,尤其涉及一种人脸关键部位遮挡检测方法、装置和设备。

背景技术

[0002] 人脸关键部位遮挡检测任务主要是在人脸识别过程中,检测人脸关键部位(眼睛、眉毛、嘴巴、鼻子等)是否被遮挡,现有的人脸遮挡检测方法先对获取的图像进行二值化处理,再计算处理后的人脸关键部位的平均每行白点数,通过眼睛或嘴巴被遮挡后的像素值发生改变来进行判断,该方法对光照变化比较敏感,缺乏健壮性,在实际应用中容易检测出错。

发明内容

[0003] 本申请提供了一种人脸关键部位遮挡检测方法、装置和设备,用于解决现有的人脸遮挡方法对光照敏感,缺乏健壮性,使得实际应用中检测准确率较低的技术问题。
[0004] 有鉴于此,本申请第一方面提供了一种人脸关键部位遮挡检测方法,包括:
[0005] 获取待检测人脸图像;
[0006] 将所述待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出所述待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,其中,所述预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,所述预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型;
[0007] 根据所述待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据所述人脸关键点坐标确定所述待检测人脸图像中像素点的类别,生成第二类别矩阵;
[0008] 基于所述第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于所述第二类别矩阵计算若干个所述关键部位的面积,得到若干个第二关键部位面积;
[0009] 计算相同的所述关键部位对应的所述第一关键部位面积和所述第二关键部位面积的重合面积与非重合面积的比值;
[0010] 判断所述比值是否小于预置阈值,若是,则输出所述比值对应的所述关键部位被遮挡,若否,则输出所述比值对应的所述关键部位未被遮挡。
[0011] 可选的,所述关键部位包括眉毛、眼睛、鼻子和嘴巴。
[0012] 可选的,所述基于所述第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于所述第二类别矩阵计算若干个所述关键部位的面积,得到若干个第二关键部位面积,包括:
[0013] 根据所述第一类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到若干个第一关键部位面积;
[0014] 根据所述第二类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到若干个第二关键部位面积。
[0015] 可选的,所述预置反卷积神经网络模型的配置过程包括:
[0016] 获取用于训练的预置反卷积神经网络、待训练人脸图像和所述待训练人脸图像中每个像素点的类别标签;
[0017] 将所述待训练人脸图像和所述待训练人脸图像中每个像素点的类别标签输入至所述预置反卷积神经网络进行训练,得到所述预置反卷积神经网络模型。
[0018] 可选的,所述预置反卷积神经网络包括:卷积层、池化层、全连接层、反卷积层和反池化层,其中,第一层和第二层为卷积层,第三层为池化层,第四层和第五层为卷积层,第六层为池化层,第七层至第九层均为卷积层,第十层为池化层,第十一层至第十三层均为卷积层,第十四层为池化层,第十五层至第十七层均为卷积层,第十八层为池化层,第十九层为全连接层,第二十层为反卷积层,第二十一层为反池化层,第二十二层至第二十四层均为反卷积层,第二十五层为反池化层,第二十六层至第二十八层均为反卷积层,第二十九层为反池化层,第三十层至第三十二层均为反卷积层,第三十三层为反池化层,第三十四层和第三十五层为反卷积层,第三十六层为反池化层,第三十七层和第三十八层为反卷积层。
[0019] 可选的,所述根据所述人脸关键点坐标确定所述待检测人脸图像中像素点的类别,生成第二类别矩阵,包括:
[0020] 基于所述人脸关键点坐标,将所述待检测人脸图像中属于同一关键点类别的像素点进行连接,得到若干个关键点轮廓,所述关键点轮廓包括眼睛轮廓、眉毛轮廓、鼻子轮廓和嘴巴轮廓;
[0021] 对每个所述关键点对应的所有的所述关键点轮廓进行筛选,保留面积最大的所述关键点轮廓;
[0022] 将面积最大的所述关键点轮廓内的像素点的类别标记为所述关键点轮廓对应的所述关键点的类别,将所述关键点轮廓外的像素点的类别标记为非关键点类别,生成第二类别矩阵。
[0023] 可选的,将所述待检测人脸图像输入至预置人脸关键点检测模型,输出人脸关键点坐标,包括:
[0024] 对所述待检测人脸图像进行人脸检测,输出人脸检测框;
[0025] 基于所述人脸检测框对所述待检测人脸图像进行裁剪,得到人脸检测框图像;
[0026] 将所述人脸检测框图像输入至预置人脸关键点检测模型,输出人脸关键点坐标。
[0027] 本申请第二方面提供了一种人脸关键部位遮挡检测装置,包括:
[0028] 获取单元,用于获取待检测人脸图像;
[0029] 输出单元,用于将所述待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出所述待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,其中,所述预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,所述预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型;
[0030] 生成单元,用于根据所述待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据所述人脸关键点坐标确定所述待检测人脸图像中像素点的类别,生成第二类别矩阵;
[0031] 第一计算单元,用于基于所述第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于所述第二类别矩阵计算若干个所述关键部位的面积,得到若干个第二关键部位面积;
[0032] 第二计算单元,用于计算相同的所述关键部位对应的所述第一关键部位面积和所述第二关键部位面积的重合面积与非重合面积的比值;
[0033] 判断单元,用于判断所述比值是否小于预置阈值,若是,则输出所述比值对应的所述关键部位被遮挡,若否,则输出所述比值对应的所述关键部位未被遮挡。
[0034] 可选的,所述第一计算单元具体用于:
[0035] 根据所述第一类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到若干个第一关键部位面积;
[0036] 根据所述第二类别矩阵确定属于若干个所述关键部位的像素点,计算每个所述关键部位对应的像素点的数量之和,得到第二关键部位面积。
[0037] 本申请第三方面提供了一种人脸关键部位遮挡检测设备,所述设备包括处理器以及存储器;
[0038] 所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0039] 所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的人脸关键部位遮挡检测方法。
[0040] 从以上技术方案可以看出,本申请具有以下优点:
[0041] 本申请提供了一种人脸关键部位遮挡检测方法,包括:获取待检测人脸图像;将待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,其中,预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型;根据待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据人脸关键点坐标确定待检测人脸图像中像素点的类别,生成第二类别矩阵;基于第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于第二类别矩阵计算若干个关键部位的面积,得到若干个第二关键部位面积;计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值;判断比值是否小于预置阈值,若是,则输出比值对应的关键部位被遮挡,若否,则输出比值对应的关键部位未被遮挡。
[0042] 本申请中的人脸关键部位遮挡检测方法,通过将获取的待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,得到待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,预置反卷积神经网络模型和预置人脸关键点检测模型对光照变化不敏感,健壮性较高,从而可以保证实际应用中的遮挡检测准确率;根据待检测人脸图像中每个像素点的类别概率和人脸关键点坐标确定每个像素点的类别,生成第一类别矩阵和第二类别矩阵,进而计算第一类别矩阵和第二类别矩阵对应的各个关键部位的面积,得到若干个第一关键部位面积和第二关键部位面积;计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值,根据比值确定待检测人脸图像的关键部位的遮挡检测结果,通过预置反卷积神经网络模型对待检测人脸图像进行像素级分类,得到每个像素点的类别,可以提高计算关键部位面积的准确率,通过比较基于预置反卷积神经网络计算得到的关键部位的面积和基于预置人脸关键点检测模型计算得到的关键部位的面积,进一步提高人脸关键部位遮挡检测的准确率,从而解决现有的人脸遮挡方法对光照敏感,缺乏健壮性,使得实际应用中检测准确率较低的技术问题。

附图说明

[0043] 图1为本申请实施例提供的一种人脸关键部位遮挡检测方法的一个流程示意图;
[0044] 图2为本申请实施例提供的一种人脸关键部位遮挡检测方法的另一个流程示意图;
[0045] 图3为本申请实施例提供的一种人脸关键部位遮挡检测装置的一个结构示意图;
[0046] 图4为本申请实施例提供的预置反卷积神经网络模型的结构示意图;
[0047] 图5为本申请实施例提供的人脸关键点检测示意图;
[0048] 图6为本申请实施例提供的面积融合遮挡判断的示意图一;
[0049] 图7为本申请实施例提供的面积融合遮挡判断的示意图二。

具体实施方式

[0050] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0051] 为了便于理解,请参阅图1,本申请提供的一种人脸关键部位遮挡检测方法的一个实施例,包括:
[0052] 步骤101、获取待检测人脸图像。
[0053] 可以通过摄像机实时采集图像,对采集的图像进行人脸检测,将检测到有人脸的图像作为待检测人脸图像,也可以从人脸数据库中获取待检测人脸图像。
[0054] 步骤102、将待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出待检测人脸图像中每个像素点的类别概率和人脸关键点坐标。
[0055] 预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,将待检测人脸图像输入至预置反卷积神经网络模型,预置反卷积神经网络模型对输入的待检测人脸图像进行人脸解析,其中,预置反卷积神经网络模型由卷积网络(Convolution network)和反卷积网络(Deconvolution network)两部分组成,卷积网络用于特征提取,将待检测人脸图像转化到多维特征表示,反卷积网络将卷积网络提取的特征用于人脸分割,最终输出待检测人脸图像中每个像素点的类别概率。预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型,将待检测人脸图像输入至预置人脸关键点检测模型,输出待检测人脸图像的人脸关键点坐标,该人脸关键点包括眼睛、眉毛、鼻子、嘴巴和人脸轮廓。
[0056] 步骤103、根据待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据人脸关键点坐标确定待检测人脸图像中像素点的类别,生成第二类别矩阵。
[0057] 通过预置反卷积神经网络模型得到待检测人脸图像中每个像素点的类别概率后,可以确定每个像素点的类别,进而生成第一类别矩阵,其中,第一类别矩阵的大小与输入的待检测人脸图像的大小一致,像素点的位置一致,第一类别矩阵中的每个元素为对应的像素点的类别。同理,根据人脸关键点坐标可以确定待检测人脸图像中像素点的类别,例如,根据属于鼻子的坐标可以确定鼻子的坐标点对应的像素点的类别为鼻子,进而可以生成第二类别矩阵。
[0058] 步骤104、基于第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于第二类别矩阵计算若干个关键部位的面积,得到若干个第二关键部位面积。
[0059] 得到第一类别矩阵后,通过第一类别矩阵可以确定待检测人脸图像中每个像素点的类别,进而可以确定属于关键部位的像素点,也就确定了关键部位的区域,从而可以计算得到关键部位的面积,关键部位可以根据实际情况进行设置,具体可以是眼睛、眉毛、鼻子或嘴巴等,有多少个关键部位,相应的就有多少个第一关键部位面积;同理,根据第二类别矩阵,可以确定待检测人脸图像中每个像素点的类别,进而可以确定属于关键部位的像素点,也就确定了关键部位的区域,从而可以计算得到关键部位的面积,有多少个关键部位,相应的就有多少个第二关键部位面积。
[0060] 步骤105、计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值。
[0061] 步骤106、判断比值是否小于预置阈值,若是,则输出比值对应的关键部位被遮挡,若否,则输出比值对应的关键部位未被遮挡。
[0062] 在计算得到第一关键部位面积和第二关键部位面积后,对这两者面积进行面积融合比较,具体的,为各个相同的关键部位的面积融合比较,例如,鼻子的面积与鼻子的面积进行融合比较,嘴巴的面积与嘴巴的面积进行融合比较,融合比较的过程为:
[0063] 首先,计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值,即,计算鼻子对应的第一关键部位面积与鼻子对应的第二关键部位面积的重合面积与非重合面积的比值,嘴巴对应的第一关键部位面积与嘴巴对应的第二关键部位面积的重合面积与非重合面积的比值等;关键部位n对应的重合面积为其中, 为关键部位n对应的第一关键部位面积, 为关键部位n对应的第二关键部位面积,关键部位n对应的非重合面积为 因此,关键部位n对应的
重合面积与非重合面积的比值为Sn:ΔSn,n为大于0的自然数;
[0064] 其次,判断重合面积与非重合面积的比值Sn:ΔSn是否小于预置阈值,当比值Sn:ΔSn小于预置阈值时,则输出该比值Sn:ΔSn对应的关键部位n被遮挡;当比值Sn:ΔSn大于或等于预置阈值时,则输出该比值Sn:ΔSn对应的关键部位n未被遮挡,其中,预置阈值可以根据实际情况进行设置。
[0065] 本申请实施例中的人脸关键部位遮挡检测方法,通过将获取的待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,得到待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,预置反卷积神经网络模型和预置人脸关键点检测模型对光照变化不敏感,健壮性较高,从而可以保证实际应用中的遮挡检测准确率;根据待检测人脸图像中每个像素点的类别概率和人脸关键点坐标确定每个像素点的类别,生成第一类别矩阵和第二类别矩阵,进而计算第一类别矩阵和第二类别矩阵对应的各个关键部位的面积,得到若干个第一关键部位面积和第二关键部位面积;计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值,根据比值确定待检测人脸图像的关键部位的遮挡检测结果,通过预置反卷积神经网络模型对待检测人脸图像进行像素级分类,得到每个像素点的类别,可以提高计算关键部位面积的准确率,通过比较基于预置反卷积神经网络计算得到的关键部位的面积和基于预置人脸关键点检测模型计算得到的关键部位的面积,进一步提高人脸关键部位遮挡检测的准确率,从而解决现有的人脸遮挡方法对光照敏感,缺乏健壮性,使得实际应用中检测准确率较低的技术问题。
[0066] 为了便于理解,请参考图2,本申请提供的一种人脸关键部位遮挡检测方法的另一个实施例,包括:
[0067] 步骤201、获取用于训练的预置反卷积神经网络、待训练人脸图像和待训练人脸图像中每个像素点的类别标签。
[0068] 可以通过摄像机实时采集图像,对采集的图像进行人脸检测,将检测到有人脸的图像作为待训练人脸图像,也可以从人脸数据库中获取待训练人脸图像。对获取的待训练人脸图像中的每个像素点进行类别标记,得到每个像素点的类别标签。
[0069] 本申请实施例中的预置反卷积神经网络包括卷积层、池化层、全连接层、反卷积层和反池化层,具体结构优选为:第一层和第二层为卷积层,第三层为池化层,第四层和第五层为卷积层,第六层为池化层,第七层至第九层均为卷积层,第十层为池化层,第十一层至第十三层均为卷积层,第十四层为池化层,第十五层至第十七层均为卷积层,第十八层为池化层,第十九层为全连接层,第二十层为反卷积层,第二十一层为反池化层,第二十二层至第二十四层均为反卷积层,第二十五层为反池化层,第二十六层至第二十八层均为反卷积层,第二十九层为反池化层,第三十层至第三十二层均为反卷积层,第三十三层为反池化层,第三十四层和第三十五层为反卷积层,第三十六层为反池化层,第三十七层和第三十八层为反卷积层,池化层优选采用最大池化(Max pooling)。
[0070] 步骤202、将待训练人脸图像和待训练人脸图像中每个像素点的类别标签输入至预置反卷积神经网络进行训练,得到预置反卷积神经网络模型。
[0071] 将待训练人脸图像和待训练人脸图像中每个像素点的类别标签一起输入至预置反卷积神经网络中,对反卷积神经网络进行训练,当迭代次数达到预置迭代次数或训练误差低于预置误差时,停止训练,得到预置反卷积神经网络模型。
[0072] 步骤203、获取待检测人脸图像。
[0073] 步骤203与步骤101的具体过程一致,在此不再对其进行赘述。
[0074] 步骤204、将待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出待检测人脸图像中每个像素点的类别概率和人脸关键点坐标。
[0075] 预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,将待检测人脸图像输入至预置反卷积神经网络模型,预置反卷积神经网络模型对输入的待检测人脸图像进行人脸解析,可以参考图4,预置反卷积神经网络模型对输入的待检测人脸图像进行处理的具体步骤为:
[0076] 1、对输入的待检测人脸图像进行两次卷积计算。
[0077] 2、对步骤1的卷积计算的结果,进行池化操作。
[0078] 3、对步骤2的池化操作的结果,进行两次卷积计算。
[0079] 4、对步骤3的卷积计算的结果,进行池化操作。
[0080] 5、对步骤4的池化操作的结果,进行三次卷积计算。
[0081] 6、对步骤5的卷积计算的结果,进行池化操作。
[0082] 7、对步骤6的池化操作的结果,进行三次卷积计算。
[0083] 8、对步骤7的卷积计算的结果,进行池化操作。
[0084] 9、对步骤8的池化操作的结果,进行三次卷积计算。
[0085] 10、对步骤9的卷积计算的结果,进行池化操作。
[0086] 11、对步骤10的池化操作的结果进行全连接层计算,输出特征向量。
[0087] 12、对步骤11的特征向量进行反卷积计算。
[0088] 13、对步骤12的反卷积结果,进行反池化操作。
[0089] 14、对步骤13的反池化操作结果,进行三次反卷积计算。
[0090] 15、对步骤14的反卷积计算的结果,进行反池化操作。
[0091] 16、对步骤15的反池化操作结果,进行三次反卷积计算。
[0092] 17、对步骤16的反卷积计算的结果,进行反池化操作。
[0093] 18、对步骤17的反池化操作结果,进行三次反卷积计算。
[0094] 19、对步骤18的反卷积计算的结果,进行反池化操作。
[0095] 20、对步骤19的反池化操作结果,进行两次反卷积计算。
[0096] 21、对步骤20的反卷积计算的结果,进行反池化操作。
[0097] 22、对步骤21的反池化操作结果,进行两次反卷积计算,输出待检测人脸图像的每个像素点的类别概率。
[0098] 将待检测人脸图像输入至预置人脸关键点检测模型,输出人脸关键点坐标的具体过程为:
[0099] 首先,对待检测人脸图像进行人脸检测,输出人脸检测框。
[0100] 人脸检测技术属于现有技术,在此不再对待检测人脸图像进行人脸检测,输出人脸检测框的具体过程进行赘述。
[0101] 其次,基于人脸检测框对待检测人脸图像进行裁剪,得到人脸检测框图像。
[0102] 通过基于人脸检测框对待检测人脸图像进行裁剪,得到人脸检测框对应的图像,即人脸检测框图像,可以避免背景的干扰,还可以加快检测速度。
[0103] 最后,将人脸检测框图像输入至预置人脸关键点检测模型,输出人脸关键点坐标。
[0104] 预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型,将待检测人脸图像输入至预置人脸关键点检测模型,输出待检测人脸图像的人脸关键点坐标,该人脸关键点包括眼睛、眉毛、鼻子、嘴巴和人脸轮廓。为了获取更多关键点信息,用于后续人脸的关键部位的面积计算,本申请实施例中预置人脸关键点模型为72个人脸关键点检测模型,用于检测72个人脸关键点的位置,该模型可以从公开的训练好的人脸关键点检测模型获得。
[0105] 需要指出的是,预置人脸关键点检测模型对于关键点被遮挡的人脸也可以输出遮挡的关键点的坐标。
[0106] 步骤205、根据待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据人脸关键点坐标确定待检测人脸图像中像素点的类别,生成第二类别矩阵。
[0107] 通过预置反卷积神经网络模型得到待检测人脸图像中每个像素点的类别概率后,可以生成概率矩阵,概率矩阵中的元素为和为1的概率向量,概率向量中的每个元素代表每个类别的类别概率,假设,通过预置反卷积神经网络模型得到待检测人脸图像中每个像素点的类别概率后,生成概率矩阵为 概率矩阵中某个元素(概率向量)为[0.1,0.0,0.8,0.1,0.0,0.0,0.0,0.0],假设该概率向量中的第一个元素为属于眼睛的类别概率,第二个元素为属于嘴巴的类别概率,第三个元素为属于鼻子的类别概率,第四个元素为属于眉毛的类别概率,第五个为属于脸颊的类别概率,第六个元素为属于耳朵的类别概率,第七个元素为属于头发的类别概率,第八个元素为属于背景的类别概率,
1-8依次表示为眼睛、嘴巴、鼻子、眉毛、脸颊、耳朵、头发和背景,其中,该概率向量中属于鼻子的类别概率(0.8)的概率值最大,因此,概率矩阵中的该元素的类别为鼻子,表示为3,概率矩阵中的元素可以根据该方法生成第一类别矩阵,第一类别矩阵的形式可以为 第一类别矩阵与输入的待检测人脸图像大小一致,第一类别矩阵中的每个元素为待检测人脸图像对应的像素点的类别。
[0108] 根据人脸关键点坐标确定待检测人脸图像中像素点的类别,生成第二类别矩阵,具体可以为:
[0109] 基于人脸关键点坐标,将待检测人脸图像中属于同一关键点类别的像素点进行连接,得到若干个关键点轮廓,关键点轮廓包括眼睛轮廓、眉毛轮廓、鼻子轮廓和嘴巴轮廓,具体的,人脸关键点坐标包括属于眼睛、眉毛、鼻子、嘴巴和人脸轮廓的关键点的坐标,以眼睛为例,根据属于眼睛的坐标点找到相应的像素点,将属于眼睛的像素点进行连接,得到若干个眼睛轮廓,由于对人脸进行遮挡检测过程中通常只检测眼睛、眉毛、鼻子和嘴巴,因此,本申请实施例中只获取眼睛、眉毛、鼻子和嘴巴的轮廓。
[0110] 对每个关键点对应的所有的关键点轮廓进行筛选,保留面积最大的关键点轮廓,可以参考图5,以嘴巴为例,对属于嘴巴的像素点进行连接得到了多个嘴巴轮廓,对嘴巴轮廓进行筛选保留面积最大的嘴巴轮廓,即嘴巴边缘像素点连接得到的轮廓。
[0111] 将面积最大的关键点轮廓内的像素点的类别标记为关键点轮廓对应的关键点的类别,将关键点轮廓外的像素点的类别标记为非关键点类别,生成第二类别矩阵,例如,将眼睛轮廓内的像素点标记为眼睛,具体的可以标记为1,将嘴巴轮廓内的像素点标记为眉毛,具体的可以标记为2,将非关键点(人脸轮廓、头发、耳朵、背景等)的像素点标记为非关键点,具体可以标记为0,根据该方法对人脸待检测图像中的像素点进行类别标记,生成第二类别矩阵。
[0112] 步骤206、基于第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于第二类别矩阵计算若干个关键部位的面积,得到若干个第二关键部位面积。
[0113] 根据第一类别矩阵确定属于若干个关键部位的像素点,计算每个关键部位对应的像素点的数量之和,得到若干个第一关键部位面积,本申请实施例中的关键部位优选为眉毛、眼睛、鼻子和嘴巴,眉毛和眼睛还可以细分为左眉毛、右眉毛、左眼和右眼,因此,可以根据第一类别矩阵确定分别属于眉毛、眼睛、鼻子和嘴巴的像素点,然后计算属于眉毛的像素点的数量之和,得到眉毛对应的第一关键部位面积;计算属于眼睛的像素点的数量之和,得到眼睛对应的第一关键部位面积;计算属于鼻子的像素点的数量之和,得到鼻子对应的第一关键部位面积;计算属于嘴巴的像素点的数量之和,得到嘴巴对应的第一关键部位面积。
[0114] 根据第二类别矩阵确定属于若干个关键部位的像素点,计算每个关键部位对应的像素点的数量之和,得到若干个第二关键部位面积,即可以根据第二类别矩阵确定分别属于眉毛、眼睛、鼻子和嘴巴的像素点,然后计算属于眉毛的像素点的数量之和,得到眉毛对应的第二关键部位面积;计算属于眼睛的像素点的数量之和,得到眼睛对应的第二关键部位面积;计算属于鼻子的像素点的数量之和,得到鼻子对应的第二关键部位面积;计算属于嘴巴的像素点的数量之和,得到嘴巴对应的第二关键部位面积。
[0115] 步骤207、计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值。
[0116] 步骤208、判断比值是否小于预置阈值,若是,则输出比值对应的关键部位被遮挡,若否,则输出比值对应的关键部位未被遮挡。
[0117] 在计算得到第一关键部位面积和第二关键部位面积后,对这两者面积进行面积融合比较,具体的,为各个相同的关键部位的面积融合比较,例如,鼻子的面积与鼻子的面积进行融合比较,嘴巴的面积与嘴巴的面积进行融合比较,融合比较的过程为:
[0118] 首先,计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值,即,计算鼻子对应的第一关键部位面积与鼻子对应的第二关键部位面积的重合面积与非重合面积的比值,计算眉毛对应的第一关键部位面积与眉毛对应的第二关键部位面积的重合面积与非重合面积的比值等等,关键部位n对应的重合面积为其中, 为关键部位n对应的第一关键部位面积, 为关键部位n对应的第二关键部位面积,关键部位n对应的非重合面积为 因此,关键部位n对应的
重合面积与非重合面积的比值为Sn:ΔSn,n为大于0的自然数;
[0119] 其次,判断重合面积与非重合面积的比值Sn:ΔSn是否小于预置阈值,当比值Sn:ΔSn小于预置阈值时,则输出该比值Sn:ΔSn对应的关键部位n被遮挡,可以参考图6,图6中的左图为基于人脸关键点检测模型计算的人脸关键部位的面积,右图为基于反卷积神经网络模型计算的关键部位的面积,通过面积融合比较,各关键部位的面积基本匹配,因此,判断该人脸图像中各个关键部位未被遮挡;当比值Sn:ΔSn大于或等于预置阈值时,则输出该比值Sn:ΔSn对应的关键部位n未被遮挡,可以参考图7,左图为基于人脸关键点检测模型计算的人脸关键部位的面积,右图为基于反卷积神经网络模型计算的关键部位的面积,通过面积融合比较,发现左眼与左眉毛等关键部位的面积不匹配,因此判断左眼和左眉毛关键部位被遮挡。
[0120] 为了便于理解,请参考图3,本申请提供一种人脸关键部位遮挡检测装置,包括:
[0121] 获取单元301,用于获取待检测人脸图像。
[0122] 输出单元302,用于将待检测人脸图像分别输入至预置反卷积神经网络模型和预置人脸关键点检测模型,输出待检测人脸图像中每个像素点的类别概率和人脸关键点坐标,其中,预置卷积神经网络模型为人脸图像和像素点的类别概率的映射模型,预置人脸关键点检测模型为人脸图像和关键点坐标的映射模型。
[0123] 生成单元303,用于根据待检测人脸图像中像素点的类别概率确定像素点的类别,生成第一类别矩阵,根据人脸关键点坐标确定待检测人脸图像中像素点的类别,生成第二类别矩阵。
[0124] 第一计算单元304,用于基于第一类别矩阵计算若干个关键部位的面积,得到若干个第一关键部位面积,基于第二类别矩阵计算若干个关键部位的面积,得到若干个第二关键部位面积。
[0125] 第二计算单元305,用于计算相同的关键部位对应的第一关键部位面积和第二关键部位面积的重合面积与非重合面积的比值。
[0126] 判断单元306,用于判断比值是否小于预置阈值,若是,则输出比值对应的关键部位被遮挡,若否,则输出比值对应的关键部位未被遮挡。
[0127] 作为进一步地改进,第一计算单元304具体用于:
[0128] 根据第一类别矩阵确定属于若干个关键部位的像素点,计算每个关键部位对应的像素点的数量之和,得到若干个第一关键部位面积;
[0129] 根据第二类别矩阵确定属于若干个关键部位的像素点,计算每个关键部位对应的像素点的数量之和,得到第二关键部位面积。
[0130] 本申请还提供了一种人脸关键部位遮挡检测设备,设备包括处理器以及存储器;
[0131] 存储器用于存储程序代码,并将程序代码传输给处理器;
[0132] 处理器用于根据程序代码中的指令执行前述人脸关键部位遮挡检测方法实施例中的人脸关键部位遮挡检测方法。
[0133] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0134] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0135] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0136] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0137] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。