- 02/11
- 2011
-
QQ扫一扫
-
Vision小助手
(CMVU)
摘 要: 提出了一种新的基于二维DCT变换与Elman神经网络相结合的方法进行人脸识别。首先,利用二维DCT变换将人脸图像由空间域变换到频域,并提取二维DCT系数的低频成分作为人脸特征,然后使用人脸训练样本对Elman神经网络进行训练来调整网络的权值。对于待识别样本,在利用二维DCT变换进行特征提取之后,采用训练后的Elman神经网络作为分类器进行模式分类。该方法在南京理工大学603(NUST603)人脸图像库中进行了实验,实验结果显示了该方法的可行性和有效性。
关键词: 人脸识别; 特征提取; 神经网络; 图像处理
1 引 言
人脸识别是当前模式识别和计算机视觉研究领域中的一个热门课题,具有广阔的应用前景和实际的应用价值。同指纹识别、掌纹识别、虹膜识别等其他生物特征识别相比,人脸识别具有自然、友好和方便等特点,易于为用户所接受[1]。人脸识别技术可用于公安系统的罪犯身份识别、身份证及驾驶证等证件识别、银行和海关部门的自动监控系统以及人机交互等领域[2]。然而由于人脸图像会受到人脸表情和姿态变化、光照条件等多种因素的影响,使得人脸识别技术成为一项富有挑战性的课题。目前,人们提出了许多人脸识别方法,主要有基于主元分析的“Eigenfaces”方法[3]、基于线性判别分析的“Fisherfaces”方法[4]、弹性图匹配方法、隐马尔可夫模型方法以及神经网络方法等[5]。
在人脸识别技术的研究中,如何提取稳定而有效的人脸特征以及如何对所提取的人脸特征进行分类是人脸识别的两个关键问题[6]。本文提出了一种新的基于二维DCT变换与Elman神经网络相结合的方法进行人脸识别,其中二维DCT变换用来进行人脸的特征提取,Elman神经网络则对所提取的人脸特征进行分类。Turk等所提出的“Eigenfaces”方法是一种较为成功的方法,该方法在降低人脸图像维数的同时,对所提取的人脸特征具有一定的鲁棒性,然而“Eigenfaces”方法是一种基于K-L变换的方法,从去除信号相关性的角度看,K-L变换是一种最优变换,但它需要通过训练样本求解样本协方差矩阵的特征向量以作为投影轴,这通常导致了较高的计算复杂度,而离散余弦变换有着近似K-L变换的良好性质,并且具有快速算法,因此在保证识别性能的前提下,可以有效地降低计算复杂度。在采用二维DCT变换进行人脸的特征提取时,首先将人脸图像进行二维DCT变换,将人脸图像由空间域变换到频域,由于二维DCT变换是一种可逆变换,通过二维DCT系数可以完全重建相应的原始人脸图像,因此人脸图像的信息可以通过二维DCT系数来表示。由于二维DCT系数的能量主要体现在少数的低频成分上,因此人脸的特征主要集中在少数的低频DCT系数上,为此选取频域中的低频DCT系数作为提取的人脸特征。由于Elman神经网络模拟了人脑的某些工作机理,这使得该神经网络具有较好的自适应性,因此本文采用Elman神经网络来分类所提取的人脸特征。本文所提方法在南京理工大学603(NJUST603)人脸图像库上进行了实验,实验结果显示了本文所提方法的可行性和有效性。
2 基于二维DCT变换的特征提取
DCT变换是一种常用的数字图像数据处理的方法。DCT变换可以将数字图像描述为不同幅值和频率的余弦值之和的形式。
对于一幅M*N大小的人脸图像f(x,y),对其进行二维DCT变换可得到对应的二维 DCT系数F(u,v) [7],该二维DCT系数矩阵的大小也为,其中二维DCT系数矩阵的左上方的第一个元素即为图像的f(x,y)直流成分。对于一幅典型的数字图像而言,二维DCT变换具有这样的性质:许多关于图像的重要信息都集中在DCT变换的低频系数中。为此本文选取二维DCT变换的低频系数作为所要提取的人脸特征。本文分别采用了两种方法选取DCT系数的低频成分:第一种方法是以DCT系数矩阵的左上角元素为起点,如图1(a)所示,选取m*n大小的子矩阵,并将其展开成一维的列向量作为人脸特征;第二种方法是以DCT系数矩阵的左上角元素为起点,如图1(b)所示,按照“Z”字形的连接方式选取其低频成分,选取的元素个数也为m*n,并用一维的列向量表示。
3 基于Elman神经网络的分类
人工神经网络由于模拟了人脑的某些工作机理,因此具有自组织、自适应学习和鲁棒容错等特性,这使得神经网络广泛用于模式识别、信号分析以及优化控制等领域。
本文采用Elman神经网络作为分类器来分类所提取的人脸特征[8]。该神经网络的结构如图2所示。
从图2可以看出,Elman神经网络具有与多层前馈神经网络类似的多层结构,但不同的是,在Elman神经网络中,除了普通的隐层之外,还有一个特别的隐层,称为上下文层或状态层,该层从普通隐层接收反馈信号。状态层内的神经元输出至隐层,然后经过隐层反馈至状态层。这使得Elman神经网络不仅可以学习空间模型,还可以学习时间模型。如果该反馈连接被设定为恒定值,那么Elman神经网络可视为普通的前馈神经网络,而且可以采用BP算法进行训练。
在经过人脸图像的特征提取后,将所提取的人脸特征排列成一维的列向量,并将Elman神经网络的输入层神经元的个数设定为列向量中元素的个数,而输出层神经元的个数设定为人脸的类别数,其中输出层的每一个神经元代表一个人脸类别,假设在输入层所输入的训练样本为第i类的人脸样本,则此时输出层神经元中的第个神经元的期望输出设定为1,输出层中其他神经元的期望输出设定为0。在Elman神经网络中,隐层神经元的激活函数为:
其中net1表示隐层神经元的输入值。输出层神经元的激活函数为:
其中net2表示输出层神经元的输入值。
对于Elman神经网络,首先采用人脸训练样本对该网络进行训练,以调整神经网络各层之间的连接权值,待网络训练结束后,就可用该神经网络对待识别人脸样本进行模式分类。
4 实验结果
为了验证本文所提方法的性能,在NUST603人脸图像库中进行了实验。NUST603人脸图像库一共有96个人的960幅图像,其中每个人都有10幅不同的人脸图像,摄入人脸图像的设备为一台黑白摄像机,每幅人脸图像的分辨率均为256×256,每个像素的灰度值由8bits表示,拍摄人脸图像时的背景比较复杂,拍摄时的光照既有自然光,也有室内的白炽灯光。拍摄人脸图像时,人脸可以在上下、左右大约15度的范围内倾斜变化,图3显示的是NUST603人脸图像库中的一些人脸图像。
在进行人脸识别之前,将人脸图像中的人脸区域剪切出来,并对其归一化为32×32大小的灰度图像,其中每个像素的灰度值仍由8bits表示。图4显示的是归一化之后的一些人脸图像。
在人脸识别实验中,随机选取了60个人的人脸图像进行实验,其中每个人都包含有10幅不同的人脸图像,对于每一个人的10幅图像,随机选取其中的6幅图像作为训练样本,剩余4幅图像作为待识别样本,因此训练样本的总数为360,待识别样本的总数为240。在实验中,首先对人脸图像进行二维DCT变换,将人脸图像由空间域变换到频域,得到人脸图像的二维DCT系数,然后对二维DCT系数分别采用子矩阵和“Z”字形方式来获取其低频系数,并按一定的顺序将低频系数排列成一维的列向量,此列向量即表示所提取的相应的人脸特征。对于人脸训练样本,将提取的人脸特征输入Elman神经网络的输入层,并在该神经网络输出层相应的神经元输入期望输出值,同时对Elman神经网络进行初始化处理,然后对该神经网络进行训练以调整各层神经元之间的连接权值。经过特征提取后,表示人脸特征的列向量的元素个数为64,那么Elman神经网络的输入层神经元的个数也为64,输出层神经元的个数为人脸的类别数60,设隐层神经元的个数为60,为了验证Elman神经网络的性能,将该神经网络与最小距离分类器进行了比较,表1给出了两者比较的结果。
表1 Elman神经网络与最小距离方法的比较 (%)
Tab. 1 Comparison of Elman neural network and minimum distance method (%)
矩形连接 | Z字形连接 | |
最小距离法 | 90.83 | 91.67 |
Elman网络 | 95.42 | 92.92 |
同时为了验证二维DCT变换进行特征提取的性能,将二维DCT变换方法与经典的PCA方法进行了比较,表2列出的是两种方法的实验结果,其中采用Elman神经网络作为分类器,实验的硬件环境为CPU:Celeron 2.6GHz,内存:512MB。
表2 二维DCT与PCA的比较
Tab. 2 Comparison of two-dimensional DCT and PCA
PCA | 二维DCT | ||
矩形连接 | Z形连接 | ||
特征提取时间(s) | 2.079 | 1.062 | 1.078 |
识别率(%) | 93.33 | 95.42 | 92.92 |
为了研究Elman神经网络隐层神经元个数对其性能的影响,在隐层神经元个数变化的情况下进行了实验,表3列出的是当隐层神经元个数变化时的正确识别率。
表3 隐层神经元个数变化时的识别率 (%)
Tab. 3 Recognition rates with different number of hidden layer units (%)
隐层神经元数 | 矩形连接 | Z字形连接 |
30 | 92.08 | 89.17 |
40 | 93.75 | 92.50 |
50 | 93.33 | 92.08 |
60 | 95.42 | 92.92 |
从表1可以看出,采用Elman神经网络作为分类器,在识别率上要优于最小距离分类器,这主要是由于Elman神经网络具有较好的自适应性和鲁棒容错性,能对人脸的姿态变化及光照等因素的影响具有一定的鲁棒性。从表2可以看出,在相同的条件下,采用二维DCT变换进行特征提取获得了同PCA方法相似或更高的识别率,但所花费的时间明显少于后者。另外,从表3可以看出,Elman神经网络隐层神经元个数的选取对神经网络的性能具有一定的影响,目前,尚没有理论上确定最佳隐层神经元个数的依据,根据经验表明,通常选取的隐层神经元个数在输入层神经元个数与输出层神经元个数之间,且靠近输入层神经元个数时为佳。
5 结 论
本文提出了二维DCT变换与Elman神经网络相结合的方法进行人脸识别,其中二维DCT变换用于提取人脸图像的特征,而Elman神经网络则对提取的人脸特征进行分类。由于采用二维DCT变换进行特征提取时,避免了计算样本协方差矩阵特征向量的过程,在保证识别性能的前提下,有效地降低了特征提取的计算复杂度,而Elman神经网络由于具有较好的自适应性和鲁棒容错性,使得该神经网络分类器获得了较好的分类效果。
参 考 文 献
[1] ZHOU Jie, LU Chun-yu, ZHANG Chang-shui, et al. A survey of automatic human face recognition[J]. Acta Electronica Sinica, 2000, 28(4): 102~106. [周杰,卢春雨,张长水 等. 人脸自动识别方法综述[J].电子学报,2000,28(4):102~106.]
[2] ZHANG Cui-ping, SU Guang-da. Human face recognition: A survey [J]. Journal of Image and Graphics, 2000,5A(11): 885~894. [张翠平,苏光大. 人脸识别技术综述[J].中国图象图形学报,2000,5A(11):885~894.]
[3] Turk M, Pentland A. Eigenfaces for recognition[J]. Journal of Cognitive Neuroscience, 1991, 3(1): 71~86.
[4] Belhumeur P N, Hespanha J P, Kriegman D J. Eigenface vs. Fisherfaces: Recognition using class specific linear projection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(7): 711~720.
[5] Zhang Jun, Yan Yong, Lades Martin. Face recognition: Eigenface, elastic matching, neural nets[J]. Proceedings of the IEEE, 1997, 85(9): 1423~1435.
[6] Liu Qingshan, Lu Hanqing, Ma Songde. Improving kernel fisher discriminant analysis for face recognition[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2004, 14(1): 42~49.
[7] GE Qiang,, YE Huiying. Method of face recognition based on discrete cosine transformation[J]. Infrared and Laser Engineering, 2003, 32(3): 294~298. [葛强,叶会英. 基于离散余弦变换的人脸识别方法[J].红外与激光工程,2003,32(3):294~298.]
[8] Cui Jianguo, Wang Xu. The application of wavelet transform and neural network to surface electromyographic signals for pattern recognition[A]. In: Proceedings of 2005 IEEE Engineering in Medicine and Biology 27th Annual Conference[C]. Shanghai, China, 2005: 5009~5012.
- 上一条:心电图ST段的样本熵分析
- 下一条:数学形态学腐蚀膨胀运算的快速算法