人脸识别中的眼睛定位方法转让专利

申请号 : CN201510767147.8

文献号 : CN106326828B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈磊周淑娟

申请人 : 北京巴塔科技有限公司

摘要 :

本发明的眼睛定位方法,检测并去除图像的反光区域;用Ada‑Boost算法的Viola‑Jones方法检测人脸;计算人脸区域归一化梯度向量,二值化,检测眼镜的黑框,用相邻不在黑框区域像素的平均灰度值替换黑框区域的像素灰度值;构造眼睛和非眼睛的训练集,训练二次核函数的非线性SVM,对以眼睛周围像素为中心的区域,计算评估,评估最大值所在的像素作为眼睛位置并称为置信度;如果置信度大于设定的阈值,则为最终定位结果,否则用PCA估算眼睛位置,对人脸区域作旋转和缩放变换,计算变换后图像的Gabor系数,并计算人脸检测的置信度,选取置信度最大的图像,把该图像中眼睛的平均位置作为原始图像的眼睛位置。

权利要求 :

1.一种眼睛定位方法,根据人脸图像定位眼睛的位置,其特征在于,包括:检测并去除反光区域处理、人脸检测处理、检测和去除眼镜的黑框处理、基于SVM的眼睛定位处理、基于PCA的眼睛定位处理,其中,在所述检测并去除反光区域处理中,

计算输入图像的灰度直方图,确定反射区域的阈值,进行反射区域判断,用非反射区域的像素平均灰度值替换反射区域的像素值;

在所述人脸检测处理中,

在去除反射区域的图像上检测人脸;

在所述检测和去除眼镜的黑框处理中,

在人脸区域计算归一化梯度向量,并得到二值图像,根据联通区域检测眼睛的黑框,用相邻的不在黑框区域的像素平均灰度值替换在黑框区域的像素灰度值;

在所述基于SVM的眼睛定位处理中,

构造眼睛和非眼睛训练集训练具有二次核函数的非线性SVM,对以眼睛周围像素为中心的区域作SVM评估,评估最大值所在的像素作为眼睛位置,该评估最大值被称为眼睛位置的置信度;

在所述基于PCA的眼睛定位处理中,

如果在SVM眼睛定位中得到的置信度大于预先设定的阈值,则该位置为最终定位结果,否则,采用PCA再次估算眼睛位置;

对人脸区域作旋转和缩放变换,对变换后的图像,计算Gabor系数,根据PCA训练后得到的变换矩阵计算人脸检测的置信度,选取置信度最大的图像,并把该图像中眼睛的位置作为原始图像的眼睛位置。

2.一种人脸识别系统,包括:

人脸检测及眼睛定位模块,应用权利要求1的眼睛定位方法,检测人脸并定位眼睛位置;

预处理模块,归一化局部均值和方差,得到128个7×7大小区域的均值和方差;

特征提取模块,在检测到的人脸区域取10×10个采样点,对每个采样点计算5个频率12个方向的Gabor系数绝对值;及比对模块,对于两幅人脸图像的每个对应采样点计算两个60维向量的归一化内积,并将这些值相加得到相似度,如果相似度大于预设的阈值,则认为两张人脸图像来自同一人。

说明书 :

人脸识别中的眼睛定位方法

技术领域

[0001] 本发明涉及人脸识别中的眼睛定位方法。

背景技术

[0002] 采用人脸图像来进行身份认证的人脸识别是一种使用非常自然和便利的生物特征识别技术。光照的变化是影响人脸识别系统性能的最主要因素。为了避免光照的影响,人脸识别已广泛采用近红外图像。通常,人脸识别过程包含人脸检测、眼睛定位、预处理、特征提取和比对。鲁棒的眼睛定位在人脸识别系统中起着非常重要的作用。
[0003] 传统的眼睛定位方法可大致分为三类:基于模板的方法、基于外观的方法、基于几何特征的方法。
[0004] 基于几何特征的方法根据眼睛的特性来定位眼睛位置比如边缘和虹膜的强度。这些方法在对比度高的图像上才能获得准确的定位。
[0005] 基于模板的方法,首先基于眼睛形状设计通用眼睛模型,然后用模板匹配方法搜索眼睛。基于外观的方法需要收集大量的训练数据,包含不同个体的不同人脸朝向和不同光照情况下的眼睛。这些训练数据用作训练分类器,并检测训练数据是否通过分类。这种方法能够准确检测眼睛,但是对戴眼镜的人脸的检测效果不稳定。
[0006] 特别地,在人脸识别过程中,反光区域和眼镜边缘是人脸检测和眼睛定位的瓶颈。

发明内容

[0007] 本发明提供一种无论图像质量好坏均可以快速、稳定地定位人脸中眼睛的方法及应用该眼睛定位方法的人脸识别系统。
[0008] 本发明的技术方案一提供一种人脸识别中眼睛的定位方法。该眼睛定位方法,首先检测并去除图像中的反光区域,然后进行人脸检测、检测和去除眼镜的黑框、基于SVM(Support Vector Machine)的眼睛定位,最后用基于PCA(Principal Component Analysis)的眼睛定位来定位眼睛位置。
[0009] 在所述检测并去除图像中的反光区域处理中,
[0010] 计算人脸图像的灰度直方图,用Otsu方法确定反射区域的阈值,如果像素满足设定的条件,则被认为在反射区域中。用相邻的不在反射区域的像素平均灰度值替换在反射区域的像素灰度值;
[0011] 在所述人脸检测处理中,
[0012] 在去除反射区域的图像上采用Ada-Boost算法的Viola-Jones人脸检测方法检测人脸;
[0013] 在所述检测和去除眼镜的黑框处理中,
[0014] 对检测到的人脸区域的每个像素,计算归一化的梯度向量,用一个适当的阈值得到一个二值图像,
[0015] 在二值图像上检测眼镜的左边黑框和右边黑框,
[0016] 用相邻的不在黑框区域的像素平均灰度值替换在黑框区域的像素灰度值;
[0017] 在所述的基于SVM的眼睛定位处理中,
[0018] 构造眼睛的训练集,计算以眼睛准确位置为中心的固定大小区域的Gabor系数向量,
[0019] 构造非眼睛的训练集,计算以真实眼睛的像素距离为中心的固定大小区域的Gabor系数向量,
[0020] 对眼睛训练集和非眼睛训练集,训练具有二次核函数的非线性SVM。
[0021] 对于以眼睛周围像素为中心的区域,计算Gabor系数得到SVM评估,
[0022] 以评估的最大值所在的像素作为眼睛位置,并被称为眼睛位置的置信度;
[0023] 在所述的基于PCA的眼睛定位处理中,
[0024] 如果在SVM中眼睛定位的置信度大于预先设定的阈值,则该位置为最终定位结果,不再进行处理,
[0025] 如果在SVM中眼睛定位的置信度不大于预先设定的阈值,采用PCA再次估算眼睛位置,
[0026] 利用手工找到的眼睛位置归一化脸部图像大小,在特定点计算Gabor系数,构造包含这些系数的向量,并作PCA得到线性变换矩阵,
[0027] 对检测到的人脸区域作一系列旋转和缩放变换,
[0028] 对变换后的每个图像,计算Gabor系数,并计算人脸检测的置信度,
[0029] 选取置信度最大的图像,并把该图像中眼睛的平均位置作为原始图像的眼睛位置。
[0030] 本发明的技术方案二提供一种人脸识别系统。该人脸识别系统包括:
[0031] 人脸检测及眼睛定位模块,应用技术方案一的眼睛定位方法,检测并去除反光区域、检测人脸、检测并去除眼镜的黑框、眼睛定位;
[0032] 预处理模块,为避免光照的影响,归一化局部均值和方差;
[0033] 特征提取模块,对检测到的人脸区域提取采样点,对每个采样点计算M个频率和N个方向的Gabor系数绝对值,其中,M、N为大于0的自然数;及
[0034] 比对模块,对于两幅人脸图像,对应的采样点计算M*N维向量的归一化内积,并将内积值相加得到相似度。如果相似度大于预设的阈值,则判断为两幅图像来自同一个人。
[0035] 发明的效果
[0036] 根据本发明的眼睛定位方法及人脸识别系统,无论图像质量好坏均能够快速、稳定地定位眼睛位置。

附图说明

[0037] 图1是人脸识别系统的框图。
[0038] 图2是眼睛定位的说明图。

具体实施方式

[0039] 下面,结合附图,对本发明的眼睛定位方法及使用该眼睛定位方法的人脸识别系统进行详细说明。
[0040] 眼睛定位方法包括检测并去除反光区域的处理、人脸检测的处理、检测和去除眼镜的黑框的处理、基于SVM的眼睛定位的处理、基于PCA的眼睛定位的处理。
[0041] <检测并去除反光区域的处理>
[0042] 检测并去除反光区域的处理包括如下(1)~(4)的处理。
[0043] (1)计算输入图像I的灰度直方图。
[0044] hist(k),k=0,1,…,255为计算出的直方图。
[0045] (2)用Otsu方法确定反射区域的阈值。Otsu法是公知的方法,这里不再详细叙述。确定出的阈值如下。
[0046]
[0047] 其中,
[0048]
[0049]
[0050] (3)如果一个像素(i0,j0)满足以下两个条件,则认为该像素在反射区域中,[0051] ·I(i0,j0)>Th
[0052] ·rate(i0,j0)>Th_rate
[0053]
[0054] 其中h和H是预定义的常量(H>h),Th_rate是预定义的阈值。
[0055] (4)用相邻的不在反射区域的像素的平均灰度值替换在反射区域的像素的灰度值。
[0056] <人脸检测的处理>
[0057] 采用Ada-Boost算法的Viola-Jones人脸检测方法,根据去除反射区域的图像来检测人脸。
[0058] <检测和去除眼镜的黑框的处理>
[0059] 检测和去除眼镜的黑框的处理包括如下(1)~(4)的处理。
[0060] (1)检测
[0061] 对于检测到的人脸区域的每个像素(i,j),计算归一化的梯度向量grad(i,j),用一个适当的阈值Th_grad得到一个二值图像B。
[0062]
[0063] (2)检测眼镜的左边黑框
[0064] 根据图像B计算出如下序列,
[0065]
[0066] 其中w和h是检测到人脸图像的宽度和高度,h1和h2是预设的常数。
[0067] 在i=h/2的邻域,找到序列C的局部最大值点,在该点计算B的一个联通区域。然后,用一个抛物线近似该联通区域,如果二次系数大于0则认为该联通区域为眼镜边缘。
[0068] (3)检测眼镜的右边黑框
[0069] 眼镜右边黑框的检测类似于左边黑框的检测。
[0070] (4)去除
[0071] 用相邻的不在黑框区域的像素的平均灰度值替换在黑框区域的像素的灰度值[0072] <基于SVM的眼睛定位的处理>
[0073] 基于SVM的眼睛定位的处理包括如下(1)~(2)的处理。
[0074] (1)SVM训练
[0075] 构造眼睛的训练集,计算以眼睛准确位置为中心的固定大小区域的Gabor系数向量。
[0076] 构造非眼睛训练集,计算以真实眼睛的像素距离为中心的固定大小区域的Gabor系数向量。
[0077] 采用上述训练集,训练具有二次核函数的非线性SVM如下:
[0078] c(x)=∑iαik(si,x)+b
[0079] 其中si是一个支持向量,αi是权重,b是偏差,k是核函数。
[0080] (2)眼睛位置估计
[0081] 对于以眼睛周围像素为中心的区域,计算Gabor系数得到SVM评估。
[0082] 以评估的最大值所在的像素作为眼睛位置,这种估算被称为眼睛位置的置信度[0083] <基于PCA的眼睛定位的处理>
[0084] 如果在SVM中眼睛定位的置信度大于预先设定的阈值,则该位置为最终定位结果,不再执行基于PCA的眼睛定位。如果置信度不大于预先设定的阈值,采用PCA再次估算眼睛位置。
[0085] 基于PCA的眼睛定位的处理包括(1)~(2)的处理。
[0086] (1)PCA训练
[0087] 利用手工找到的眼睛位置归一化脸部图像大小,在特定点计算Gabor系数,构造包含这些系数的向量。对向量做PCA。设A为得到的线性变换。
[0088] (2)估算眼睛位置
[0089] 对检测到的人脸区域作一系列旋转和缩放变换(以质心为中心,左右分别旋转3度、5度、10度、15度等,并分别缩小为0.95、0.90、0.85倍,放大为1.05、1.10、1.15倍等),对变换后的每个图像,像上面一样计算Gabor系数Gabor_vec。然后按下式计算人脸检测的置信度。
[0090] score=||A*Gabor_vec||/||Gabor_vec||
[0091] 选取置信度最大的图像,并把该图像中眼睛的平均位置作为原始图像的眼睛位置。
[0092] 如上所述,能够定位出眼睛的位置。
[0093] 下面,结合图1和图2对使用了本发明的眼睛定位方法的人脸识别系统进行说明。
[0094] 人脸识别系统包括人脸检测及眼睛定位模块、预处理模块、特征提取模块及比对模块。
[0095] 人脸检测及眼睛定位模块执行如下处理。
[0096] ·检测并去除反光区域;
[0097] ·人脸检测;
[0098] ·检测并去除眼镜的黑框;
[0099] ·基于SVM的眼睛定位;
[0100] ·基于PCA的眼睛定位
[0101] 预处理模块执行如下处理。
[0102] 归一化局部均值和方差,归一化为128个7×7大小区域的均值和方差。
[0103] 特征提取模块执行如下处理:
[0104] 在检测到的人脸区域取10×10个采样点,对每个采样点计算5个频率12个方向的Gabor系数绝对值。
[0105] 比对模块执行如下处理。
[0106] 对两幅人脸图像的每个对应采样点计算两个包含60个元素的向量的归一化内积,并将这些值相加得到相似度。如果相似度大于预设的阈值,则认为两张人脸图像来自同一人。
[0107] 本发明人通过实验验证了本发明的效果。
[0108] 在本公司数据库上的测试结果如下:
[0109] 该数据库包含40人的400幅图像,眼睛定位的准确率为97%,等错误率为0.2%。因此,通过本发明的眼睛定位方法,对于现有技术无法定位正确的眼睛的情况,也能够快速、稳定地定位眼睛。
[0110] 如上所述,对本发明的优选的实施方式进行了说明,但上述实施方式仅仅是作为例子来提示的,并不对本发明的保护范围进行限定,例如,上述涉及的归一化区域大小及个数、所取的采样点的数量、向量的维数等也仅仅是例示,根据实际要求的速度、定位精度等,也可以是其他的数量。