人脸算法标准脸部图像的提取方法
技术领域
本发明涉及一种用于人脸算法的标准人脸提取技术,尤其是一种包含判别是否正面人脸和对光照不均匀的人脸图像做光照补偿的方法,属于数字图像处理技术。
技术背景
人脸作为人类最重要的生物特征,它表征了人的身份信息,并且通过人脸还可判断出人所属性别,种族,年龄等信息。随着计算机视觉技术的发展,人脸识别技术也逐渐得到推广使用。在安全监控领域内,人脸相关的分析技术也发挥着更加重要的作用,比如重要场所安检的人脸验证,记录人员信息,在人员流动较大的场所如车站、机场、地铁、银行营业厅等场所,使用人脸技术记录流动人员信息,方便后续的检索,查找。此类应用也越来越多的应用于公共场合。
现有的人脸识别,性别估计等算法对正面人脸的处理效果明显优于非正面人脸,同时对光照变化敏感。光照不均匀会对处理结果造成影响,如人脸的误识别,性别错分等等。而不论室内或者室外应用中,由于环境变化复杂,光源不可控,采集到的人脸容易出现一些光照不均匀,也会采集到脸部倾斜旋转的非正面人脸,这给后续的人脸识别,人脸分析都带来了更大的难度。
目前为了去除脸部旋转、倾斜的影响,而提出的许多正面人脸判别的方法,主要分为两类,一类是利用正面人脸灰度大致对称的假设,将人脸与人脸镜像做灰度差判断,一类是基于肤色信息的判断,仍然假设正面人脸肤色分布大致对称,通过对比两边肤色点个数来判断是否为正面人脸。这两类方法都容易受光照变化影响,比如在单侧光环境下,正面人脸灰度分布极为不均匀,同时肤色信息也失去作用。
发明内容
为解决上述技术问题,避免光照对判别正面人脸的影响,以及非正面人脸给后续处理带来的困难,本发明的目的在于提供一种提取光照均匀的正面人脸的方法,该方法基于梯度直方图的正面人脸判断方法并对光照不均匀的图像进行光照补偿,获取用于人脸算法的标准脸的方法,该方法提高了后续对人脸种族的识别、不同种族人脸性别的识别,年龄的识别等信息的准确率。
该方法利用梯度直方图可去除光照对人脸的影响,同时对光照不均的正面人脸图像进行光照补偿方法。首先判断人脸是否为正面,并剔除非正面人脸,同时判断该正面人脸是否存在光照不均匀的情况,若光照不均,则对光照不均匀的人脸进行光照补偿,从而得到光照均匀的校准脸部图像,用于后续处理。
为实现上述目的,本发明采用了如下技术方案:人脸算法标准脸部图像提取方法,具体实施步骤如下:
步骤1)通过AdaBoost人脸检测算法,检测人脸图像,得到人脸区域;
步骤2)对步骤1)得到的人脸区域,采用眼睛定位法,通过双眼位置剪裁人脸区域,使裁剪后的人脸区域恰好包含整个人脸图像,并将人脸图像尺寸归一化处理,得到脸部五官中心区域;
步骤3)对步骤2)所得的人脸区域,采用梯度直方图描述人脸特征,并将人脸划分为8×8的子块,分别计算各子块内的梯度直方图,通过对比每行左右各子块图像特征,若在每行都存在一对对称的子区域,则判别为正脸,否则判别为非正脸;
步骤4)若判断为正面人脸,则进入光照均匀判断模块,通过对人脸图像进行灰度分割,分割阈值采用人脸的灰度均值,利用分割后的二值图像,分割后的图像一部分区域会被划为背景区域,通过判断左右两区域背景区域与前景区域像素点之比判断是否光照均匀;
步骤5)若光照均匀输出正面人脸图像,若光照不均匀则进入光照补偿模块;
步骤6)对于光照不均匀的图像,先使用直方图均衡化对图像进行预处理;
步骤7)基于Retinex理论的光照补偿算法,对光照不均匀的图像进行光照补偿;
步骤8)输出光照均匀的标准脸部图像。
作为优选,步骤2)所述的图像尺寸归一化处理的尺寸为32×32。
作为优选,步骤2)所述的裁剪后的人脸区域为方形区域,裁剪后的脸部边缘离眼睛的距离为0.25倍人脸宽度,眼睛离额头的距离为0.25倍人脸宽度。
作为优选,所述步骤3)的对比每行左右各子块图像特征的方法是从左至右遍历每行的子块,分别计算该行其他子区域与该区域的梯度直方图相似度,选出相似度最高的一个子区域,判断这一对子区域的空间位置是否大致成对称分布,依次遍历完8×8个子区域并进行前述判断。
作为优选,所述步骤7)的光照补偿方法为将图像S转换到对数域中,分解为R,L分量,由于入射分量L对应于图像中的低频分量,可通过对原图像进行高斯平滑,然后利用原始图像减去滤波后的图像,即得到反射分量R,最后取指数数得到光照补偿后的图像。
本发明的有益效果是:本发明提出的一种用于人脸算法的标准脸部图像的提取方法,其中标准脸部特指光照均匀的正面人脸图像。这种标准脸部的获取主要包括正面人脸判断以及光照均匀的判断,同时针对光照不均匀的正面人脸图像做光照补偿,从而获取到光照均匀的正面标准人脸,该方法极大提高了后续对人脸种族的识别、不同种族人脸性别的识别,年龄的识别等信息的准确率和人脸识别算法的准确率。
附图说明
图1为本发明的算法实施流程示意图。
图2为本发明的人脸检测示意图。
图3为本发明的人脸子块划分示意图。
图4为本发明的人脸梯度图示意图。
图5为本发明的光照均匀与光照非均匀的人脸灰度阈值分割示意图。
图6为本发明的Retinex理论的光照补偿算法具体实施流程示意图。
具体实施方式
下面结合具体实施例对本发明作进一步说明:
如图1所示,人脸算法标准脸部图像的提取方法,该方法首先通过人脸检测,检测出人脸区域,通过定们双眼方法,裁剪人脸区域,然后判断是否为正脸,若否,则抛弃非正脸图像,若是,则判断人脸是否光照不均匀,若是,则对光照非均匀的人脸进行光照补偿,若否,则输出光照均匀正面人脸图像。具体步骤如下:
步骤1,通过AdaBoost人脸检测算法,检测人脸图像,得到人脸区域。
步骤2,为去除多余背景影响,通过定位双眼位置,截取人脸,若人脸有旋转,通过双眼的位置旋转,得到人脸区域,剪裁后的脸部边缘离眼睛距离为0.25倍人脸宽度,眼睛离额头距离为0.25倍人脸高度,包含眉毛、脸颊区域,正好保留人脸整个区域,并将人脸归一化为32×32的尺寸。如图2所示。
步骤3,因为获取的人脸可能存在光照的变化,简单的利用灰度信息与肤色信息并不能判断人脸是否为正脸,本发明采用梯度直方图描述人脸特征,在获得的人脸区域内,针对光照的影响,采用梯度直方图方式描述人脸,将人脸划分为8×8的子块,如图3所示,统计每个子块的梯度直方图,用于对抗光照的干扰。梯度图的计算如下:
采用sobel算子分别计算x,y方向梯度,x,y方向梯度计算模板如下:
最后得到的梯度如下:
G=|Gx|+|Gy|
然后统计每个子块的梯度直方图,因为正面人脸脸部特征相对分布均匀,然后分别对比图像坐左边脸与右半边脸的梯度直方图对比,因为正面人脸五官大致分布均匀,而在人脸中梯度较高的区域都集中于人脸五官,脸部轮廓区域。如图4所示,所以可在高梯度区域进行对比,即分别计算各个子块中的平均梯度,当梯度较小时不比较该区域。具体实施方式如下:
对于8×8的子块直方图,图像可表示为:
其中Gij表示第i行,j列的梯度图像子块。
同理其梯度图像的直方图可表示为:
Hij表示表示第i行,j列的图像块的梯度直方图。
对于每一个子块,先分别计算其梯度均值当梯度均值小于阈值t时该子块对应的直方图不参与匹配,对于每一行,分别计算该行其他图像子块直方图与该块直方图的相似度,以第一行第一个子块H11为例,即分别计算R(厅11,G1j),其中R为相似度函数,采用如下方式计算:
然后选出具有最大相似度的图像块,可得到该图像子块的在该行的位置,即得到具有最大相似度的一对图像块(H11,H1j),因为正面人脸特征分布均匀,则可以判断该对图像块位置是否对称。如果对称判断下一行的图像块,如果不对称,依次遍历该行其他图像块。
按上述方法依次遍历每行的图像块,对于正面人脸每行都存在这样的位置对称的图像块。这样就完成正面人脸的判断。
步骤4,因为人脸在光照均匀下人脸部皮肤的灰度大致均匀,相比皮肤灰度,人五官部位灰度较低,如图所示,获得正面人脸后需判断人脸光照是否均匀,因为当光照不均匀时人脸在某区域灰度高,一部分区域灰度低,同时在采集图像中光照不均的情况大多属于测光现象,可通过灰度进行阈值分割,将图像转化为二值图像,
阈值可选择图像平均灰度值,对于灰度较低的区域将被划作背景区域,如图5所示,图5描述了对光照不均匀,以及光照均匀的图像分割后的图像,可看出光照不均匀的图像分割后,左右前景与背景分布有很大的差别。
步骤5,对比阈值分割后的二值图片后,分别计算左半边脸与右半边脸中,像素值为1的个数:
然后对比左右两边当abs(Nl-NR)>T时认定为光照非均匀图像,若人脸光照均匀则直接进入步骤8,否则进入步骤6。
步骤6,利用直方图均衡化对图像进行预处理,在一定程度上消弱光照的影响。
步骤7,在步骤6的基础上对光照非均匀的图像进行光照补偿,采用Retinex理论的光照补偿方法对光照不均匀图像进行光照补偿。
Retinex理论主要目标是将一幅给定图像S分解为入射图像L与反射图像R:
S(x,y)=R(x,y)*L(x,y)
Retinex光照补偿的目的是去除入射图像L对反射图像R的影响。即获得R,实际处理流程如图6所示,即先将图像转换到对数域中,分解为R,L分量,由于入射分量L对应于图像中的低频分量,可通过对原图像进行高斯平滑,然后利用原始图像减去滤波后的图像,即得到反射分量R。最后取指数数得到光照补偿后的图像。
步骤8,输出光照均匀的标准脸部图像。
本发明提供了一种提取光照均匀的正面人脸图像方法,用于处理视频采集人脸图像中存在一些光照非均匀的非正脸图像,而非正面的人脸图像影响了后续的识别,以及人脸信息分析的准确率,提取光照均匀的正面人脸图像保证了后续识别处理的正确率,同时本发明提出的基于梯度直方图的正面人脸判别方法也能对抗光照的干扰。