基于Taubin拟合方法的眼睛定位算法
金凌晨;杨定礼
【摘 要】眼睛的定位及特征的提取在表情的理解、人机交互、身份识别、人脸检测等方面有重要的作用.直接用最小二乘法拟合椭圆的方法定位眼睛时,容易将不该生成椭圆解的地方拟合出了椭圆,Hough变换所需计算量大,占用内存大.针对上述问题,提出采用Taubin拟合与随机Hough变换(RHT)算法相结合方法获得眼睑的椭圆方程,最后把拟合椭圆的中心点作为眼睑中心点,拟合的椭圆作为眼睑的边缘.实验结果表明,该算法定位眼睛的平均检测率达94.6%,平均检测时间为0.12秒. 【期刊名称】《淮阴工学院学报》 【年(卷),期】2013(022)003 【总页数】5页(P21-25)
【关键词】Taubin拟合方法;眼睛定位;随机Hough变换;椭圆拟合 【作 者】金凌晨;杨定礼
【作者单位】南京大学金陵学院,南京2100;淮阴工学院电子与电气工程学院,江苏淮安223003 【正文语种】中 文 【中图分类】TP391.4 0 引言
在机器视觉中,如:表情的理解、人机交互、身份识别、人脸检测等,对眼睛定位
及特征的提取是非常重要的。目前,主要有两种基本的眼睛定位方法:基于特征点的算法[1,2]和基于模板匹配的算法[3]。基于特征点的方法是利用特征点构造出眼睛轮廓,它的特点是鲁棒性强、速度快,缺点是精度较低。基于模板的方法既可以得到眼睛的形状信息,又可以得到位置信息,但其参数选择比较复杂,速度比较慢。
为了进一步提高基于特征点的方法的准确性,本文提出了一种新的眼睛定位方法,首先用文献[4]的方法检测到人脸,然后得到眼睑的大概区域,采用Sobel算子对含有眼睛的图像进行边缘检测,接着通过寻找具有最大边缘像素点的联通区域,再用Taubin拟合与RHT变换相结合的方法获得眼睑的椭圆参数,最后把拟合椭圆的中心点作为眼睑中心点,将拟合的椭圆作为眼睑的边缘,从而提取出眼睛定位信息。
1 用Taubin拟合椭圆
寻找椭圆的方法主要有两类:投票聚类算法和最优算法。Hough变换属于第一类,Taubin拟合方法属于第二类算法,该算法是采用近似均方距离度量法。Taubin使用的目标函数[5]为:
其中Dx和Dy分别为D对x和y的偏微分。这样问题就变成,在约
束‖Dxa‖2+‖Dya‖2=1下,求‖Da‖2的最小值,此时使度量距离最小的参数向量amin,便应该是广义特征系统:
对应着最小特征值的特征向量。引入拉格朗日方程:
当满足▽aE=0时,即:
E此时取得最小值,可以将上述方程改写为:
其中,n为参数方程的个数。该算法是以近似均方距离平方和最小作为拟合的数学原则。
椭圆的平面二次曲线的一般方程[6]可以用公式(6)来表示
其中,B= [a,b,c,d,e,f]T,X= [x2,xy,y2,x,y,1],F(B,Xi)为点[xi,yi]到二次曲线 F(B,X)的代数距离。如果限定BTCB=1,则拟合后的曲线为椭圆,求点到二次曲线F(B,X)=0的代数距离平方和最小,即求为最小,这里N为拟合点的个数。如果令:
直接用 Taubin 椭圆问题,可转化为在 BTCB=1 条件下,求系数[a,b,c,d,e,f],使得 ‖DB‖2值最小。引入Lagrange算子可得同解方程组为:
用广义特征值和广义特征向量的方法可以求得方程组的解为(λi,ui),则对于任意的αi∈R+,(λi,αiui)也是方程组的解。所以(λi,αiui)也必须满足,则:
对于本文中图像数据,DTD中的元素都是正数,因此,分母对于所有的ui都是正数,因此式(10)中平方根存在的条件是λi>0,因此公式(10)的解必须有一个正的特征值。当广义特征值λi>0和对应的广义特征向量ui作为椭圆拟合的解时,则Bi=αiui也是其解。
由上式得到椭圆方程的6个参数以后,将二次曲线ax2+bxy+cy2+dx+ey+f=0进行转轴与移轴以后可以得到:
可以得到椭圆的倾角为:
椭圆中心在旋转系里的中心坐标为:
椭圆中心在图像中的坐标为:
椭圆的长轴与短轴长度为:
其中C1为中间变量。
2 用改进的随机Hough变换确定椭圆参数来定位眼睛
从前面的拟合已经得到椭圆中心的坐标xc与yc、椭圆的长轴M与短轴N以及倾角。但是用上面的拟合的方程,要受到所选的点的影响,如果所选的点的曲率较低,如短轴附近的点,则拟合的结果与真值的误差较大,所以本文又引入了Hough变换。由于传统的Hough变换占用内存空间较大,同时,提取的参数受参数空间的量化间隔制约,所以采用随机Hough变换(RHT),在图像空间中,选取不共线的五个点映射成参数空间的一个点,从而避免了传统Hough变换的巨大的计算量,同时RHT具有参数空间无限大,参数精度任意高的优点。虽然RHT只对多到一映射所得到的参数分配单元进行累积,但在处理复杂图像时,由于随机采样仍引入了大量的无效单元,从而造成大量无效累积。因此本文提出改进的随机Hough变换来获取椭圆参数[7]。
为了防止所选的点在一条直线上,或者靠得很近,本文提出设置|x-xother|>2或者|y-yother|>2,并设k如果k=k,则舍去这个点,重新选择其他的点。x为当前的像素点的横坐1标,xother为前面所选的任意一个像素的横坐标,y为当前的像素点的纵坐标,yother为前面所选的任意一个像素的横坐标。
为了减少计算量,首先采用Sobel算子提取边缘时,参数尽量设置高一点,来提取明显的边缘,且边缘宽带不超过1个像素宽度。同时通过寻找具有最大边缘像素点的联通区域,得到眼睛的真轮廓线,并且只选取那些比较长且不间断的边缘像素,分别如图1、2所示。 图1 左右眼边缘图像 图2 处理后左右眼边缘图像
然后使用八领域搜索的方法,将边缘点以顺时针的顺序依次存储于边缘链表中,同时剔除短小的边缘分叉,降低了后面的计算量,但是不可避免地会将一些有用的边缘短线段被剔除了。由于大部分连续边缘被保存下来,所以并不影响后续的边缘拟合。
运用改进的RHT变换得到椭圆参数的步骤为:
(1)将上面处理的边缘像素点按照顺序编号,然后根据上面的原则,随机取5个点,并用Taubin拟合椭圆法,得到椭圆中心的坐标xc与yc,椭圆的长轴M与短轴N,以及倾角theta;
(2)将得到的参数放在矩阵a[N][6]里,其中a[N][1]存放xc,a[N][2]存放yc,a[N][3]存放椭圆长轴 M,a[N][4]存放椭圆短轴 N,a[N][5]存放椭圆倾角 theta;
(3)运用所得到的参数对所有边缘像素点进行投票,投票的结果存放在a[N][6]中;
(4)重复步骤(1)、(2)、(3)的操作30次,选取最大的a[N][6]中的对应的参数作为拟合的椭圆参数。
运用改进的RHT变换算法拟合的椭圆如图3、4所示。 图3 左眼拟合后的椭圆 图4 右眼拟合后的椭圆
3 实验结果分析
实验中的软件为 MATLAB7.11.0(R2010b),PC 机为双核 Pentium(R)4 CPU 3.06G,3.07G,内存为2.25G。本实验第一组图像为从ORL人脸库中选取的图像,第二组图像为从YALE人脸库中选取的图像,第三组图像为从CMU+MIT人脸库中选取的图像。
第一种方法采用直接最小二乘法拟合方法(DLS)与Hough变换相结合的方法对三组图像进行实验;第二种方法采用Taubin拟合方法与RHT变换相结合的算法对三组图像进行实验。实验结果分别见表1与表2。
表1 两种方法定位眼睛的准确率93.2% 94.1% 93.8%Taubin+改进的RHT算法方法 第一组图像 第二组图像 第三组图像DLS+HT算法94.4% 94.9% 94.6%
从表1中可以看出,运用Taubin拟合方法与RHT变换相结合的算法与运用直接最小二乘法拟合方法(DLS)与Hough变换相结合的算法相比,前者对眼睛的定位的准确率高,检测时间短。
表2 两种方法定位眼睛的检测时间0.18 0.16 0.21 Taubin+改进的RHT算法/s DLS+HT算法方法 第一组检测时间/s 第二组检测时间/s 第三组检测时间0.12 0.11 0.13 4 结束语
本文首先用Sobel算子对含有眼睛的图像进行边缘检测,然后通过寻找具有最大边缘像素点的联通区域,再用Taubin拟合与RHT变换相结合的方法获得椭圆的参数,最后把拟合椭圆的中心点作为眼睑中心点,拟合的椭圆作为眼睑的边缘,从而提取出眼睛定位信息。通过实验验证,本文提出的算法比运用直接最小二乘法拟合方法(DLS)与Hough变换相结合的算法对眼睛定位的准确率高,检测时间短。 参考文献:
[1]黎云汉,朱善安.HOUGH变换在眼睛特征提取中的应用[J].浙江大学学报,2008,42(7):1165-1168.
[2]Goto T,Lee W S N.Facial feature extraction for quick 3D face modeling[J].Signal Processing:Image Communication,2002,17(3):243-259.
[3]Yuille A L,Hallinan P W,Cohen D S.Feature extraction from faces using deformable templates[J].International Jurrnal of Computer Vision,1992,8(2):99-111.
[4]杨定礼,白秋产,张宇林,等.快速人脸检测算法的改进[J].淮阴工学院学报,2012,21(1):12-16.
[5]钮毅.部分遮挡条件下椭圆目标识别[D].上海:上海交通大学,2007. [6]金俊才,童卫青.基于椭圆拟合的近红外图像的眼睛精确定位法[J].华东师范大学学报:自然科学版,2012(3):103-110.
[7]陈燕新,戚飞虎.基于随机Hough变换的快速圆检测方法[J].上海交通大学学报,1998,32(10):17-20.