计算机应用   2017, Vol. 37 Issue (5): 1475-1480  DOI: 10.11772/j.issn.1001-9081.2017.05.1475
0

引用本文 

原豪杰, 孙桂玲, 许依, 郑博文. 基于补集零空间与最近空间距离的人脸识别[J]. 计算机应用, 2017, 37(5): 1475-1480.DOI: 10.11772/j.issn.1001-9081.2017.05.1475.
YUAN Haojie, SUN Guiling, XU Yi, ZHENG Bowen. Face recognition based on complement null-space and nearest space distance[J]. JOURNAL OF COMPUTER APPLICATIONS, 2017, 37(5): 1475-1480. DOI: 10.11772/j.issn.1001-9081.2017.05.1475.

基金项目

高等学校博士学科点专项科研基金资助项目(20130031110032);天津市光电传感器与传感器网络技术重点实验室开放课题资助项目

通信作者

孙桂玲, shaochao0631@sina.com

作者简介

原豪杰 (1992-), 男, 山西长治人, 硕士研究生, 主要研究方向:模式识别、无线传感器网络、压缩传感;
孙桂玲 (1964-), 女, 天津人, 教授, 博士, 主要研究方向:无线传感器网络、模式识别、信号与信息处理;
许依 (1992-), 女, 湖南衡阳人, 博士研究生, 主要研究方向:压缩传感、模式识别、无线传感器网络;
郑博文 (1993-), 男, 河北石家庄人, 硕士研究生, 主要研究方向:信息监测与智能控制系统、压缩传感、模式识别

文章历史

收稿日期:2016-07-28
修回日期:2016-10-17
基于补集零空间与最近空间距离的人脸识别
原豪杰, 孙桂玲, 许依, 郑博文    
南开大学 电子信息与光学工程学院, 天津 300350
摘要: 针对人脸识别中在分类器判别时没有充分利用类间差异的问题,提出一种补集零空间(CNS)算法,并进一步提出结合CNS算法与最近空间距离的人脸识别算法——补集零空间与最近空间距离算法(CNSD)。首先,在训练样本中,对每一种类别的人脸样本,构建其子空间并计算其补集的零空间;其次,计算测试样本与所有子空间和补集零空间的距离,找到最小的子空间距离与最大的补集零空间距离对应的类别,将其判别为测试样本的类别。算法在ORL与AR人脸数据集上进行了测试,当训练样本数较小时,CNS算法与CNSD算法识别率远高于最近邻分类器(NN)算法、最近空间距离(NS)算法、最近最远空间距离(NFS)算法;训练样本数较大时,CNS算法与CNSD算法识别率也略高于NN算法、NS算法、NFS算法。实验结果表明,所提算法能充分利用图像的类间差异,提高人脸识别的成功率。
关键词: 人脸识别    补集零空间    最近空间距离    分类器    子空间    
Face recognition based on complement null-space and nearest space distance
YUAN Haojie, SUN Guiling, XU Yi, ZHENG Bowen     
College of Electronic Information and Optical Engineering, Nankai University, Tianjin 300350, China
Abstract: In order to solve the problem that classifiers do not make full use of the differences between different types of face samples in face recognition, an effective method for face recognition was proposed, namely Complement Null-Space (CNS) algorithm; and further more, another method which combined CNS and nearest space Distance (CNSD) was proposed. Firstly, subspaces and complement null-spaces of all types of training images were constructed. Secondly, the distances between the test image and all types of subspaces as well as the distances between the test image and all types of complement null-spaces were calculated. Finally, the test image was classified into the type which has the minimum subspace distance and the maximum complement null-space distance. On ORL and AR face databases, the recognition rates of CNS and CNSD are much higher than those of Nearest Neighbor (NN), Nearest Space (NS) method and Nearest-Farthest Subspace (NFS) method when the number of training samples is small; and it is a little higher than that of NN, NS and NFS when dealing with large samples. Simulation results show that the proposed algorithm can make full use of the differences between different types of images and has good recognition ability.
Key words: face recognition    Complement Null-Space (CNS)    nearest space distance    classifier    subspace    
0 引言

人脸识别是一项重要的技术, 现在已被广泛用于国家安全、军事安全以及公共安全中。目前一些比较优秀、成型的人脸识别算法包括:基于主成分分析 (Principal Component Analysis, PCA) 的人脸识别算法[1]、基于支持向量机 (Support Vector Machine, SVM) 的人脸识别算法[2]、基于稀疏表示分类 (Sparse Representation-based Classifier, SRC) 的人脸识别算法[3]等。

基于PCA的人脸识别算法在人脸识别中占据非常重要的地位[4],其算法步骤主要分为三个阶段,即特征提取阶段、训练阶段和识别阶段。许多基于PCA的算法侧重于前两个阶段的研究,如2DPCA (Two-Dimensional PCA)[5]与BDPCA (Bi-Directional PCA)[6]以及另外一些改进的PCA算法[7-9]。针对第三阶段的研究,Mi等[10]提出了最近子空间分类器算法以及最近最远子空间分类器算法 (Nearest-Farthest Subspace, NFS)。本文提出了侧重于第三个阶段的分类器算法,补集零空间算法首先被用于多入多出 (Multiple-Input Multiple-Output,MIMO) 系统的预编码中[11-12]。在MIMO系统中,多用户的MIMO广播信道被分解成多个独立的单用户广播通道,系统可以在高速数据流中将多样性最大化。结合MIMO预编码技术与人脸识别技术,会发现二者之间很多的共同点。在MIMO系统中,将多用户通道分解成多个独立的单用户通道,而在人脸识别中,将不同类别的人脸图像分解到不同的多个独立的子空间与补集零空间中。MIMO系统中单用户中的多样性也与人脸识别中某一类别人脸的多样性不谋而合。本文算法主要分为3个步骤:

1) 利用PCA算法以及PCA的改进算法提取人脸图像的特征向量或特征矩阵,构建属于不同类别的人脸子空间,并计算测试图像与所有子空间的距离。

2) 基于不同类别人脸之间的关系构建不同类别的人脸补集零空间并计算测试样本与所有补集零空间的距离。

3) 根据1) 和2) 计算出来的距离判别出测试图像的类别。

在ORL和AR人脸数据集上对算法进行了测试,实验结果表明本文算法在各种测试环境下优于对比算法。

1 PCA算法与分类器 1.1 PCA算法

假设训练集中有N个样本图像,每个样本的大小为m×n,对于一个样本图像,将其每一列进行堆叠,即可将其向量化。

将一个训练集中的N个样本表示成矩阵X=(x1, x2, …, xN),矩阵X的互相关矩阵可以表示为:

${\mathit{\boldsymbol{W}}_L} = \frac{1}{N}\sum\limits_{i = 1}^N {({\mathit{\boldsymbol{x}}_i} - \mathit{\boldsymbol{\bar x}}){{({\mathit{\boldsymbol{x}}_i} - \mathit{\boldsymbol{\bar x}})}^{\rm{T}}}} $ (1)

其中$\mathit{\boldsymbol{\bar x}} = \frac{1}{N}\sum\limits_{i = 1}^N {{\mathit{\boldsymbol{x}}_i}} $是所有训练样本的均值向量。

计算互相关矩阵的特征值与特征向量,取前r个最大特征值对应的特征向量,可得到特征脸空间Q=(q1, q2, …, qr)⊂$\Re $D×r。这里取到的每一个特征向量被称为一个特征脸。将训练集X中的每一个样本向量映射到特征脸空间中,即得到基于特征脸的特征向量yi$\Re $r×1yi$\Re $r×1可以表示为yi=QTzi(i=1, 2, …, R),其中zixi的零均值化向量。

1.2 BDPCA与2DPCA算法

BDPCA算法基本原理如下:

给定训练样本集{P1, P2, …, PN},其中N为训练集样本的个数,每个样本矩阵的维度为m×n。首先定义行总散度矩阵,可表示为:

$\mathit{\boldsymbol{S}}_t^{{\rm{row}}} = \frac{1}{{Nm}}\sum\limits_{i = 1}^N {{{\left( {{\mathit{\boldsymbol{P}}_i} - \mathit{\boldsymbol{\bar P}}} \right)}^{\rm{T}}}} \left( {{\mathit{\boldsymbol{P}}_i} - \mathit{\boldsymbol{\bar P}}} \right)$ (2)

其中P为所有训练样本的均值图像矩阵。选取Strow矩阵的前krow个特征值对应的特征向量可构成左映射矩阵Wrow。同理,可以定义列总散度矩阵Stcol,可表示为:

$\mathit{\boldsymbol{S}}_t^{{\rm{col}}} = \frac{1}{{Nn}}\sum\limits_{i = 1}^N {\left( {{\mathit{\boldsymbol{P}}_i} - \mathit{\boldsymbol{\bar P}}} \right){{\left( {{\mathit{\boldsymbol{P}}_i} - \mathit{\boldsymbol{\bar P}}} \right)}^{\rm{T}}}} $ (3)

选择Stcol矩阵的前kcol个特征值对应的特征向量可构成右映射矩阵Wcol。最终,用公式Ri=WcolT(Pi-P)Wrow即可从训练样本Pi中得到特征矩阵Ri

2DPCA算法是BDPCA算法的特殊情况,取矩阵Wcol为单位矩阵I即为2DPCA算法。

1.3 分类器

一种常见的分类器为基于Frobenius距离的最近邻 (Nearest Neighbor, NN) 分类器及其改进分类器。

根据测试样本矩阵与所有训练样本矩阵的距离,即可判断出测试样本的类别。常见的距离定义有Frobenius距离、Yang距离和集成矩阵距离 (Assembled Matrix Distance, AMD)。

给定两个图像矩阵R1=(aij)kcol×krowR2=(bij)kcol×krow。Frobenius距离可表示为:

${d_{\rm{F}}}({\mathit{\boldsymbol{R}}_1},{\mathit{\boldsymbol{R}}_2}) = {\left( {\sum\limits_{i = 1}^{{k_{{\rm{col}}}}} {\sum\limits_{j = 1}^{{k_{{\rm{row}}}}} {{{({a_{ij}} - {b_{ij}})}^2}} } } \right)^{1/2}}$ (4)

Yang距离[3]可以表示为:

${d_{\rm{Y}}}({\mathit{\boldsymbol{R}}_1},{\mathit{\boldsymbol{R}}_2}) = \sum\limits_{j = 1}^{{k_{{\rm{row}}}}} {{{\left( {\sum\limits_{i = 1}^{{k_{{\rm{col}}}}} {{{({a_{ij}} - {b_{ij}})}^2}} } \right)}^{1/2}}} $ (5)

AMD距离可以表示为:

${d_{{\rm{AMD}}}}({\mathit{\boldsymbol{R}}_1},{\mathit{\boldsymbol{R}}_2}) = {\left( {{{\sum\limits_{i = 1}^{{k_{{\rm{row}}}}} {\left( {\sum\limits_{i = 1}^{{k_{{\rm{col}}}}} {{{({a_{ij}} - {b_{ij}})}^{{p_1}}}} } \right)} }^{{p_2}/{p_1}}}} \right)^{1/{p_2}}}$ (6)

Li等[13]提出了NN分类器的一种改进分类器,即最近线 (Nearest Line, NL) 分类器。作为NN与NL分类器的扩展,Chien等[14]提出了最近平面 (Nearest Plane, NP) 与最近空间 (Nearest Space,NS) 分类器。下面简单介绍NS分类器[15]的原理。

假设训练集有K种类别的样本,每种类别包含S个样本。这S个样本可表示为Ai=a i(1)a i(2)ai(S)],其中每一列代表一个样本。对测试样本h,计算h与子空间Ai的距离${d_i} = ||\mathit{\boldsymbol{h}} - {{\mathit{\boldsymbol{\hat h}}}_i}|{|_2}$,其中${{\mathit{\boldsymbol{\hat h}}}_i}$通过最小二乘法得到${{\mathit{\boldsymbol{\hat h}}}_i} = {\mathit{\boldsymbol{A}}_i}{\left( {\mathit{\boldsymbol{A}}_i^{\rm{T}}{\mathit{\boldsymbol{A}}_i}} \right)^{ - 1}}\mathit{\boldsymbol{A}}_i^{\rm{T}}\mathit{\boldsymbol{h}}$

在得到的K个距离中找到最小的距离dd对应的类别即判定为测试样本向量对应的类别。

Mi等[10]提出了最近最远子空间分类器,对于第i种类别样本,取另外K-1种训练集样本构建“leave-one-class-out”子空间:

${\mathit{\boldsymbol{B}}_i} = \left[ {{\mathit{\boldsymbol{A}}_1}{\mathit{\boldsymbol{A}}_2} \cdots {\mathit{\boldsymbol{A}}_{i - 1}}{\mathit{\boldsymbol{A}}_{i + 1}} \cdots {\mathit{\boldsymbol{A}}_K}} \right]$ (7)

计算测试样本与“leave-one-class-out”子空间的距离li=‖h-hi2, 其中hi=Bi(BiTBi)-1BiTh。最后,找到最小的值ji对应的类别即判别为测试样本向量所属的类别。值ji可表示为ji=di/li

2 补集零空间结合最近空间距离算法

根据前面的介绍,NS算法将测试样本判别为最小距离di对应的类别,而NFS算法则将最小距离di与最大距离li结合起来进行判别。

NFS算法在计算最小距离时,计算测试样本到某一类别的子空间的距离di,这样做是合理的,因为同一类别的样本图像以很大的概率处在同一个子空间中。但NFS算法在计算距离li时,计算测试图像到排除此类别的所有类别构成的子空间的距离li,显然这样做不是很合适。因为不同类别的图像极有可能不在同一个子空间中,而NFS在计算最大距离时强制将不同类别的图像构成一个子空间,计算其与测试样本的距离并作为判别标准,这样显然有失准确性并缺乏足够的依据。

因此需要找到另外一个与dili无关的、判别效果更好的距离Vali,此距离能将不同类别的样本图像最大限度地分开,从而可将测试样本判别为最大Vali对应的类别。进一步,结合距离diVali,可以将测试样本判别为最大的Vali/di。这里的距离di可以通过AMD距离或者NS距离来计算。

本文的算法像NFS算法一样,首先构造某一类别样本图像的补集并进行后续计算,但本文算法并不把构造的补集看作属于一个子空间,而是根据构造的补集计算补集零空间,从而将不同类别的人脸样本图像最大化分别开来。

2.1 补集零空间算法

在得到训练样本的特征矩阵后,将矩阵中的每一列附加到前一列中,可将矩阵转换为一个列向量,将此列向量转置即可得到一个行向量。所有的行向量构成一个矩阵可表示为A$\Re $N×DD为每个行向量的维度,N为所有训练样本的总数。A中的每一行均表示一个样本。

为了不引入过多的符号,这里的ABh与上一节中提到的略有不同:这里的AB中每一行代表一个样本向量,h为一行样本向量; 而第1章中的AB中的每一列代表一个样本向量,而h为一列样本向量。但二者本质上没有差别。

A共包含K种类别,每种类别包括S个样本图像。A可表示为A=A1TA2T,…,AKT]T$\Re $N×D。每一个子矩阵Ai表示第i种类别的样本矩阵,并且Ai$\Re $S×D

在整个人脸训练图像集合中,去掉第i种类别的样本矩阵,可以得到AiA中的补集Bi,可表示为:

${{\mathit{\boldsymbol{B}}}_{i}}={{\left[ \mathit{\boldsymbol{A}}_{1}^{\rm{T}},...,\mathit{\boldsymbol{A}}_{i-1}^{\rm{T}},\mathit{\boldsymbol{A}}_{i+1}^{\rm{T}},...,\mathit{\boldsymbol{A}}_{K}^{\rm{T}} \right]}^{\rm{T}}}\in \rm{ }{{\mathbb{C}}^{(N-S)\times D}}$ (8)

假设Bi对应的矩阵的秩为Li,将Bi进行奇异值分解 (Singular Value Decomposition, SVD) 可得:

${{\mathit{\boldsymbol{B}}}_{i}}={{\mathit{\boldsymbol{U}}}_{i}}{{\mathit{\boldsymbol{ }}\!\!\Sigma\!\!\rm{ }}_{i}}\mathit{\boldsymbol{V}}_{i}^{\rm{T}}$ (9)

其中:Ui的维度为Ui$\mathbb{C}$(N-S)×(N-S); Vi的维度为Vi$\mathbb{C}$D×D, 并且Vi为酉矩阵; 对角矩阵Σi$\mathbb{C}$(N-SD的对角线上包括了矩阵Bi的所有奇异值。将式 (9) 展开可写为:

$\begin{align} & {{\left[ \begin{array}{*{35}{l}} {{\mathit{\boldsymbol{A}}}_{1}} & {{\mathit{\boldsymbol{A}}}_{2}} & \cdots & {{\mathit{\boldsymbol{A}}}_{(i-1)}} & {{\mathit{\boldsymbol{A}}}_{(i+1)}} & \cdots & {{\mathit{\boldsymbol{A}}}_{K}} \\ \end{array} \right]}^{\rm{T}}}= \\ & \quad \quad \left[ \mathit{\boldsymbol{U}}_{i}^{(1)},\mathit{\boldsymbol{U}}_{i}^{(0)} \right]\cdot \left[ \begin{matrix} \mathit{\boldsymbol{ }}\!\!\Sigma\!\!\rm{ } & \bf{0} \\ \bf{0} & \bf{0} \\ \end{matrix} \right]\cdot {{\left[ \mathit{\boldsymbol{V}}_{i}^{(1)},\mathit{\boldsymbol{V}}_{i}^{(0)} \right]}^{\rm{T}}} \\ \end{align}$ (10)

将矩阵Vi分解为两部分V i(1)$\mathbb{C}$D×LiV i(0)$\mathbb{C}$D×(D-Li)。前半部分矩阵V i(1)$\mathbb{C}$D×Li包含了前Li个非零奇异值对应的正交向量,后半部分矩阵V i(0)$\mathbb{C}$D×(D-Li)包含了后D-Li个零奇异值对应的正交向量。因此,矩阵V i(0)构成了原矩阵Bi的零空间, 即:

${{\mathit{\boldsymbol{B}}}_{i}}\cdot \mathit{\boldsymbol{V}}_{i}^{\left( 0 \right)}=0$ (11)

将矩阵V i(0)称为第i种类别样本图像的补集零空间。在所有类别的样本矩阵的补集上作SVD,可以得到所有K种类别对应的补集零空间集合V={V 1(0), V2(0) , …, V K(0)}。

简明地概括补集零空间的性质为:第i类样本的补集零空间与所有不属于第i类的样本向量相乘的结果为零,而与第i类的样本向量相乘的结果不为零。

进一步可推导出:由第i类样本向量线性组合成的向量与所有不属于第i类人脸的补集零空间相乘的结果为零,而与第i类人脸的补集零空间相乘的结果不为零。

事实上,来自同一个类别的样本图像以很高的概率属于同一个子空间,即同一个类别中的样本图像以很高的概率为这一类别中样本图像的线性组合。如果一个向量hAj(ji)中向量的线性组合,根据式 (11) 可得到‖h×V i(0)2=0,这里的‖·‖2为求矩阵的二范数。所以,如果一个测试样本向量h属于第j种类型,那么‖h×V i(0)2的值将远远小于‖h×V j(0)2

在得到补集零空间集合V后,计算测试样本向量h与所有补集零空间的零空间距离,可得到:

$Va{{l}_{i}}={{\left\| \mathit{\boldsymbol{h}}\times \mathit{\boldsymbol{V}}_{i}^{(0)} \right\|}_{2}}$ (12)

不同的i表示不同的补集零空间,Vali表示第i个零空间距离。在所有的Vali中找到最大的Vali,其对应的类型即判定为测试样本向量所属的类型。本文提出的上述算法的流程如图 1所示。

图 1 补集零空间距离算法流程 Figure 1 Flow of complement null-space-distance algorithm
2.2 补集零空间与最近空间距离算法

在上述提到的补集零空间算法 (Complement Null-Space, CNS) 基础上,将Validj结合起来进行分类,新的距离被定义为Vali/di,所有Vali/di中最大值所对应的类别即判定为测试样本向量所属的类别,其中:Vali将类间差异最大化地表现出来,di则将属于同一类的图像最大化地整合起来。将此算法称为补集零空间与最近空间距离 (Complement Null-Space Combined with nearest space Distance, CNSD) 算法。这里使用NS算法计算dj

CNSD算法的原理在于用不同类别的补集零空间最大化不同类别人脸图像的差异性。将最近空间距离方法结合到补集零空间的方法后,CNSD算法不仅利用了同一类别中不同图片之间的相似性,而且最大化利用了不同类别之间的差异性。

CNSD算法流程如下所示:

步骤1 对每一类训练样本矩阵Ai以及测试样本向量h,计算h在由Hi扩展生成的子空间上的映射${{{\mathit{\boldsymbol{\hat{h}}}}}_{i}}=\mathit{\boldsymbol{A}}_{i}^{T}{{\left( {{\mathit{\boldsymbol{A}}}_{i}}\mathit{\boldsymbol{A}}_{i}^{\rm{T}} \right)}^{-1}}{{\mathit{\boldsymbol{A}}}_{i}}\mathit{\boldsymbol{h}}\rm{ }$

步骤2 计算h${{{\mathit{\boldsymbol{\hat{h}}}}}_{i}}$的距离${{d}_{i}}={{\left\| \mathit{\boldsymbol{h}}-{{{\mathit{\boldsymbol{\hat{h}}}}}_{i}} \right\|}_{2}}$

步骤3 用CNS算法计算h与所有余类零空间的零空间距离$\mathit{\boldsymbol{Val}}=\left[ Va{{l}_{1}},Va{{l}_{1}},\cdots ,Va{{l}_{K}} \right]$

步骤4 计算判别变量ji=Vali/di

步骤5 最大的ji=Vali/di对应的类别即判别为h所属的类别。

3 实验结果与讨论

用ORL与AR人脸数据集对本文提出的算法进行了验证。实验中利用了PCA、2DPCA与BDPCA三种不同的特征提取方法,并将本文算法与NN算法、NS算法、NFS算法进行了比较。

3.1 ORL数据集实验结果

ORL人脸数据集共包含400张人脸图像,每种类别包含10张图像,图像之间年龄、灯光、表情、面部细节等不尽相同,每张图像的大小为112×93。图 2展示了ORL数据集中的部分图像。

图 2 ORL数据集中部分人脸图像 Figure 2 Part face images in ORL data set

对于每种类别,实验随机选取S张图片作为训练集, 用20次实验的平均准确率作为评价标准。使用PCA算法提取特征时,选取前100个特征值对应的特征向量。使用BDPCA提取特征时,选取的参数为krow=12,kcol=12。krow=12表示前述的BDPCA算法中,使用行总散度矩阵的前12个特征值对应的特征向量构成左映射矩阵; kcol=12表示使用列总散度矩阵的前12个特征值对应的特征向量构成右映射矩阵。使用2DPCA提取特征时,选取的参数为krow=12,原理同上。

将本文的CNS、CNSD与NS、NFS、NN (AMD)、NN (Frobenius)、NN (Yang)、SVM算法、SRC算法进行对比,实验结果见表 1~3,分别表示使用PCA、2DPCA和BDPCA作为特征提取算法时的结果。此处使用了三种NN算法:当使用AMD距离作为判别因子时,算法简写为NN (AMD); 使用Frobenius距离作为判别因子时,算法简写为NN (Frobenius); 使用Yang距离作为判别因子时,算法简写为NN (Yang)。从表 1~3中可以看到不同算法与不同的训练样本数对实验结果的影响。

表 1 在ORL数据集上基于PCA特征的比较结果 Table 1 Comparison results based on PCA feature on ORL data set
表 2 在ORL数据集上基于2DPCA特征的比较结果 Table 2 Comparison results based on 2DPCA feature on ORL data set
表 3 在ORL数据集上基于BDPCA特征的比较结果 Table 3 Comparison results based on BDPCA feature on ORL data set

表 1~3中可以看到,训练样本数S不同时,本文的CNS和CNSD算法在更多样本数情况下识别率最好,整体表现更好。

表 1~3的实验结果可知,对仿真的所有算法,当训练样本数增多时,识别率增加,并且当样本数从6增加到9时,识别率已经趋于稳定; NN算法与NS算法整体表现最差,而SRC算法普遍优于SVM算法; NFS算法在某些特定的样本点上表现最好。

尽管本文算法在某些训练样本数的情况下不是最好的,但这些结果与最好的结果很接近。在某些测试点的情况下,本文算法的结果并非最优的原因主要包括:1) 仿真结果中对每种情况进行了20次测试后取均值,每次测试均为随机选择训练样本,在这种情况下,仿真结果会有波动;2) SRC算法与SVM算法对样本点的个数比较敏感,算法在特定样本点的情况下有其独特的优势。

3.2 AR数据集实验结果

在AR数据集中选取了包含50个男性与50个女性的共100类人脸图片,每一类人脸图片包含14张图片,每张图片的尺寸为60×43。图 3展示了AR数据集中的部分人脸图片。

图 3 AR数据集中部分人脸图像 Figure 3 Part face images in AR data set

对于每种类别,实验随机选取了S张图片作为训练数据集,仍用20次实验的平均准确率作为评价标准。使用特征提取算法为PCA时,选取前100个特征值对应的特征向量;使用特征提取算法为BDPCA时,选取的参数为krow=20,krol=20;使用特征提取算法为2DPCA时,选取的参数为krow=10。对比算法仍为NS、NFS、NN (AMD)、NN (Frobenius)、NN (Yang)、SVM算法和SRC算法。

图 4展示了使用PCA作为特征提取方法的结果。从图 4的结果可以看出,本文的CNS的识别率最高,CNSD的识别率优于NN (Frobenius)、SVM与NS,但比NFS、SRC差。

图 4 在AR数据集上基于PCA特征的比较结果 Figure 4 Comparison results based on PCA feature on AR data set

图 5展示了使用2DPCA作为特征提取方法的结果,图 6则展示了使用BDPCA作为特征提取方法的结果。从图 5图 6可以看出,在平均识别率的指标下,本文的CNS表现最好,CNSD识别率优于NN、NS、NFS、SVM,但比SRC差。

图 5 在AR数据集上基于2DPCA特征的比较结果 Figure 5 Comparison results based on 2DPCA feature on AR data set
图 6 在AR数据集上基于BDPCA特征的比较结果 Figure 6 Comparison results based on BDPCA feature on AR data set

由以上实验结果可知,当训练样本数较小时,CNS与CNSD算法识别率比NN、NS与NFS算法有很大的提高;当训练样本数较大时,由于几种算法的识别率均很高,因此CNS与CNSD算法只是略高于NN、NS与NFS算法。

训练样本数较小时,训练样本间差异性表现得更明显,而本文算法主要利用了样本间的差异性,因此识别率有很大的提高;训练样本数较大时,样本间差异性表现得更小,因此识别率只有较小的提高。

结合以上的ORL数据集与AR数据集的比较结果可以看出,本文的CNS与CNSD算法在AR数据集上比在ORL数据集上更有效。原因如下:

1) AR数据集的维度比ORL数据集的维度高,而本文提出的算法在数据集的维度较高时更有效;

2) AR数据集中图像的变化性比ORL中图像的变化性大,例如灯光、面部表情等,本文算法在图像变化性较大时更有效。

实验结果中值得注意的一个地方是,在ORL数据集上,CNSD算法包含11个最优结果,而CNS算法只包含6个最优结果,这在一定程度上说明了CNSD在结合了两种距离因子后比CNS效果好。但在AR数据集上,CNSD算法的结果均没有CNS算法结果好,原因在于在AR数据集上,补集零空间距离与最近空间距离二者并不完全兼容,这是由数据集的多样性引起的。

使用PCA作为降维方法时,实验在ORL数据集与AR数据集上均采用前100个最大的特征值对应的特征向量作为特征人脸,而100的选取同时兼顾了算法的运行速度与实验结果的准确性,当选取的维度大于100时,算法的识别率已经处于稳定水平,选取更大的维度已没有必要。使用2DPCA作为降维方法时,实验在ORL数据集上选取krow=12,在AR数据集上选取krow=10,事实上,krow的取值在10到20之间时在两个数据集上效果最佳,即算法运行时间可以接受,而算法识别率也维持在较高水平。使用BDPCA作为降维方法时,实验在ORL数据集上选取krow=12,kcol=12,在AR数据集上选取krow=20,kcol=20,与2DPCA相同,krowkcol的值在10~20时效果最佳。

从上述的实验结果可以看出,本文提出的算法比传统的算法更有效。在得到训练图像的特征矩阵后,计算不同类别特征矩阵的补集零空间,相比图像的特征矩阵,这些独立的补集零空间可以将不同类别的人脸最大化地分离开来。传统的分类器主要利用了图像之间的相似性而没有充分利用不同类别图像之间的差异性,而本文算法不仅利用了同一类别图像之间的相似性,还充分利用了不同类别图像之间的差异性。

4 结语

本文提出了一种新型的使用补集零空间与最近空间距离的分类器,并在ORL数据集与AR数据集上进行了测试。测试结果表明本文算法性能优异,即使当训练数据较小时也可取得较高的识别率;同时也对实验过程中的一些参数进行了分析。本文算法的不足之处在于当训练样本数很大时,计算复杂度比较高,补集的SVD将是一个很大的计算量。在训练集很大时,如何将计算复杂度降低,是算法有待改进的地方之一。另外在算法结果中可以看出,CNSD算法并非在所有情况下都好于本文的另一种CNS算法,如何调整补集零空间距离与最近空间距离的权重以便得到更好的识别效果也是算法有待改进的地方。

参考文献
[1] SIROVICH L, KIRBY M. Low-dimensional procedure for the characterization of human faces[J]. Journal of the Optical Society of America A:Optics and Image Science, 1987, 33(4): 591-596.
[2] LIU R, ZHANG J, WANG L, et al. Research on face recognition method based on combination of SVM and LDA-PCA[C]//Proceedings of the 3nd International Conference on Communications, Signal Processing, and Systems. Berlin:Springer, 2014:101-109.
[3] WRIGHT J, YANG A Y, GANESH A, et al. Robust face recognition via sparse representation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2009, 31(2): 210-227.
[4] LI C, LIU J, WANG A, et al. Matrix reduction based on generalized PCA method in face recognition[C]//Proceedings of the 20145th International Conference on Digital Home. Piscataway, NJ:IEEE, 2014:35-38.
[5] YANG J, ZHANG D, FRANGI A F, et al. Two-dimensional PCA:a new approach to appearance-based face representation and recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2004, 26(1): 131-137.
[6] ZUO W, ZHANG D, WANG K. Bidirectional PCA with assembled matrix distance metric for image recognition[J]. IEEE Transactions on Systems Man & Cybernetics Part B:Cybernetics, 2006, 36(4): 863-872.
[7] ZHOU C, WANG L, ZHANG Q, et al. Face recognition based on PCA and logistic regression analysis[J]. Optik-International Journal for Light and Electron Optics, 2014, 125(20): 5916-5919. doi: 10.1016/j.ijleo.2014.07.080
[8] TIAN X, TIAN M. Face recognition using a hybrid algorithm based on improved PCA[C/OL].[2016-10-20].http://www.mendeley.com/research/face-recognition-using-hybrid-algorithm-based-improved-pca/.
[9] LUAN X, FANG B, LIU L, et al. Extracting sparse error of robust PCA for face recognition in the presence of varying illumination and occlusion[J]. Pattern Recognition, 2014, 47(2): 495-508. doi: 10.1016/j.patcog.2013.06.031
[10] MI J X, HUANG D S, WANG B, et al. The nearest-farthest subspace classification for face recognition[J]. Neurocomputing, 2013, 113(7): 241-250.
[11] CHOI L U, MURCH R D. A transmit preprocessing technique for multiuser MIMO systems using a decomposition approach[J]. IEEE Transactions on Wireless Communications, 2004, 3(1): 20-24. doi: 10.1109/TWC.2003.821148
[12] ZU K, DE LAMARE R C, HAARDT M. Generalized design of low-complexity block diagonalization type precoding algorithms for multiuser MIMO systems[J]. IEEE Transactions on Communications, 2013, 61(10): 4232-4242. doi: 10.1109/TCOMM.2013.090513.130038
[13] LI S Z, LU J. Face recognition using the nearest feature line method[J]. IEEE Transactions on Neural Networks, 1999, 10(2): 439-443. doi: 10.1109/72.750575
[14] CHIEN J T, WU C C. Discriminant waveletfaces and nearest feature classifiers for face recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2003, 24(12): 1644-1649.
[15] SHI Q, ERIKSSON A, HENGEL A V D, et al. Is face recognition really a compressive sensing problem?[C]//Proceedings of the 2011 IEEE Conference on Computer Vision & Pattern Recognition. Piscataway, NJ:IEEE, 2011:553-560.