一种两维线性鉴别分析的人脸识别方法技术领域
本发明涉及生物模式识别领域,具体涉及一种人脸识别技术。
背景技术
随着计算机科学和生物医学技术的发展,利用人体生物特征来进行身份识别已成为一
种重要方式。人脸识别技术作为生物识别技术的重要组成部分,已成为人们日常生活中最
常用的身份识别手段,其不仅具有一般生物识别技术所具有的普遍性、安全性、唯一性、
稳定性以及可采集性,同时具有不需目标配合,可远距离执行以及直观对比的优点。因此,
人脸识别技术在信息安全、刑事侦破、出入口监察等领域具有广泛应用。
现有的人脸识别方法包括有:主成分分析方法(PCA)、线性判别分析方法(LDA)、
基于核的特征提取方法、局部保持投影方法(LPP)、广义奇异值分解方法(GSVD)、线性
鉴别分析方法等。其中线性判别分析(LDA)利用Fisher准则可实现最大化类间距离同时
最小化类内距离,从而得到最优的投影方向,产生最好的分类结果,因而是一种经典的人
脸识别方法。局部保持投影方法(LPP)具有有效保持数据局部特征的特点,可以使在原始
空间中的局部特征经投影后仍能保持,可以很好的处理多模态数据,因此也被广泛使用。
线性鉴别分析方法结合了线性判别分析方法(LDA)和局部保持投影方法(LPP)的特点,
保持了原始数据的局部特征的同时,也可以令投影后的不同类别样本可分离。但由于该线
性鉴别分析方法使用的是一维样本,也就是要把二维人脸图像矩阵拉伸为一维数据,这种
方法会破坏原有人脸的二维结构,并且拉伸后的一维向量维数一般很高(一般可达上万维),
这样就增加了计算的复杂度,同时降低了识别率。
发明内容
本发明的目的是为解决现有线性鉴别分析方法存在的问题,提出一种两维线性鉴别分
析的人脸识别方法,能直接在两维人脸数据上进行计算处理,不会破坏人脸数据结构,简
化了计算过程且提高人脸识别率。
本发明一种两维线性鉴别分析的人脸识别方法采用的技术方案是包括以下步骤:
A、选取训练样本矩阵A和测试样本,针对选取的训练样本矩阵A计算出亲和矩阵元素
Sij,
B、根据亲和矩阵元素Sij计算出类内散度矩阵Sw和类间散度矩阵Sb,
C根据类内散度矩阵Sw和类间散度矩阵Sb计算出类内散度矩阵Sw的逆与类间散度矩
阵Sb乘积的矩阵的特征值λ以及特征向量α,并求出投影矩阵X;
D、利用投影矩阵X将训练样本矩阵A投影到投影空间,得到投影后矩阵Y:
E、采用最近邻分类器对投影后矩阵Y与测试样本进行分类处理,计算出识别率。
本发明建立在两维线性判别分析(2DLDA)和两维局部保持投影(2DLPP)基础上,融
合了2DLDA最小化类内距离最大化类间距离以及2DLPP局部保留的特性,保持了原始数据
的局部特征并提高了投影后样本可分离性。根据类内及类间散度矩阵,结合两维局部保持
投影方法的亲和矩阵,计算出新的两维线性鉴别分析的类内、类间散度矩阵,因此本方法
融合了两维线性判别分析以及两维局部保持投影方法的优点,在处理多模态数据时,不仅
可以将原始数据有效降维,还可以保留数据的局部特性,并且可以直接在两维人脸图像样
本上直接使用,避免了样本数据在拉伸为一维数据时破坏其原有的二维结构,因此本发明
具有高识别率和高效率,识别率大于61%,最高识别率达到87.50%。
附图说明
以下结合附图和具体实施方式对本发明作进一步详细说明:
图1为本发明一种两维线性鉴别分析的人脸识别方法的流程示意图。
具体实施方式
本发明首先计算出类内和类间散度矩阵,再计算出类内散度矩阵的逆与类间散度矩阵
的乘积矩阵,然后计算出乘积矩阵的特征值和特征向量,并求出投影矩阵,最后利用投影
矩阵将二维人脸图像投影到投影空间,并通过最近邻分类器计算出识别率。具体如下:
参见图1,使用数据库为ORL人脸数据库。ORL人脸数据库是由英国剑桥大学AT&T实
验室创建,该数据库共包含了40个人的400幅脸部图像,每人10幅,10幅图像包含了人
在不同姿态、不同光照、不同表情或面部饰物状态下的人脸状态,每幅人脸图像样本矩阵
为112×92维,分为40个类别,每类10个人脸样本矩阵,共400个样本。随机选取每类
别5幅人脸图像矩阵为训练样本矩阵A,其余为测试样本,即共计200个训练样本,200个
测试样本。
首先,针对选取的训练样本矩阵A,计算得到两维线性鉴别分析的亲和矩阵S。先通过
下式计算出亲和矩阵S中的元素Sij;
S i j = exp ( - | | A l - A k | | F 2 t 2 ) , ]]>
上述计算公式中Sij为亲和矩阵S的第i行第j列元素,1≤i≤200,1≤j≤200,exp为以e
为底的指数函数,A为112×92维人脸训练样本矩阵,Al,Ak分别为第l和k个人脸训练样本
矩阵,1≤l≤200,1≤j≤200,在数值上i=l,j=k,||Al-Ak||F为Al-Ak的Frobenius范数,t
为一个调谐参数,1≤t≤100。由元素Sij得到一个200×200维亲和矩阵
S = S 11 S 12 ...... S 1200 S 21 S 22 ...... S 2200 ...... ...... ...... S 2001 S 2002 ...... S 200200 . ]]>若t取值为10时: S = 1 0.0146 ...... 0 0.0146 1 ...... 0 ...... ...... ...... 0 0 ...... 1 . ]]>
根据亲和矩阵S中的元素Sij,由下式计算出类内散度矩阵Sw和类间散度矩阵Sb;
S w = 1 2 Σ l , k = 1 n W i j w ( A l - A k ) ( A l - A k ) T ]]>
S b = 1 2 Σ l , k = 1 n W i j b ( A l - A k ) ( A l - A k ) T ]]>
W i j w = S i j / n c , y l = y k 0 , y l ≠ y k , ]]>
W i j b = S i j ( 1 / n - 1 / n c ) , y l = y k 1 / n , y l ≠ y k ]]>
其中,n为训练样本的总个数,n=200,nc为第c类样本个数,本发明在nc=5,
1≤c≤40,Al,Ak分别为第l和k个人脸训练样本矩阵,1≤l≤200,1≤j≤200,yl,yk分别为
Al,Ak的样本类别标签,T为矩阵转置运算。根据计算结果可知,类内散度矩阵Sw和类间散
度矩阵Sb均为112×112维矩阵,当t取值为10时,类内散度矩阵Sw和类间散度矩阵Sb分别
为:
S w = 6.3038 4.9798 ... ... 0.1895 4.9798 6.6131 ... ... 0.0750 ... ... ... ... ... ... 0.1895 0.0750 ... ... 21.4840 , ]]>
S b = - 7.8514 - 6.3600 ...... - 0.2110 - 6.3600 - 8.2010 ...... - 0.0658 ...... ...... ...... - 0.2110 - 0.0658 ...... - 25.1652 . ]]>
根据类内散度矩阵Sw和类间散度矩阵Sb计算出类内散度矩阵Sw的逆与类间散度矩阵
Sb乘积的矩阵的特征值λ以及特征向量α,并求出投影矩阵X;
S w - 1 S b α = λ α , ]]>
式中λ为矩阵Sb的特征值,α为特征值λ对应的特征向量,将特征值λ从大到小排
列,取前d个特征值为[λ1,λ2,......,λd],1≤d≤112,这些特征值对应的特征向量α排列为
[α1,α2,......,αd];其中,最大特征值λ1所对应的特征向量α1即为投影矩阵X的第一个列向量,
X=[α1,α2,......,αd]。根据计算结果可知,投影矩阵X为112×112维矩阵。若t取值为10,d
取值为112时,对应的特征值和投影矩阵X分别为:
[λ1,λ2,......,λ112]=[-1.0923,-1.0932,......,-1.3457],
X = 0.0155 0.0053 ...... 0.6228 - 0.0171 0.0283 ...... 0.1473 ...... ...... ...... 0.0438 0.0394 ...... - 0.0154 . ]]>
再利用投影矩阵X将训练样本矩阵A投影到投影空间,得到投影后矩阵Y:
Y=X-1A,
式中A为112×92维人脸样本矩阵,X为112×d维投影矩阵,X=[α1,α2,......,αd],Y为
d×92维矩阵。
最后,用人脸识别技术中广泛使用的最近邻分类器对投影后矩阵Y与测试样本进行分类
处理,可得出被识别出的测试样本数,用得出的被识别出的测试样本数除以总测试样本数
200,便可计算出识别率。
本发明中,识别率与调谐参数t相关,识别率也随着特征值λ的个数(即d的值)的增
大而增大。当d取最大值112时,调谐参数t选取1到100内的9个值时,得出的识别率列
在下表1中。由下表1可以看出:当t=10时,测试样本得到最高识别率为87.50%。
表1取不同调谐参数t时的识别率
调谐参数t
测试样本识别率(%)
1
61.50
2
79.00
3
82.50
4
85.50
5
86.50
10
87.50
20
87.00
50
86.50
100
86.00