人脸图像中自动去除眼镜的方法与流程

文档序号:12675214阅读:2606来源:国知局
人脸图像中自动去除眼镜的方法与流程

本发明涉及人脸图像的处理方法,具体地说是一种人脸图像中自动去除眼镜的方法。



背景技术:

人脸识别技术由于其主动、直接、简单、友好等特点,市场前景十分广阔。近些年,虽然人脸识别技术取得了很大的进展,但是仍然受到面部表情、姿态、位置、头部尺寸的变化和遮挡物等因素的限制。作为最常见的遮挡物,眼镜通常会给人脸的后续处理和识别过程带来很大的影响。

至今,针对人脸图像眼镜去除方面的研究并不多。有研究人员建立了戴眼镜的人脸图像和它对应的不戴眼镜的人脸图像的联合概率分布模型,并通过这个模型来合成不戴眼镜的人脸图像,但是对于那些无框的眼镜,精确定位所需要的15个特征点是非常难的。有研究人员将PCA技术用于人脸图像的眼镜摘除,虽然利用PCA重建的人脸图像是无眼镜的,但实际上眼镜所带来的重建误差被分散到整幅人脸图像,不利于识别。有研究人员用PCA迭代误差补偿算法重建眼镜遮挡区域的图像,但PCA提取的特征只呈现出人脸形状而对人脸细节表现不够。有研究人员提出PCA-ICA-W方法,该方法虽然可以取得较好的结果,但事先也需要对大量人脸样本进行训练重建才能得到无眼镜人脸图像,计算量大,效率不高。

眼镜去除过程中使用训练集时,训练集中的人脸图像要经过人脸对齐等预处理。实时情况下很难有合适的不戴眼镜的人脸图像作为训练集;即便有合适的训练集,但事先需要对大量人脸样本进行训练重建。眼镜去除过程中使用补偿集时,补偿集是亮度、纹理相近的其他人脸图像。实时情况下很难找到这样的人脸图像作为补偿集;即便存在补偿集,用作补偿集的人脸图像与待去除眼镜的人脸图像不是同一个人,两幅图像的光照条件或皮肤纹理都存在一定的差异。



技术实现要素:

本发明提供了一种人脸图像中自动去除眼镜的方法,在不需要训练集也不需要补偿集的情况下,适时、快速自动生成失真度低的去除眼镜人脸图像。

本发明是这样实现的:

人脸图像中自动去除眼镜的方法,包括如下步骤:

s1、进行基于半阈值和最小方差滤波的阈值分割,判断是否有眼镜并获得眼镜的遮挡区域;

s2、由眼镜遮挡区域得到初始补偿域,对初始补偿域进行调整,根据最小距离原理得到最佳匹配补偿域;

s3、用扇形线性插值的方法对眼镜遮挡区域进行补偿,得到不戴眼镜的人脸图像。

所述的人脸图像中自动去除眼镜的方法,s1步包括以下步骤:

s1a.根据人脸的先验知识建立人眼的椭圆模型,用该模型代替人眼区域;

s1b.采用半阈值分割得到包含眼镜在内的显著区域;

s1c.使用最小方差滤波的图像分割及连通域去除技术获得显著区域边界即准确的眼镜遮挡区域边界并以周长面积比作为眼镜有无的判断标准;

所述的人脸图像中自动去除眼镜的方法,s2步包括以下步骤:

s2a.按照获得的眼镜遮挡区域边界轮廓,依次确定初始补偿域;

s2b.依据最小距离原理确定最佳匹配补偿域;

所述的人脸图像中自动去除眼镜的方法,s3步包括以下步骤:

s3a.根据最佳匹配补偿域对眼镜遮挡区域内的像素点进行线性插值补偿;

s3b.利用扇形线性插补偿法对眼镜遮挡区域进行补偿,最终得到不戴眼镜的人脸图像。

所述的人脸图像中自动去除眼镜的方法,步骤s3a为:

线性插值补偿方法如式(1)、(2)、(3)、(4):

y=round((1-ak)×ybk+ak×y′tk)k=1,2......n (2)

其中,(xbk,ybk)为补偿域上第k个补偿点的位置,(x′tk,y′tk)也记为(xtk′,ytk′)为补偿域上与(xbk,ybk)距离最小的补偿点,为把眼镜遮挡区域标记为白色后的人脸图像。x取x′tk和xbk之间的整数,round(*)表示四舍五入取整,图像的大小为m×n;

若在此过程中出现x′tk=xbk的情况,直接按式(3)、(4)进行补偿,y取y′tk和ybk之间的整数。若此过程中出现y′tk=ybk的情况,直接根据式(5)、(6)进行补偿,x取x′tk和xbk之间的整数;

所述的人脸图像中自动去除眼镜的方法,步骤s3b为:

在最小距离两侧的扇形区域进行线性插值补偿:即除了在最小距离T(xbk,ybk)和T0(xtk′,ytk′)之间进行线性插值外,再确定补偿域中在TT0补偿路径两侧距离T0最近的4个补偿点(xt(k′+1),yt(k′+1))记为T1、(xt(k′-1),yt(k′-1))记为T2、(xt(k′+2),yt(k′+2))记为T3、(xt(k′-2),yt(k′-2))记为T4,在T和T0之间进行优先补偿,在T和T1、T和T2之间进行次优先补偿,在T和T3、T和T4之间进行后补偿,使得在TT1、TT2、TT3、TT4之间的线性插值补偿与TT0之间的补偿共同构成扇形补偿区域。

本发明根据人脸的先验知识建立人眼的椭圆模型,用该模型代替人眼区域,由此可以减少和眼镜的距离比较近的人眼对眼镜遮挡区域检测造成影响。采用半阈值分割得到包含眼镜在内的显著区域,方便进行后续的眼镜遮挡区域检测。使用最小方差滤波的图像分割及连通域去除技术去除噪声,从而获得显著区域边界。最后,以周长面积比作为眼镜有无的判断标准。本发明按照获得的眼镜遮挡区域边界轮廓,依次确定初始补偿域。由于眼镜轮廓的不规则性和眼镜遮挡区域的边界周围像素的复杂情况,需要对初始补偿域进行调整。又由于距离较近的皮肤区域的差异较小,补偿域之间的距离越小补偿效果越好。因此,依据最小距离原则寻找最佳匹配补偿域,从而为线性插值补偿做准备。

本发明中,针对眼镜轮廓的不规则性,考虑在直接进行线性插值补偿后存在较多的遗漏点,因此,除了在最小距离之间进行线性插值外,在最小距离两侧的扇形区域也进行了线性插值补偿。本发明使用和两个方向的扇形线性插值的方法对眼镜遮挡区域内的像素点进行补偿,达到去除补偿遗漏点的效果。

附图说明

图1是本发明的方法流程示意图。

图2是本发明的眼镜遮挡区域检测流程图。

图3(a)至图3(e)是利用本发明的方法进行眼镜遮挡区域检测的实际过程图。

图4是本发明的不同形状的方差滤波模板。

图5是本发明的半框眼镜和“白”色眼镜框的检测结果。

图6是本发明的眼镜补偿域分布图。

图7是本发明补偿步骤的说明图。

图8为本发明的眼镜遮挡区域的补偿过程图。

图9为本发明的戴眼镜的人脸图像及其对应的去除眼镜后的人脸图像。

具体实施方式

本发明所提供的一种人脸图像中自动去除眼镜的方法中,首先进行基于半阈值和最小方差滤波的阈值分割判断是否有眼镜并获得眼镜的遮挡区域。然后由眼镜遮挡区域得到初始补偿域,根据最小距离原理搜索最佳匹配补偿域。最后用扇形线性插值的方法对眼镜遮挡区域进行补偿,得到不戴眼镜的人脸图像。

下面的具体实施过程采用以下计算机的软硬件条件来实现,但并不限定于以下条件:戴尔笔记本,CPU为intel-Core i5-3210M、2.5GHz,显卡为NVIDIA GeForce GT 630M,内存4GB,操作系统为Window 7,软件编程语言使用Matlab R2013b。

结合附图对本发明作出说明:

图1中,步骤S1,通过基于半阈值和最小方差滤波的阈值分割判断是否有眼镜并获得眼镜的遮挡区域;步骤S2,由眼镜遮挡区域得到初始补偿域,对初始补偿域进行调整,根据最小距离原理搜索最佳匹配补偿域;步骤S3,用扇形线性插值的方法对眼镜遮挡区域进行补偿,得到不戴眼镜的人脸图像。

下面结合图1至图5说明步骤S1的眼镜的遮挡区域获得方法:

检测过程如下:

用椭圆模型进行人眼建模,然后用该模型代替人眼区域。

对如图3(a)所示的人脸图像I(x,y)进行瞳孔定位,得到瞳孔坐标(x1,y1)和(x2,y2),那么瞳孔间的距离为:d=|x1-x2|,人脸图像的大小为m×n。用椭圆区域构建人眼模型,椭圆方程如式(1)。

其中d、2a、2b满足d:2a:2b=5:2:1。针对深色眼镜,椭圆模型用全白代替,得到图3(b)所示图像Ia。针对“白”色眼镜,椭圆模型则用全黑代替。

采用半阈值分割得到包含眼镜在内的显著区域。图3(b)所示图像Ia用式(2)处理,得到结果图像Ib如图3(c)所示;如果是针对“白”色眼镜,则将得到的图像用式(3)处理。

其中Th1为人脸图像I(x,y)的灰度均值。因为经过预处理的图像的人脸皮肤占图像绝大部分区域,所以一般情况下人脸图像的灰度均值是大于深色眼镜框而小于“白”色眼镜框的。

为了去除噪声,使用最小方差滤波的图像分割方法,获得准确的眼镜遮挡区域边界。计算图4中(a)、(b)、(c)的所有模板的灰度方差值,其中实心圆点为各个模板的中心点。然后用方差最小值对应的模板像素平均值代替该点的像素值。对图像Ib中的每个像素点都进行上述的处理,最终得到滤波后的图像Ic。为了减少眼镜周围的噪声,通过图像Ib和滤波后的图像Ic构造二维直方图,对图像Ib进行基于二维最大信息熵的图像分割得到图像Id如图3(d)所示。二维直方图的最大熵法充分利用了图像像素点的信息,而且考虑到了像素点与其邻域的空间相关信息,可以很好的去除眼镜外的其他干扰,并且适合低信噪比图像。

图像Id虽然包括了眼镜遮挡区域,但是还存在着多余的部分,如眉毛,嘴巴等,因此用连通域去除方法去除面积较小和不属于眼镜遮挡区域的干扰部分,检测得到眼镜遮挡区域图像Ie如图3(e)所示。

因为眼镜形状相对于眉毛等其他干扰部位是相对复杂的,所以用周长面积比作为眼镜有无的判断标准,周长面积比较大时存在眼镜,周长面积比较小时不存在眼镜。

人脸图像中的眼镜镜框颜色有深色和浅色之分,进行深色眼镜的检测时以全白椭圆模型代替人眼(方式1),进行浅色眼镜检测时,以全黑椭圆模型代替人眼(方式2)。本发明的方法中,在对人脸图像进行处理时,依据如图2所示的流程图,首先进行深色眼镜的检测(方式1),如果检测到存在深色眼镜,即进入步骤S2,如果未检测到深色眼镜,即进行浅色眼镜的检测(方式2)。如果检测到存在浅色眼镜,即进入步骤S2。如果未检测到浅色眼镜,则无需进行去除眼镜的图像处理,直接结束。

将上述方法用于戴深色半框眼镜及“白”色眼镜的人脸图像的处理,如图5所示。

图5(a)、图5(b)分别为戴深色半框眼镜的人脸图像以及按上述方法处理后得到的深色半框眼镜遮挡区域图像。

图5(c)、图5(d)分别为戴“白”色眼镜的人脸图像以及按上述方法处理后得到的“白”色眼镜遮挡区域图像。

下面结合图6说明步骤S2的由眼镜遮挡区域得到初始补偿域,对初始补偿域进行调整,根据最小距离原理搜索最佳匹配补偿域的具体方法:

由步骤S1检测出来的眼镜遮挡区域得到眼镜的边界。如图6所示,将每一个边界点沿纵向向远离眼镜方向移动一个像素距离得到初始补偿域P。然后把图像的初始补偿域P分为P1、P2、P3、P4。P1为上眼镜框的上部分的初始补偿域,P2为上眼镜框的下部分的初始补偿域,P3为下眼镜框的上部分的初始补偿域,P4为下眼镜框的下部分的初始补偿域。补偿域P1、P3统称为Pt,补偿域P2、P4统称为Pb。在靠近眼镜中间部分:P1=P3=Pt、P2=P4=Pb。这里补偿域的形式为(xi,yi),其中i=1,2......n。

得到的初始补偿域中的补偿点如果离眼镜太远就违背了最小距离补偿的原则,如果离眼镜太近,会受到眼镜边界形状及噪声点的影响。采用3×3块元素投票的方式对补偿域中补偿点进行搜索调整。假设某补偿点q,以q为中心点取3×3的邻域,将块内点分别与中心点作差取绝对值得到差值块D(x,y),然后按式(4)进行判断。即邻域差值小于Th2为“1”表示“赞同投票”,反之“不投票”。然后判断块中的“1”的个数n即“唱票”。一般情况下,当n=8时,该像素可视为区域内点,若n≥6且n≠8时该像素可视为合格补偿点,其他属于不合格补偿点。对于合格补偿点,yi向靠近眼镜方向逐个移动补偿点,判断补偿点合格与否,直到找到离镜框最近的合格补偿。对于不合格补偿点,yi向远离眼镜方向逐个移动补偿点,判断补偿点合格与否,直到找到合格补偿。得到最终的补偿点后,用块中“投票人”对应的原像素值的均值代替补偿点像素值。

其中D(x,y)表示块内点分别与中心点作差取绝对值后得到差值块,E(x,y)表示块D内元素进行阈值判断后的块。Th2表示梯度阈值,因为相邻的皮肤像素的差值比较小,所以这里Th2取10。

经过补偿域调整后,最终得到补偿域得到补偿域后在原图像上对眼镜遮挡区域进行标记,即把眼镜遮挡区域标记为白色,标记后的图像记为图像

以上方法是针对yi的补偿域调整。但是对眼镜补偿域竖直或者接近竖直的区域的调整作用不大,对于这样的补偿域,我们针对xi进行相应的调整。调整方法与yi的调整方法类似。

以补偿域为出发点,按式(5)在补偿域中找出对应的最小距离。

其中,dk表示补偿域上第k个补偿点到的最小距离,(xbk,ybk)为补偿域上第k个补偿点的位置,(xti,yti)为补偿域上第i个补偿点的位置。

根据最小距离dk得到距离补偿域(xbk,ybk)最小距离的补偿域(xtk′,ytk′)记为(x′tk,y′tk),就得到了最佳补偿匹配域。

下面结合图7、图8以及图9说明步骤S3中“用扇形线性插值的方法对眼镜遮挡区域补偿,图8(a)为处理前的戴眼镜的人脸图像,图8(b)、图8(c)为处理后得到的去除眼镜的人脸图像,根据最佳匹配补偿域对眼镜遮挡区域进行扇形线性插值补偿,得到不戴眼镜的人脸图像”的方法:

补偿方法如式(6)、(7)、(8)、(9)。

y=round((1-ak)×ybk+ak×y′tk)k=1,2......n (7)

其中,x取x′tk和xbk之间的整数,round(*)表示四舍五入取整。

若在此过程中出现x′tk=xbk的情况,直接按式(8)、(9)进行补偿,y取y′tk和ybk之间的整数。若此过程中出现y′tk=ybk的情况,直接根据式(10)、(11)进行补偿,x取x′tk和xbk之间的整数。

补偿时,如图7(a)中1所标记的情况,两次被补偿路径平行,被补偿路径不存在遗漏点。而由于眼镜遮挡区域边界不规则或补偿域的调整,相邻两次被补偿路径会出现如图7(a)中2、3所标记的情况,两次被补偿路径不平行,在这些情况下直接用最小距离方向的线性插值进行补偿必然会存在较多的遗漏点。为了减少或者消除这样的遗漏点,在最小距离方向进行线性插值补偿的基础上加以改进,提出了在最小距离两侧的扇形区域也进行了线性插值补偿。如图7(b)所示,除了在最小距离T(xbk,ybk)和T0(xtk′,ytk′)之间进行线性插值外,再确定补偿域中在TT0补偿路径两侧距离T0最近的4个补偿点(xt(k′+1),yt(k′+1))记为T1、(xt(k′-1),yt(k′-1))记为T2、(xt(k′+2),yt(k′+2))记为T3、(xt(k′-2),yt(k′-2))记为T4,在TT1、TT2、TT3、TT4之间也进行线性插值补偿,使之与TT0共同构成扇形补偿区域。

根据上述步骤以补偿域为出发点向进行最小距离搜索的扇形线性插值补偿。

对眼镜遮挡区域进行补偿时,应用上述步骤后,有些像素点会被多次补偿,但是最小距离方向的补偿效果最好,与最小距离方向偏离程度小的补偿效果较偏离程度大的补偿效果好。所以本发明在T和T0之间进行优先补偿,在T和T1、T和T2之间进行次优先补偿,在T和T3、T和T4之间进行后补偿。但是,为了减少遗漏点,采用和两个方向的补偿,这样个别点可能会出现两次同级别补偿,这时补偿值取两个补偿值的均值。为了较好的视觉效果,采用3×3邻域对眼镜遮挡区域进行滤波,得到的结果图像如图8(b)所示。

由于眼镜鼻梁两侧的区域(如图7(a)中的A区域)被补偿的面积比较大,不容易被完全补偿修复,所以图8(b)中对应的区域补偿效果不好。若未出现这种情况,不作处理直接得到结果图像;若出现这种情况,根据式(10)、(11)对鼻梁两侧的A区域分别进行水平方向的线性插值补偿,得到最终结果图像如图8(c)所示。采用本发明的方法对图9中上面一行戴眼镜的人脸图像进行处理后,得到如图9中对应的下面一行的眼镜去除后的人脸图像。

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