APP下载

基于积分投影与灰度复杂度的人脸特征定位算法

2012-07-25邱鹏瑞

微型电脑应用 2012年7期
关键词:人眼肤色复杂度

邱鹏瑞

0 引言

人脸识别是当前人工智能与模式识别领域一个重要的研究课题,人脸识别已被广泛应用于视频监控、身份验证、医学分析、多媒体数据库档案管理、视频会议、考场管理等很多方面。人脸识别包括人脸特征定位提取与人脸识别两个技术环节,人脸特征定位提取指的是从图像中检测到人脸、准确定位其位置并从图像中将人脸特征提取分割的过程;人脸识别则是对分割出来的人脸区域进行匹配识别完成对人物身份信息的比对查找,以及判定个体的特定身份等[1][2]。一直以来人脸识别得到了广泛和深入的研究,但对于人脸特征提取与定位研究得比较少,人脸特征提取与定位是一个困难而有意义的问题,对这个问题的研究不仅给人脸识别研究带来很大的推动作用,也从方法论的角度促进模式识别、人工智能等计算机科学分支乃至整个计算机科学的发展[3][4]。

本文提出基于肤色建模、积分投影、灰度几何结构的面部器官定位算法。该算法对背景、尺寸等细节具有很好的适应性,定位效率高,在人脸检测特征定位与提取方面具有良好的应用价值。

1 人脸区域粗定位

1.1 YCbCr肤色模型检测肤色区域

本文采用由Rein Lien Hsu提出的基于YCbCr 空间加入亮度补偿的肤色模型,该模型采用肤色库中大量的肤色标准来训练系统,得到一个肤色中心点位置,然后对比考察的像素与该肤色中心点的距离得到一个相似度,每个像素都有一个相似度,最后得到待检图像的相似度分布空间[5][6]。Rein Lien Hsu 通过研究发现肤色区域的形状由Cb、Cr 和Y 的取值决定,由此建立该肤色模型由公式(1)、(2)

对 MIT 人脸库图像进行数据计算,得到各个参数取值,其中 cx=109.38,cy=152.02,θ=2.53(弧度),ecx=1.60,ecy=2.41,a=25.39,b=14.03,以上各值皆由 Cb’-Cr’空间的肤色聚集区域计算得到。

1.2 基于区域特征的人脸区域提取

通过肤色分割获得肤色区域后,对人脸的几何特征进行分析,通过人脸比例、大小结构特性判断二值化图中的目标区域是否为人脸从而可以排除非人脸区域[7]。

1.2.1 基于区域填充率的方法

对于肤色分割后得到的二值化连通区域,使用该连通区域的像素数与其外接矩形的像素数之比来表示这个区域的空间属性。假设S为目标区域的像素数,S’为外接矩形的像素数,若0.45

1.2.2 基于区域长宽比满足黄金分割的方法

根据人脸固有的几何特征,人脸区域的长宽比应在稳定阈值内,因此可以利用待选区域的长宽比对人脸进行初步检测。通过对待检区域的长短轴比例分析可以将细长区域和圆形区域区分开来。研究表明,理想人脸的长宽比满足黄金分割比例,即根据实验结果分析,本文将区域的长短轴比例ratio大于0.5小于2.5的区域视为人脸区域。实验结果,如图1(a)和(b)所示:

图1 (a)候选区域,(b)黄金分割方法

2 积分投影定位眼睛和嘴巴

通过上述步骤系统基本可以得到人脸区域,接着对人脸区域垂直和水平两个方向分别进行灰度值累加统计,即利用灰度积分投影的方法分析得到具有强灰度值的区域中心点并确定区域边界。设区域大小为 m*n,各点像素灰度值为g(x,y),积分投影函数为:

其中Py(x)是对第x列的所有像素点的灰度值投影,Px(y)是对第y行的所有像素点的灰度值投影,第n列的垂直投影值为Pv,第m行的水平投影值为Ph。考虑到人脸部器官在垂直投影位置上有重叠,因此在垂直投影时需要针对眼鼻嘴的特定区域进行投影。

通过对面部区域水平投影可以得到眼睛、眉毛和嘴唇上下区域边界。然后分别对眼睛、眉毛和嘴唇各自边界内的几行象素进行垂直投影可以确定其左右边界位置。再通过组合就可以得到眼眉、嘴区域的上下边界和左右边界最终确定面部各个特征的矩形区域位置。

实验中对人脸区域进行积分投影统计后在投影曲线上大于峰值1/2的点赋值1,其余点赋值0,这样眼眉、嘴的区域段将被很好的凸现出来,有时面部器官由于个体差异导致凸显的区域段之间会有小的断裂,如果断裂的区域段间距小于十分之一的人脸长度则进行合并。同时考虑眼眉区域定位特点,对眼睛上方区域即眉毛区域不进一步处理。接着在已经确定的眼、嘴特征的水平投影区域内,进行垂直投影,分别累加区域内的每列象素。例如得到的水平投影的眼睛纵坐标范围在第20行到第30行之间,则仅对第20行到第30行之间的每列象素进行垂直投影。同样通过与水平投影相同的方法就可以得到眼、嘴特征区域的横坐标范围。按照“三庭五眼”规则,如果垂直投影的区域段间距小于十分之一脸宽(椭圆的短轴)则将其进行合并。实验结果,如图2所示:

图2 积分投影(a)处理图片,(b)积分投影

积分投影方法能够对人脸特征进行快速定位,但最大的缺陷在于如果采集的人脸区域是倾斜的,会导致人脸特征在积分投影坐标系中不再保持水平和垂直,那么对其使用积分投影确定位置也就失去意义[8]。对人脸区域倾斜的判断可比对眼睛和眉毛的区域在进行水平投影后是否合并到一起。如果投影区域合并到了一起无法区分眼睛眉毛区域,则表示有倾斜,还需采用针对人脸发生倾斜的方法精确定位人脸特征。

3 融合几何结构与灰度复杂度的人眼定位

在人脸器官中,眼睛是相对较为稳定的特征,因为人眼受光照或表情变化的影响最小且瞳孔间的连线,具有随人脸的偏转而发生角度变化特点,瞳孔连线可以作为人脸倾斜的依据。如果能够精确定位双眼位置,则可以大大简化人脸特征检测的难度。

规则如下:

(1)提取人脸局部区域。根据人脸器官分布几何结构特点,选取人脸区域高度的1/3到4/5作为研究对象。按照生理学知识,未成年人眼睛距离下巴大概在头高一半的位置,随着年龄增长,眼睛与下巴的距离在整个头高中所占的比例有所增加,考虑个体差异,有宽扁、瘦长等各种脸形,一般不可能超过头高的3/4,同时考虑到肤色分割不不完全的脖子区域可能导致局部脸的图像受到影响,使得眼睛与下巴距离在整个头高中所占比例变大,即便如此,眼睛与下巴距离也不可能超过整个人脸区域高度的4/5。另外,考虑到个体差异,如额头较高或者光头,会倒是眼睛相对于整个人脸的位置偏下,所以把眼睛搜索区域的下边界定为人脸图像高度的三分之一位置是合理的,这样既避免脖子和头发带来的影响,又缩小检索区域,提高了效率。

(2)确定眼睛灰度阈值。由于受光照影响,人脸区域灰度值与眼睛灰度的对比度有大有小。为了减少光照的影响,对局部脸进行平均灰度计算得到平均灰度G,由于瞳孔比皮肤黑很多,再用G减去一个适当的灰度值H就可以得到眼睛灰度的大致范围0~E(E=G-H)。

(3)局部区域搜索眼睛。在局部区域中用 a×a的方框进行平移搜索。对方框中所有灰度值小于阈值 E的点进行计数,当计数值大于一定的值(0.8×a×a),即黑点占到方框80%以上则记录下方框所在的位置,并确定为候选眼睛区域。由于提取人脸区域存在误差,比如可能还有紧挨着眼睛的眉毛部分,或者有一些残留的发迹,这样导致候选眼睛区域可能不只两个,还需对数据进一步处理。考虑到眉毛和发迹的位置一般都在眼睛之上的特点,取局部脸的中心,计算候选眼睛区域与局部脸中心的距离,距离小于阈值的数据就确定为眼睛区域。

(4)灰度复杂度精确定位人眼。人眼一个重要特征是眼白和瞳孔的灰度值具有突变性,即眼白的灰度值较低,而瞳孔灰度值较高。根据人眼灰度变化的明显特征,通过对候选人眼区域进行灰度复杂度计算可以精确定位人眼。根据人眼特征,把 a×a的候选人眼区域进行扩展为 m 行 n列(m=a,n=2*a),则图像块的灰度分布复杂度Comp (g)的计算公式由式(7)定义

式中,min(j, n-j)为权值,离图像中心越近权值越大,Gij为图像块第i行第j列像素点的灰度值。Comp(g)为图像块灰度值的横向一阶加权导数,实验表面,这种定义符合人眼复杂度的计算。根据人眼灰度值突变的特性,通过计算候选眼睛块的灰度复杂度,找出复杂度最大的眼睛块即为检测目标。找到眼睛块后可对眼睛块中心连线进行角度对比,并做对人脸旋转校正。最后再对旋转校正后的人脸进行积分投影定位嘴巴的位置。实验结果,如图3(a.b.c)所示:

4 结语

本章在肤色分割和基于区域特征人脸区域提取的基础上,通过人脸器官分布特点,采用积分投影与人眼灰度复杂度相结合的方法定位人眼和嘴唇,最终实现人脸器官快速定位。试验表明,该算法是有效的。

[1]梁路宏,艾海舟,徐光佑等,人脸检测研究综述,[j]计算机学报,2002,25(5):449-458.

[2]王科俊,姚向辉.人脸图像检测与识别方法综述.[j]自动化技术与应用.2004(12):5-8

[3]李刚,高政,人脸自动识别方法综述[J].计算机应用研究,2003:20(8):4-9.

[4]周杰,卢春雨,张民水等.人脸自动识别方法综述.[j]电子学报,2000,28(4):102-106.

[5]周德龙,张晓华,刘博等.JDL大规模人脸图像数据库介绍[J].生物识别研究新进展[C].北京:清华人学出版社,2003,118-120.

[6]Hsu Rein Lein. Face detection in color images[J].Pattern Analysis and Machine Intelligence,2002,24(5).

[7]周敬利,王志强,陈加忠,余胜生.基于肤色分割、区域分析和模板分布的人脸检测研究[J].计算机工程与应用,2004,Vol.21(5):16-18.

[8]邱鹏瑞.基于肤色模型与灰度复杂度的人脸检测研究[D].云南师范大学,2008.

猜你喜欢

人眼肤色复杂度
肤色(外一首)
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
人眼X光
一种低复杂度的惯性/GNSS矢量深组合方法
人眼为什么能看到虚像
求图上广探树的时间复杂度
闪瞎人眼的,还有唇
看人,星光璀璨缭人眼