基于奇异值特征进行人脸识别的方法是由 Hong[1]首先提出来的。在样本数量很大、维数很高的情况下,利用奇异值分解(SVD)压缩降维处理,减少算法的时间复杂度,是描述人脸特征一种有效的方法。由于整体图像的奇异值向量反映的是图像整体的统计特征,对细节的描述还不够深入,本文模拟人类识别人脸的模式,在图像分块和加权的基础上,突出待识别人脸的骨骼特征,近似于人类在识别人脸时自动剔除同一人脸的变化部位的差异能力。
人脸识别在本质上是区分两幅人脸图像表观上的差别是类内变化(同一人的不同图像)还是类间变化(不同人的不同图像)。因此,如何对类内变化以及类间变化精确的建模和分类成为人脸识别领域的重要研究内容之一。在众多的建模、分类方法中,统计模型是一种主流方法,其中Moghaddam[8]提出的贝叶斯分类器得到了广泛的认可。
径向基函数(RBF)网络是一种性能良好的前馈型三层神经网络,具有全局逼近性质和最佳逼近性能,训练方法快速易行,RBF 函数还具有局部响应的生物合理性。RBF神经网络隐含层结点使用了非线性传输函数,比单层感知器网络具有更强的分类能力。在隐含层中心确定的情况下,RBF神经网络只需对隐含层至输出层的单层权值学习修正,比多层感知器具有更快的收敛速度,这也是本文选择RBF神经网络作为分类器的原因。
在 RBF 神经网络构建和初始化采取有监督的聚类算法,在网络参数的最终调整和训练方面采取 Hybrid学习(HLA)算法。在隐层参数固定的条件下,由线性最小二乘法计算隐层和输出层之间的连接权值,由梯度下降法调整隐层神经元的中心和宽度。这种混合学习算法,能使RBF网络逼近Moody准则下的最优结构,即:在没有其它先验知识的情况下,与给定样本一致的规模最小的网络就是最好的选择。从而保证该网络具有较好的泛化能力。
奇异值分解SVD
对于任何一个矩阵A∈Rm×n,利用奇异值分解将其转化为对角矩阵。
设A∈Rm×n(不失一般性,设m≥n),且rank(A)=k,则存在两个酉矩阵Um×m和Un×n及广义对角阵Dm×m使下式成立:
其中U的列向量是AAT的特征向量,V的列向量是ATA的特征向量,T表示转置。
称为矩阵A的奇异值, ui(i=k+1,…,m)是AAT对应于λi=0的特征向量,vi(i=k+1,…, n)是ATA对应于λi=0的特征向量。如果矩阵A代表一幅人脸图像,则式表示对该人脸图像进行了正交分解,将矩阵中主对角线上的奇异值元素连同中剩余的(ri-k)个0组合构成一个n维列向量。
由于任何实矩阵A对应唯一的奇异值对角阵,因此,一幅人脸图像对应于唯一的奇异值特征向量。
本文提出的人脸特征提取方法实现的流程如下:
(1)从人脸数据库选择人脸作为识别训练集;
(2)将被选入训练集的人脸图像几何归一化处理;将被选入训练集的人脸图像灰度归一处理;
(3)将预处理过的人脸图像划分成大小为的子块;
(4)将每一幅图像变为一个列向量(先分别将每一个子块所有向量排成一列,再将所有子块按顺序排成一列);然后以子块为单位进行;
(5)计算全部人脸图像的均值;计算每一类人脸图像的平均脸,同时将人脸图像列向量与类内平均脸做差。
基于面部骨骼特征、眼睛的分布、鼻子的形状等结构特征,是鉴别人脸的主要依据。将每一幅人脸图像所形成的矩阵划分成…等个二维矩阵分别降维为一维列向量。求训练集中所有对应子块的平均值,;再对每一类样本中的所有对应子块求平均,;对应子块进行样本规范化,;并求协方差矩阵:,从中取 m 个较大特征值对应的特征向量,构成对应子块的特征脸空间 W1 ,即W1 =[w11,w12,…,w1 m ]T 。再对训练样本进行规范化处理 ,投影到特征脸空间,获得投影特征为:。对任一测试样本对应子块进行规范化处理,即,然后得到投影特征,即
用上述方法逐一对每个子块进行处理。得到。
基于特征分块贝叶斯分类器设计
每个基于特征分块的贝叶斯分类器,利用了所对应的图像块包含的判别信息,为得到性能更好的分类器,需要将这些分类器融合给出最终的判别结果。每个贝叶斯分类器实际上是一个子分类器。可以有多种办法实现分类器融合,如加权求和、相乘等。本文采取加权求和的方法:
其中表示两幅图像的相似度,L是贝叶斯分类器(FBBC)的总数(这里是9),是与的第b个特征块之间的差值。是由第b个贝叶斯分类器计算出的类条件概率密度。是第b个贝叶斯分类器对应的权值。
不同的特征块对应的贝叶斯分类器对最终判别结果贡献是不相同的,本文采取的是基于子分类器分类准确率分配权值的方法:将各子分类器重新放回其训练集,计算其在训练集上的识别率,利用这些识别率,采用下式计算第b个子分类器的权值:
图1人脸图像的预处理
图2RBF神经网络的工作原理
RBF神经网络设计
RBF神经网络的结构如图2。径向基函数的实质 [9],即寻求一个基于→的映射函数(s?r),其中r 是输入空间的维数,s是输出空间的维数,u是隐层节点数。
假定∈(1≤j≤r)为输入层神经元,为隐层第 i个神经元的中心,则第j个神经元在第i个隐层节点的输出为: , i =1,2,…,u,式中||||表示欧氏范数。当RBF选用高斯核函数时,其输出为:
式中为隐层第 i 个神经元的宽度。输出层第 k 个节点的输出值 为: ,式中为隐层节点 k 到第 j 个输出节点的连接权值。
RBF神经网络的构建和初始化
RBF神经网络隐层聚类的初始化过程如下[10]:
(1)隐层节点数u=s。假设每个类收敛于一个聚类中心,再根据情况具体调整。
(2)隐层第 k 个神经元的中心为 k 类特征矢量的均值。,k=1,2,…,u,
(3)计算从均值 到属于类k 的最远点的欧氏距离
(4)计算各个j聚类中心到k聚类中心的距离,j=1,2,…,s, j≠k
a)若,则类k与其他类无重叠。
b)若,则类k与其他类有重叠,需进一步考虑:
(5) 包含规则:若且,则类k包含于类中,类应被
细分为两个聚类。若类k包含许多其他类的数据,需将类k细分为两个聚类。
RBF神经网络的算法
网络学习就是通过调整连接权 、隐层中心和宽度,以减小输出误差。
1、连接权值的调整
定义误差函数为:,,其中是第个训练样本的实际输出值和理想输出值。通过线性最小二乘法求解最佳权值。
2、隐层中心及宽度调整
W固定,采用梯度下降法,经推导可得和的迭代计算公式为:
其中,分别为隐层中心宽度的学习速率,m为迭代次数。
实验结果及分析
利用Yale人脸库中的人脸图像数据进行实验人脸识别实验研究,将人脸图像分块加权重构的奇异值向量X1,X2,…,Xl(其l中为训练样本的数目)矩阵依次输入RBF神经网络训练,当满足误差容限或训练次数,停止训练。在测试过程中,依据竞争选择的办法做出识别判断。
本文重点研究人脸图像的32子块权值选取情况如下:
表1 人脸图像划分不同子块数的识别结果
表2 赋予人脸图像32子块不同权值的识别结果
实验结果表明,基于人脸面部骨骼特征、以及眼睛分布、鼻子形状等结构特征,是鉴别人脸的主要依据。通过子块权值的合理分布,突出人脸骨骼特征,而对嘴部和皮肤折皱等表情变化部分特征给予弱化或剔除,这与人类识别人脸时的模式相近,识别效果较好。对人脸图像进行分块,在样本数量很大、维数很高的情况下,有效地减小了计算量。但是,子块不宜过多,否则增加RBF神经网络计算负担,识别率也会有所下降。
结论
本文提出了基于图像分块奇异值压缩,融合RBF神经网络和贝叶斯分类器的人脸识别方法,模拟人类识别人脸时剔除同一人脸变化部位的差异能力,采用不同子块单独进行人脸识别,根据RBF神经网络识别效果进行权值分配,通过实验证明,本文方法在降维和识别率方面均取得良好的效果,在正面人脸部位(尤其是下颚部)变化较大时,具有良好的识别精度和识别速度。