核主成分分析网络的人脸识别方法
2016-05-25胡伟鹏胡海峰顾建权李昊曦
胡伟鹏,胡海峰,顾建权,李昊曦
(中山大学电子与信息工程学院,广东 广州 510006)
核主成分分析网络的人脸识别方法
胡伟鹏,胡海峰,顾建权,李昊曦
(中山大学电子与信息工程学院,广东 广州 510006)
主成分分析网络(principal component analysis network, PCANet) 是当前流行深度学习模型,在人脸识别、目标识别、纹理分类和手写体数字识别等方面有广泛应用。在PCANet方法基础上, 该文提出基于核主成分分析网络(kernel principal component analysis network, KPCANet)的人脸识别方法。算法由四部分组成:主成分分析(PCA)、核主成分分析(KPCA)、二值化哈希、分块直方图。在 Extended Yale B和AR 两个经典人脸库上的实验结果表明,所提方法在识别性能上优于PCANet方法 ,算法对于不同光照、表情变化下的人脸有更好的识别率和鲁棒性。
核主成分分析网络;深度学习;人脸识别 ;核变换
基于视觉语义的人脸图像分类一直是一个充满挑战的研究领域,不仅待识别的人脸图像种类多,在每一类内部也存在较大差别,包括光照变化、对齐因素、形变因素、遮挡因素等等。针对这些问题,学者们做了各种努力,提出不同的模型方法来应对。当前,人脸识别方法大致分为三类:基于几何特征的方法、基于模板的方法(特征脸、线性判别分析、神经网络等)和基于模型的方法[1-3]。深度学习方法作为机器学习的一个研究领域近几年受到广泛关注。该方法模拟大脑的深度组织结构,通过组合低层特征获取更抽象、更有效的高层语义信息。许多学者对深度学习进行了广泛的研究,提出各种不同架构的深度学习方法。Lee等[4]提出卷积深度置信网络(convolutional deep belief networks, CDBN),能够提取图像高级别视觉特征。Christian等[5]提出深度神经网络 (deep neural networks, DNNs),能提取图像几何信息达到更好分类效果,但存在过拟合和运算量大等缺点。Christian等[6]又提出卷积神经网络(convolutional neural networks, CNNs),存在网络参数少和简化训练的优点。
主成分分析网络 (principal component analysis network, PCANet)在人脸识别、目标识别、纹理分类和手写体数字识别等方面有广泛应用[7],该模型的提出对已有传统深度学习模型(例如卷积网络结构以及小波分散式网络结构)构成一定的挑战[8-9]。值得指出的是,传统PCANet方法的两层PCA变换只起扩大感受视野作用,PCA层非线性拟合能力较差。针对这些问题,我们在PCANet的基础上,通过引入核 (kernel) 变换[10-11],将数据映射到线性可分高维空间,进行降维操作并获取滤波器,提高模型的非线性拟合能力。本文提出的新型核主成分分析网络 (kernel principal component analysis network, KPCANet) 方法由4部分组成:主成分分析(PCA),核主成分分析(kernel principal component analysis,KPCA), 二值化哈希,分块直方图。实验表明KPCANet对于变化的光照和不同表情人脸图像有更佳的识别效果,显示了更好的鲁棒性。
1 核主成分分析网络方法
PCANet深度网络是对当前流行的卷积神经网络(convolutional neural networks,CNNs)与哈希直方图方法的一个结合[6-12]。其PCA层对应CNNs网络中的卷积层,起到了神经元局部感受野和权值共享的作用,哈希层则起到了非线性拟合与降维功能,对应CNNs中的激活函数与池化层。进行两层PCA层主要能起到扩大感受视野的作用,PCA层只进行线性变换,非线性拟合能力较差,不能保证原数据集是线性可分的。针对这一问题我们将原网络结构中的第二层PCA层换成KPCA层,数据在第一层PCA卷积层输出以后将被非线性映射到高维核空间中进行PCA降维,该过程与卷积网络中对卷积层线性变化后经过激活函数处理的操作有类似的思想[6],整个KPCA网络进行两层卷积+激活函数层,进行降维与分类(算法流程如图1所示)。这一处理相比PCANet,能提高模型的非线性拟合能力,达到提升分类精度的效果。
1.1 第一层变换
(1)
图1 核主成分分析网络(两层结构)算法流程图Fig.1 Flowchart of our proposed kernel principal component analysis network (two-stage)
假定第i层的滤波器数目为Li,PCA最小化重构误差满足下式:
s.t.VTV=IL1
(2)
式中,IL1大小为L1×L2的单位矩阵。XXT的L1个主特征向量为上式的解,PCA滤波器为:
(3)
上式将向量v∈Rk1k2映射为w∈Rk1×k2的函数,ql(XXT)表示XXT的第l个主特征向量[13],l=1,2,...,L1。较大靠前的特征值对应的特征向量获得了所有均值训练块的主要变化。
1.2 第二层变换
设定第一层第l个PCA滤波器输出:
(4)
1)Gaussian核函数:
(5)
2)PolyPlus核函数:
(6)
3)Polynomial核函数:
(7)
K=[K1,K2,…,KN] ∈Rk1k2×Nk1k2
(8)
再求特征向量,并取前l个特征向量,即:
(9)
(10)
共L1L2个输出。重复上面步骤,可以构建多层网络结构。
1.3 输出层:哈希和直方图
(11)
(12)
式中,fi∈R(2L2)L1B。KPCANet模型参数:每层滤波器数目L1、L2,模型层数,输出层中局部直方图块大小,块重叠区域比率。
2 实验结果与分析
我们将所提的KPCANet算法在ExtendedYaleB和AR两个经典人脸库进行了实验验证。
2.1ExtendedYaleB数据库
在ExtendYaleB人脸数据库的实验中, 共38个人,每人64 张人脸图像(2 432张人脸图,图像尺寸为100×100),这些图像是不同光照条件下拍摄的正面人脸图像。图2是Extend Yale B数据库中同一个人不同光照条件下的20张正面人脸图像。实验时,我们对每个人随机抽取5张人脸图像进行训练,共190个训练样本,其余的作为测试,测试样本数量为2 242个,进行20次独立实验,取均值作为实验结果。
图2 Extended Yale B不同光照条件正面人脸Fig.2 Examples frontal face images with various illumination conditions in Extended Yale B database
算法识别率/%PCANet98.49KPCANet-Pn98.79KPCANet-Pp98.80KPCANet-Gs98.82
为了比较分析,PCANet和KPCANet设置相同模型的参数。即:2层模型结构,每层滤波器数目均设置8,输出层中局部直方图块(block)大小7×7,块重叠区域比率0.5。另外,KPCANet针对不同核函数的参数赋值如下:Gaussian核参数σ=6,PolyPlus核参数d=2,Polynomial核参数d=6。对于不同核函数,我们用KPCANet-Gs、KPCANet-Pp和KPCANet-Pn分别表示。在ExtendedYaleB库中实验结果如表1所示。由表可得,PCANet的识别率为98.49%,KPCANet在不同核函数下算法识别率均高于PCANet,其中高斯核函数的性能最好,识别率为98.82%。高斯核取不同σ值时的识别性能如图3所示,实验表明,高斯核取不同σ值对人脸识别率有一定影响,σ为6的时人脸识别率最高。
图3 Gaussian核取值σ与人脸识别率Fig.3 Gaussian kernel value and recognition accuracy
2.2 AR数据库实验
AR数据库包含 50个人,每人14张照片(共700张人脸图像,图像大小为165×120),这些图像均为在光照变化不大的条件下拍摄的正面人脸图像,每个人包含不同表情(如微笑、张嘴、闭眼等)。图4是AR库同一个人的14张图片。实验中每个人随机抽取7张人脸图像作为训练,共350个训练样本,其余的作为测试, 测试样本数量为350个,经过20 次独立实验,取均值作为实验结果。
实验结果如表2所示,我们发现PCANet的识别率为99.59%,KPCANet不同的核函数下算法识别率均高于PCANet,其中用高斯核函数性能最好,识别率为99.76%。
图4 AR库不同表情正面人脸Fig.4 Examples frontal face images with various expression in AR database
算法识别率/%PCANet99.59KPCANet-Pp99.62KPCANet-Pn99.73KPCANet-Gs99.76
2.3 结果分析
通过对Extended Yale B和AR两个人脸数据库中的实验表明,所提的KPCANet模型比PCANet方法在识别性能上有一定的提高。Extended Yale B人脸数据库中,KPCANet识别率高达98.82%,AR人脸数据库中,KPCANet识别率高达99.76%,结果表明我们的方法对光照、表情变化鲁棒,有很好的适应特性。
3 结 语
本文提出一种新型的核主成分分析网络方法用于人脸识别,我们的模型包括对输入图像进行主成分分析、核主成分分析、二值化哈希和分块直方图分析等。与传统方法相比,本算法引入“核”变换,提高了模型的非线性拟合能力,达到提升分类精度的效果。实验结果表明所提方法在识别性能上优于PCANet方法 ,对于不同光照、表情下的人脸变化具有更好的识别率和鲁棒性。
[1] TURK M, PENTLAND A. Face recognitison using eigenfaces [C]∥IEEE Conference on Computer Vision and Pattern Recognition, 1991: 586-590.
[2] FISHER R. The use of multiple measurements in taxonomic problems [J]. Annals of Eugenics, 1936, 7(2):179-188.
[3] 左军,周灵,孙亚民. 基于RBF神经网络PCA变换的识别技术 [J].中山大学学报(自然科学版), 2014, 53(6):135-140.
[4] LEE H, GROSSE R. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations [C]∥ International Conference on Machine Learning, 2009:609-616.
[5] CHRISTIAN S, TOSHEV A, ERHAN D. Deep neural networks for object detection [C]∥Advances in Neural Information Processing Systems, 2013, 2553-2561.
[6] CHRISTIAN S, LIU W, JIA Y Q. Going deeper with convolutions [C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1-9.
[7] CHAN T H, JIA K, GAO S H, et al. Pcanet: A simple deep learning baseline for image classification [J]. TIP, 2015, 24(12):5017-5032.
[8] BRUNA J, MALLAT S. Invariant scattering convolution net-works [J]. TPAMI, 2013, 35(8):1872-1886.
[9] SIFRE L, MALLAT S. Rotation, scaling and deformation invariant scattering for texture discrimination [J]. CVPR, 2013, 9(4):1233-1240.
[10] HOFMANN T, SCHOLKOPF B, ALEXANDER J S. Kernel methods in machine learning [J]. Annals of Statistics, 2008, 36(3):1171-1220.
[11] 黄啸. 支持向量机核函数的研究[D].苏州: 苏州大学, 2008.
[12] ALEX K. ImageNet classification with deep convolutional neural networks [J]. Advances in Neural Information Processing Systems, 2012, 25(2):195-203.
[13] 黄晓生, 严浩, 曹义亲, 等.基于小波高频奇异值分解的无参考模糊图像质量评价 [J]. 中山大学学报(自然科学版), 2014, 53(6):165-171.
[14] 赵慧民, 蔡君, 魏文国. 一种分块压缩感知变采样率的指纹图像水印算法 [J]. 中山大学学报(自然科学版), 2014, 53(5):14-20.
Kernel principal component analysis network method for face recognition
HU Weipeng, HU Haifeng, GU Jianquan, LI Haoxi
( School of Electronics and Information Engineering, Sun Yat-sen University, Guangzhou 510006, China)
Principal component analysis network (PCANet) is a popular deep learning classification method, which has caused wide attention in the area of computer vision due to its practical applications in face recognition, hand-written digit recognition, texture classification, and object recognitions. On the basis of PCANet. The kernel principal component analysis network (KPCANet) method is proposed for face recognition. The model is constructed by four processing components, including principal component analysis (PCA), kernel principal component analysis (KPCA), binary hashing, and block-wise histograms. The performance of the proposed method is evaluated using two public face datasets, i.e., Extended Yale B database and AR face database. The results show that KPCANet outperforms PCANet method. Especially when the face images have large variations about illuminations and expressions, KPCANet gives better recognition results.
kernel principal component analysis network; deep learning; face recognition; kernel transformation
10.13471/j.cnki.acta.snus.2016.05.009
2016-01-28
国家自然科学基金资助项目(60802069,61273270);广东省自然科学基金资助项目(2014A030313173)
胡伟鹏(1993年生),男;研究方向:计算机视觉,模式识别; 通讯作者:胡海峰;E-mail:huhaif@mail.sysu.edu.cn
TP391.41
A
0529-6579(2016)05-0048-05