本发明涉及模式识别领域和人工智能领域,具体涉及一种融合矩阵和向量特征提取的foley-sammon人脸识别方法。
背景技术:
人脸识别在计算机模式识别研究领域非常活跃,在商业领域和安全领域得到应用。从受控格式的照片(如护照、信用卡、驾驶执照)和面部照片的静态匹配到监控视频图像的实时匹配。人脸识别技术主要有三个问题:图像分割、特征提取和识别。其中,提取人脸图像的特征是完成人脸识别任务的关键。
目前,提取人脸图像的特征主要有基于向量的特征提取方法,如:主成分分析,线性判别分析方法,foley-sammon特征提取方法等;还有基于图像矩阵的特征提取方法,如:两维主成分分析,两维线性判别分析和双向两维线性判别分析等。基于向量的特征提取方法存在的缺点在于:先要将图像矩阵转换为高维向量,导致人脸识别处理需要耗费大量时间和存在小样本问题。基于图像矩阵的特征提取方法直接由人脸图像矩阵计算出类内散射矩阵和类间散射矩阵,没有小样本问题。人脸图像矩阵经过图像矩阵的特征提取方法处理后得到的是压缩的矩阵,当人脸图像样本数量太大时,占用存储空间大,计算时间也较长。
foley-sammon特征提取方法是基于向量的特征提取方法,需要先将人脸图像按行或列拉成向量,然后对向量进行处理。该向量一般为高维向量,用foley-sammon特征提取方法处理这些高维向量时,计算量大,还存在小样本问题。
技术实现要素:
本发明目的是为解决上述现有人脸识别方法存在的问题,提出一种融合矩阵和向量特征提取的foley-sammon人脸图像特征提取方法。本发明分别用两维foley-sammon特征提取方法和两维线性鉴别分析进行人脸图像行和列方向上压缩。将压缩后的每个图像分别按行和列拉成向量后进行融合成一个向量数据。提取融合后向量数据的鉴别信息。最后用最近邻分器对结果进行分类处理,实现人脸图像的准确识别。该方法融合了矩阵和向量两种特征提取方法,具有计算量小,占用存储空间小,识别率高等有优点。本发明方法具体描述如下:
人脸数据库中有c类人脸图像,每幅人脸图像样本是m×n维矩阵图像,m表示行数,n表示列数。其中,c类中的第i类ci有ni个训练样本,1≤i≤c,n为训练样本总个数n=c×ni。m×n维人脸样本矩阵为a,aj为第j个m×n的人脸图像训练样本,ak'为第k个m×n的人脸图像测试样本,1≤i≤c,1≤j≤n,1≤k≤m。
步骤一、计算人脸图像矩阵水平方向上的两维foley-sammon鉴别向量矩阵
根据以下公式计算出类内散射矩阵swh和类间散射矩阵sbh:
其中:第i类训练样本图像的均值
根据类内散射矩阵swh和类间散射矩阵sbh计算出类内散射矩阵swh的逆矩阵swh-1与类间散射矩阵sbh乘积矩阵的特征值λ以及特征向量α:
swh-1sbhα=αλ
其中,λ为swh-1sbh的特征值,α为特征值λ对应的特征向量。
将特征值λ从大到小排列,取前r(1≤r≤n)个特征值为{λ1,λ2,λ3…λr},对应的特征向量为{α1,α2,α3…αr},最大特征值λ1所对应的特征向量α1即为投影矩阵u的第一个列向量,已知α1,α2,…,αr是一组最优鉴别向量集,则第r+1个鉴别向量αr+1计算如下:
psbhαr+1=λr+1swhαr+1
其中
根据以上计算可得到p个最优鉴别向量集α1,α2,…,αp组成的鉴别向量矩阵u=[α1α2…αp]t;由此求出了两维foley-sammon鉴别向量矩阵u。
步骤二、计算人脸图像矩阵垂直方向上的两维线性鉴别向量矩阵
根据以下公式计算出类内散射矩阵swv、类间散射矩阵sbv:
根据类内散射矩阵swv和类间散射矩阵sbv计算出类内散射矩阵swv的逆矩阵swv-1与类间散射矩阵sbv乘积矩阵的特征值γ以及特征向量
其中,γ为swv-1sbv的特征值,
将特征值γ从大到小排列,取前q(1<q≤n)个特征值为{γ1,γ2,γ3…γq},对应的特征向量为{φ1,φ2,φ3…φq},前q个特征向量组成鉴别向量矩阵v=[φ1φ2…φq]t,由此求出了两维线性鉴别向量矩阵v。
步骤三、人脸图像矩阵的双向压缩
用鉴别向量矩阵u和鉴别向量矩阵v将人脸训练样本矩阵aj投影到投影空间,对人脸训练样本矩阵aj进行水平和垂直方向上的压缩,得到p×q维矩阵bj:
bj=uajvt
用鉴别向量矩阵u和鉴别向量矩阵v将人脸测试样本矩阵ak'投影到投影空间,对人脸测试样本矩阵ak'进行水平和垂直方向上的压缩,得到p×q维矩阵bk':
bk'=uak'vt
其中:bj是m×n维人脸训练样本矩阵aj经双向压缩后得到的p×q维矩阵,bk'是m×n维人脸测试样本矩阵ak'经投影后的p×q维矩阵。
步骤四、向量的融合及鉴别信息提取
将压缩后的第j个训练图像bj分别按列和行拉成向量,bj按列拉成向量
将压缩后的第k个测试图像bk′分别按列和行拉成向量,bk′按列拉成向量
用以下方法计算非相关线性变换矩阵g:
由n个训练样本向量
sw=hwhwt,
sb=hbhbt,
st=hthtt。
其中hw,hb和ht可以进行如下计算:
ht的奇异值分解(svd)计算为
ht=u1∑tv1t。
设
令
g=xβ。
则训练样本矩阵bj按列拉成的向量
按照计算g的同样方法,可计算训练样本矩阵bj按行拉成向量
将训练样本的投影
用最近邻分类器根据训练投影向量yj对测试投影向量yk'进行分类处理,计算出分类准确率。
本发明的有益效果是:
(1)本发明在于先将图像压缩后再提取特征和分类。而以往大部分处理方法是直接把图像拉成向量,那样向量维数很高,计算复杂。
(2)本发明在水平方向上采用foley-sammon的方法和垂直方向采用两维线性鉴别方法提取鉴别信息,可以得到人脸图像互补的鉴别特征信息,尽可能得保留人脸图像的主要特征信息,使人脸图像的鉴别信息提取更加充分,从而提高人脸图像的识别率。
(3)本发明直接对图像矩阵进行计算,简单易行,实用性强。
附图说明
图1为本发明的流程示意图。
具体实施方式
本发明提出一种双向两维foley-sammon人脸图像特征提取方法,将人脸图像用双向两维foley-sammon特征提取方法进行压缩。将压缩后的每个图像分别按行和列拉成向量后进行融合成一个向量数据。提取融合后向量数据的鉴别信息,得到向量数据的压缩数据。最后用最近邻分类器对结果进行分类处理,实现人脸图像的准确识别。该方法融合了矩阵和向量两种特征提取方法,具有计算量小,占用存储空间小,识别率高等有优点。
以下提供发明的一个实施例:
本实施例使用jaffe人脸表情数据库中共有10人,每个人有7类表情,每类表情各有8张。整个数据库中共包含213张人脸图像,每张人脸图像分辨率为256×256。从10个人的表情图像中各自选出了5张组成了50张的训练样本集,又从剩下的图像中每人各自选出了5张组成了测试样本集。在jaffe数据库中共有c类,c=10,表示图像数据共有10类,其中,第i类ci有ni个训练样本,即ni为第i类样本个数,ni=5,1≤i≤40。n为训练样本总个数,即n=200。aj为第j个m×n=256×256的人脸图像训练样本,ak'为第k个m×n=256×256的人脸图像测试样本,1≤i≤c,1≤j≤n,1≤k≤m,m=n=200。
步骤一、计算人脸图像矩阵水平方向上的两维foley-sammon鉴别向量矩阵
根据以下公式计算出类内散射矩阵swh和类间散射矩阵sbh:
计算可得:
其中:第i类训练样本图像的均值
根据类内散射矩阵swh和类间散射矩阵sbh计算出类内散射矩阵swh的逆矩阵swh-1与类间散射矩阵sbh乘积矩阵的特征值λ以及特征向量α:
swh-1sbhα=αλ
其中,λ为swh-1sbh的特征值,α为特征值λ对应的特征向量。
将特征值λ从大到小排列,取前r(1≤r≤n)个特征值为{λ1,λ2,λ3…λr},对应的特征向量为{α1,α2,α3…αr},最大特征值λ1所对应的特征向量α1即为投影矩阵u的第一个列向量,
已知α1,α2,…,αr是一组最优鉴别向量集,则第r+1个鉴别向量αr+1计算如下:
psbhαr+1=λr+1swhαr+1,
其中
根据以上计算可得到p个最优鉴别向量集α1,α2,…,αp组成的鉴别向量矩阵u=[α1α2…αp]t由此求出了两维foley-sammon鉴别向量矩阵u。
本实例中,p=30
计算可得:
步骤二、计算人脸图像矩阵垂直方向上的两维线性鉴别向量矩阵
根据以下公式计算出类内散射矩阵swv、类间散射矩阵sbv:
计算可得:
根据类内散射矩阵swv和类间散射矩阵sbv计算出类内散射矩阵swv的逆矩阵swv-1与类间散射矩阵sbv乘积矩阵的特征值γ以及特征向量
其中,γ为swv-1sbv的特征值,
将特征值γ从大到小排列,取前q=15(1<q≤n)个特征值为{γ1,γ2,…γ15}={43.89,13.26,…0.20},对应的特征向量为{φ1,φ2,φ3…φ15},前15个特征向量组成鉴别向量矩阵v=[φ1φ2…φ15]t,由此求出了两维线性鉴别向量矩阵v。
本实例中,q=15
步骤三、人脸图像矩阵的双向压缩
用鉴别向量矩阵u和鉴别向量矩阵v将人脸训练样本矩阵aj投影到投影空间,对人脸训练样本矩阵aj进行水平和垂直方向上的压缩,得到p×q维矩阵bj:
bj=uajvt
用鉴别向量矩阵u和鉴别向量矩阵v将人脸测试样本矩阵ak'投影到投影空间,对人脸测试样本矩阵ak'进行水平和垂直方向上的压缩,得到p×q=30×15维矩阵bk':
bk'=uak'vt
其中:bj是m×n=256×256维人脸训练样本矩阵aj经双向压缩后得到的p×q=30×15维矩阵,bk'是m×n=256×256维人脸测试样本矩阵ak'经投影后的p×q=30×15维矩阵。
计算可得:
步骤四、向量的融合及鉴别信息提取
将压缩后的第j个训练图像bj分别按列和行拉成向量,bj按列拉成向量
将压缩后的第k个测试图像bk′分别按列和行拉成向量,bk′按列拉成向量
计算可得:
用以下方法计算非相关线性变换矩阵g:
由n个训练样本向量
sw=hwhwt,
sb=hbhbt,
st=hthtt。
其中hw,hb和ht可以进行如下计算:
计算ht的奇异值分解(svd)为:ht=u1∑tv1t。
设
令
计算可得:β=9
则训练样本矩阵bj按列拉成的向量
计算可得:
按照同样方法,可计算训练样本矩阵bj按行拉成向量
计算可得:
将训练样本的投影
计算可得:
用最近邻分类器根据训练投影向量yj对测试投影向量yk′进行分类处理,计算出分类准确率。
计算可得:分类准确率为94%。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。