基于Gabor小波与RBF神经网络的人脸识别新方法
扫描二维码
随时随地手机看文章
人脸识别是人类最杰出的认知能力之一,让汁算机具有人的智能,使它可以象人类一样辨认人,一直是众多计算机科学工作者追求的目标。人脸识别作为一种应用前景十分广泛的身份鉴别方法,是模式识别领域极富挑战性的一个热点研究问题。
人脸图像由于受光照、表情以及姿态等因素的影响,同一个人的脸像矩阵差异也比较大,人脸识别所选取的特征必须对上述因素具备一定的稳定性和不变性。Gabor小波是Gabor变换与小波理论相结合的产物,它继承了小波变换的多分辨率特性,同时具有GaborN数本身所具有的局域性和方向性。VD Malsburg小组最先将Gabor小波引入人脸识别领域,应用Gabor小波与弹性图匹配技术相结合取得了良好的识别效果。Gabor小波核函数具有与哺育动物大脑皮层简单细胞的二维反射区相同的特性,即具有较强的空间位置和方向选择性,并且能够捕捉对应于空间和频率的局部结构信息;Gabor滤波器对于图像的亮度和对比度变化以及人脸姿态变化具有较强的健壮性,并且它表达的是对人脸识别最为有用的局部特征。
提高神经网络的泛化能力问题是RBF网络的一个重要研究方向。目前,提高网络泛化能力的研究主要集中在如何选取恰当的网络规模,即网络结构设计问题上。关于RBFN络结构设计,一个公认的指导原则是Moody准则,即:在没有其它先验知识的情况下,与给定样本一致的规模最小的网络就是最好的选择。
本文充分利用人脸特征矢量的相对分布信息,提出了一种新的聚类初始化方法,能使RBFN络逼近于Moody准则下的最优结构,从而保证该网络具有较好的泛化能力。由于在隐层参数固定的条件下,线性方程组的最小二乘解就是全局最优解,所以本文采用混合学习算法:由线性最小二乘法计算隐层和输出层之间的连接权值,由梯度下降法调整隐层神经元的中心和宽度。这种方法与单纯采用梯度下降法相比,学习速度更快,而且可以避免局部极小值问题。同时提出了一种有效的学习速率估算方法,使得RBF网络的整个学习过程具备自适应能力。
2 基于Gabor小波的人脸特征提取
2.1 构造Gabor小波
Gabor小波核函数定义如下:
上式表示一个经过高斯包络调制过的正弦波,其中控制高斯窗口的宽度以及正弦波的波长,φ控制整个滤波器的方向,改变φ可以对滤波器进行旋转,σ为高斯窗的宽度与正弦波的波长之比。ψk经过平移、旋转和尺度变化形成一个自相似的函数族,即Gabor滤波器组。
对于数字图像,需要把参数k的模||k||和方向参数φ进行离散化,通常在5个对数空间频率v∈{0…,4}8个方向μ∈{0,…,7}上采样。针对人脸图像本文通过实验确定在2个空问频率v∈{1,2}和8个方向μ∈{0,…,7}上进行采样,形成16个Gabor滤波器。
2.2 人脸图像Gabor滤波
将人脸灰度图像插值为128×128(记为I),再分别与各个Gabor滤波器进行卷积,得到人脸图像的Gabor小波表示:
称Oμ,v(z)为Gabor人脸,其中z=(x,y)为相对于频谱中心的相对坐标值。通过二维快速傅立叶变换,将时域卷积变换为频域乘积运算以提高计算速度。
2.3 小波分解降维
每幅Gabor人脸图像Oμ,v(z)都是与I(z)同样大小的复数矩阵,取其幅值系数作为特征。通过参数μ,v的变化,Oμ,v(z)表达不同频率和方向的人脸特征信息,将一幅人脸的全部Gabor特征组成矢量,则人脸的原始特征数据高达262144维,后续处理非常困难。ChenKiun Liu分别取采样因子ρ=4,16,64进行下采样处理,所得识别结果相差很小,所以采样法最低可以得到4096维。而小波变换是一种常用的图像压缩方法,与采样法相比具有能量和信息损失小的优点。Harmon指出16×16的图像对于人脸识别是最基本的。因而,本文对Gabor人脸进行3次小波分解,将其低频近似图按行连接起来组成列矢量,并将全部列矢量依次连接起来,即为一幅人脸的低维Gabor特征列矢量。
2.4 主分量分析
设n为训练样本数目,Xi表示第i幅人脸图像的L维Gabor特征列矢量,则训练样本集的总体散布矩阵表示为:
式中为样本均值。由于St为实对称矩阵(L×L),可将St化成对角形的特征值,P为正交变换矩阵,且特征值均非负值,令λ1≥λ2≥…λL≥0,λl对应的正交归一化特征向量为ul,则u1,u2,…,uL可以构成RL空间的一组标准正交基,在该正交特征空间中,人脸样本Xi可以表示为:
选用前r(r<<L)个较大特征值对应的特征向量作为正交基底(主分量),将Xi向该正交空间的子空间投影则有:
得到Pi=xi(1),xi(2),…,xi(r)为一组坐标系数,代表了Xi在新特征子空间中的位置,可将r维投影系数Pi作为人脸特征矢量输入分类器进行识别。
3 基于RBF神经网络的分类器设计
RBF神经网络的结构如图1所示,它是一种三层前向网络,其中r、u和s分别为输入层、隐层和输出层的节点数。
为隐层第k个神经元的中心,则隐层节点k的输出为:
式中||·||表示欧氏范数。当RBF选用高斯核函数时,其输出为:
式中σk为隐层第k个神经元的宽度。输出层第j个节点的输出值yj为:
式中W(j,k)为隐层节点k到第j个输出节点的连接权值。
3.1 RBF网络初始化
RBF神经网络可看作是从特征子空间到类的映射,因此输入层的节点数与输入特征矢量的维数r相等,输出层的节点数就是待分类样本的类别数。隐层节点的选取是一个开放的问题,在理想情况下,隐层节点数取得最小值为样本类别数。每个人最多对应2~3个隐层节点,隐层聚类的初始化过程如下:
1)先假设每人收敛于一个聚类中心,将隐层节点数初始化为输出层节点数。
2)隐层第k个神经元的中心Ck为k类特征矢量的均值。
3)计算k类各个样本到中心Ck的距离,以最远点Pk(f)到中心的距离作为σk的初值。
4)计算各个聚类中心j到聚类中心k的距离:
其中,最小距离为:
根据dmin(k,l)与dk,dl的关系,可将k类分为如下几种情况:
a)若dk+dl≤dmin(k,l),则k类与其它类没有重叠,如图2(a)所示;
b)若dk+dl>dmin(k,l),则k类与其它类相交。进一步分为两种情况:
i)dk一dl<dmin(k,l),如图2(b)所示;
ii)dk一dl≥dmin(k,l),如图2(c)所示,表示k类包含其它类,可能导致RBF神经网络分类错误。
5)对每类样本,依次按照以下两个规则进行判别并细分:
i)包含规则:若dk+dl>dmin(k,l)且dk一dl≥dmin(k,l),则k类包含其它类,必须将k类细分为两个聚类;
ii)正确归类规则:若k类包含其它类样本的个数大于1,必须将k类细分为两个聚类。
完成上述步骤之后,每人最多对应于3个隐层节点,整个RBF网络的结构随之确定。
3.2 RBF网络混合学习算法
网络学习就是通过调整连接权W(j,k)、隐层中心Ck和宽度σk,以减小输出误差。隐层参数Ck、σk的调整是非线性过程,学习速度较慢;而W(j,k)调整是线性过程,学习速度较快。因此,RBF网络的每一次训练分为两个层次进行。
3.2.1 连接权调整
设输出目标矩阵T∈Rsxn,其元素t(j,i)为0或为1,表示Pi是否属于j类,T每列有、且仅有一个元素为l,表示Pi所属类别。定义误差函数为:
y(j,i)表示Pi在输出层j节点的输出yj(Pi),可通过线性最小二乘法求解最佳权值W*。
3.2.2 隐层中心及宽度调整
W固定,由(11)式采用梯度下降法,经推导可得Ck和σk的迭代计算公式为:
其中梯度矢量为:
式中η1、η2分别为隐层中心Ck和宽度σk的学习速率(η1,η2>O),m为迭代次数。
σk的学习速率通常大于Ck的学习速率(选取η2=2η1)。但ηl或η2的选取一般只能通过试验分析确定。为此,本文从(13)式出发,提出了学习速率η2的估算方法。设σk(0)为高斯宽度的初值,经推导可得η2的估算公式如下:
式中a为常数项,用于控制学习速率大小。实验表明a=0.01可以较好的满足条件。
4 实验结果
试验选用0RL人脸数据库,共包括40个人的脸部图像,其中每人lO幅具有丰富的面部表情和姿态变化。在未对ORL人脸进行任何预处理的条件下,选取每人的前5幅图像共200幅进行训练,另外200幅用于识别。然后将训练与识别图像相互交换,再次进行实验,识别正确率取两次试验结果的均值。表1、表2、图4和表3“任选5幅”部分的实验都是基于上述方法。为了便于比较,对于表3的1至4行的识别率是从相应参考文献上引用过来,第5行即本文方法是作者根据本文提出的算法进行实验的结果,其中对于“任选3幅”是指第一次选取每人的前3幅图像共120幅进行训练,余下280幅用于识别,第二次再选取每人的后3幅图像共120幅进行训练,余下280幅用于识别,识别率取两次结果的平均;“任选5幅(1幅侧面)”是指每人参与训练的样本都含1幅侧面的图像,其它与“任选5幅”的相同。
首先对第二个类别细分判别规则进行了验证。表l列出了设置不同判别规则,两次试验所得RBF网络的隐层节点个数以及识别错误的图像数目。
表1可以看出,“正确归类规则”的设置比较合理,改变规则或者各个聚类不作细分,识别成功率较低。而且按照本文的聚类初始化方法,所得RBF网络的隐层节点数目很少。40个人的训练样本,只有少数几个人的特征矢量需要进行类别细分。所以,本文的初始化方法得到的网络结构非常简单,网络的学习训练和分类识别具有较高的效率,并具备优异的泛化能力。
从表1还能看出,采用前五幅图像和后五幅图像进行训练,后者识别成功率明显高于前者。其中两幅识别错误的人脸以及相应的训练样本,如图3所示。
图3中每行最后一幅为识别错误图像,前五幅为训练图像。可以看出,前五幅人脸之间的姿态变化较小,而测试人脸的姿态与训练样本差别较大。若采用前五幅图像训练将会使得RBF网络隐层神经元的聚类宽度偏小,造成这几个测试样本与本属同类的隐层聚类中心相对距离较远,神经元激活程度不够,从而导致分类识别错误。当采用不同姿态的人脸训练时,同类样本问的差异可以使得RBF网络的学习更加充分,有利于正确地分类识别。
通过实验,8个方向的滤波器若忽略其中任何一个方向,识别正确率都明显下降,说明对于多姿态人脸来说,各个方向的人脸Gabor特征都不可缺少。若使用全部40个滤波器运算量又太大,同时也不能获得更好的结果。限于篇幅,表2列出了全8个方向与部分频率组合的实验结果比较,从表2可以看出选取空间频率v∈{1,2}或v∈{0,1,2}均能获得最佳识别结果,故本文在2个空间频率v∈{l,2}和8个方向μ∈{0,…,7}上进行采样,形成16个Gabor滤波器。
图4表示对Gabor人脸采用小波分解和采样法进行降维处理的识别结果。由图4可知,小波分解方法明显优于采样法,本文特征提取方法的最佳维数在140维左右。
由表3可知,同样采用基于RBF神经网络的分类器:与方法l相比,基于Gabor小波的特征提取方法优于主分量分析(PCA)与Fisher线性鉴别变换(FLD)的组合;方法2采用高阶伪泽尔尼克不变矩表征人脸,需要运用椭圆模型对人脸进行精确的尺度校正和分割。方法3采用5个频率的40个Gabor滤波器,本文选用2个频率的16个滤波器,在识别速度和占用内存等方面具有显著优势。方法4采用自组织稀疏RAM的N—tuple神经网络分类器,对于小样本具有较好的泛化逼近能力,本文算法在相同试验条件下具有不相上下的识别率。
5 结论
实验表明Gabor小波对于人脸位置、图像亮度变化具备较好的适应能力,在基于二维图像的人脸识别方法中具有一定的优越性。同时,也注意到前人研究成果主要针对128×128的人脸图像,进一步的研究工作可以根据Gabor小波的构造原理,选取适用于较低分辨率图像(如64x64)的滤波器参数。由于滤波处理的计算复杂度为O(d2),人脸识别速度可以提高4倍,则有望满足实时识别要求。
RBF神经网络具有结构简单、非线性逼近能力强、收敛速度快以及全局收敛等显著优点。本文采用的RBF神经网络初始化方法,充分利用了人脸特征矢量的相对分布信息,聚类初始化过程简单、快速,同时可以保证RBF神经网络结构极其简单,具有较好的泛化能力。本文提出的学习速率估算方法具有普遍性,使得RBF网络无需先验参数、具备自适应能力。而且神经网络是以并行方式处理信息,采用硬件实现能够达到较高速度,所以该研究成果具有广泛意义。