基于GABP神经网络的人脸检测

摘 要:传统的BP神经网络算法收敛过慢、局部收敛不理想,影响其工作性能。 针对以上不足以及人脸图像数据大等问题。提出GABP神经网络对人脸图像进行检测的新方法:将遗传学习算法和误差反向传播算法相结合的混合算法来训练前馈人工神经网络,使网络收敛速度加快和避免局部极小。通过实验表明该网络不仅收敛速度快,而且易达到最优解。证明该网络对人脸图像检测具有高的检测精度。

关键词:人脸检测;BP网络;遗传算法;GABP网络

中图分类号:TP183 文献标识码:B 文章编号:1004373X(2008)1615403

Face Detection Based on GABP Neural Network

JIAO Libao,PENG Yan,CHEN Chunlan

(Sichuan University of Science &Engineering,Zigong,643000,China)

Abstract:The constringency of the conventional BP neural network algorithm is too slow and local constringency is not ideal,which effect working performance.The lack above and face image data too big,a new method that the face detection method based on GABP neural network is introduced in this paper.Making the Genetic Algorithm (GA) search algorithm is used to train the network with updating the weights to minimize the error between the network output and the desired output.Then the BackPropagation (BP) algorithm is used to further train the artificial neural network used for face detection.The experiment indicate This network convergence rate is not only quick,moreover easy to achieve the optimal solution.This network has the high detection precision to the face image detection.

Keywords:face detection;BP neural network;genetic algorithm;GABP neural network

1 引 言

人脸检测是图像处理和识别领域的一个重要研究的课题,具有广泛的应用价值,例如档案管理系统、人机交互、驾驶执照、身份证的识别检测,刑侦破案中犯罪嫌疑人照片的识别等,可以说人脸检测是一种重要的个人身份鉴别的方法。本文将神经网络和遗传算法有机的结合起来,建立了一种遗传神经网络,然后利用优化后的神经网络较好地解决人脸检测中往往存在的噪声、残缺和戴眼睛的人脸图像等。GABP网络的应用于人脸检测具有检测速度快、检测精度高等特点。

2 遗传算法对BP网络的优化

2.1 BP神经网络的基本原理

BP(Back Propagation,反向传播)网络是神经网络的一个分支,又称误差信号反馈网络[1]。误差反向传播的BP算法简称BP算法,其基本思想是有导师学习,可按梯度下降法实现快速收敛。典型的BP网络是3层前馈阶层网络(如图1所示),即输入层、隐含层(中间层)和输入层。一个3层的BP网络可以完成任意的n维到m维的非线性映射。

图1 BP网络结构BP算法的学习过程由正向传播和方向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每层神经元(节点)的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转至方向传播,将误差信号(理想与实际输出之差)按连接通路反向计算,由梯度下降法调整各层神经元的权值,使误差信号减小。神经网络理论已经证明BP网络具有强大的非线性映射的能力,一连续函数或映射均可采用3层网络加以实现。

假设训练集包含M个样本,中间层的单元数是L,对第P个训练样本(p=1,2,…,M),单元j的实际输出为opj,它的第i个输入为opi,则:Upj=∑Ni=0WjiOpj。

其中Wji为神经元i与神经元j之间的连接权值。隐层神经元的输出采用S 函数激发:Opj=f(upj)=11+exp(-upj);

误差性能指标函数为:E=∑PEp;其中EP=12∑jdpj-Opj.2;式中,dpj表示对P个训练样本,单元j的期望输出。训练网络的目的是找到一组权重,使误差函数极小化。根据梯度下降法,输出层及隐含层连接权值学习算法为:

若权值的变化量记为ΔWij,取ΔWij正比于-EPWji,即ΔWij=ηδpjOpj;其中η为学习因子(可调整权值),令-EPuji=δpj,则EPWji=EPupiupjWji=EPujiOpj=-δpjOpj。用θi和φj分别表示输出单元和隐含层的阈值。其阈值变化分别记为Δθi和Δφj,则阈值为:θi(n+1)=θi(n)+Δθi(n);

φj(n+1)=φj(n)+Δφj(n)2.2 GABP网络

遗传算法GA (Genetic Algorithm)是基于生物进化原理的一种具有鲁棒性的自适应优化方法[2]。遗传算法遵循通过基于问题样本适应度函数对初始群体选择、交叉和变异操作,来指导学习和确定搜索的方向。由于采用种群的方式组织搜索,所以它可以在全局解空间内的多个区域内寻求最优解[3],而且特别适合大规模并行处理。对于BP网络来说,也存在着不足,BP算法从本质上讲属于梯度下降算法,因而不可避免的具有一些缺陷,如:易陷入局部极小点[4] 、训练速度慢[5]等。还有初始随机加权的大小,会对局部最小部分产生很大的影响[6]。在优化问题中,如果目标函数是多峰的,或者搜索空间不规则,就要求所使用的算法必须具有高度的鲁棒性,以避免在局部最优解附近徘徊[7]。所以遗传算法和BP网络的结合正好优劣互补。遗传算法和神经网络的结合对于寻求全局最优解其效果要优于单个的使用遗传算法或神经网络,为充分结合遗传算法和BP神经网络的长处提出了GA对BP的优化,从而获得网络的最优设计的新方法。

由于遗传算法的搜索不依赖梯度信息,也不需要求解函数可微,只需要求解适应度函数在约束条件下可解。 并且遗传算法具有全局搜索的特性,用遗传算法优化神经网络的连接权和网络结构,可以较好地克服BP神经网络结构确定过程中所带来的网络振荡,以及网络极易陷入局部解问题,并且有效提高神经网络的泛化能力。因此,利用遗传算法全局性搜索的特点,寻找最为合适的网络连接权和网络结构的方法来改变BP算法依赖梯度信息的指导,从而达到对网络结构和网络连接权值、阀值的最优配置。

通过使用GA在由BP网络初步确定的基本解空间上(网络连接权和神经元阀值的取值范围) ,通过对基因的选择,交叉变异操作。对样本个体不断择优进化,直至进化K(总的进化代数由初始时给定)代后,选取个体中适应度最大的个体来确定网络的结构和网络的权值和阀值。

GABP优化算法步骤描述如下:

(1) 确定网络结构;

(2) 产生初始种群;

(3) 输入训练样本;

(4) 得到个体误差,计算适应度值;

(5) 判断是否满足要求?是,则停止转入(6);否,则继续训练,对网络进行优化,产生新的阈值和权值;

(6) 得到GA优化的网络。

从算法过程可以看出,GA优化BP网络目的是确定网络最优的权值和阈值,而在训练过程中就是要不断调整权值和阈值,直到总误差函数是满足条件,训练结束,其GABP网络训练的流程图(如图2所示)。

图2 GABP优化算法训练流程3 GABP人脸检测

这里采用ORL人脸数据库进行仿真实验。剑桥olivetli实验室拍摄一系列人脸图像,共有40人,每人有不同的表情或不同视点的10幅图像,计400幅图像(图3为其中一些人脸样本)。这些图像为灰度图像,倾斜角一般不超过20°,这里在每个人的10幅图像中取5幅图像作为训练样本对本系统进行训练,并进行标准化,得到各点灰度值,送入GABP网络训练,调整权值和阈值,直到误差足够小或迭代到一定的次数,当训练结束,将权值和阈值保存在文件中。在GABP网络中,由于BP网络中输出值与期望的输出值之间的误差平方和EP越小,则表示该网络性能越好,可以选择一种适应度函数:f(x)=1EP+1。

图3 部分ORL人脸样本接下来将训练好的网络进行分类,装载权值和阈值文件。选择剩余的每个人5幅图像用来分类,进行标准化,送入GABP网络进行检测。采用基于金字塔的子采样过程,具体过程如下:首先将灰度图像以1.2的比率重采样缩小,而在每一级尺度变化中,以25×25的窗口大小,从上而下,从左到右扫描图像,步长为2个像素,最后将该窗口内的625个像素点的灰度值送入已经训练好的GABP网络进行人脸的判别,这个过程循环往复,直到尺度变化后的图象小于窗口大小为止。判别过程为:将数据输入GABP网络后,获得2个输出output(0)和output(1),如果output(0)大于output(1)则判断为检测正确,如果output(0)小于output(1)则判断为检测错误,最后计算出检测精度,如图4所示。

图4 GABP人脸检测流程 分别采用本文的算法和传统BP算法,其识别结果为,如表1所示。

表1 两种方法用于人脸检测的效果对比

网络类型收敛步数正确率传统BP算法38189.5%GABP算法23693.73%

对2种方法用于人脸检测的效果对比可以看出,基于GABP网络的人脸检测方法与传统BP网络的方法相比,检测率高出4个百分点左右。此外,GABP优化的神经网络在训练过程中不断的调整权值和与阈值,输出网络最优的权值和阈值,使总误差函数

满足条件,训练结束。从而提高训练速度,避免了在局部最优解附近徘徊。因此它的学习速度很快,在同等条件下,传统的BP网络收敛为381步,而GABP优化后的网络仅为236步。

4 结 语

此文介绍一种GABP神经网络的人脸检测算法,通过实验分析了该算法的性能。测试结果表明,该算法能明显提高检测精度,证明了遗传算法优化的BP网络在人脸检测的实际应用中是可行的。

参 考 文 献

[1]曾黄麟.智能计算[M].重庆:重庆大学出版社,2004.

[2]Golder G D.Genetic Algorithms in Search,Optimization and Machine Leam [M].London:AddisonWesley Pubishing Company Inc,1990.

[3]Bhatnv,Mcavoy T J.Determining Model Structure for Neural Models by Networks Tripping [J].Computer and Chem.Engng.,1992,16 (4):271281.

[4]潘昊,王晓勇,陈琼,等.基于遗传算法的BP经网络技术的应用[J].计算机应用,2005,25(12):2 7772 779.

[5]李敏强,徐博艺,寇纪凇.遗传算法与神经网络的结合[J].系统工程理论与实践,1999,(2):6569,112.

[6]樊为民.基于遗传算法的神经网络算法研究[J].太原师范学院学报:自然科学版,2004,3(4):1417.

[7]李建珍.基于遗传算法的人工神经网络学习算法[J].西北师范大学学报,2002,38(2):3337.

[8]陈耀明.小波变换在图像数据压缩中的应用\.现代电子技术,2007,30(6):136138.

作者简介 焦利宝 男,1983年出生,河南新乡人,硕士研究生。研究方向为人工智能控制及智能信息处理。

彭 龑 男,博士研究生,教授,硕士生导师。研究方向为主要从事计算机应用、人工智能与智能控制、专家系统方面的研究。

陈春兰 女,硕士研究生。研究方向为人工智能、模式识别。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

推荐访问:的人 神经网络 检测 GABP