首页> 中国专利> 脸颊遮挡检测方法、装置及电子设备

脸颊遮挡检测方法、装置及电子设备

摘要

本发明实施例公开了一种脸颊遮挡检测方法、装置及电子设备,属于图像处理技术领域,所述脸颊遮挡检测方法包括:获取归一化后的人脸图像及其坎尼边缘图像;判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,若是,则认为存在脸颊遮挡,其中所述脸颊遮挡第一判定模型用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段。本发明实施例通过在坎尼边缘图像中判断是否存在长直线段的方式,能够快速准确的判断出是否存在脸颊遮挡。

著录项

  • 公开/公告号CN112651322A

    专利类型发明专利

  • 公开/公告日2021-04-13

    原文格式PDF

  • 申请/专利号CN202011525360.5

  • 发明设计人 孔勇;周军;

    申请日2020-12-22

  • 分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构

  • 代理人

  • 地址 100085 北京市海淀区上地十街1号院1号楼8层802

  • 入库时间 2023-06-19 10:35:20

说明书

技术领域

本发明涉及图像处理技术领域,特别是指一种脸颊遮挡检测方法、装置及电子设备。

背景技术

目前,人脸识别技术已经在各行业中得到了广泛应用,但如果人脸图像存在遮挡,则可能会导致人脸识别不能通过,遮挡通常是手、口罩、围巾、墨镜等遮住眼睛、嘴巴等人脸区域。

由于遮挡类型多样、位置随机、大小不确定,没有合适的方法对遮挡进行建模,导致遮挡问题处理起来非常困难。如何有效检测和去除遮挡物的影响,成为了人脸检测与识别技术中亟待解决的关键问题。

脸颊遮挡是人脸遮挡的一种,是较为典型的一种情况,其通常是用手或纸等遮挡脸颊区域。现有技术虽然已经陆续有人提出了针对人脸遮挡的检测方法,但未见有针对脸颊遮挡的检测方法。

发明内容

本发明实施例要解决的技术问题是提供一种脸颊遮挡检测方法、装置及电子设备,以准确判断出脸颊遮挡。

为解决上述技术问题,本发明实施例提供技术方案如下:

一方面,提供一种脸颊遮挡检测方法,包括:

获取归一化后的人脸图像及其坎尼边缘图像;

判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,若是,则认为存在脸颊遮挡,其中所述脸颊遮挡第一判定模型用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段。

在本发明一些实施例中,所述获取归一化后的人脸图像,包括:

获取初始人脸图像,并从中获取面部特征点的坐标;

根据面部特征点的坐标,确定出人脸的裁剪区域;

对所述裁剪区域做双线性插值变换,得到所述归一化后的人脸图像。

在本发明一些实施例中,所述判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,包括:

判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,若是,则认为存在脸颊遮挡;

其中,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,包括:

对所述坎尼边缘图像进行扩展处理得到新坎尼边缘图像,所述扩展处理是指:对所述坎尼边缘图像中的任一边界点,将其左右相邻的像素点也提取为边界点,从而形成所述新坎尼边缘图像;

在所述新坎尼边缘图像中利用霍夫变换函数查找角度位于-30度~30度的竖直线。

在本发明一些实施例中,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,之前包括:

计算所述坎尼边缘图像的底部区域内边界点个数;

若所述底部区域内边界点个数小于预设阈值,则认为不存在超过预设长度阈值的直线段。

在本发明一些实施例中,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,之后包括:

根据单侧脸颊边缘区域的特征,判定是否存在遮挡;

其中,所述根据单侧脸颊边缘区域的特征,判定是否存在遮挡,包括:

计算单侧脸颊边缘区域内边界点个数;

若所述单侧脸颊边缘区域内边界点个数小于预设阈值,则认为存在脸颊遮挡;

和/或,所述根据单侧脸颊边缘区域的特征,判定是否存在遮挡,包括:

计算单侧脸颊边缘区域内像素的灰度均值和方差;

若所述单侧脸颊边缘区域内像素的灰度均值和方差均小于预设阈值,则认为存在脸颊遮挡。

在本发明一些实施例中,所述判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,之后包括:

获取归一化后的左侧脸颊图像并作水平翻转,输入到训练好的基于深度学习的脸颊遮挡第二判定模型中,根据得到的置信度结果来判断是否存在脸颊遮挡;

获取归一化后的右侧脸颊图像,输入到训练好的基于深度学习的脸颊遮挡第二判定模型中,根据得到的置信度结果来判断是否存在脸颊遮挡。

在本发明一些实施例中,所述获取归一化后的左侧脸颊图像,包括:

对于左侧脸颊边缘处的面部特征点,依次连接相邻的两个特征点,形成若干条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素、这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成左脸颊区域的一行像素;遍历完成后组合各行像素,并做双线性插值变换到预设尺寸,即得所述归一化后的左侧脸颊图像;

所述获取归一化后的右侧脸颊图像,包括:

对于右侧脸颊边缘处的面部特征点,依次连接相邻的两个特征点,形成若干条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素、这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成右脸颊区域的一行像素;遍历完成后组合各行像素,并做双线性插值变换到预设尺寸,即得所述归一化后的右侧脸颊图像。

在本发明一些实施例中,所述基于深度学习的脸颊遮挡第二判定模型为卷积网络,包含:6个卷积层,3个max池化层,一个分组卷积层,一个1x1的卷积层,1个全局平均池化层,1个全卷积层,一个sigmoid层;

使用的损失函数是binary log loss,即L(x,c)=-log(c(x-0.5)+0.5),其中x的取值范围是[0,1],c的取值是+1或-1。

另一方面,提供一种脸颊遮挡检测装置,包括:

第一获取模块,用于获取归一化后的人脸图像及其坎尼边缘图像;

第一判断模块,用于判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,若是,则认为存在脸颊遮挡,其中所述脸颊遮挡第一判定模型用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段。

再一方面,提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任一所述的方法。

又一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一所述的方法。

本发明实施例具有以下有益效果:

本发明实施例提供的脸颊遮挡检测方法、装置及电子设备,首先获取归一化后的人脸图像及其坎尼边缘图像,然后判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,若是,则认为存在脸颊遮挡,其中所述脸颊遮挡第一判定模型用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段。这样通过在坎尼边缘图像中判断是否存在长直线段的方式,能够快速准确的判断出是否存在脸颊遮挡。

附图说明

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

图1为本发明的脸颊遮挡检测方法一个实施例的流程示意图;

图2为图1所示方法实施例中采用的81个面部特征点的分布示意图;

图3为图1中步骤101对图像处理的一个示例图,其中(a)为初始人脸图像(有纸遮挡脸颊),(b)为归一化后的人脸图像,(c)为(b)对应的坎尼边缘图像;

图4为图1中步骤101对图像处理的另一示例图,其中(a)为初始人脸图像(有纸遮挡脸颊),(b)为归一化后的人脸图像,(c)为(b)对应的坎尼边缘图像;

图5为图1中步骤103对图像处理的一个示例图,其中(a)为初始人脸图像(有纸遮挡脸颊),(b)为归一化后的左侧脸颊图像,(c)为(b)的水平翻转图像;

图6为图5中获取归一化后的左侧脸颊图像的中间过程效果示意图;

图7为图1中步骤103和104对图像处理的另一示例图,其中(a)为初始人脸图像(有手遮挡脸颊),(b)为归一化后的左侧脸颊的水平翻转图像,(c)为归一化后的右侧脸颊图像;

图8为本发明的脸颊遮挡检测方法另一实施例的流程示意图;

图9为图8所示方法实施例中利用脸颊遮挡第一判定模型进行的判断步骤的流程示意图;

图10为本发明的脸颊遮挡检测装置一个实施例的结构示意图;

图11为本发明的电子设备一个实施例的结构示意图。

具体实施方式

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

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后......)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

一方面,本发明实施例提供一种脸颊遮挡检测方法,如图1所示,本实施例的方法包括:

步骤101:获取归一化后的人脸图像及其坎尼边缘图像;

考虑到近红外图像受自然光照的影响较小,成像稳定,所以使用近红外图像做人脸遮挡检测是一个较好的选择。本发明后续实施例均以近红外图像为例进行说明,然而可以理解的是,可见光图像同样适用于本发明的技术方案。

作为一种可选的实施例,本步骤中,所述获取归一化后的人脸图像,可以包括:

步骤1011:获取初始人脸图像,并从中获取面部特征点的坐标;

目前人脸检测和特征点定位有较多的算法实现(比如利用Haar特征的AdaBoost人脸检测算法,利用Sift特征的SDM面部关键特征点定位算法),而且也有几个很好的开源算法库,比如Dlib库、SeetaFace库等。

对于面部特征点提取,目前较多采用的是基于Dlib的68个面部特征点检测方法,然而最近出现了精确度更高的81个面部特征点检测方法,具体技术参考链接:https://www.sohu.com/a/302016496_100024677(超越Dlib!81个特征点覆盖全脸,面部特征点检测更精准),这81个面部特征点的分布如图2所示,本发明后续实施例即以81个面部特征点来描述本发明实施例的具体实现过程。

步骤1012:根据面部特征点的坐标,确定出人脸的裁剪区域;

对于给定的一张图像,我们用(x

本步骤用于确定出人脸的裁剪区域ROI,以用于从原始人脸图像中剪裁得到归一化后的人脸图像。下面结合81个面部特征点对本步骤进行举例说明:

设两眼的距离即第1个特征点和第10个特征点的距离是d;

设cheek_L_x是左脸颊处第61、63、66、67个特征点坐标x分量的平均值即cheek_L_x=(x

又cheek_R_x是右脸颊处第62、64、74、75个特征点坐标x分量的平均值;

又eyeborw_y是左右眉毛处第19、20、21、22、23、24、25、26、27、28、29、30、31、32、33、34个特征点坐y分量的平均值;

nose_y是鼻尖即第35个特征点坐标的y分量;

chin_y是下巴处即第73、65、81个特征点坐标的y分量的平均值;

mouth_y是嘴唇处即第50、53、54、55、57、58个特征点坐标的y分量的平均值;

则裁剪区域可以是个由起始点(cheek_L_x-d*0.3,eyeborw_y*2-nose_y)和终止点(cheek_R_x+d*0.3,chin_y+(chin_y-mouth_y)*0.5)形成的矩形区域。可以想到的是,裁剪区域的选取还可以采用本领域其他常规算法得到,裁剪区域的大小可根据需要灵活设定。

步骤1013:对所述裁剪区域做双线性插值变换,得到所述归一化后的人脸图像。

本步骤中,变换后的人脸图像的高度可以统一为144,宽度可以做等比例的变换,于是得到归一化后的人脸图像img01。

至于坎尼边缘图像img02,则可以使用如下Matlab函数得到:

img02=edge(img01,'canny')。

坎尼边缘检测算法(Canny Edge Detection Algorithm)为本领域公知常识,此处不再赘述。

图3和图4给出了上述步骤101对图像处理效果的两组示例,其中从左到右依次是一张有纸遮挡脸颊的输入图像、归一化后的人脸图像及其坎尼边缘图像。

步骤102:判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,若是,则认为存在脸颊遮挡,其中所述脸颊遮挡第一判定模型用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段。

从图3和图4可以观察到纸遮挡脸颊的这类图像存在一些特点,比如可能存在一条比较长的直线段,或者在脸颊的某个区域内没有边界点、且这个区域的灰度均值比较高等。因此,可以给出一些判别规则,形成脸颊遮挡第一判定模型(即脸颊遮挡判定模型1),用来排除一些纸遮挡脸颊的情形。

故,作为一种可选的实施例,本步骤中,所述判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,可以包括:

步骤1021:判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,若是,则认为存在脸颊遮挡;

其中,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段(步骤1021),可以包括:

步骤10211:对所述坎尼边缘图像进行扩展处理得到新坎尼边缘图像,所述扩展处理是指:对所述坎尼边缘图像中的任一边界点,将其左右相邻的像素点也提取为边界点,从而形成所述新坎尼边缘图像;

考虑到坎尼边缘图像类似于单像素边界点构成的图像,物体的倾斜的直线边缘可能会被打断,为获得更好的识别效果,本步骤中对坎尼边缘图像img02进行了扩展处理得到坎尼边缘图像img03,即如果坎尼边缘图像img02的某个像素(x,y)是一个边界点,则将其邻域即(x-1,y)、(x,y)、(x+1,y)也都提取为坎尼边缘图像img03的边界点,这样的效果就使得线条横向变粗,更加利于后续的直线段识别。或者,将其领域即(x-2,y),(x-1,y),(x,y),(x+1,y),(x+2,y)也都提取为坎尼边缘图像img03的边界点,本发明对某个像素邻域点的选择不做限定。

步骤10212:在所述新坎尼边缘图像中利用霍夫变换(Hough Transform)函数查找角度位于-30度~30度的竖直线。

本步骤中,具体的,可以使用Matlab的hough()、houghpeak()、houghlines()三个函数来查找角度位于-30度~30度的竖直线,其中houghpeak()的参数'threshold'可以设置为150,houghlines()的参数'FillGap'可以设置为5,参数'MinLength'可以设置为40。

本实施例中,由于归一化后的人脸图像的高度为144,故前述步骤1021中的预设长度阈值可以设为130,即,如果存在一条长度>130的直线,则可以认为存在纸遮挡脸颊的情形。

作为另一种可选的实施例,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段(步骤1021),之前可以包括:

步骤10201:计算所述坎尼边缘图像的底部区域内边界点个数;

本步骤中,具体的,可以将坎尼边缘图像img02的高位于120和144(坐标原点位于图像的左上角)之间的那个区域作为底部区域,该底部区域是下颌所在的区域。

步骤10202:若所述底部区域内边界点个数小于预设阈值,则认为不存在超过预设长度阈值的直线段。

本步骤中,具体的,预设阈值可以为10,即假设底部区域内边界点个数为N1,如果N1<10,则可以认为不存在一条足够长的直线段。

考虑到实际人脸图像对应的坎尼边缘图像中,下颌所在的底部区域相对比较干净(即杂乱线条/边界线较少),故当存在贯穿此区域的直线段时,该区域内边界点个数N1就会远大于10,故通过上述步骤10201-10202可以快速的排除掉一部分明显不存在足够长直线段的情形,提高算法效率。

作为再一种可选的实施例,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段(步骤1021),之后可以包括:

步骤1022:根据单侧脸颊边缘区域的特征,判定是否存在遮挡;

其中,所述根据单侧脸颊边缘区域的特征,判定是否存在遮挡(步骤1022),可以包括:

步骤10221:计算单侧脸颊边缘区域内边界点个数;

步骤10222:若所述单侧脸颊边缘区域内边界点个数小于预设阈值,则认为存在脸颊遮挡;

对于上述步骤10221-10222:

单侧脸颊边缘区域可以为图像中脸颊边缘所在的局部小区域,例如:

以左侧脸颊为例,可以计算左脸颊处的第67个特征点的邻域内的边界点个数N67,第68个特征点的邻域内的边界点个数N68,第69个特征点的邻域内的边界点个数N69,这里的邻域的大小可以都是宽3、高5的矩形框,将N67、N68、N69这三个数字加和即得左侧脸颊边缘区域内边界点个数NLeft01;

以右侧脸颊为例,可以计算右脸颊处的第75个特征点的邻域内的边界点个数N75,第76个特征点的邻域内的边界点个数N76,第77个特征点的邻域内的边界点个数N77,这里的邻域的大小可以都是宽3、高5的矩形框,将N75、N76、N77这三个数字加和即得右侧脸颊边缘区域内边界点个数NRight01;

此时,预设阈值可以为5,如果有NLeft01<5或NRight01<5,则可以认为存在纸遮挡脸颊的情形;

需要说明的是,单侧脸颊边缘区域还可以为图像中脸颊边缘所在的整个左下角或右下角区域,具体如下:

以左侧脸颊为例,可以计算由第67、68、69个特征点决定的一个左下角区域内的边界点个数。设xE等于第67、68、69个特征点在归一化后的人脸图像img01中对应坐标的x分量的最小值+3,yS等于第67个特征点在归一化后的人脸图像img01中对应坐标的y分量-5,则这个左下角区域即是起始点(0,yS)和终止点(xE,144)决定的矩形区域,计算坎尼边缘图像img02中这个区域内的像素的边界点个数NLeft02;

以右侧脸颊为例,可以计算由第75、76、77个特征点决定的一个右下角区域内的边界点个数。设xE等于第75、76、77个特征点在归一化后的人脸图像img01中对应坐标的x分量的最小值+3,yS等于第75个特征点在归一化后的人脸图像img01中对应坐标的y分量-5,则这个左下角区域即是起始点(xS,yS)和图像img01的最右下方的那个点坐标所决定的矩形区域,计算坎尼边缘图像img02中这个区域内的像素的边界点个数NRight02;

此时,预设阈值可以为40,如果有NLeft02<=40或NRight02<=40,则可以认为存在纸遮挡脸颊的情形。

和/或,所述根据单侧脸颊边缘区域的特征,判定是否存在遮挡(步骤1022),还可以包括:

步骤10221’:计算单侧脸颊边缘区域内像素的灰度均值和方差;

步骤10222’:若所述单侧脸颊边缘区域内像素的灰度均值和方差均小于预设阈值,则认为存在脸颊遮挡。

对于上述步骤10221’-10222’:

以左侧脸颊为例,可以计算由第67、68、69个特征点决定的一个左下角区域的灰度均值和方差。该左下角区域可以同样是前述由起始点(0,yS)和终止点(xE,144)决定的矩形区域,计算归一化后的人脸图像img01中这个区域内的像素的灰度均值uLeft和方差varLeft;

以右侧脸颊为例,可以计算由第75、76、77个特征点决定的一个左下角区域的灰度均值和方差。该右下角区域可以同样是前述由起始点(xS,yS)和图像img01的最右下方的那个点坐标所决定的矩形区域,计算归一化后的人脸图像img01中这个区域内的像素的灰度均值uRight和方差varRight;

灰度预设阈值可以为150,方差预设阈值可以为800,如果有uLeft>=150并且varLeft<=800,则可以认为存在纸遮挡左侧脸颊的情形;如果有uRight>=150并且varRight<=800,则可以认为存在纸遮挡右侧脸颊的情形。

综上,本发明实施例提供的脸颊遮挡检测方法,首先获取归一化后的人脸图像及其坎尼边缘图像,然后判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,若是,则认为存在脸颊遮挡,其中所述脸颊遮挡第一判定模型用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段。这样通过在坎尼边缘图像中判断是否存在长直线段的方式,能够快速准确的判断出是否存在脸颊遮挡。

继续如图1所示,作为一种优选的实施例,为进一步提高识别准确率,所述判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型(步骤102),之后可以包括:

步骤103:获取归一化后的左侧脸颊图像并作水平翻转,输入到训练好的基于深度学习的脸颊遮挡第二判定模型(即脸颊遮挡判定模型2)中,根据得到的置信度结果来判断是否存在脸颊遮挡;

本步骤中,优选的,所述获取归一化后的左侧脸颊图像,包括:

对于左侧脸颊边缘处的面部特征点,依次连接相邻的两个特征点,形成若干条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素、这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成左脸颊区域的一行像素;遍历完成后组合各行像素,并做双线性插值变换到预设尺寸,即得所述归一化后的左侧脸颊图像;其中,r为整数,取值范围例如为8-18。

下面对该步骤进行举例说明:

根据左侧脸颊处的第61、63、66、67、68、69、70、71、72个特征点即共9个点,依次连接相邻的两个特征点,一共形成8条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素和这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成左脸颊区域的一行像素(可参考图6,即沿着左侧脸颊边缘进行了左右横向扩展)。这样,最终左脸颊区域的宽是2*r+1、高是(第72个特征点坐标y分量-第61个特征点坐标y分量+1);

之后,左脸颊区域做双线性插值到固定大小(例如宽32*高120),得到归一化后的左侧脸颊图像。

左侧脸颊图像的最终效果可参考图5和图7,这样相对于直接通过矩形框选择左侧脸颊区域,能够极大减少无效区域的存在(因为对遮挡判断有帮助的区域主要集中在脸颊边缘),提高后续卷积网络识别的准确率。

考虑到左右脸颊对称,故左右侧脸颊图像可共用一个脸颊遮挡判定模型,故本步骤103中需要对图像作水平翻转处理,以适应模型的需要。

步骤104:获取归一化后的右侧脸颊图像,输入到训练好的基于深度学习的脸颊遮挡第二判定模型(即脸颊遮挡判定模型2)中,根据得到的置信度结果来判断是否存在脸颊遮挡。

本步骤中,优选的,所述获取归一化后的右侧脸颊图像,包括:

对于右侧脸颊边缘处的面部特征点,依次连接相邻的两个特征点,形成若干条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素、这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成右脸颊区域的一行像素;遍历完成后组合各行像素,并做双线性插值变换到预设尺寸,即得所述归一化后的右侧脸颊图像;其中,r为整数,取值范围例如为8-18。

下面对该步骤进行举例说明(与前面类似):

根据右侧脸颊处的第62、64、74、75、76、77、78、79、80个特征点即共9个点,依次连接相邻的两个特征点,一共形成8条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素和这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成右脸颊区域的一行像素。这样最终右脸颊区域的宽是2*r+1、高是(第80个特征点坐标y分量-第62个特征点坐标y分量+1);

之后,右脸颊区域做双线性插值到固定大小(例如宽32*高120),得到归一化后的右侧脸颊图像。

上述步骤103-104中,置信度阈值可以为0.5,如果得到的置信度<阈值0.5,则可以认为存在脸颊遮挡。

优选的,上述步骤103-104中的基于深度学习的脸颊遮挡第二判定模型为卷积网络,包含:6个卷积层(每个卷积层后面依次是BN层和relu层),3个max池化层,一个分组卷积层(其后面是BN层和relu层),一个1x1的卷积层(其后面是BN层和relu层),1个全局平均池化层,1个全卷积层,一个sigmoid层;

使用的损失函数是binary log loss,即L(x,c)=-log(c(x-0.5)+0.5),其中x的取值范围是[0,1],c的取值是+1或-1。

该卷积网络的架构相对简单,运行速度快,效率高。

我们将sigmoid层输出的数值作为遮挡是否存在的置信度,取值范围是0~1,此数值越靠近1,越说明不存在遮挡,此数值越靠近0,越说明可能存在遮挡,通常取阈值等于0.5。

具体的网络结构可以如下:

表1.脸颊遮挡判定模型2的深度卷积神经网络结构

关于深度卷积网络的训练:

1、样本数量上,我们建立了一个600多万张右脸颊的数据库(包含了左脸颊水平翻转后的图像),其中没有遮挡的图像约300万(在训练时标记为+1),200万张手遮挡的图像以及100多万张纸遮挡(在训练时标记为-1);

2、我们用深度学习框架MatConvNet进行训练,训练了10个回合,学习率从1e-03降至1e-06,每批次100个样本。

图8-9为本发明的脸颊遮挡检测方法一个具体例子的流程示意图,其中相关步骤前面基本都已描述,故此处不再赘述。

经测验,本发明图8-9所示实施例在构造的测试集上的准确率是99.8%;而如果只是采用矩形框选择出脸颊区域,并直接输入至训练好的卷积网络进行识别的话,识别准确率只能达到89%左右,由此可知,本发明实施例的方法能够大大提高识别准确率。

另一方面,本发明实施例提供一种脸颊遮挡检测装置,如图10所示,包括:

第一获取模块11,用于获取归一化后的人脸图像及其坎尼边缘图像;

第一判断模块12,用于判断所述坎尼边缘图像是否满足脸颊遮挡第一判定模型,若是,则认为存在脸颊遮挡,其中所述脸颊遮挡第一判定模型用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段。

本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

优选的,所述第一获取模块11,包括:

获取子模块,用于获取初始人脸图像,并从中获取面部特征点的坐标;

确定子模块,用于根据面部特征点的坐标,确定出人脸的裁剪区域;

变换子模块,用于对所述裁剪区域做双线性插值变换,得到所述归一化后的人脸图像。

优选的,所述第一判断模块12,包括:

判断子模块,用于判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,若是,则认为存在脸颊遮挡;

其中,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,包括:

对所述坎尼边缘图像进行扩展处理得到新坎尼边缘图像,所述扩展处理是指:对所述坎尼边缘图像中的任一边界点,将其左右相邻的像素点也提取为边界点,从而形成所述新坎尼边缘图像;

在所述新坎尼边缘图像中利用霍夫变换函数查找角度位于-30度~30度的竖直线。

优选的,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,之前包括:

计算所述坎尼边缘图像的底部区域内边界点个数;

若所述底部区域内边界点个数小于预设阈值,则认为不存在超过预设长度阈值的直线段。

优选的,所述判断所述坎尼边缘图像是否存在超过预设长度阈值的直线段,之后包括:

根据单侧脸颊边缘区域的特征,判定是否存在遮挡;

其中,所述根据单侧脸颊边缘区域的特征,判定是否存在遮挡,包括:

计算单侧脸颊边缘区域内边界点个数;

若所述单侧脸颊边缘区域内边界点个数小于预设阈值,则认为存在脸颊遮挡;

和/或,所述根据单侧脸颊边缘区域的特征,判定是否存在遮挡,包括:

计算单侧脸颊边缘区域内像素的灰度均值和方差;

若所述单侧脸颊边缘区域内像素的灰度均值和方差均小于预设阈值,则认为存在脸颊遮挡。

优选的,所述装置还包括:

第二获取及判断模块13,用于获取归一化后的左侧脸颊图像并作水平翻转,输入到训练好的基于深度学习的脸颊遮挡第二判定模型中,根据得到的置信度结果来判断是否存在脸颊遮挡;

第三获取及判断模块14,用于获取归一化后的右侧脸颊图像,输入到训练好的基于深度学习的脸颊遮挡第二判定模型中,根据得到的置信度结果来判断是否存在脸颊遮挡。

优选的,所述获取归一化后的左侧脸颊图像,包括:

对于左侧脸颊边缘处的面部特征点,依次连接相邻的两个特征点,形成若干条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素、这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成左脸颊区域的一行像素;遍历完成后组合各行像素,并做双线性插值变换到预设尺寸,即得所述归一化后的左侧脸颊图像;

所述获取归一化后的右侧脸颊图像,包括:

对于右侧脸颊边缘处的面部特征点,依次连接相邻的两个特征点,形成若干条直线段,之后遍历每条直线段上的每一个像素,并选取这个像素的水平左邻域的r个像素、这个像素本身和这个像素的水平右邻域的r个像素共2*r+1个像素,构成右脸颊区域的一行像素;遍历完成后组合各行像素,并做双线性插值变换到预设尺寸,即得所述归一化后的右侧脸颊图像。

优选的,所述基于深度学习的脸颊遮挡第二判定模型为卷积网络,包含:6个卷积层,3个max池化层,一个分组卷积层,一个1x1的卷积层,1个全局平均池化层,1个全卷积层,一个sigmoid层;

使用的损失函数是binary log loss,即L(x,c)=-log(c(x-0.5)+0.5),其中x的取值范围是[0,1],c的取值是+1或-1。

本发明实施例还提供一种电子设备,图11为本发明的电子设备一个实施例的结构示意图,可以实现本发明图1所示实施例的流程,如图11所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一方法实施例所述的方法。

处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1所示实施例的描述,在此不再赘述。

该电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例所述的方法步骤。

本发明实施例还提供一种应用程序,所述应用程序被执行以实现本发明任一方法实施例提供的方法。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号