发明内容
本发明的目的在于针对已有技术存在的不足,提供了一种基于Gabor滤波和联合稀疏模型的人脸识别方法。将Gabor滤波的方法融入到联合稀疏模型方法中,不仅减少了存储空间的大小同时对光照及表情变化也具有较好的鲁棒性。
本发明是通过以下技术方案实现的:
一种基于Gabor滤波和联合稀疏模型的人脸识别方法,其特征在于通过Gabor滤波器提取人脸图像的Gabor特征,消除光照、表情变化的影响,然后利用JSM算法提取每类训练人脸图像的公有部分及私有部分(按不同的人对人脸库中的图像分类,同一个人的所有图像归为一类,公有部分表示了每类人脸图像共有的人脸特征,私有部分表示了人脸不同的表情、光照等细节变化),最后利用SRC分类方法对测试人脸图像进行分类识别。其具体步骤如下:
步骤一、预处理
1.1)对人脸库中的图像进行归一化处理,归一化后的图像的大小统一为32×32象素大小;
1.2)对归一化后的图像进行直方图均衡化处理,减少光照的影响。
步骤二、Gabor滤波
通过Gabor滤波器提取人脸图像的Gabor特征,所述的Gabor滤波的步骤如下:
2.1)对预处理后的人脸图像采用Gabor滤波器提取人脸图像的Gabor特征。其方法是定义这样一个Gabor滤波器:
其中k
u,v=[k
vcosφ
uk
vsinφ
u]
T,u和v分别代表Gabor滤波器的方向和尺度,z是给定位置图像的坐标,||·||表示模运算,T表示转置运算。参数定义为:k
v=k
max/f
v,φ
u=uπ/8,k
max=π/2,
参数σ=2π;取5个尺度v∈{0,1,2,3,4},8个方向u∈{0,1,2,3,4,5,6,7}上的Gabor滤波器函数,
表示尺度为v,方向为u的Gabor滤波器。
2.2)将人脸图像与Gabor滤波器函数进行卷积运算得到人脸图像的Gabor特征。其方法是:
其中I(z)表示人脸图像,v表示尺度,v∈{0,1,2,3,4},u表示方向,u∈{0,1,2,3,4,5,6,7},
是尺度为v,方向为u的Gabor滤波器,*是卷积运算符,z是给定位置图像的坐标,G
u,v(z)表示人脸图像与Gabor滤波器的卷积结果,即为人脸图像的Gabor特征。
2.3)对人脸库中的每个人脸图像计算步骤2.1)以及步骤2.2)进行Gabor滤波,每个人脸图像由于均采用5个尺度,取{0,1,2,3,4},8个方向,取{0,1,2,3,4,5,6,7}的Gabor滤波器,因此将得到40个Gabor特征。我们将人脸图像的Gabor特征进行下采样处理,然后将采样后的特征按行级联成一个向量来表示每一个人脸图像。
至此,我们得到了人脸库中所有人脸图像的Gabor特征,将同一个人的不同人脸图像归为一类,则其Gabor特征可表示为
其中k表示第k个人,g
k,1表示第k个人中第一个人脸图像的Gabor特征,依次类推
则表示第k个人中第I
k个人脸图像的Gabor特征,I
k表示第k个人中人脸图像的个数,g
k表示第k个人所有人脸图像的Gabor特征集合,T表示转置运算。
步骤三、JSM特征提取
我们选择Jk个训练人脸图像,利用提取出的Gabor特征作为JSM算法的输入,提取每类训练人脸图像的公有部分及私有部分(将同一个人的不同人脸图像归为一类),所述的JSM特征提取的步骤如下:
3.1)利用JSM算法对每一类训练人脸图像进行特征提取,提取其公有部分及私有部分和:
其中,g
k表示第k个人训练人脸图像的Gabor特征集合;
g
k,j表示第k个人中的第j个人脸图像的Gabor特征,
其中B=[Ψ
TΨ
T...Ψ
T]
T,C=diag(B),
Ψ是一个N×N的正交矩阵,优选DCT正交矩阵;W
k表示第k个人训练人脸图像在Ψ上的公有部分及所有的私有部分;
表示第k个人训练人脸图像在Ψ上的公有部分,
表示第k个人中第j个人脸图像在Ψ上的私有部分,T表示转置运算;Jk表示第k个人训练人脸图像的个数。
3.2)利用步骤3.1)计算出W
k,得到
及
通过求逆变换来求得人脸图像在空间域的公有及私有部分,即
将第k个人训练人脸图像的私有部分统一表示为和的形式
其中Ψ
T表示矩阵Ψ的转置,J
k表示第k个人中人脸图像的个数,
表示第k个人训练人脸图像在空间域上的公有部分,
表示第k个人中第j个人脸图像在空间域上的私有部分,
表示第k个人训练人脸图像在空间域上的私有部分和。
3.3)计算步骤3.1)及步骤3.2)可求得每类训练人脸图像的公有部分及私有部分和。
步骤四、SRC分类识别
利用每一类训练人脸图像提取的公有部分及私有部分的和来构造字典。利用SRC分类方法把测试人脸图像归到相应的类中。所述的SRC分类识别的步骤如下:
4.1)利用步骤三中的JSM特征提取方法,提取每一类训练人脸图像的公有部分及私有部分的和。假设共有K类人脸图像,也即人的个数,则由其Gabor特征所构成的字典A为
其中
表示第i个人的公有部分,
表示第i个人的私有部分的和。
4.2)对于测试人脸图像y,类别l未知,利用步骤一以及步骤二中的方法进行计算得到其Gabor特征向量gy;其中l的取值范围为{1,2,...,K}。
4.3)计算步骤4.1)以及步骤4.2)得到字典A和测试人脸图像的Gabor特征向量gy。根据x=arg min||x||1 s.t.Ax=gy计算测试人脸图像的稀疏表示系数x,其中A是由每一类训练人脸图像的公有部分及私有部分的和构造成的字典,x是gy在字典A上的稀疏表示。
4.4)对测试人脸图像进行重构,测试人脸图像的估计值为g
y,l=Aδ
l(x),l∈{1,2,...,K},其中δ
l(x)表示提取稀疏表示系数中与第l类的人脸图像对应的系数,其余的系数均取0,而后计算所有g
y,l与g
y之间的差,并将g
y的类别置为使得g
y,l与g
y之间的差最小的l,
rl(y)表示测试人脸图像利用第l类的人脸图像重构所造成的误差。
本发明与现有的人脸识别技术相比较。具有如下的突出特点:Gabor滤波的加入使得本发明对光照和表情的变化具有一定的鲁棒性;本发明所提出的算法由于仅提取了训练图像的公有部分及私有部分的和,因此减少了存储空间的大小。
具体实施方式
图1为本发明提出的基于Gabor滤波和联合稀疏模型的人脸识别方法的流程图。整个流程分为训练模块和识别模块,训练模块主要是对训练图像进行预处理,然后对训练图像进行Gabor滤波,提取每类训练图像的公有部分及私有部分的和,构成SRC分类器的字典;识别模块是对未知的测试图像进行预处理和Gabor滤波,最后利用SRC分类算法对测试图像进行分类识别。
结合图1对本发明的实施过程作详细的说明。本发明的实施例是在以本发明技术方案为前提进行实施的,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述实施例。
实施例采用了一个公有的人脸数据库,Yale人脸库。Yale人脸库包含15个人,每人11张图片,主要包括光照条件及表情的变化。我们把15个人表示成15类,每一类有11张人脸图像。实验中对于每一类人脸图像,随机选取4张人脸图像作为训练图像,剩余的作为测试图像。因此人脸库中训练图像共60张。
下面详细给出该发明技术方案中所涉及的各个细节问题的说明:
步骤一、预处理
对人脸库中的共165张人脸图像进行归一化处理,我们采用双线性插值法将图像压缩至32×32象素大小,对归一化后的图像进行直方图均衡化处理,减少光照的影响。
步骤二、Gabor滤波(图2)
2.1)对预处理后的每个人脸图像采用Gabor滤波器提取人脸图像的Gabor特征。其方法是定义这样一个Gabor滤波器:
其中k
u,v=[k
vcosφ
uk
vsinφ
u]
T,u和v分别代表Gabor滤波器的方向和尺度,z是给定位置图像的坐标,||·||表示模运算,T表示转置运算。参数定义为:k
v=kmax/f
v,φ
u=uπ/8,k
max=π/2,
参数σ=2π;取5个尺度v∈{0,1,2,3,4},8个方向u∈{0,1,2,3,4,5,6,7}上的Gabor滤波器函数,
表示尺度为v,方向为u的Gabor滤波器。
2.2)将人脸图像与Gabor滤波器函数进行卷积运算得到人脸图像的Gabor特征。其方法是:
其中I(z)表示人脸图像,v表示尺度,v∈{0,1,2,3,4},u表示方向,u∈{0,1,2,3,4,5,6,7},
是尺度为v,方向为u的Gabor滤波器,*是卷积运算符,z是给定位置图像的坐标,G
u,v(z)表示人脸图像与Gabor滤波器的卷积结果,即为人脸图像的Gabor特征。
2.3)对人脸库中的每个人脸图像计算步骤2.1)以及步骤2.2)进行Gabor滤波,每个人脸图像由于均采用5个尺度,取{0,1,2,3,4},8个方向,取{0,1,2,3,4,5,6,7}的Gabor滤波,因此将得到40个Gabor特征。对每个Gabor特征进行下采样处理,本发明中将每个Gabor特征下采样为4×6大小,然后将采样后的特征按行级联成一个向量。
至此,我们得到了165张人脸图像的Gabor特征,我们把同一个人的不同图像归为一类,则其Gabor特征可表示为
其中k表示第k个人,k∈{1,2...,15},g
k,l表示第k个人中第一个人脸图像的Gabor特征,依次类推
则表示第k个人中第I
k个人脸图像的Gabor特征,这里的I
k=11;g
k表示第k个人所有人脸图像的Gabor特征集合,T表示转置运算。
步骤三、JSM特征提取(图3)
我们选择Jk个训练人脸图像,利用提取出的Gabor特征作为JSM算法的输入,提取每类训练人脸图像的公有部分及私有部分,所述的JSM特征提取的步骤如下:
3.1)利用JSM算法对每一类训练人脸图像进行特征提取,提取其公有部分及私有部分:
其中,g
k表示第k个人中训练人脸图像的Gabor特征集合。k={1,2...,15},
其中B=[Ψ
TΨ
T...Ψ
T]
T,C=diag(B),
J
k=4;Ψ是一个N×N的正交矩阵,优选DCT正交矩阵;W
k表示第k个人训练人脸图像在Ψ上的公有部分及所有的私有部分;
表示第k个人训练人脸图像在Ψ上的公有部分,
表示第k个人中第j个训练人脸图像在Ψ上的私有部分。
3.2)利用步骤3.1)计算出W
k,得到
及
其中k∈{1,2...,15},通过求逆变换来求得人脸图像在空间域的公有及私有部分,即
将第k个人训练人脸图像的私有部分统一表示为和的形式
其中Ψ
T表示矩阵Ψ的转置,J
k表示第k个人训练人脸图像的个数,这里的J
k=4;
表示第k个人训练人脸图像在空间域上的公有部分,
表示第k个人中第j个人脸图像在空间域上的私有部分,
表示第k个人训练人脸图像在空间域上的私有部分和。
3.3)计算步骤3.1)及步骤3.2)可求得每类训练人脸图像的公有部分及私有部分和。(公有部分表示了每类训练人脸图像共有的人脸特征,私有部分和表示了人脸不同的表情、光照等细节变化)。
至此我们得到了15类训练人脸图像的公有部分及私有部分的和。
表示第i类训练人脸图像的公有部分,
表示第i类训练人脸图像的私有部分和。
步骤四、SRC分类识别
利用每一类训练人脸图像提取的公有部分及私有部分的和来构造字典。利用SRC分类方法把测试人脸图像归到相应的类中。所述的SRC分类识别的步骤如下:
4.1))利用步骤三中的JSM特征提取方法我们得到了15类训练人脸图像的公有部分及私有部分的和,
由
构造成字典A,
表示第i类训练人脸图像的公有部分,
表示第i类训练人脸图像的私有部分和。
4.2)对于测试人脸图像y,类别l未知,利用步骤一以及步骤二中的方法进行计算得到其Gabor特征矢量gy;其中l∈{1,2,...,15}。
4.3)计算步骤4.1)以及步骤4.2)得到字典A和测试人脸图像的Gabor特征矢量gy,根据x=arg min||x||1 s.t.Ax=gy计算测试人脸图像的稀疏表示系数x,其中A是由每一类训练人脸图像的公有部分及私有部分的和构造成的字典,x是gy在字典A上的稀疏表示。
4.4)对测试人脸图像进行重构,测试人脸图像的估计值为g
y,l=Aδ
l(x),l∈{1,2,...,15},其中δ
l(x)表示提取稀疏表示系数x中与第l类的人脸图像对应的系数,其余的系数均取0,而后计算所有g
y,l与g
y之间的差,并将g
y的类别置为使得g
y,l与g
y之间的差最小的l,
r
l(y)表示测试人脸图像利用l类的人脸图像重构所造成的误差。
下面详述说明本发明的实验结果:
在Yale人脸库上,对于每一类人脸图像我们随机选取Jk(训练图像的个数)个人脸图像作为训练图像,剩余的作为测试图像,分别进行5次实验。表1中的识别率均为5次实验结果的平均值。随机选择训练图像集及多次实验确保了实验结果的稳定性。分别比较了JSM算法,直方图均衡化+JSM算法及本发明的算法。识别率如表1所示:
表1识别率比较
表1中的Jk表示训练人脸图像的个数。实验数据说明了本发明的优越性,在不同的训练图像个数(3,4,5)的情况下,均获得了不错的识别率。本发明提出的方法在训练图像个数仅为3的情况下,识别率也达到了91.52%,而JSM算法识别率仅为82.98%。由于Gabor滤波器提取了人脸图像对光照及表情等不敏感的特征,减少了光照、表情变化的影响,采用Gabor人脸特征来代替原始人脸图像作为输入,然后利用JSM算法有效的提取每类人脸图像的特征进行分类识别取得了不错的识别率。因此,本发明提出的方法对光照表情的变化具有更好的鲁棒性。