基于遗传算法的人脸识别系统设计
2010-01-08倪红霞朱启伟
倪红霞,朱启伟
(杭州电子科技大学自动化学院,浙江杭州310018)
基于遗传算法的人脸识别系统设计
倪红霞,朱启伟
(杭州电子科技大学自动化学院,浙江杭州310018)
该文设计了一套基于遗传算法的人脸识别系统,整个系统包括人脸检测与定位阶段,该文采用垂直灰度积分投影算法确定了人脸左右边界,采用基于Hough变换的圆检测算法定位了眼睛中心,然后利用小范围水平灰度积分投影法确定了嘴巴中心,最后利用方框锁定、局部搜索法确定了眼角和嘴角。特征提取阶段,该文在特征矢量的质量与数量两方面做了权衡,保证了系统的运行速度。人脸识别阶段,该文采用了根据遗传学而演化的一种高精度、高搜索度算法——遗传算法训练并确定了识别系统的权重与阈值,提高了识别系统的速度与精度。在系统设计中,该文选用了两个人脸数据库共计180幅图像用于训练与检测,该系统在实验中识别正确率可达95%以上。
人脸识别;遗传算法;霍夫变换;圆检测
0 引 言
人脸识别技术起初主要应用于法律、高机密组织等部门的认证系统,随着人脸识别技术的发展及其领域的不断拓宽,特别是“9.11”事件以后的今天,人们反恐意识的加强,作为最容易隐藏使用的识别技术,人脸识别技术在各个领域的应用前景已经越来越广泛。在人脸识别的领域中,形成了以下几类主要的人脸识别方法[1-3]:基于几何特征的人脸识别方法采用改进的积分投影法提取出用欧氏距离表征的35维人脸特征矢量用于模式分类;基于模板匹配的人脸识别方法,采用弹性模板来提取眼睛和嘴巴的轮廓;基于K-L变换的特征脸方法;隐马尔可夫模型方法;神经网络识别方法;基于动态链接结构的弹性图匹配方法;利用运动和颜色信息对动态图像序列进行人脸识别的方法等。
1 人脸识别系统设计
人脸识别技术涉及模式识别、图像处理、生理学、心理学、认知科学等领域,一个系统设计主要分为人脸检测与定位、特征提取和识别3个基本部分。整体工作流程图如图1所示。
人脸静态图像或视频图像输入后,由于输入图像的一般性,需要对图像进行归一化作用的预处理,如果图像过于粗糙,则需要滤波,如果图像是彩色的,为了有利于程序实现,先将其颜色位数降维,处理为黑白两色的图像,即二值化。以后的处理过程中可能会用到图像中的边缘信息(边缘在图像中的作用十分重要),所以本文对其边缘信息进行提取,即边缘检测。在这3步预处理技术的算法选择上,鉴于各种滤波、二值化、边缘检测的算法优势与不足以及与本文内容相联系程度的高低,本文采用的中值滤波技术、迭代阈值分割二值化技术、Sobel算子边缘检测技术3项算法技术,以提高本文系统的精度和速度。
图1 人脸识别系统组成
人脸图像经过预处理后,下一环节就需要对其进行人脸检测。人脸检测是检查一幅图像中是否含有人脸。人脸定位则是要确定已知含有人脸的图像中的人脸的各器官的位置与大小,人脸定位是人脸识别中很重要的环节,其目的就是将背景、头发、服装等对人脸识别无用或制造成干扰的冗余信息去除,人脸定位的准确性直接影响到以后的特征提取和识别。在本环节,本文提取的主要几何特征包括有两个脸部左右边界值、8个眼角点、四个嘴角点。其步骤和方法如下:对经过预处理的图像,先对其进行垂直灰度积分投影,根据投影的曲线的梯度确定人脸的左右边界,再利用基于Hough变换的圆检测算法在图像高度的一半以上、人脸左右边界以内进行圆信息检测,以确定两眼球的中心坐标及半径,然后在图像高度的一半以下、距眼球二倍眼球距离位置以上、两眼球中心位置以内进行水平灰度积分投影,以确定嘴巴中心位置,继而利用矩形搜索算法找到左右眼的里外眼角和左右嘴角。
人脸检测与定位后,下面就是特征值的选取策略,选取最佳特征值以确保识别的精度和速度。特征点的选择和提取是模式识别中的一个关键问题,由于很多情况下常常不容易找到那些最重要的特征,这使的特征点的选择和提取复杂困难。在上一环节中本文提取了八个眼角点和四个嘴角点共12个几何特征[4],然而如果只用以上这些几何特征是无法确认一个人的,因为这些都是绝对量,是固定的坐标,系统在识别一个人的时候,有可能除了照片中的人相同外,其他一切信息都是不相同的,严格上来讲,两幅图像的信息内容是完全不相同的,所以本文需要相对量的特征点,在选取特征向量过程中,既要考虑能包含图像的主要特征数据量,又要使该数据量足够小以节省计算机内存空间保证该系统的识别速度,综合考虑,本文中选取并计算出33个特征向量作为识别特征向量各分量为:(1)两内眼角距离;(2)左眼长度;(3)右眼长;(4)左眼高;(5)右眼高;(6)左眼周长;(7)右眼周长;(8)左眼面积;(9)右眼面积;(10)左眼高与左眼长之比;(11)右眼高与右眼长之比;(12)嘴长;(13)嘴高;(14)嘴高与嘴长之比;(15)嘴面积;(16)上嘴唇长;(17)下嘴唇长;(18)上嘴唇高与上嘴唇长之比;(19)下嘴唇高与下嘴唇长之比;(20)左外眼角到右嘴角的距离;(21)左外眼角到左嘴角的距离;(22)右外眼角到右嘴角的距离;(23)右外眼角到左嘴角的距离;(24)左内眼角到右嘴角的距离;(25)左内眼角到左嘴角的距离;(26)右内眼角到右嘴角的距离;(27)右内眼角到左嘴角的距离;(28)左眼周长与嘴长之比;(29)右眼周长与嘴长之比;(30)左眼面积与嘴面积之比;(31)右眼面积与嘴面积之比;(32)左眼高与嘴高之比;(33)右眼高与嘴高之比。
在人脸识别环节,本文采用了根据遗传学而演化的一种高精度、高搜索度算法——遗传算法训练并确定了识别系统的权重与阈值,以提高识别系统的速度与精度。
2 遗传算法原理
遗传算法是一种在思想上和方法上都别具特色的搜索与优化方法[5,6]。
假设有一个待优化的问题:
式中,x,y,z是自变量,可以是数量,也可以是逻辑变量,甚至可以是各种符号。每组(x,y,z)构成问题的一个可能解,所以D既可以看成x,y,z的定义域,也可看成问题的约束条件,或所有满足约束条件的解构成的解空间。F是属于实数域R的一个实数,也可看成对每一组可能解(xi,yi,zi)的质量优劣的度量,函数f表示由解空间到实数域R的一个映射,对它的唯一要求就是它必须有定义,即给定一组解(xi,yi,zi)都可以算出一个对应的F。可见本问题就是要找(x0,y0,z0)∈D使F=f(x0,y0,z0)最大。
(1)编码
对每一个选定的自变量进行编码,即常用一定比特数的二进制码代表一个自变量的各种取值,将各自变量的二进制代码连到一起即得到一个二进制代码串,该串就代表了优化问题的一个可能解。如自变量x,y,z的一组取值可用12比特的二进制码表示为:100010011010。
(2)祖先种群的产生
由计算机按随机方法可能解中产生给定数量的二进制代码串,构成一个原始的祖先群体,其中的每个二进制代码串代表了这一群体中的一位祖先,对每位祖先(可能解)计算其相应的函数值Fi。按Fi的大小来评价这位祖先的染色体的素质。假设优化的目标是求F的最大值,那么Fi愈大将表明第i个个体的适度值越大。对于这个原始的群体,一般说来可能素质还比较差,GA的算子的任务就是要从这些祖先出发,模拟进化过程择优淘汰,逐次迭代,最后得出非常优秀的群体与个体,以达优化的目的。
(3)选种与繁殖
这一步模拟生物进化的自然选择功能,从原始群体中随机取一对个体作为繁殖后代的双亲,选种的规则是适度值越大的个体,赋予更大的选种概率,即适度值高的个体有更多的繁殖后代的机会,以使优良特征性得以遗传和保留。给出目标函数f及个体bi,则f(bi)称为个体bi的适应度,选择概率一般表示为:
(4)杂交
以一定的概率Pc将祖先群体随机选中的双亲进行杂交,最简单的杂交方法是随机的选择一个截断点(或两个截断点)将双亲的二进制字串在截断点处切开,然后交换其尾部,如图2所示:
图2 遗传算法杂交图示
(5)突变
突变是用来模拟生物在自然的遗传环境中,由于各种偶然因素引起的基因突变,其方法是以一定的概率P,选取祖先群体中若干个个体,随机选取某一位,将该位的数码翻转(由1改为0或由0为1),如110001101101为110011101101。突变增加了群体基因材料的多样性,增加了自然选择的余地,有利的突变将由于自然选择的作用得以遗传以保留,而有害的突变则将在逐代遗传中被淘汰。
综上几步,通过选种,杂交,突变得到的新一代群体,将替代上一代群体,一般说来新的群体的平均素质渴望比上一代群体素质要好。重复第三至第五步过程,如此迭代下去,各代群体的优良基因成分逐渐积累,群体的平均适度值和最佳个体的适度值不断上升,直到迭代过程收敛(适度值趋于稳定)即找到了最优解。
3 系统训练与识别
训练是为了让系统“学习”识别算法,在反复的训练中,让系统找到一组最适合、最优化、最稳定的判别系数,它是识别的前提条件。识别是系统的最终目的,它的任务就是把当前处理的人脸与数据库中人脸数据按照训练的方法进行匹配,从匹配的结果中判定本次的识别结果。
3.1 人脸数据库
在训练与识别之前,首先要做的任务是访问人脸数据库读出数据,然后与当前工作数据进行匹配,以确认被识别人的身份,从而完成对人脸的识别。
本文所处理的人脸数据库共有两个:
(1)实验室自采集人脸数据库。本数据库有由6人组成,每人分别拍摄15有差异的脸部照片,共90幅;
(2)网上照片搜集人脸数据库。这个数据库包含6个人,每个人有15张略有差异的脸部照片,共90幅。
3.2 样本训练
理论上来讲,本文提取的33个特征矢量应有33个权值与之对应,而对这样一个33维空间参数来说是很难确定的,仔细分析一下会发现33个特征矢量中,有许多矢量的权值是可以相同的,如其中的比例值,为了简化算法,提高系统的运算速度,本文提取特征向量表中的第1、2、4、12、13、20、21、24、25序号的9个权值和1个误差阈值共10个未知数作为训练参数,其他特征向量权重设为1。设数据库样本为,待识别样本为Y,每个样本带有的特征向量个数为M,向量权重为W,误差阈值为T。则样本差:
满足式4的样本表示训练成功:
遗传算法的适应度函数可设计为:
训练结束后,便确定了W和T,即9个权值和1个阈值。利用这10个参数,对待识别的对象特征数据进行访问数据库匹配,满足式4的数据库样本即为待识别者身份,即完成了识别的任务。
3.3 人脸识别结果
利用遗传算法参与上述训练后,然后结合数据库系统,进行了识别实验,其中1-6号样本为网上数据库样本,7-12号样本为实验室自采集样本。每个实验样本中,5幅图像用于训练阶段,12幅图像用于识别测试。实验结果如表1所示:
表1 识别结果表
从识别结果表1显示,本次识别效果良好,基本能达到平均识别正确率95%。证明遗传算法本身具有循环优化的特点,这保证了该算法的结果在全局中是最优的,把它运用于本识别系统,从而保证了系统识别的质量。实验室自采样本7号样本到12号因为每个样本的15幅人脸图像采集条件基本相同,所以基本上能达到100%,而网上数据库的4号样本因为15幅样本人脸图像采集条件差异较大,所以造成识别正确率只有70%。说明在本系统设计中,在预处理算法设计适应不同图像采集条件上还可进一步改进。
4 结束语
人脸识别研究的困难主要存在于两个方面:人脸模式的可变性和外界场景的复杂性。人脸模式的可变性主要包括:人脸图像的大小、人脸的姿态、肤色、表情和遮避的可变性。外界场景的复杂性主要包括:复杂的图像背景、不可控的光照条件等。这给特征提取带来了很大的困难。本文的人脸识别系统设计主要从人脸检测与定位、特征向量选择与提取和识别分类算法3个方面进行了探讨和实践。在人脸检测与定位阶段,采用了垂直灰度积分投影法定位了人脸的左右边界,而采用基于Hough变换的圆检测算法定位了眼睛,这使得眼睛的确定一定程度上不依赖于左右脸边界,避免了误差扩大的情况,保证了系统的准确度。定位眼角的时候是采用了边框锁定、局部搜索的方法,基于人眼的外部结构特征,只要人眼定位准确,此搜索算法精度非常高。在人脸识别阶段本文采用了一种基于遗传学思想的算法——遗传算法,由于遗传算法本身具有循环优化的特点,这保证了该算法的结果在全局中是最优的,把它运用于本识别系统,从而保证了系统识别的质量。
[1]张翠平,苏光大.人脸识别技术综述[J].中国图象图形学报,2000,(11):885-894.
[3]杜飞涛.人脸识别的关键技术研究[D].武汉:武汉理工大学,2005:27-35.
[4]张俊,何昕,李介谷.基于面部几何特征点提取的人脸识别方法[J].红外与激光工程,1999,28(4):40-43.
[5]Chaiyaratana N,Zalzala AM S.Recent developments in evolutionary and genetic algorithms:theory and applications[J].Genetic Algorithms in Engineering Systems:Innovations and Applications,1997,20(2):270-277.
[6]马永杰,马义德,蒋兆远,等.一种快速遗传算法及其收敛性[J].系统工程与电子技术,2009,31(3):714-718.
Face Recognition System Based on Genetic Algorithm NI Hong-xia,ZHU Qi-wei
(School ofAutomation,Hangzhou DianziUniversity,Hangzhou Zhejiang310018,China)
This paper designed a face recognition system based on genetic algorithm,the entire system,including 1)face detection and localization stage,this paper,the vertical gray integral projection algorithm to determine a face left and right borders,circle detection based Hough transform algorithm to determine the eye center,and then use a small range of levelsof gray integral projectionmethod to determine themouth center,at last using lock boxes,local searchmethod to determine the eyesandmouth.2)the feature extraction stage,this feature vector in both quality and quantity of trade-offsmade to ensure the system speed.3)the recognition stage,based on genetics and evolution of a high precision,high degree of search algorithm-a genetic algorithm and a recognition system to determine theweight and threshold to improve the speed and accuracy of recognition systems.In the experiment,two face databases including 180 imageswere used for training and testing,the system recognition accuracy is95%.
face recognition;genetic algorithm;Hough transformation
TN401
A
1001-9146(2010)04-0045-05
2010-03-31
倪红霞(1969.01 ),女,浙江余姚人,实验师,模式识别.