一种人脸眼睛定位和距离测算的方法转让专利

申请号 : CN201110125628.0

文献号 : CN102184543B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈国庆赵军庆

申请人 : 苏州两江科技有限公司

摘要 :

本发明涉及一种人脸眼睛定位和距离测算的方法,属于人脸检测定位技术领域。该方法包括如下步骤:1)利用圆差异算子投影函数找到眼睛的纵坐标;2)利用混合投影函数找到两眼的横坐标;3)显示两个方向的积分投影曲线;4)将得到眼睛的纵坐标定义为y,根据积分投影的两个波峰得到两眼的横坐标为x1,x2,则两眼的距离为|x1-x2|,两眼坐标为:(x1,y),(x2,y)。采用该方法提高了人脸检测中的眼睛定位与距离测算的正确率与速度。

权利要求 :

1.一种人脸眼睛定位和距离测算的方法,其特征在于,包括如下步骤:

1)利用圆差异算子投影函数找到眼睛的纵坐标;

圆差异算子的定义:在图像上建立xy坐标系,原点在图像中央位置;设图像在(x,y)坐标点上的灰度值为f(x,y);设定差异的阈值为h;以(xo,yo)为圆心,作一个半径为r的圆,所有最接近圆周的像素点组成圆上集合S,像素总数为n;设圆心点的灰度值为f(xo,yo),则S内所有的灰度大于等于f(xo,yo)+h的像素个数记为nl,S内所有灰度小于等于f(xo,yo)-h的像素个数记为n2,S内所有像素的灰度平均值记为Favg,定义圆心点的3个圆差异系数如下:圆暗差异系数:b(x,y)=n1/n;

圆亮差异系数:c(x,y)=n2/n;

圆平均差异系数:v(x,y)=Favg- f(xo,yo) ;

圆差异算子CDO(x,y):if v(x,y)<=0 or b(x,y)<0.6 then CDO(x,y)= 0;if v(x,y)>0 and b(x,y)>=0.6 then CDO(x,y) = v(x,y);其中取1<=h<=10,2<=r<=10,具体的取值要在实际操作中取得;

2)利用混合积分投影函数找到两眼的横坐标;

混合积分投影函数定义为积分投影函数加上方差投影函数;

积分投影函数:假设f(x,y)表示点(x,y)处的像素灰度值,在区间 [y1,y2]内的垂直积分投影函数表示为;

公式一: (1)

平均积分投影函数 表示为:

公式二: (2)方差投影函数:设在区间 [y1,y2]内的垂直方差投影函数表示为公式三: (3)

垂直混合积分投影函数 定义为:

公式四: (4)

先对图像进行圆差异算子水平积分投影,找到峰值最高的定义为眼睛的垂直坐标,然后对该坐标的每个横坐标进行垂直混合积分投影,找到左右两个波峰,作为眼睛的横坐标;

3)显示两个方向的积分投影曲线;

4)将得到眼睛的纵坐标定义为yoo,根据垂直混合积分投影的两个波峰得到两眼的横坐标为x1,x2,则两眼的距离为|x1-x2|,两眼坐标为:(x1,yoo),(x2,yoo)。

说明书 :

一种人脸眼睛定位和距离测算的方法

[0001] 技术领域
[0002] 本发明涉及一种人脸眼睛定位和距离测算的方法,属于人脸检测定位技术领域。
[0003] 背景技术
[0004] 人脸检测是一项非常困难的工作,其复杂度在某种程度上甚至超过了人脸识别。
[0005] 经过多年的研究,已经出现了许多人脸检测的方法。而由于眼睛是面部最为显著的特征之一,所以眼睛定位成为许多人脸检测方法的关键步骤。一旦左右眼睛的位置确定下来,人脸所在的位置也就基本确定了。根据两眼之间连线的长度和方向,人脸区域的大小和方向也可以大致估计出来。
[0006] 目前已经出现了一些有效的眼睛定位方法。例如,Bala等人提出一种基于遗传算法和决策树的眼睛定位方法。该方法采用一种混合遗传结构使基本视觉规则不断进化,最终得到可用于眼睛定位的决策树形式的视觉规则。Reinders等人提出一种基于神经网络的眼睛定位方法,该方法将搜索窗口的像素作为神经网络的输入,如果该窗口包含眼睛图像,则神经网络的输出较大。Wu和Zhou提出一种基于灰度对比的眼睛定位方法。该方法利用眼睛区域的灰度较大这一特点找出眼睛的位置。然而,上述方法仅能给出眼睛的大致位置,并不能精确定位眼睛的中心。因此,为了提高人脸检测的准确率,有必要研究眼睛精确定位的方法。
[0007] 投影是一种有效提取图像特征的方法。通常,一幅二维图像可以由两个正交的一维投影函数来分析。维数的降低便于分析图像的特征,并且减小了计算量,所以投影成为一种重要的图像分析方法。到目前为止,已有很多学者将投影函数成功运用于定位面部特征。Kanade最早将积分投影函数成功地应用于人脸识别,他首先用拉普拉斯算子对原始灰度图进行二值化,然后用积分投影函数对二值图进行分析。Brunelli和Poggio对Kanade的算法作了改进,他们将积分投影函数应用于边界图分析,从而确定出面部各个特征的位置。方差投影函数的概念最早由Feng和Yuen提出,并同时提出了一种利用方差投影函数定位眼睛的简单方法。后来,他们又提出一种多线索定位眼睛的方法,其中应用了一种眼睛方差过滤器(eye variance filter),而这种过滤器正是利用方差投影函数产生的。由此可以看出,投影实际上是人脸识别中经常采用的一种定位技术。
[0008] 但传统的混合积分投影函数对于整个脸部区域积分后得到的眼睛检测结果不甚理想,而单纯的圆差异算子投影函数对于整个脸部的检测中,对于眼睛纵坐标的检测比较准确但是对于两眼的横坐标检测受到耳朵和鬓发的影响较大,而且速度较慢。所以尚有改进的余地。
[0009] 发明内容
[0010] 为了解决上述问题,本发明提出了一种人脸眼睛定位和距离测算的方法,提高了人脸检测中的眼睛定位与距离测算的正确率与速度。
[0011] 本发明为解决其技术问题采用如下技术方案:
[0012] 一种人脸眼睛定位和距离测算的方法,包括如下步骤:
[0013] 1)利用圆差异算子投影函数找到眼睛的纵坐标;
[0014] 圆差异算子的定义:在图像上建立xy坐标系,通常原点在图像中央位置;设图像在(x,y)坐标点上的灰度值为f(x,y);设定差异的阈值为h;以(x,y)为圆心,作一个半径为r的圆,所有最接近圆周的像素点组成圆上集合S,像素总数为n;设圆心点的灰度值为f(x,y),则S内所有的灰度大于等于f(x,y)+h的像素个数记为nl,S内所有灰度小于等于f(x,y)-h的像素个数记为n2,S内所有像素的灰度平均值记为Favg。,定义圆心点的3个圆差异系数如下:
[0015] 圆暗差异系数:b(x,y)=n1/n;
[0016] 圆亮差异系数:c(x,y)=n2/n;
[0017] 圆平均差异系数:v(x,y)=Favg-f(x,y) ;
[0018] 圆差异算子CDO(x,y):if v(x,y)<=0 or b(x,y)<0.6 then CDO(x,y)= 0;
[0019] if v(x,y)>0 and b(x,y)>=0.6
[0020] then CDO(x,y) = v(x,y);
[0021] 在算法中,一般取1<=h<=10,2<=r<=10,具体的取值要在实际操作中取得;
[0022] 2)利用混合投影函数找到两眼的横坐标;
[0023] 混合投影函数定义为积分投影函数加上方差投影函数;
[0024] 积分投影函数:假设I(x,y)表示点(x,y)处的像素灰度值,在区间 [y1,y2]内的垂直积分投影函数表示为Sv(x);
[0025] 公式一: (1)
[0026] 平均积分投影函数Mv(x)表示为:
[0027] 公式二: Mv(x)=Sv(x)/(y2-y1) (2)
[0028] 方差投影函数:设在区间 [y1,y2]内的垂直方差投影函数表示为 2v(x)[0029] 公式三: 2v(x)= 2/(y2-y1) (3)
[0030] 垂直混合投影函数Hv(x)定义为:
[0031] 公式四: Hv(x) = /2+ /2 (4)
[0032] 先对图像进行圆差异算子水平积分投影,找到峰值最高的定义为眼睛的垂直坐标,然后对该坐标的每个横坐标进行垂直混合积分投影,找到左右两个波峰,作为眼睛的横坐标;
[0033] 3)显示两个方向的积分投影曲线;
[0034] 4)将得到眼睛的纵坐标定义为y,根据积分投影的两个波峰得到两眼的横坐标为x1,x2,则两眼的距离为|x1-x2|,两眼坐标为:(x1,y),(x2,y)。
[0035] 本发明的有益效果如下:
[0036] 1、以圆差异投影函数寻找眼睛的纵坐标然后用混合积分投影函数找到眼睛的横坐标方法,在算法的复杂度和正确率上都比单一方法具有更好的效果。
[0037] 2、由于圆差异算子投影函数的时间复杂度为O(n4),而混合积分投影函数的时间复杂度为O(n2),只对纵坐标用圆差异算子投影函数,而对横坐标用混合积分投影函数,所用的时间比对横纵坐标都用圆差异算子投影函数所需的时间短。本方法所用的时间约等于单纯的圆差异算子投影函数所用时间的1/2。因此本方法优于传统方法的明显效果是速度快,准确度高。
[0038] 附图说明
[0039] 图1 处理流程图。
[0040] 具体实施方式
[0041] 下面结合附图对本发明创造做进一步详细说明。
[0042] 处理流程如图1所示,本方法的前提是人脸识别已经完成、并进行过图像预处理(图像降噪、图像增强、图像重构)的基础上进行的。实施步骤如下:
[0043] 1、利用圆差异算子投影函数找到眼睛的纵坐标,圆差异算子的定义:在图像上建立xy坐标系,通常原点在图像中央位置。设图像在(x,y)坐标点上的灰度值为f(x,y);设定差异的阈值为h;以(x,y)为圆心,作一个半径为r的圆,所有最接近圆周的像素点组成圆上集合S,像素总数为n。设圆心点的灰度值为f(x,y),则S内所有的灰度大于等于f(x,y)+h的像素个数记为nl,S内所有灰度小于等于f(x,y)-h的像素个数记为n2,S内所有像素的灰度平均值记为Favg。,定义圆心点的3个圆差异系数如下:
[0044] 圆暗差异系数:b(x,y)=n1/n;圆亮差异系数:c(x,y)=n2/n;
[0045] 圆平均差异系数:v(x,y)=Favg-f(x,y)。
[0046] 圆差异算子CDO(x,y):if v(x,y)<=0 or b(x,y)<0.6 then CDO(x,y)= 0;
[0047] if v(x,y)>0 and b(x,y)>=0.6
[0048] then CDO(x,y) = v(x,y);
[0049] 在算法中,一般取1<=h<=10,2<=r<=10,具体的取值要在实际操作中取得。
[0050] 2、然后利用混合投影函数找到两眼的横坐标。
[0051] 混合投影函数定义为积分投影函数加上方差投影函数。
[0052] 积分投影函数:假设I(x,y)表示点(x,y)处的像素灰度值,在区间 [y1,y2]内的垂直积分投影函数表示为Sv(x);
[0053] 公式一: (1)
[0054] 平均积分投影函数Mv(x)表示为:
[0055] 公式二: Mv(x)=Sv(x)/(y2-y1) (2)
[0056] 方差投影函数:设在区间 [y1,y2]内的垂直方差投影函数表示为 2v(x);
[0057] 公式三: 2v(x)= 2/(y2-y1) (3)
[0058] 垂直混合投影函数Hv(x)定义为:
[0059] 公式四: Hv(x) = /2+ /2 (1)
[0060] 在本文算法中,先对图像进行圆差异算子水平积分投影,找到峰值最高的定义为眼睛的垂直坐标,然后对该坐标的每个横坐标进行垂直混合积分投影,找到左右两个波峰,作为眼睛的横坐标。
[0061] 3、显示两个方向的积分投影曲线。
[0062] 4、将得到眼睛的纵坐标定义为y,根据积分投影的两个波峰得到两眼的横坐标为x1,x2,则两眼的距离为|x1-x2|,两眼坐标为:(x1,y),(x2,y)。