d.将A投影到V 则为p × d的矩阵F = AV .在2DPCA中,采用以下标准决定最优投影向量V :
J (V ) = trace{E[(F − EF )(F − EF )T
]}
= trace{E[(AV − E(AV ))(AV − E(AV ))T
]}
T
= trace{V TE[(A − EA)(A − EA)]V } (9)
定义图像协方差矩阵Q = E[(A − EA)T(A − EA)],其为q × q非负正定矩阵.假定有L个训练样本,则有大小为p × q的Ak, k = 1, 2, ..., L,图像的均值为:
A(¯)= (1/L)ΣkAk (10)
那么协方差矩阵Q可以表示为:
T
¯¯
Q = (1/L) �(Ak − A)(Ak − A) (11) k
可以证明最优投影矩阵Vop是由Q的前d个最大特征值对应的正交特征向量构成的,即Vop =[ 1, ..., d].因为Q的大小为q × q,所以计算协方差矩阵的特征向量是简单有效的.
2.3 分类方法
通过2DPCA的处理,最优投影矩阵Vop =[ 1, ..., d]可以应用于特征抽取.对于训练样本的差分图像Ai 是 ∗i =
jj xxxj(i)− commoni 转化为p × q的图像矩阵,则:
N
Zij V, i = 1, 2, ..., C; j = 1, 2, ..., N (12) j=1
train = (1/N) � Ai
对于一个测试图像的差分图像Atest(即: test − commoni ),其差分向量在V 上的投影特征为:
Ztesti = AtestV, i = 1, 2, ..., C (13)
通过2DPCA的处理,每个差分图像的特征矩阵都获得,这里,得到C个训练样本的平均特征矩阵Zi
train和一个测试图像的C个特征矩阵Zi
test,本文采用的分类标准为:
ii 2
Dr (x) = min{Di(x)} = min{||Ztest − Ztrain|| },
i = 1, ..., C (14)
如果在这C个差值 Di(x)中有个最小值,该最小值对应的类作为该测试样本的识别结果,即测试样本属于第r类.
3 实验结果
为了测试本文提出的算法的性能,选用两个通用人脸数据库:ORL和Yale.所有实验均在PC机为P4 2.8GHz CPU,512M RAM,Matlab7 的平台上测试.
3.1 基于ORL人脸数据库的测试本实验,选用ORL人脸数据库作测试.ORL人脸库包含
大小为112 × 92的400张,不同的姿势,光线,表情(眼睛张开或关闭,是否微笑)和面部细节(有无眼镜)的人脸图像.
首先,从每类中随机选取5张图像作训练样本以获取共同向量.图1中的第一行为原始人脸图像,由于数据库中人脸大小不同,旋转角度不同,我们把人脸归一化,第二行为归一化后的人脸图像(大小为100 × 80),第三行为对应的该类的共同向量的图像.实验证实从每类中获取的共同向量独立于选取的参考样本,这也意味着共同向量代表该类的共有性质.图2显示为四类人脸图像以及每个人脸图像对应的差分向量.由图2看出差分向量的人脸图像代表着该图像的特有性质,呈现出面部表情,姿势的变化.
为了从不同的角度测试和比较本文提出方法的性能,将实验分为两组,第1组实验采用降维的方法进行测试比较,选用的方法为:PCA,2DPCA,(2D)2PCA,LDA 和2DLDA. 第2组实验采用都用共同向量的方法,选用的方法为:CVP,KCVP,DCV 和KDCV.
3.1.1 基于降维方法的实验及结果本实验,随机选用每类5个作为训练样本,剩下的作测试样本.每个实验重复20次.由于多次重复实验,从每次实验中发现,每种方法当获得最高识别率时,特征维数总是在一个特定值的左右波动,而且波动的值很小,所以本实验针对每种方法采用一个选定的特征维数进行测试,实验重复20次,得到近最高识别率的平均值,从而相应的运行时间也获得的.表1给出的不同算法在获得平均最高识别率时,相应的特征维数和运行时间,从中可以看出本文提出的方法在获得较高识别率基础
上,其计算时间比PCA,LDA,2DPCA 和2DLDA 更为有效.尽管运行时间不比(2D)2PCA快,但是识别率上还是具有优势.
表1 基于ORL人脸库的六种算法的性能比较Table 1 Performance comparison of six approaches on ORL
方法平均识别率(%) 特征维数运行时间(ms)
PCA 94.25 80 20.66
LDA 94.48 40 13.05
2DPCA 95.48 100×11 7.76
(2D)2PCA 95.85 8×8 4.01
2DLDA 95.75 100×8 6.76
本文方法 96.68 80×8 5.25
本实验在不同训练样本数的情况下进行测试,随机从每类样本中抽取p个样本作训练,剩下的样本作测试,采用4组实验测试.为了确保有足够的训练样本,我们采用p ≥ 4,所有的实验重复20次.表2显示不同方法随训练样本数的不同平均错误率的比较.由表2看出,本文方法错识率要小于其它方法,其识别性能较好.随着训练样本数的增加,错识率也呈现递减的趋势.
表2 基于ORL数据库的六种方法的错识率的比较Table 2 Error rate comparison of six approaches on ORL
方法/训练样本数 4 5 6 7
PCA 8.15 5.75 4.80 3.05
LDA 7.05 5.52 4.00 3.04
2DPCA 7.09 4.52 3.75 2.15
(2D)2PCA 7.25 4.15 3.75 2.29
2DLDA 6.40 4.25 3.65 2.25
本文方法 6.35 3.32 2.75 2.15
3.1.2 基于共同向量方法的实验及结果本实验中,随训练样本数的不同比较本文方法与CVP,KCVP,DCV,KDCV 的识别性能.随机选取样本数
为3,5,7个样本作训练,其余作测试.实验同样重复20次.实验采用平均识别率作为实验结果.识别率和标准方差(σ)由表3给出.实验结果可以看出,本文提出的方法在识别性能上具有优势.
3.2 基于Yale 人脸数据库的测试
Yale 人脸数据库含有165张灰度人脸图像(15位人,每人11张),实验首先归一化为100 × 80大小的图像.采用这个数据库是为了评估本文方法在面部表情及光照变化的情况下的识别性能.图3显示一部分人脸图像样本和归一化的图像.
在Yale 实验中,所有实验同样重复20次,表4显示在训练样本数变化的情况下的各种方法所得到的最高识别率,本文提出的方法在识别率性能上具有优势.图4显示在不同特征维数情况下的各种方法的识别率(采用前5个作训练样本),由图4看出,随着特征维数的减少,与PCA,2DPCA和2DLDA 比较,本文方法获得相同甚至较好的识别率.