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类细分为两个聚类。