人眼定位

2024-08-05

人眼定位(共7篇)

人眼定位 篇1

0引言

双眼是面部最为显著的特征之一,其位置的确定可以大致估计人脸的宽度和方向,是人脸检测和识别的重要步骤。人眼的检测、定位主要的方法有基于变形模板的方法[1,2],基于投影函数的方法[3],基于支持向量机的方法[4,5]等。区别于文献[4,5]的是,本文综合利用了肤色区域,眼睛的色度、亮度、梯度信息以及眼睛的几何规则来确定搜索范围,大大较少了验证的次数。在支持向量机SVM(Support Vector Machines)粗定位后,应用了排除准则,最后用投影函数大致定位出眼睛的中心。

1肤色检测与分割

双眼一般处在肤色的脸部中,肤色的分割可以减少眼睛的搜索范围。本文在YCbCr颜色空间下,使用二维高斯混合模型GMM(Gaussian Mixture Model)对肤色进行建模。根据该模型,可以确定图像中任意像素的颜色为肤色的概率值,即图像的肤色相似度图,如图1(b)所示。对于肤色相似度图的分割,本文采用了滞后阈值法。该方法选择两个阈值t1,t2(t1 < t2),相似度图的灰度值大于t2的像素认为是肤色,小于t1的为非肤色,介于t1和t2的则为候选点,只有其相邻的像素存在肤色像素时,这些候选点才标记为肤色。J.Cai等人[6]的自适应阈值法针对的是单高斯模型,在GMM情况下,实验效果并不好。对此,本文进行了微小的改动。原来的方法是:阈值的递减会引起分割区域的递增,在分割区域的增长变化“最小”时,有两个连续的阈值tt-Δt,则认为最佳阈值为上述两个值的平均值,即t-0.5×Δt。本文的改动是:当分割区域的增长变化“最大”时,取对应的两个连续阈值的平均值,以此作为滞后阈值法的其中一个阈值;另外一个阈值采用迭代阈值法[7]得到。最后的肤色分割图为二值图像F,如图1(c)所示。

2眼睛的候选区域

肤色分割后,我们利用眼睛的色度、亮度以及梯度信息进一步确定眼睛的区域。

2.1色度信息

Rein-Lien Hsu等人[8]指出,眼睛具有较高的Cb值和较低的Cr 值,我们对收集的图片测试后发现并非全部如此,但基本上眼睛较之肤色具有较高的Cb值和较低的Cr值,故构造二值图像C=C1 AND C2(如图2a所示),其中:

Cb(skin)、Cr(skin)分别为某肤色连通区域的Cb和Cr的平均值;δ1、δ2为微小的偏移量,两个量越大,肤色的覆盖范围越小,实验中取δ1=δ2=5。

2.2亮度信息

显然,眼睛在脸部具有较低的亮度值,可对灰度图像进行阈值分割确定潜在的眼睛区域。对F的各个连通区域对应的灰度图像块应用滞后阈值法,得到二值图像G(如图2b所示),其中滞后阈值法的两个阈值分别采用“最大类间方差法”和“矩量保持法”。在分割灰度图像前,为了减少矩形图像块中非肤色背景区域的影响,将这些区域用肤色的灰度均值填充。

2.3梯度信息

S.Y.Lee等人[9]使用局部自适应阈值化LAT(Locally Adaptive Thresholding)的方法来提取二值边缘,较好的保留了脸部的特征信息,可用于提取眼睛这样具有高频信息的区域,其表达式为:

其中:x,y分别为图像的宽和高的范围,h(x,y)为加权平均低通模板M与原灰度图像卷积后的低通图像,zk(x,y)为四个方向的Sobel算子与原灰度图像卷积后的梯度图。应用式(4)的决策规则得到二值图像 (如图2c所示):

为了突现边缘信息,δ3不宜取得较大。实验中,当δ3在0.35~0.55范围内时,二值图像L能较好地保留脸部的高频信息,我们取0.45。

一般情况下,眼睛的区域都应具有上述三幅图像C、G、L所共同确定的位置,考虑到较特殊的图像可能不满足其中之一,故设定眼睛的候选区域为E(如图2d所示):

其中:CGL=C+G+L。

3眼睛的定位

3.1支持向量机——眼睛的粗定位

支持向量机是由Vapnik人等在统计学习理论的基础上发展出的一种基于结构风险最小化原理的模式识别方法,在解决小样本、非线性及高维模式识别问题中有诸多优势,现已应用到机器学习的许多领域。我们利用SVM的良好分类性能作眼睛的验证。验证前,先对二值图像E进行必要的处理,以排除伪候选区域,减少验证的次数。设对E去噪后的图像为E′,E′的某连通区域Ai的外接矩形为RAi,若RAi的密度<Td或高宽比>Tr,则排除Ai。实验中Td=0.2;考虑到眼睛区域可能和眉毛区域相连引起外接矩形的高度较大,可将Tr设得大一些,比如1.2。经上述处理后,粗检的流程算法可表示为:

步骤1 E′的某一连通区域Ai,初始化验证次数n=1;

步骤2 确定检测区域Ri;(如图3所示)

步骤3 检查验证次数n的条件

1) 若n<=3:

SVM验证Bi,验证的结果是眼睛的话,验证E′的下一连通区域;不是的话,转到步骤4;

2) 若n>3:

区域为非眼睛,验证E′的下一连通区域.

步骤4 扩张区域Ri(如图4所示),n加1,转到步骤3;

其中Bi为原图像亮度通道对应候选区域Ri的图像块,经过尺度归一化和直方图均衡后的图像。

3.2眼睛的分布规则

由于分类器固有的限制,SVM检测过程中一些类似眼睛的区域会被误检,我们利用眼睛的几何分布规则排除这些区域。

1) 重叠

我们发现,一些类似眼睛的眉毛会被误检。在一般情况下,误检的眉毛外接矩形R1和在其下方的眼睛外接矩形R2是重叠的,故排除相互重叠的矩形对中上方的一个;

2) 角度

设双眼中心连线的角度为θ,排除|θ|>40°的区域对;

3) 距离

设粗检后的左眼和右眼的外接矩形的宽分别为D1,D2,双眼中心距离D,排除不满足式(6)的区域对:

αDi<D<βDii=1,2 (6)

其中:αβ为比例系数。一般情况下,D不会小于D1或D2,故上式中可取α=1.0,而D的上界过大,即β值过大,就有可能引起较多的误检数目,经过反复的实验测试,当β=4.8时,达到的效果较好——误检数目较少,同时又能保障较少地漏检双眼。

3.3投影函数——眼睛中心的定位

经过上述步骤处理后,基本上就剩下双眼的区域了。为了较精确地确定眼睛的中心,我们使用了投影函数[3]。投影是一种常见的提取图像特征的方法,根据方向性,一般可分为水平投影和垂直投影。本文使用混合垂直投影(HPFver)和平均积分水平投影(IPF′hor)来确定眼睛的位置。

为了减小眼睛外接矩形R可能含有的眉毛对投影的影响,对R向下平移w/4 (w为矩形R的宽),得到新的外接矩形R′。眼睛的坐标P(x,y)为:

其中:h为R′的高度(=w),偏移量offset是为了减小边缘处投影的影响。我们取offset=w/5。

4实验结果

实验中采集的训练样本均来自互联网。经过3.2节处理后,如果再有错分样本的话,一般出现在人脸的显著特征部分,如眉毛、嘴角、鼻孔等。因而,对于负样本的采集,除了使用“自举”(bootstrap)选取负样本外,特别加入了上述的区域。眼睛的正负训练样本分别为2729,2932,尺度归一化(15×15)和直方图均衡后正、负样本如图5所示。

在使用Visual C++.Net实现过程中,采用的SVM的非线性核函数为高斯径向基函数,即:

K(xi,xj)=exp(-γxi-xj‖2) γ>0 (8)

其中:γ=0.01,惩罚因子C=200。实验结果如图6所示(矩形框为SVM检测的区域,十字区域为眼睛的中心)。

5结论

本文提出了一种彩色图像中的人眼对定位方法。首先,通过采用滞后阈值法的肤色分割,缩小了搜索范围,接着利用眼睛的色度、亮度、梯度信息以及眼睛的规则,大大减少了SVM验证次数,最后使用投影函数大致确定了双眼的中心。实验证明是一种有效的方法。虽然利用了眼睛的诸如信息及规则,但在较复杂背景情况下,误检率很高。一些文献[9,10]通过利用双眼和嘴唇形成的三角关系,进一步强化规则,可降低误检数目。今后,作者通过将已有双眼定位的结果应用到人脸的检测上,综合人脸的验证来降低误检的眼睛对。

参考文献

[1]LamKM,Yan H.Locating and extracting the eye in human face images[J].Pattern Recognition,1996,29(5):771779.

[2]Huang W,Sun Q,Lam C P,Wu J K.A robust approach to face and eyes detection from images with cluttered background.In:Proc.Int.Conf.Pattern Recognition,1998:110114.

[3]Zhou Zhihua,Geng Xin.Projection functions for eye detection[J].Pat-tern Recognition,2004,37(5):10491056.

[4]Gang Pan,Weixun Lin,Zhaohui Wu,et al.An Eye Detection System based on SVMFilter.In:Electronic Imaging and Multimedia Technolo-gy III,Proceedings of SPIE,2002,4925:326331.

[5]Hyungkeun Jee,Kyunghee Lee,Sungbum Pan.Eye and face detection using SVM[C].In:Intelligent Sensors,Sensor Networks and Informa-tion Processing Conference,2004.

[6]Cai J,Goshtasby A,Yu C.Detecting Human Faces in Color Images.Int l Workshop on Multimedia Database Management Systems,1988:124131.

[7]Ren Jianfeng,Guo Lei.Applying mixed Gaussian skin models to the au-tomatic face detection.2004IEEE International Workshop on Machine Learning for Signal Processing,September29-October1,2004:599608.

[8]Rein-Lien Hsu,Mohamed Abdel-Mottaleb,Anil K Jain.Face detection in color images.IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(5):696706.

[9]Lee S Y,Ham Y K,Park R H.Recognition of human front faces using knowledge-based feature extraction and neuro-fuzzy algorithm[J].Pat-tern Recognition,1996,29(11):18631876.

[10]Cheng Chin Chiang,Wen Kai Tai,Mau Tsuen Yang,et al.A novel method for detecting lips,eyes and faces in real time.Real-Time Ima-ging,2003,9(4):277287.

一种新的人眼定位方法研究 篇2

目前, 在对驾驶员进行疲劳驾驶检测时, 经常采用检测人眼状态信息的疲劳检测技术[1]。人眼定位方法满足精确性、抗干扰性和实时性的需求。常用的人眼定位方法有阈值法、模板匹配、灰度积分投影法、对称变换法等[2]。本文对基于Hough变换圆检测的人眼定位方法进行改进。即先采用改进后的积分投影的方法定位人眼, 在粗略定位人眼后进行Hough变换圆检测精确定位人眼。

2 改进的积分投影法

人脸部分的灰度变化值明显, 所以常采用积分投影法定位人眼。微分投影法反应的是图像灰度值的变化[3, 4]。对人脸进行垂直积分投影, , 微分投影, 人眼部分灰度变化大, 对人眼灰度部分差分后绝对值累加得到的值最大, 将积分投影和微分投影相结合成为微积分投影。

灰度图像积分、微分、微积分投影曲线从如图:

如图1b为人脸积分投影反映出人脸的灰度值, 可以看出人脸灰度值最低的两部分分别对应人眼和眉毛。如图1c为人脸的微分投影曲线反映出了人脸灰度值得变化情况, 由于人眼和眉毛周围灰度变化较大所以较高的两部分为人眼和眉毛。图1d采用微积分投影函数进行投影曲线, 第一个波峰和第二个波峰之间即为眉毛和人眼部分的区域, 通过Yale B人脸库的检验, 微积分投影的适应性更强, 在检测正确率和准确定位的平均相对误差上都明显优于积分投影函数和微分函数。

3 Hough圆检测

Hough变换是将原始图像空间的曲线通过曲线表达的形式, 变换为参数空间的一个点[5, 6]。针对本人检测人眼瞳孔圆, Hough变换将检测圆题变换为检测参数空间的峰值。圆的表达式如式:

瞳孔圆周围是人脸灰度变化最大的部位之一, 在第一级粗略定位后大大缩小了人眼定位范围, 在范围内的圆主要为两个人眼瞳孔, 进行Hough检测时人眼的瞳孔一定会被检测出来, 但由于是针对参数检测, 一定会有干扰圆, 排除干扰圆后可得到瞳孔圆。

(1) 利用微积分投影对人眼粗略定位

(2) 在一级粗略定位人眼区域后, 采用Hough变换检测瞳孔圆,

(3) 人眼瞳孔圆筛选

对目标图像中的圆依次检测, 计算第i个圆的目标函数, 其中w=0.5, 为周像素点总数, 为圆周像素点梯度和, 为圆内像素点个数, 为圆内灰度值的和, 使目标函数最大的两个圆为人眼的两个瞳孔圆。

4 仿真实验结果

实验采用了网络下载人脸库 (100副) 。通过150次测试, 识别准确率92%。如图2a存在眼镜的遮挡及眼镜的反光, 并且双眼不在一水平线上, 通过本文二级定位准确的定位了人眼瞳孔;如图2b光照较强在一级微积分定位范围较大的情况下通过二级Hough变换进行准确的定位;

5 结论

本文采用了改进后的积分投影法和Hough圆检测的二级人眼定位方法, 实验仿真结果表明本文采用的算法有较好的适应性和抗干扰性, 在积分投影的基础上结合了微分投影法针提高了对光照的变化的适应性, 在一级人眼粗略定位后, 采用Hough变换检测眼瞳孔圆提高了人眼瞳孔检测精确定位的准确率, 针对障碍物遮挡 (如眼镜) , 双眼不在同一水平线, 眼球部分被覆盖等情况有较高的定位效果。

摘要:提出一种二级定位人眼方法, 第一级进行粗略人眼定位, 积分投影函数具有易于提取特征但精度不高并且抗干扰能力弱的特点, 结合微分投影函数对灰度变化率识别度高的优点, 提出了积分函数和微分函数相结合的微积分投影函数。微积分投影函数进行粗略人眼定位后, 利用Hough圆检测有很好的容错性和鲁棒性的特点采用Hough圆检测对人眼瞳孔圆检测, 通过MATLAB平台进行实验。实验表明采用改进后的积分投影函数和Hough圆检测针对干扰物 (如眼镜) , 光照变化较强有很强的抗干扰性和定位的准确性。

关键词:积分投影,微分投影,微积分投影,Hough变换

参考文献

[1]李云峰, 杨益, 田俊香.人脸识别的研究进展与发展方向[J].科技资讯, 2008 (05) .

[2]R.Wildes.Iris recognition:an emerging biometric technology.Proceedings of IEEE.1997.

[3]吕晓琪, 张宝华.符合人眼视觉特性的医学图像融合算法[J].计算机应用研究, 2006 (03) .

一种基于积分投影的人眼定位算法 篇3

人脸识别技术在模式识别领域中占据着举足轻重的地位。在人脸的各个部位中,人眼图像通常呈现最为明显的灰度变化。而且,人眼作为人类面部中实现了高度恒稳的性状特征,可以用于帮助定位人脸、识别人脸表情变化等。因此,人眼的精确定位对于有效提升人脸识别率也必将有着积极重要的现实影响与意义。

迄今为止,国内外的专家学者提出了许多人眼定位的方法。其中,颇具代表性的方法主要有:Reinders等采用神经网络和眼睛的微特性来定位人脸特征[1];Zhu等利用积分图像找到瞳孔候选点,然后使用SVN展开性能校验;Liu等根据眼睛虹膜的几何特点检测人眼,再按一定规则设计配对,其后再通过神经网络进行结果校验;Bala等提出基于遗传算法和决策树来支持研究眼睛定位[2];Feng等人又提出了一种多线索的眼睛定位方法[3];Huang等人则利用SVN得到了人脸的姿态和人眼的位置[4];此外,还有王守觉等根据几何复杂度得到了快速人眼定位法;Zhang等人即通过Hough变换在提取的基础上使用圆检测算法来达到定位眼睛虹膜的目的。

综上所述可知,目前已成功研发的各类的人眼定位算法都表现出较大的运算量,有的算法实现起来比较困难,有的算法对人脸图像的旋转、平移和尺度变化非常敏感,从而将直接导致算法效率的降低[5]。

在此基础上,进一步研究发现,投影则是获得图像特征的一种有效方法,因其能够降低图像维数,对于分析图像特征将提供明显的研究方便,因此投影方法已然多次用于人脸特征提取及人脸定位开发应用中。早期,Kanade曾使用积分投影法用于识别人的脸部特征,之后Brunelli和Poggio又对其引入了改进,通过利用积分投影法对人脸图像进行边界分析,以此确定人脸的具体实际位置[6]。

为此,本文随即提出一种基于积分投影的人眼定位算法。该算法首先根据脸部肤色分割出人脸区域,然后再用积分投影函数定位人眼。实验表明,该算法能比较准确地识别出人眼区域并进行定位,且计算量小、处理速度较快、鲁棒性也较好。

1 基于积分投影的人眼定位算法

1.1 积分投影函数

设I(x,y)表示点(x,y)处的像素灰度值,在区间[x1,x2]和[y1,y2]上的水平积分投影函数和垂直积分投影函数分别表示为[7]:

同时,研究提出平均积分投影函数的数学形式表述可如下所示:

1.2 根据肤色分割框选人脸区域

准确定位眼部区域需要首先实现人脸区域框选。框选人脸前需要对图像进行肤色分割,然后根据人脸的形态学特点,并结合眼部区域在人脸中的大概位置,粗略框选出包含眼睛区域的人脸部分。本算法在重点分析了Jain等人的研究结果后可知,在YCbCr色彩空间上设计使用了非线性分段变换后,人脸肤色的聚类区域可近似表示成一个椭圆[8]:

且满足下列条件:

在式(6)中,Cb和Cr为图像经过非线性分段变换后的蓝色分量和红色分量。并且,Cx=109.38,Cy=152.02,θ=2.53 rad,e Cx=1.6,e Cy=2.41,b=14.03。

肤色分割后,将会进入对人脸区域框选研究。方法如下:

首先,垂直扫描人脸图像,通过白色像素点的显像和消失可以快速得到人脸区域在YCbCr色彩空间上x轴的起止坐标。然后,水平扫描人脸图像,统计出每行像素中白色像素的个数。水平扫描刚开始时,可以发现几乎全为黑色像素点,随着扫描逐步进行,白色像素点则陆续出现,此现象表明已经扫描到了人脸的边缘部分,继续扫描发现白色像素点越来越多。直至扫描到眉毛区域,此时白色像素点急剧减少,眉毛区域扫描结束后,可得到该区域在YCbCr色彩空间上的y轴起止坐标。当最终停止扫描后,根据y轴起止坐标以及由x轴起止坐标得到的水平距离的一半进行人脸框选。

该方法能够避免扫描大量的非肤色部分,不仅降低了运算量,有效简化了眼睛定位的设计操作,而且也提高了眼睛定位的准确率,从而获得了优势运行速度与运算效率。

1.3 眼球定位

眼睛区域的图像有2个特点:该区域比其周边的区域要暗,因此对应的灰度值相对较低;该区域的灰度值范围变化较大。所以研究中可以利用积分投影和微分投影来定位眼睛。对于框选出的眉眼区域,可直接对其进行水平积分投影,投影曲线如图1所示。该曲线明确清晰地显示出2个波谷,这是该曲线的2个最小值。通过分析眉毛和眼睛的相对位置,可以判断出第二个波谷的位置就是眼睛的垂直位置。

眉眼区域的水平积分投影结果能有效去除眉毛的干扰。假设图1中的眼睛垂直坐标为y,在人脸图像中以y为中心选取一块区域,所选区域宽度最好不包含眉毛部分,则眼睛对应着人脸中心对称轴两侧对称的2块低灰度圆形区域。对条形区域作垂直积分投影得到归一化后的曲线如图2所示。从图2可以看出,人脸中心对称轴两侧出现了2个对称的y值最小点,分别对应于左右眼球的中心位置。因此根据垂直积分投影曲线,从中心分别向左右搜索最小值即可准确定位并得到眼球中心的水平坐标值。

2 实验结果与分析

为验证该算法的有效性,测试中选用了英国剑桥大学Olivetti研究中心的人脸图像库,简称ORL图库。该图库包含40个人,每个人有10张图像,分别对应不同的光照、姿态、表情,且图像中包括了正面、微侧、带眼镜等各种状态。通过对400幅人脸图像研发设计人眼定位实验,结果表明,与传统算法相比,该算法对图像具有平移、旋转的不变性,算法在眉眼区域的定位上大大减少了运算量,降低了复杂度,并且简单有效地排除了鼻子、嘴和脖颈等的影像干扰。同时,在眼球的定位上采取了分部进行水平积分投影和垂直积分投影的策略,这样即能更加精准地确定眼球的中心,该算法在实践中具有较好的现实可行性和较高的准确性。

3 结束语

本文论述了一种基于积分投影的人眼定位算法,该算法利用积分投影方法快速定位眼睛位置,能有效减少算法运算时间,提高人眼区域定位的精确性和鲁棒性。同时该算法也存在一定的局限性,有些情况甚至可能导致算法失效,如头发过长导致眼睛被遮挡住,头部旋转角度过大导致无法完全显示眉眼部位,光线过于昏暗导致人脸图像模糊等。这些问题也是后续工作中拟将进一步开展研究的方向和目标。

摘要:提出一种基于积分投影的人眼定位算法。该算法首先根据脸部肤色分割出人脸区域,然后再用积分投影函数定位人眼。实验表明,该算法能比较准确地识别出人眼区域并进行定位,且计算量小、处理速度较快、鲁棒性较好,该算法在实践中具有极大的可行性和较高的准确性。

关键词:人眼定位,积分投影,肤色分割,投影曲线

参考文献

[1]FENG G C,YUEN P C.Variance projection function and its application to eye detection for human face recognition[J].Pattern Recognition Letters,1998,19(9):899-906.

[2]HAFED Z M,LEVINE M D.Face recognition using the Discrete Cosine Transform[J].International Journal of Computer Vision,2001,43(3):167-188.

[3]BRUNELLI R,POGGIO T.Face recognition:Features versus templates[J].IEEE,Transactions on Pattern Analysis and Machine Intelligence,1993,15(10):1042-1052.

[4]张书真,宋海龙,向晓燕.基于肤色分割及特征定位的人脸检测算法研究[J].现代电子技术,2008,31(14):82-84.

[5]JAIN A K.Face detection in color images[J].IEEE Trans.on PAMI,2002,5:696-706.

[6]耿新,周志华,陈世福.基于混合投影函数的眼睛定位[J].软件学报,2003,14(8):1394-1400.

[7]付炜,孔祥栋.基于肤色和Adaboost算法的人脸检测[J].现代电子技术,2010,33(6):131-134.

人眼定位 篇4

疲劳驾驶检测与判断流程如图11。

人眼位置快速跟踪与定位,以及眼部状态的准确获取是基于人眼状态检测的疲劳检测系统的关键。目前人眼检测的主要方法有:统计法、灰度投影法、规则法、模板匹配法等;而眼部状态的判断依据则主要有眨眼频率、眼睛闭合时间、瞳孔变化情况等[4]。

本文提出了一种人眼快速定位与人眼状态检测与识别方法,构成一种快速疲劳驾驶检测与判断流程,能准确判断驾驶员的疲劳状态,为驾驶员提供准确的报警提醒信息。

1人眼定位

1.1脸部定位

首先通过CCD摄像头获得驾驶人员脸部图像,再对图像进行低通滤波处理并映射到YCb Cr颜色空间建立基于肤色的二维高斯数学模型,再对模型进行形态学处理,最后进行分析和处理实现人脸检测[5]。

1.2眼部定位

要将眼部特征从人脸图像中分离出来,首先要对图像二值化处理。图像二值化关键是阀值的选取,国内外学者对图像二值化进行了大量研究,本文采用最大类单间方差阀值分割法, 其主要思路是把图像直方图用某一灰度值分割成背景和目标, 分别计算二者的像素和灰度平均值,再计算它们的类间方差。 背景和目标之前的类间方差越大,说明构成图像的两部分差别越大,该灰度值就为图二值化处理的阀值[5]。

基于灰度积分投影的眼睛定位方法是常用的眼睛粗定位方法,设f (x,y) 为图像在 (x,y) 处的灰度值,则在 (y1,y2) 区域的水平积分投影为:

在 (x1,x2) 区域的垂直积分投影为:

阀值的选取以灰度直方图为基础,采用统计的方式自适应选取。通过阀值选择留下的像素点为眼睛区域,以K-means聚类演算法对眼睛区域做分群动作;具体动作如下[6]:

1) 设N(N>0)个聚类数目,初始聚类中心位置xi(0) ,其中i=1,2,…N。

2) 将训练资料依据它们与各个聚类中心的距离远近分配到最近的聚类中心。

3) 根据以下公式更新聚类中心位置:

式中:ci为所以被归类于第i个聚类的资料集合;

yj为属于ci的资料个数。

4) 如果maxi = 1,2,∙∙∙,N|| xi(n + 1)- xi(n) ||< ε

5) ( ε 为事先给定的正实数),或者资料的归属于前一次迭代过程相同,或迭代次数超过某一上限,则停止运算,否则回到2)继续迭代运算。

2人眼状态检测与识别

2.1人眼状态检测

人眼状态的检测是判断是否疲劳驾驶的关键,本文采用基于PERCLOS(percentage of eyelid closure)方法检测眼睛状态, 以此作为判断是否疲劳驾驶的依据。

PERCLOS为眼睛闭合程度超过某一阈值的时间占总时间的百分比[5]。其原理图如图4所示。

图4中,t1为第一次从眼睛完全睁开到眼睛闭合20%的时间;t2为第一次从眼睛完全睁开到眼睛闭合80%的时间;t3为第一次从眼睛完全睁开到第二次眼睛睁开20%的时间;t4为第一次从眼睛完全睁开到第二次眼睛睁开80%的时间。

2.2状态识别

通过测量t1- t4的时间可计算出PERCLOS值p80;

PERCLOS对一次眼睛闭合过程进行判断,在视频序列检测中,一般以帧为单位,所以计算公式可转化为:

P80测量方式以眼睛闭合超过80%的时间占总时间的比例为驾驶疲劳判断标准。本文对驾驶员疲劳状态进行了两级分类处理,当PERCLOS值p80> 15% 时,为一级疲劳状态,认识驾驶员处于初级疲劳驾驶状态,此时报警系统给出相关指令,做出声光报警,提醒驾驶员是处理疲劳驾驶状态,驾驶员可以自身情况自行选择是否休息;当PERCLOS值p80> 50% ,为二级疲劳状态,认为驾驶员处于严重疲劳状态,在做出声光报警的同时报警系统对车辆驾驶状态进行自动干预,提示驾驶员系统将10分钟后自动逐渐关闭油路,以强迫驾驶员停车休息。

3结论

人眼定位 篇5

人眼定位是人脸识别的重要环节,同时人眼也包含了诸如表情、疲劳状态、心理状态等重要的信息,有效地提取人眼特征有重要的意义。因此人眼定位在交通监视、疲劳检测、表情识别、身分认证、人机交互等领域有着广泛的应用。

目前应用较为广泛的是基于几何学[1,2]和基于红眼效应的算法。本文中在人脸定位的基础上综合了图像增强、水平灰度投影及区域特征实现快速有效的人眼定位。

本文所有的处理都是基于三个图像库:Yale人脸库,中科院CAS-PEAL人脸数据库以及自建库。

2 人脸定位

本文使用adaboost算法[3,4,5]实现快速人脸定位,整个检测过程分为三个部分:图像预处理,载入分类器和人脸检测。

定位准确率达100%,每幅图象检测时间8m。

3 人眼检测

本文中人眼定位算法综合了图像增强、水平灰度投影及区域特征。图3为系统设计中人眼定位的流程图。整个流程分为三个部分:1)图像预处理。首先在人脸检测获得标识人脸矩形的基础上根据人眼睛在脸部的分布位置进一步缩小图像中的检测范围,对缩减检测范围后的图像进行局部增强和直方图均衡;2)使用水平积分投影定位眼睛的纵坐标[6,7,8];3)在图像缩小到以眼睛纵坐标为中心轴的局部区域的基础上,采用边缘检测、膨胀边缘区域、连通性分析计算出眼睛区域的横坐标,最后在原图像上用白色小矩形框标识出人眼的位置。下面就对这种方法进行详细介绍。

3.1 图像预处理

3.1.1 缩小定位范围

在定位好的人脸图像中,人脸用一个白色矩形标记出来,将这个矩形记为R,将图像中眼睛的搜索范围缩小到距矩形R顶部1/8矩形高度处,距矩形R底部1/2矩形高度处的一个矩形中,将这个新得到的矩形记为R’,用黑色矩形框标出了检测区域,在各种情况下均包含了人眼区域,如图4所示。这项处理确定了人眼搜索的图像区域,对后续处理有两个好处:1)缩小了待处理的图像尺寸,减少了图像处理的时间;2)除去了图像中会对人眼检测造成影响的一些因素,因为投影方法对光照比较敏感,缩小了检测范围后,必然会消除一定影响。

3.1.2 图像增强

图像的增强主要分为空域增强和频域增强,本文所使用的算法为空域增强。系统在实际处理时,首先采用了局部增强的方法。令图5(a)为原始图像I1,首先对图像I1进行线性均值平滑滤波。线性均值平滑滤波用滤波掩模确定领域内像素的平均灰度值代替图像中每个像素点的值,我们采用的掩模尺寸为5×5。线性均值平滑滤波处理能够减小图像灰度的“尖锐”变化。经过线性均值平滑滤波得到的图像计为IM。令I1中的像素的灰度值为orig,IM中的像素的灰度值为mean,用下式计算得到增强图像的IE的像素灰度值res:

这样的做法使得图像中对比度大的区域到的增益很大,而对比度小的地放灰度基本不变。换句话说也就是可以对高频区域进行增强。如图5(b)。

接下来对图像进行直方图均衡,图6是处理结果。

3.2 计算眼睛纵坐标

图像预处理后,可以计算眼睛的纵坐标。本文中在定位人眼纵坐标时采用了水平积分投影函数[7,8]。如图所示,水平灰度投影基本上呈现出一致的规律,出现两个波谷,波谷的谷点位置自上而下分别代表了眉毛区域和眼睛区域的水平投影中心。无论是睁眼图像还是闭眼图像,投影曲线中最下的一个谷对应于眼睛的水平位置。

当被测对象有较重的眼袋时,投影中最下方会出现幅度较小的波谷,如图8(a)所示。为避免检测错误,完整的判定方法如下:首先计算水平积分投影;设定波谷幅度的最小阈值;在积分投影图中从下向上搜索,第一个波谷幅度大于设定阈值的波谷作为眼睛的纵坐标,结果如图8(b)所示。

3.3 计算眼睛横坐标

水平积分灰度投影计算的是眼睛的水平坐标,经过水平积分灰度投影分析,可以让两只眼睛或者一只眼睛出现在定位眼睛的矩形框中。如果在这个矩形框中直接进行垂直灰度投影来定位眼睛横坐标,不能取得好的定位效果,其原因是:1)当光线分布不均匀时,积分灰度投影曲线不规则,无法从曲线中提取有效的信息;2)当人眼为闭合状态时,积分眼睛区域在灰度投影曲线的投影段中没有波谷出现。本文提出了一种方法,首先计算眼睛矩形区域内的边缘图像,将边缘图进行阈值分割,把分割的区域进行膨胀处理,通过连通性分析并进行筛选后得到两个眼睛的区域,最后分别求出左右两个眼部区域的中心。

3.3.1 采用Sobel算子进行边缘检测

Sobel算子[9]对图像先作加权平均然后再求微分,它的水平和垂直分量的模板分别为:

其中v和h分别代表水平分量模版和垂直分量模板,进而求出边缘图像。

3.3.2 对边缘区域进行膨胀处理

对一幅二值图像的膨胀结果是将该图的所有前景区域都稍稍扩大之后的图像。再给出形式化表示:考虑两幅图像fA和fB,并且令A和B为有序对集,分别由fA和fB中各自的前景像素坐标构成。形式上,定义A关于B的膨胀运算为:

该运算等用于对所有的A的平移结果取并集,计算公式如下:

系统在实际处理中B采用了圆形结构元素,因为圆形模板在各个方向上都是对称的,能够完成一个形状一致的膨胀。圆形结构元素的尺寸(即圆半径)被定义为3.5个像素。在进行边缘区域膨胀之前需要将边缘图像二值化,然后提取出相应的边缘区域。进行膨胀处理后的边缘区域被扩大,边缘被平滑,区域中小于模板的空洞被闭合。

3.3.3 区域连通性分析

在计算机中实现连通性分析时使用了连通分量标号(connected component labeling)这一概念,首先定义一个“标号图像”,它是一种用符号对图像进行表示的方法,与原始图像同构,但每个像素都包含了它所属分量的序号。同理对于区域可以定义一个“标号区域”。生成标号图像,标号区域的一种算法为“区域增长法”。

“区域增长法”中的一种方法是递归式区域增长算法,该算法采用了一个下推堆栈来实现区域增长,下推堆栈可临时保存区中有关像素的坐标。

连通性分析后,可以得到若干个子区域,除了眼睛区域被选择出来以外,还有一些额外的连通区域也被选择出来。本文设定了以下判据对所有的子区域进行筛选:1)区域像素点个数是否大于300;2)区域长宽比是否大于1。

通过筛选的区域被认为是眼睛区域,区域的垂直中心坐标为眼睛中心的的横坐标。图9中为眼睛横坐定位的处理效果过程图。

在确定人眼横纵坐标后就可以准确地标出人眼的位置,如图10。

4 实验结果

我们选择其中姿态库中正常姿态(名为Normal),饰物库(不包含佩戴墨镜,名为Accessory)和光照(Lighting)等三个库进行算法性能评价。

CAS-PEAL人脸数据库共采集并整理了1,040位志愿者(其中595位男性,445位女性)的共99,450幅人脸图片。库中的所有图片分为姿态变化、表情变化、饰物变化、光照变化、背景变化、距离变化、时间跨度变化等7种变化模式子库,这7个变化模式中又以姿态(Pose)、表情(Expression)、饰物(Accessory)和光照(Lighting)4种变化为主(故简称为PEAL)。各个变化模式子库均可以与姿态变化子库进行组合,以满足研究工作中的不同要求。

结果如表1:

5 结束语

由于镜框造成的阴影及镜框本身颜色较深;帽沿造成的阴影;鼻子两侧比鼻子中间颜色要深;人脸姿势歪斜不正,这些原因造成了误检。但从总体上讲,再不考虑光照变化的情况下,该算发具有较好的定位效果。

人脸正面、侧脸、仰头低头、睁眼、闭眼均可以很好的定位到人眼。较单一使用灰度投影方法来定位人眼,这种方法受到光线影响较小,定位的准确性高。同时,这种方法也具有较高的检测速度,在配置CPU为3.0GHz,内存为2G的PC机上进行测试,眼睛定位的平均时间不超过6ms,因此该方法具有较好的实时性和准确率。

摘要:人眼定位在机器视觉中有广泛的应用,该文针对目前流行的基于灰度特征与几何学的算法提出了一种算法改进,采用灰度投影与区域特征相结合的算法实现了自动化人眼定位。利用水平积分灰度投影计算眼睛纵坐标,进一步利用区域特征确定眼睛横坐标,从而准确快速定位到人眼。

关键词:机器视觉,人眼定位,灰度投影,区域特征

参考文献

[1]毛敏峰,张星明,郭宇聪.一种基于规则的眼睛快速定位方法[J].计算机工程,2004,30(9):114-116.

[2]朱夏君,王勋,李必威.人脸识别中的眼睛定位[J].电路与系统学报,2007,12(2):98-100.

[3]Viola P.Rapid object detection using a Boosted cascade of simple features[C].Proc IEEE Conference on Computer Vision and Pattern Recognition,2001:511-518.

[4]Viola P,Jones M.Robust real time object detection Technical Report[R].CRL2001/01,Compaq Cambridge Research Laboratory,2001.

[5]Viola P,Jones M J.Robust Real-Time Face Detection[J].International Journal of Computer Vision,2004,57(2):137-154.

[6]Kanade T.Picture processing by computer complex and recognition of human faces[D].Kyoto:Kyoto University,1973.

[7]BrunelliPoggio T.Face recognition:Features versus templates[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1993,15(10):1042-1052.

[8]Feng G C,Yuen P C.Variance proection function and its application to eye detection for human face recognition[J].Pattern Recognition Letters,1998,19(9):899-906.

一种嵌入式实时人眼定位系统实现 篇6

随着物联网的发展,在终端设备上进行视频采集并分析引起了人们的广泛关注,而对视频中人眼的实时定位可以在多种应用中使用,例如智能视频监控设备和家庭及公司门禁系统中的人脸识别、疲劳驾驶检测系统中的人眼状态检测[1]、智能手机等都应用到了人眼定位技术。

人眼特征比较明显,本身具备对称性,使人眼定位易于实现,目前使用比较多且成熟的人眼定位技术主要有: 级联Adaboost检测算法[2]、AAM算法[3]和灰度积分投影算法[4]等。Adaboost算法特点是检测效果好,运算速度快,但是算法的输出结果仅仅有检测框的信息,在处理特征的精准定位上性能不好,因此对眼睛的定位还要进一步处理。AAM算法通过关键点的定位给出人脸各个器官的位置与形状,但是计算复杂度较高,难以在嵌入式系统上实时实现。积分投影算法具有计算量小以及尺度不变性等优点,但是一般依赖其他方法首先分割出眼睛区域,如果分割出的区域里包含眉毛或睫毛,眼睛定位结果会大受影响[4]。本文使用的相关滤波器能够根据期望输出来进行定义和设计,具有良好的准确率和实时性。在研究了相关滤波器的基础上,重点研究并改进了平均合成的精确滤波ASEF[5]的方法,并在嵌入式平台上设计实现。嵌入式系统具有成本低、功耗小、可移植操作系统、网络功能强大、扩展性强的优点。

1 人眼定位算法设计与实现

为了提高检测的准的率,分别对左眼和右眼进行训练以得到相应的滤波器。平均合成的精确滤波的原理如图1所示,以左眼为例,首先要计算得到每幅训练图像的精确滤波器。fi是训练集中的单幅人脸图像,gi表示期望预输出的图像,其中的亮点位置的像素值大于其他所有位置的像素值,即表示人左眼的位置,hi是fi的精确滤波器。通过hi对fi的卷积滤波可以获得期望输出的图像gi,检查该图像中像素最大值的坐标就是人眼的坐标。用一个中心点在( xi,yi) ,半径为σ的二维高斯分布图像来表示经过滤波得到的人眼图像gi,gi定义为:

根据卷积定理,两个二维连续函数在空间域中的卷积等于其相应的两个傅里叶变换乘积的反变换而求得。因此期望输出图像又可表示为:

式中,Fi、Hi分别是由fi、hi的二维傅里叶变换得到。在训练过程中,通过手工标注训练图像的人眼中心点( xi,yi) ,可以获得期望输出的图像gi( x,y) ,对其进行傅里叶变换得到Gi( w,v) 。根据函数公式:

式中,H*i是Hi的复共轭,可以求得每幅训练图像的精确滤波器:

通过式( 4) 所求得的精确滤波器hi只能在检测相对应的训练图像fi时能准确检测到人眼中心像素点( xi,yi) ,对于其他的训练图像则检测效果较低,不满足鲁棒性的要求。因此为了获得适应性强的通用人眼滤波器,需要对得到的N个hi滤波器求平均,以适应对不同的检测图像都能有较高的检测准确率的要求。由于傅里叶变换属于线性变换,求平均的过程可以在空间域进行也可以在频域进行,本文在频域取平均,即将式( 4) 求得的所有精确滤波器H*i进行求平均:

对H*μ求傅里叶反变换可以得到平均滤波器hμ,具有良好的稳定性。

通过上述过程可以看出,要得到稳定性强的平均滤波器需要训练大量的图像,使得训练时间较长,不适合在线训练。为了减少训练图像的数量,首先对式( 5) 进行了改进,分子分母同乘以Fi的复共轭F*i得到:

通过式( 6) 可以看出,分母变为一个实数,当分母接近0或训练的图像数量较少时,所求得的平均滤波器检测准确率较低。根据现有相关滤波器OTF( Optimal Tradeoff Filters)[6]和UMACE( Unconstrained Minimum Average Coleration Energy)[7]的构造原理,在分母上加上一个正则系数ε可以减少训练图像 的数量,并使平均 滤波器更 加稳定。如式( 7) 所示:

图2显示了是否增加正则系数ε对训练图像数量的影响。实验结果表明,增加正则系数后,在训练图像较少时依然可以取得较高的检测准确率。

在人眼定位过程中,将待检测的人脸图像和ASEF通过FFT变换后在频域进行互相关运算,如式( 3) 在频域的相关运算变成了简单的相乘计算。计算结果经过IFFT变化后只需要在输出图像中寻找像素值最大的点的坐标即可。计算过程主要为两次FFT变换和一次频域相关计算,非常简单,可以快速定位出人眼坐标。

2 嵌入式系统下实时人眼定位系统实现

2. 1 系统设计简介

系统采用嵌入式ARM11的微处理器S3C6410为主要硬件开发平台,稳定运行在667 MHz主频以上; 以Linux操作系统为软件开发平台,通过摄像头采集视频数据,图像大小为640像素×480像素,帧率为30 fps。通过ARM11的MPEG硬件编解码获取每帧图像,每帧视频图像经过预处理后,首先采用经典的Adaboost算法进行人脸检测以缩小人眼定位的检测范围,提高时间性能。然后在检测出的人脸区域中分别进行左眼和右眼的定位检测。本系统的设计流程如图3所示。

视频图像在采集过程中,受到环境噪声的干扰和光照不均匀的影响,导致了视频质量的下降。为了提高人脸检测的精度和速度,需要对原始图像进行预处理,采用了预处理方法有图像灰度变换、缩小图像尺寸、图像平滑、直方图均衡化等。Adaboost算法通过把大量分类能力一般的弱分类器通过一定的方法叠加起来,构成一个分类能力很强的强分类器[8,9,10],具有检测准确率高、实时性好的特点,非常适用于基于视频的动态人脸检测。ASEF算法也是基于由一系列弱分类器构建强分类器的思想产生的。

2. 2 实验测试及结果分析

通过在ARM11上移植Open CV开源视觉库,利用其提供的基本图像处理函数接口编程实现了改进了的ASEF算法。移植QT库编写了简洁的系统操作界面,实现了在线训练、在线单人和多人眼睛定位检测、拍照等功能。

系统在输入不同标准人脸库,使用ASEF算法的检测结果如图4所示。FERET标准人脸库由200个人,每人7幅图像组成; ORL标准人脸库由40个人,每个人10幅图像组成; Yale标准人脸库由15个人,每人11幅图像组成。检测结果表明该系统能适应多种姿态、有无眼镜、有无闭眼、多种肤色等条件。

表1显示了在不同的标准人脸库中的检测准确率和每幅图像的平均检测时间。

由于检测图像都是静态图像,检测准确率相对较高,检测准确率达到了98% 以上,表明该人眼定位系统具有良好的检测率。实验中每幅图像的检测用时在16 ms左右,满足实时性的要求。

图5显示了在ARM11上通过红外摄像头采集到的视频中进行人眼定位的部分检测结果,圆圈的中心点即眼睛的坐标。试验中请了47名同学在不同的环境条件下,通过对50 000视频帧进行测试。实验结果表明,该系统在光照变化、多姿态、有无眼镜等条件的变化下检测准确率仍然达到了97. 5% ,人眼检测平均耗时19. 4 ms,满足实时性的要求。

3 结束语

采用基于相关滤波器的原理重点研究和改进了平均合成的精确滤波器的算法,并成功将其应用到嵌入式平台中,试验结果表明该系统具有较高的检测准确率和实时性,鲁棒性强,达到了实验要求结果,并为以后功能的扩展,例如人脸识别中的姿态校正、疲劳驾驶检测中人眼状态检测等奠定了基础。

但是ASEF算法还有待改进的地方,文献[11]和文献[12]提出在人脸图像在外观、表情、姿态变化剧烈时,ASEF算法在性能上会有所下降,并各自提出了改进的方法。下一步改进的目标就是在保证实时性的同时,结合其他方法以提高本文设计的系统在多种环境的适应性。

摘要:眼睛的位置在视频图像处理过程中是一个很重要的信息。针对视频中实时人眼定位问题,提出了一种在嵌入式设备上实时运行的人眼定位系统。人眼定位算法采用改进了的平均合成的精确滤波算法(Average of Synthetic Exact Filters,ASEF),在构建稳定的平均滤波器的同时减少了训练图像的数量,使得在保证准确率的同时减少了训练时间。通过在ARM11上移植Open CV视觉库和QT实现了该系统的算法设计和界面设计。在多个标准人脸图像库和通过摄像头采集的视频流上进行的实验表明,该系统能够准确定位人眼,满足实时性的要求。

人眼定位 篇7

本文算法是在灰度积分投影基础上结合圆形标记法进行眼睛定位。该方法首先通过RGB空间肤色聚类分割算法对原始图像进行分割, 经过数学形态学开运算、人脸特征排除方法去掉类人脸区域和噪声干扰, 得到精确的人脸区域二值化图;然后将二值化图像填空处理后得到一张人脸掩膜并与原始灰度图像相乘, 根据亮度差值进行分割得到信息量最大化的五官图;最后在此五官图的基础上采用圆形标记法对人眼的定位进行了改进。实验结果表明, 该方法简单有效, 并能精确地实现人眼定位, 在复杂条件下有较好的适用性和鲁棒性。

1 算法实现

该算法采用的图片是在自然光状态下通过分辨率为320×480摄像头采集, 适用的人脸旋转角度水平两侧方向不大于20°, 垂直方向不大于10°, 并且人脸正面不能有遮挡, 例如彩色眼睛、面具等。

该方法主要分为三个步骤从原始图像中定位人眼:人脸检测、人眼定位预处理、人眼精确定位。

1.1 人脸检测

人脸的色彩信息与自然背景有很大的差异性, 这种差异性为区分人脸与背景区域提供了依据。利用色彩信息进行肤色分割的原理实际上就是对每一个像素点确定一个阈值, 根据阈值决定当前点是目标还是背景, 阈值的决定取决于目标物的特征。目前被广泛应用于肤色分割的色彩空间有RGB、YCbCr、YIQ、HSV、HIS、RGB等。其中RGB是归一化的RGB模型, 这种模型的优点在于, R、G、B三个分量满足完备性, 所以只需使用到 (R, G) 两个分量进行肤色分割, 这样实际上实现了降维, 降低了计算复杂度;又因为RGB模型对亮度较为敏感, 而亮度信息对颜色模型的构造是不重要的, 因此选用RGB颜色模型又可以很好地克服光照的影响[11]。

1.1.1 RGB模型的人脸检测

RGB模型肤色分割的实现, 实际上就是确定一个阈值范围, 在阈值范围内的像素点赋值为白色点, 阈值范围以外的赋值为黑色点, 这样处理的目的是简化运算, 突显有效信息, 过滤冗余信息。实现的步骤:首先是将自然光状态下的RGB图片归一化, 其转换公式为:

然后根据人脸肤色特征确定肤色阈值区间。肤色阈值区间的选取必须精确恰当, 范围大了会产生过多的噪声点, 增大识别难度, 范围小了可能使必要的信息缺失甚至识别失败。Mc Kenna等[12]在1996年通过对大量人脸肤色分布分析, 得到的分析结果表明在不同条件下人脸肤色分布情况基本一致, R、G的值大致落在区间[0.3, 0.5]、[0.2, 0.4]内, 在此基础上需要反复地实验和对比, 逐步缩小范围直到找出一个既包含完整人脸信息又能排除非人脸区域的区间。经过大量实验统计, 以下公式 (2) 能很好地将人脸区域和自然背景区分开来。

用这个归一化模型对自然光下的图片进行人脸分割, 得到的结果如图1所示。

1.1.2 数学形态学处理

如图1所示, 通过肤色分割后出现的白色区域定义为类人脸区域, 但是可以明显地发现图像中不仅有噪声的干扰, 还存在与肤色相近的物体, 也被划分成了人脸候选区域, 这些干扰因素必须进行一系列的图像处理。首先, 对图像中的类人脸区域进行开运算, 开运算就是对图像先腐蚀后膨胀, 其目的是平滑图像的轮廓, 削弱狭窄的部分, 去掉细长的突出、边缘毛刺和孤立斑点、断开目标物之间粘连, 而且可以基本保持目标尺寸大小不变[13]。这里开运算的主要目的是消除人脸区域以外不连接的较小区域, 用黑色填充起来;同时消除人脸区域内的噪声干扰。开运算的公式为:

通过数学形态学处理后, 得到图2, 可见图2中消除了噪声以及较小的不可能人脸区域干扰, 缩小了候选区域范围, 并且填补了人脸区域内较小的空洞, 为后续检测缩减了工作量, 提高了准确率。

1.1.3 几何特征筛选人脸

经过去噪处理后, 过滤了噪声以及其他较小不可能人脸区域的干扰。这里需要注意的是假如原始图像中存在较大面积的类人脸肤色区域, 例如真皮座椅、手臂等, 单纯的数学形态学处理很难彻底排除。针对这些区域的排除需要进一步通过分析与计算, 本文采用以下三个几何特征对图像进行筛选:

首先, 判断连通区域的长宽比。人脸区域的长宽比满足一定比例, 通过对人脸图像的统计, 人脸的长宽比在0.8~1.8 (其中包含秃顶的情况以及脖子区域) , 利用该比例范围可以排除过于狭长或是横向长度明显过长的区域。

其次, 判断连通区域面积占连通区域外接矩形面积比。人脸区域是一个类似椭圆形, 人脸以及脖子区域所占整个最小外接矩形的面积比应该大于1/2 (这样可以排除一些不规则但和皮肤色调接近的物体, 同时也可以排除一些人体的其他区域) 。如果小于这个值则可以判断为不规则图形。

最后, 连通区域的像素点个数应该大于20×20, 否则这一像素的区域则无法识别。所以当连通区域小于这个值时也应当排除掉[14]。

经过上面的处理后得到图2, 可以看出基本排除了非人脸区域的干扰。

1.2 人眼定位预处理

肤色建模后, 人脸的大致区域已经确定, 并且排除了背景图像的干扰, 但经过形态学处理后的人脸五官信息量并不完整。为了得到最优化的五官图像, 增强定位的可靠性, 本文利用眼睛、眉毛、嘴与肤色的亮度差进行分割。首先, 先把人脸区域进行填空处理, 就是将人脸区域内的所有黑色块填充为白色, 得到一个连通无空洞的人脸掩膜如图3 (a) , 这是一个最大化的人脸模子;然后, 将这个模子与原始图像的灰度图相乘, 得到一张只有人脸的灰度图像3 (b) ;最后, 根据五官与肤色的量度差, 对图像进行二值化处理, 得到一张信息量精确完整的二值化人脸五官图3 (c) 。经过大量实验和统计, 这里亮度分量Y的阈值定为71。

经过上述识别处理后, 基本实现了人脸信息最大最优化, 从图3 (c) 可以看出, 除了人脸区域外, 其余的背景区域已经定义为黑色, 没有了保留价值。接下来的处理方式就是为了尽可能缩小人眼的搜索区域去除冗余的信息, 这也是进行精确人眼定位的最后一步预处理。

首先, 画出人脸区域的最小外接矩形框, 然后沿着矩形框把这部分裁剪出来;然后将裁剪出来的图像进行黑白反转, 这样做的目的是让五官以及接近于人眼亮度值的区域成为有效目标, 其余肤色区域成为背景, 这里需要注意的是, 翻转后的图像, 除了五官以及接近于人眼亮度值的区域成为白色外, 矩形框内人脸外的区域也变成了白色, 为了使矩形框内人脸以外的这小部分区域也变成黑色背景。需要用初步反转后的图像和图3 (a) 相乘, 这样可以使人脸外的无效区域也转换成黑色的背景。相乘公式如下:

这样就得到了投影前的最终预处理图3 (d) 。

1.3 积分投影定位算法

经过上述处理后, 人脸特征点如眉毛、眼睛、鼻子、嘴巴等被明显地分割出来, 现在就可以对二值化图像进行积分投影。实现算法的具体步骤:分别对该二值化图像进行垂直和水平方向的归一化积分投影, 根据积分投影原理, 在眼睛、眉毛、鼻子和嘴区域对应着投影曲线的极值点, 结合两个方向极值点确定眼睛的位置。图3 (d) 进行水平积分投影和垂直积分投影结果如图4所示。

上面三幅图中, 图4 (a) 为水平方向投影曲线, 图4 (b) 为垂直方向投影曲线。从水平投影中可以明显地分辨出眉毛和眼睛的水平坐标, 垂直投影中两眼中心的垂直坐标也较清晰, 最后通过水平线和垂直线的交点得到眼睛的位置图4 (c) 。

但是通过积分投影原理得到眼睛的位置仍然存在一些不足之处。例如检测目标的眉毛粗浓, 而眼睛又大, 两者的投影曲线有可能重叠, 最后得到的人眼位置包含眉毛区域, 从而影响最后检测结果, 如图5所示。

图5可以看出直接用积分投影方法进行人眼定位的准确性并不是十分理想。本文为了提高算法识别的鲁棒性和准确性, 在积分投影基础上提出一种改进方法。

1.4 改进的圆形标记人眼定位法

本文定位人眼算法的设想是利用积分投影之前已经得到的若干数目空洞的图像, 通过直观快速的方法排除其他非人眼空洞, 最后分离出正确的人眼对。实现以上算法可以依据人眼位置特征、形状特征、对称参数等要素, 这里采用的方法是融合上述几种特征完成的人眼精确定位, 暂定为圆形标记法。

圆形标记法定义:

首先, 在二值化图的基础上求出各个已知连通区域面积 (即各个空洞面积) 、质心坐标;并以这个质心为圆心, 连通区域面积作为圆型的面积画圆, 得到与原始图像的连通区域有相同个数圆的图像。

把图5 (a) 进行本文1.2节以上的全部预处理后, 确定人眼位置条件如下:

Step1:人眼的高度范围应该在人脸的中上部, 也就是在整个矩形图像的高度1/5~1/3之间, 这里取的高度范围是1/5~1/2, (范围较大的原因是考虑到秃顶的情况, 假如目标是秃顶, 则人眼高度所占比例自然下移) , 可以得到图6 (a) 。

Step2:本文讨论的情况是正常人脸倾斜条件下即左右上下偏转不大于20°。在此约束条件下两眼质心连线与水平方向的夹角应该小于等于15°[15]。然后具体做法是依次从左上方第一个质心开始搜索, 如果与任意质心连线和水平方向夹角大于15°, 则排除, 直到找到满足条件的两个圆为止。

Step3:正常偏转条件下, 两眼连线的长度所占人脸宽度比是满足一定比例的, 通过反复实验统计, 得到两眼中心距离所占人脸横向最大宽度的0.29~0.48。因为本文前期的工作中已经得到了最小外接矩形框, 所以可以把矩形框宽度近似为人脸横向宽度。

对图5 (a) 进行以上三个条件的筛选, 可以得到如图6 (b) 。

用这对空洞与原始灰度图像相乘得到了人眼对如图6 (c) , 最后对图6 (b) 做归一化积分投影, 分别得到水平积分投影曲线图6 (d) 和垂直积分投影曲线图6 (e) , 根据垂直和水平投影曲线的交点可以得到人眼的准确位置如图6 (f) 。圆形标记法不仅适用于浓眉大眼目标的检测, 而且还适用于人脸上有深色胎记和疤痕的眼睛定位。

2 实验与结果

在电脑笔记本上设计一个人眼定位仿真系统, 硬件系统采用第2代英特尔酷睿i5-2.4 GHz处理器, 内存2 GB, 软件在Matlab平台上进行, 采用的图片是在自然光状态下通过分辨率为320×480摄像头采集的20幅人脸图片, 人脸旋转角度水平两侧方向不大于20°, 垂直方向不大于10°, 并且人脸正面不能有遮挡, 例如彩色眼睛、面具等。

2.1 实验步骤

20幅人脸测试图片分别进行以下实验步骤:

(1) 首先将图像肤色分割, 接下来对图像进行形态学处理、几何特征筛选。

(2) 对图像进行人眼定位预处理, 得到有效目标空洞。

(3) 运用圆形标记法进行人眼定位, 结合投影曲线得到精确的眼睛位置。

2.2 实验结果

本文选取的20幅图像是在自然光条件下摄像头采取的, 通过实验, 结果如表1所示。

表1中, 本文的算法相对单独传统积分投影方法处理速度较长, 但准确率有显著提高。实验结果如图7所示。

3 结束语

上一篇:运动仿真下一篇:教学实效性