一种基于稀疏表达和神经网络的人脸识别算法

2016-11-08 08:35祁彦庆汪烈军吴生武
计算机应用与软件 2016年10期
关键词:项数识别率字典

祁彦庆 汪烈军 吴生武

(新疆大学信息科学与工程学院 新疆 乌鲁木齐 830046)



一种基于稀疏表达和神经网络的人脸识别算法

祁彦庆汪烈军*吴生武

(新疆大学信息科学与工程学院新疆 乌鲁木齐 830046)

传统的基于神经网络的人脸识别算法直接从灰度空间获取人脸图像数据,其中含有大量的噪声和冗余信息,降低了识别率且延长了识别时间。提出一种基于稀疏表达和神经网络的人脸识别算法:首先通过KSVD算法将样本变换至稀疏空间,然后运用LDA算法将稀疏编码变换至子空间,最后输至RBF神经网络进行分类。在ORL和Yale人脸库上的实验结果表明,该算法比其他算法具有更高的识别率和更快的识别速度,且具有较强的鲁棒性和泛化能力。

人脸识别KSVD稀疏空间LDARBF神经网络

0 引 言

当今社会亟需高效、快捷和可靠的识别技术,人脸识别技术由于其非接触式的特点而优于其他生物识别技术。基于PCA[1]、2DPCA[2]、LDA[3]和ANN[4]等经典有效的人脸识别方法已经被许多学者提出,其中文献[5]提出的LDA+RBF算法提高了人脸识别率。该算法运用LDA进行特征提取,然后通过RBF网络进行分类;但其并未考虑选择合适的图像源表达方式,直接从灰度空间提取数据,其中含有大量的噪声和冗余信息,从而降低了识别率并延长了识别时间。其实,这些传统的方法均采用特征提取和分类的两步骤方案,本文考虑在其之前加一步骤:选择表达人脸的空间域。一些变换公式可以将图像从灰度空间变换到频域空间,例如傅立叶变换、小波变换等,但这些方法用于人脸识别效果并不理想,因为它们不能除去噪声和冗余信息。

受压缩感知[6]理论的启发, 基于稀疏表达的人脸识别方法受到很多关注[7-10]。该方法使用训练样本建立一个字典(变换阵),假设测试样本均可通过训练样本的线性叠加表示,然后通过重建误差对人脸图像进行分类[11]。在这里,“稀疏”是指当人脸图像样本通过字典等从灰度域变换到稀疏域后,样本的许多系数都等于0。Huang等[12]提出了使用KSVD 算法去训练字典的方法, 该算法选择具有较大贡献的系数去优化字典。在稀疏空间中,许多噪声和冗余信息被剔除,有利于分类的信息被保留。图1为人脸图像稀疏变换示意图,y为样本的向量表示, yr是通过字典D和稀疏向量x重建获得的人脸图像。稀疏变换准则允许存在一定的误差, 在稀疏向量x满足一定稀疏度的情况下,通过循环迭代得到优化的字典D和x最优解。重建图像yr与原图像y表示同一个人的人脸图像,所以用yr代替y可得到一样的分类结果。x为重建图像yr在稀疏空间的表达,可作为分类的数据源;但直接输入分类系统,效果并不理想,需要对其先做特征提取。

图1 人脸图像稀疏变换示意图

图2 人脸识别系统

本文提出了一种新的人脸识别算法,使得识别率明显提高。在训练阶段,首先将训练样本Ym×n通过KSVD算法得到过完备字典Dm×k以及Ym×n在稀疏域的表达Xk×n;然后采用线性判别准则(LDA)将Xk×n变换为子空间的矩阵Vl×n(l<

1 本文算法原理

1.1稀疏表达及KSVD算法

一般地,单张人脸可以写成:

y=Dx

(1)

即:

x=D-1y

(2)

式中,x为稀疏域中人脸图像向量表示,它可通过完备字典D获取,D∈Rm×n, x∈Rn×l, n>m。y为人脸图像在灰度空间的向量表示。由于噪声和计算时间的影响,很难获得精确的x,上述方程可改写为更为一般的形式:

x≈D-1y,subject to‖x-D-1y‖p≤ξ

(3)

在lp范数中p=1,2,…,设定 p=2(欧氏距离)来计算距离。因为n>m,所以该方程组是欠定的,x的解有无数多个, 所以需要选择一个目标函数去约束稀疏解x:

min‖x‖1subject to‖x-D-1y‖2≤ξ

(4)

为获得较为理想的稀疏编码,本文选择KSVD[13,14]自适应字典学习算法去获得稀疏编码, 在当前词典的基础上通过循环迭代新训练样本的稀疏编码来更新字典原子。

KSVD算法需要足够的训练数据。二维人脸图像经常被拉伸为向量来表示。假设有足够的训练样本Y∈Rm×n, yi∈Rm×1是每个训练样本的向量形式,Y=[y1,y2,…,yi,…,yn],n为样本个数。

KSVD通过迭代得出的D∈Rm×n和系数X∈Rn×l满足:

(5)

其中i=1,2,…,n。T0是一个给定的足够小的数。每次迭代只更新字典D的某一列是KSVD算法特点之一。假设系数X和字典D是确定的, 若更新第k列dk,则目标函数可改写为:

(6)

上述表达式中,DX被分解成n个列向量的形式,其中(n-1)列不变, 只更新第k列,矩阵Ek表示除第k列以外的部分引起的误差。在合适的字典和稀疏参数设置条件下,KSVD算法能够保证整体误差单调递减。

1.2线性判别准则

将样本Y稀疏变换为X后,为获得更好的分类效果,本文采用LDA算法[15]为X寻找一个子空间。设c类人共有qi张人脸,通过类均值mi和总均值mo获得的类间散射矩阵Sb和类内散射矩阵Sw可写为:

(7)

(8)

(9)

(10)

LDA算法的优越之处有如下三点:

1) 减少稀疏编码X的噪声;

2) 提高计算效率;

3) 缓解Sw奇异问题的复杂性。

使用LDA算法创建一个新的子空间后,通过Fisher线性判别准则可得到:

(11)

事实上,Wopt=[W1,W2,…,WM]是Sb×Sw-1的特征向量对应的前M个最大特征值。由于至多有(c-1)个广义非零特征值,所以LDA创建的子空间的尺寸不能大于(c-1)。例如有40名测试者,则LDA子空间矩阵尺寸最大为39。

1.3RBF神经网络

RBF网络已被广泛地用于函数逼近和模式识别,神经元网络的局部调节功能使得该算法具有优秀的逼近性质和非常快的学习速度[16,17]。

RBF网络可以被描述为一个映射:Vr→Vs。设P∈Vr为输入向量且Ci∈Vr(1≤i≤u)为输入向量的原型。每个RBF单元的输出为:

Vi(P)=Vi(‖P-Ci‖)i=1,2,…,u

(12)

其中‖·‖表示输入空间的欧氏距离。通常高斯函数具有可分解的优点,所以在所有可能的径向基函数中是优先选择,故:

(13)

其中,σi是第i个径向基单元的宽度。一个RBF的第j个输出yi(P)为:

(14)

其中,w(j,i)是第i个感受野到第j个输出的权重。

本文实验中,权值w(j,i)、隐含层Ci和高斯核函数σi的模型参数通过GA算法优化,并结合线性最小二乘法(LLS)进行梯度调整。优化步骤如下:

1) 初始化种群:设定初始群体大小为G,进化代数为Size,将w(j,i)、Ci和σi转化为10 bit的二进制编码。编码越长则精度越高,但会扩大遗传算法的搜索空间。

2) 设定适应度函数: 该函数表明个体解的优劣,值越大则该个体遗传到下一代的概率就越大。本文将LDA算法提取的特征向量P作为输入,预测 yi(P),在n个样本的情况下,设定预测值与期望值的差值平方和倒数作为适应度函数:

(15)

3) 筛选:采用轮盘赌法从种群中选择适应度好的个体组成新种群并作为父代繁殖下一代。

4) 交叉和变异: 随机产生一个交叉点位置,使用单点交叉算子将任意挑选的两个体按照交叉概率Pc进行部分基因交换;采用基本位变异法,通过变异概率Pm指定变异点,利用取反运算产生新一代个体。

5) 终止判断:若t≤Size,执行 t←t+1,转至步骤2),否则将所得最大适应度个体作为最优解输出并终止运算。

2 实验结果与分析

本文使用ORL和Yale人脸库进行实验:ORL人脸库有40个人的400张人脸图像,图像是在实验室中对各种姿势捕捉、裁剪并标准化为92×112而得来的;Yale人脸库含有15个人的165张人脸图像,所有样本在不同的面部表情和照明条件下进行标准化并裁剪成100×80的灰度图像。所有实验用图像均被采样成37×30的灰度图像。除算法的泛化能力研究之外,其他实验均采用每人5张为训练样本,其余为测试样本的方案。实验使用的仿真软件是Matlab 7.1,运行环境为英特尔酷睿双核3.00 GHz,32位Windows 7系统。图3、图4为ORL、Yale人脸库的部分图像。

图3 ORL人脸库的部分图像

图4 Yale人脸库的部分图像

2.1KSVD算法分析

首先研究编码X的稀疏项数对识别率的影响。在KSVD字典学习过程中,稀疏项数设定过小会造成学习误差过大,反之会大幅延长学习时间,因此本文选择稀疏项数为8至30进行实验,结果如图5所示。

图5 编码X的稀疏项数与识别率的关系图

由图5可知:算法在ORL人脸库上最佳稀疏项数为12,在Yale人脸库上最佳稀疏项数为20。当稀疏项数远离最佳稀疏项数时,识别率会越来越低,且稀疏项数低于最佳项数时,识别率均降低得更快。

其次,本文研究在最佳稀疏项数的情况下KSVD字典学习误差与迭代次数的关系,结果如图6所示。

图6 KSVD字典学习误差与迭代次数的关系

由图6可知:随着迭代次数的增加,KSVD字典学习误差单调递减,且随着迭代次数的增大,误差减小得越来越慢并趋近一个定值。

2.2迭代次数与识别率的关系

关于RBF网络算法迭代次数对识别率的影响,本文分别选择10,20,…,60次循环迭代测试识别率,结果如表1所示。

表1 迭代次数与识别率的关系

表1显示,随迭代次数的增加,识别率有所提高但影响不大。这表明本文算法在循环迭代10次左右后,已基本达到目标函数的误差要求范围之内。

2.3算法对比

将本文算法和其他算法进行识别率和运算时间的对比,本文提出的KSVD+LDA+RBF算法比LDA+RBF[5]、 PCA+LDA+RBF[16]和SRC[11]更具优越性,结果如表2所示(a:LDA+RBF, b:PCA+LDA+RBF, c:SRC, d:本文算法)。

表2 算法识别率、运算时间对比

表2显示,本文算法比其他算法具有更高的识别率。基于ORL人脸库的实验结果表明本文算法可以克服姿势的干扰,这是稀疏表达的优点。基于Yale人脸库的实验结果表明该算法可以克服表情变化和光照的影响。同时该算法比其他算法具有更快的识别速度,但训练时间较长。

2.4鲁棒性和泛化能力的研究

针对算法的鲁棒性研究,本文对ORL、Yale人脸库图像做以下处理:加入一定的白噪声,增加灰度值来模拟光照,使图像局部灰度值减为0以模拟面部遮挡,效果如图7所示。

图7 受白噪声、光照、部分遮挡干扰的人脸图像

将2.3节的四种算法进行实验对比,结果如表3所示。

表3 扰动下的识别率对比

由表3可知,本文算法在白噪声和光照的干扰下仍具有最高的识别率,鲁棒性最强。在部分遮挡下,识别率次于SRC算法,具有较为优良的鲁棒性。

其次,采用K折交叉验证法测试算法的泛化能力。实验中设定K=5,步骤如下:

1) 将人脸库分成5个子集:ORL人脸库每人有10张图像,则每个集合每人含2张;Yale人脸库每人有11张图像,设定前4个集合每人含2张,第5个集合每人含3张。

2) 每个子集均做一次测试集,其余的作为训练集。交叉验证重复5次,最后将5次识别率的均值作为结果。

根据上述步骤将2.3节的四种算法进行实验对比,结果如表4所示。

表4 采用K折交叉验证法下的识别率对比

由表4可知,本文算法也具有较为优秀的泛化能力。

3 结 语

本文提出了一种新的人脸识别方法:在训练阶段,首先通过KSVD算法将训练样本从灰度域变换至稀疏域,然后运用LDA算法对稀疏编码进行降维,最后输至RBF神经网络进行分类训练。在测试阶段,利用已训练的字典将测试样本从灰度域变换至稀疏域,然后采用LDA算法处理稀疏编码,最后输入已训练的RBF网络完成分类。

实验表明本文方法是有效的,比其他算法具有更高的识别率和更快的识别时间,具有较强的鲁棒性和泛化能力;但需要较长的训练时间。在今后的工作中,我们将进一步尝试优化训练字典的算法。

[1] Grudin M A.On internal representations in face recognition systems[J].Pattern recognition,2000,33(7):1161-1177.

[2] Yang J,Zhang D,Frangi A F,et al.Two-dimensional PCA:a new approach to appearance-based face representation and recognition[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2004,26(1):131-137.

[3] Lotlikar R,Kothari R.Fractional-step dimensionality reduction[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2000,22(6):623-627.

[4] Er M J,Wu S Q,Lu J W,et al.Face recognition with radial basis function (RBF) neural networks[J].Neural Networks,IEEE Transactions on,2002,13(3):697-710.

[5] Reddy K R L,Babu G R,Kishore L.Face recognition based on Eigen features of multi scaled face components and an artificial neural network[J].Procedia computer science,2010,2(3):62-74.

[6] Donoho D L.Compressed sensing[J].Information Theory,IEEE Transactions on,2006,52(4):1289-1306.

[7] Thavalengal S,Mandal S,Sao A K.Significance of dictionary for sparse coding based pose invariant face recognition[C]//Communications (NCC),2014 Twentieth National Conference on.IEEE,2014:1-5.

[8] Guthier T,Willert V,Eggert J.Topological sparse learning of dynamic form patterns[J].Neural Computation,2014,27(1):42-73.

[9] Wen Y D,Xiang Y J,Fu Y L.A joint classification approach via sparse representation for face recognition[C]//Signal Processing (ICSP),2014:1387-1391.

[10] Mouraāo A,Borges P,Correia N,et al.Sparse reconstruction of facial expressions with localized gabor moments[C]//2014 Proceedings of the 22nd European Signal Processing Conference (EUSIPCO).IEEE,2014:1642-1646.

[11] Wright J,Ma Y,Mairal J,et al.Sparse representation for computer vision and pattern recognition[J].Proceedings of the IEEE,2010,98(6):1031-1044.

[12] Huang W,Wang X H,Jin Z.Face Recognition with Single Training Sample per Person Using Sparse Representation[C]//Robot,Vision and Signal Processing (RVSP),2013 Second International Conference on.IEEE,2013:84-88.

[13] Zhang Q,Li B X.Discriminative K-SVD for dictionary learning in face recognition[C]//Computer Vision and Pattern Recognition (CVPR),2010 IEEE Conference on.IEEE,2010:2691-2698.

[14] Rubinstein R,Zibulevsky M,Elad M.Efficient implementation of the K-SVD algorithm using batch orthogonal matching pursuit[J].Technical Report,2008,40(8):1-15.

[15] Jelsovka D,Hudec R,Breznan M.Face recognition on FERET face database using LDA and CCA methods[C]//Telecommunications and Signal Processing (TSP),2011 34th International Conference on.IEEE,2011:570-574.

[16] Jondhale K C,Waghmare L M.Improvement in PCA performance using FLD and RBF Neural Networks for Face Recognition[C]//Emerging Trends in Engineering and Technology (ICETET),2010 3rd International Conference on.IEEE,2010:500-505.

[17] Song M L,Tao D C,Huang X Q,et al.Three-dimensional face reconstruction from a single image by a coupled RBF network[J].Image Processing,IEEE Transactions on,2012,21(5):2887-2897.

A FACE RECOGNITION ALGORITHM BASED ON SPARSE EXPRESSION AND NEURAL NETWORK

Qi YanqingWang Liejun*Wu Shengwu

(SchoolofInformationScienceandEngineering,XinjiangUniversity,Urumqi830046,Xinjiang,China)

Traditional neural network-based face recognition algorithm obtains face image data directly from gray space. It contains a lot of noise and redundant information and reduces recognition rate as well as extends recognition time. This paper presents a new face recognition method, which is based on sparse expression and neural networks. First, it transforms training samples into sparse space by KSVD algorithm, then it operates LDA algorithm to transform these sparse codes into subspace, finally they are inputted to RBF neural network for classification. The results of experiments on ORL and Yale face databases show that the proposed algorithm has higher recognition rate and faster recognition speed than other algorithms, and has strong robustness and generalisation ability as well.

Face recognitionKSVDSparse transformationLDARBF neural network

2015-06-30。国家自然科学基金项目(61471311)。祁彦庆,硕士生,主研领域:图像处理,人脸识别。汪烈军,教授。吴生武,副教授。

TP3

A

10.3969/j.issn.1000-386x.2016.10.038

猜你喜欢
项数识别率字典
基于类图像处理与向量化的大数据脚本攻击智能检测
字典的由来
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
一个不等式的推广
提升高速公路MTC二次抓拍车牌识别率方案研究
大头熊的字典
求 和
论高次方程
正版字典
高速公路机电日常维护中车牌识别率分析系统的应用