APP下载

协同KPCANet模型在人脸识别中的应用

2019-10-18杨翠萍魏赟

软件导刊 2019年9期
关键词:人脸识别特征提取深度学习

杨翠萍 魏赟

摘 要:为解决手工提取图像特征过程繁复和参数复杂问题,提出一种基于深度学习的协同KPCANet模型。该算法能够对现场采集到的人脸数据和特征进行提取和分类,通过提取分块直方图特征进行编码协同表示,将测试样本归于残差最小的类中对人脸数据进行识别和运算。实验结果表明,协同KPCANet模型在滤波器数量L1=10时一层卷积层与L2=15时二层卷积层的正确率分别达到99.17%和99.44%。协同KPCANet模型不仅能使运算过程简洁,还能提高识别结果准确度,提升识别效率。

关键词:特征提取;深度学习;KPCANet;人脸识别

DOI:10. 11907/rjdk. 191123 开放科学(资源服务)标识码(OSID):

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2019)009-0022-04

Application of Cooperative KPCANet Model in Face Recognition

YANG CUI-ping, WEI Yun

(School of Optoelectronic Information and Computer Engineering,

University of Shanghai for Science and Technology, Shanghai 200093, China)

Abstract: In order to solve the complex process and parameters of extracting features manually from image features at this stage, a collaborative KPCANet model based on deep learning is proposed, which can extract and classify face data and features collected on the spot. This algorithm recognizes and calculates the face data by extracting the block histogram features and co-representation coding, kernel principal component analysis network, binary hash coding, calculating the coding residuals, and classifying the test samples into the classes with the smallest residuals. The experimental results show that the correctness of the cooperative KPCANet model in the number of filters L1 = 10 layer convolution layer and L2 = 15 layer convolution layer reaches 99.17% and 99.44%, respectively. Collaborative KPCANet model can not only simplify the operation process, but also improve the accuracy and efficiency of recognition results.

Key Words: feature extraction; deep learning; KPCANet; face recognition

0 引言

計算机视觉技术中的基本问题是图像识别技术,成熟的图像识别技术可以追踪检测物体状态,对数据进行有效分析。人工智能技术使现有产业能够实现无人运作,人脸识别作为智能设备的重要组成部分在科技进步和社会发展中占有重要地位。人脸识别技术研究中的图像特征提取成为重要研究课题[1]。采用人脸识别技术建立自动人脸识别系统,配合计算机实现对人脸图像的自动识别具有良好的应用前景。图像特征提取的主要困难是相当大的类内变异性,由不同的照明、刚性变形、非刚性变形和遮挡引起,对图像识别影响很大。因此,人脸识别准确率一直很难达到一个比较高的水平[2]。深度学习方法成为关注的焦点,该方法模拟人类大脑的深度组成结构,通过组合低层特征从而获取更为抽象、有效的高层语义信息,具有学习不变特征能力[3]。在不断试验的基础上,人工智能学者提出了基于多种架构的深度学习算法。文献[4-6]提出卷积深度置信网络(Convolutional Deep Belief Networks,CDBN),能提取原始图像中的微表情等高级别视觉元素;深度神经网络(Deep Neural Networks,DNNs)具有更好的提取图像几何信息能力,并能对这些信息整合和分类,但存在运算量大和过拟合等缺点;卷积神经网络(Convolutional Neural Networks,CNNs)具有训练简易和网络参数较少的优点。Bruna等[7]建立了一个散射网络(ScatNet),它对刚性和非刚性变形都是不变的。吴等[8]提出了核主成分分析网络(KPCANet),级联两个KPCA阶段和一个汇集阶段,当核函数为线性时,所提出的KPCANet退化为PCANet。另外文献[8-12]证明了KPCANet对光照是不变的,并且对轻微的非刚性变形是稳定的,在人脸识别和物体识别任务上都优于PCANet。PCANet深度网络融合了卷积神经网络与哈希直方图的优势。在使用智能设备识别人脸过程中,各个样本数据之间的相互合作和相对距离都有助于设备正确识别。在这个基础上,张等[13]研制出了高效率的人脸识别设备,但却无法识别那些被遮挡的面部表情。为解决这类设备缺陷,本文提出一种基于深度学习框架的协同KPCANet模型,能够对采集的各种人脸数据进行特征提取和分类。该算法利用深度学习图像特征提取框架提取静止状态下的人脸图像特征,并利用协同表示分类器进行分类,从而获得较高的识别准确率。

协同KPCANet应用步骤如下:通过核主成分分析网络、二值哈希编码、提取分块直方图特征后进行协同表示编码,计算编码残差,在残差最小的一类中放入测试样本。实验结果表明:协同KPCANet模型在滤波器数量L1=10时一层卷积层与L2=15时二层卷积层的正确率分别达到了99.17%和99.44%。

1 算法设计

在KPCANet框架中,卷积层的滤波器主要采用基本的KPCA滤波器,运用二值哈希编码对重采样层和非线性层进行加工,使用重采样层输出特征提取结果,最终用提取到的协同表示整个KPCANet网络最终的分类器。

图1为本文提出的KPCANet整体结构,它由两个KPCA阶段和一个汇集阶段组成,假设所有阶段的补丁大小都是k1×k2,并且所有输入图像大小都是m×n。

1.1 KPCANet第一阶段

输入属于C类的N个图像[Ii(i=1,2,?,N)],并在图像[Ii]的[j-th (j=1,2,?,mn)]像素中以一个补丁[Pi,j∈][Rk1*k2]为中心,将该贴片矢量化为[xi,j∈Rk1k2]。收集[Ii]的所有矢量化[xi,j(j=1,2,?,mn)],得到矩阵[Xi=[xi,1,xi,2,?,][xi,mn]∈Rk1k2×mn]。为所有输入图像构造相同的矩阵并将它们放在一起,得到[X=[X1,X2,?,XN]∈Rk1k2×Nmn]。为方便起见,X的第p列表示为[x'p(p=1,2,?,Nmn)],然后将输入空间[Rk1k2*k1k2]的X映射到特征空间F:

为简化C对角化,可以替换为K对角化,其中[Kpq=][(T~(x'p)?T~(x'p))pq,T~(x'p)]表示集中[T(x'p)],符号“[?]”表示点积。由于F的维数是任意大甚至无穷大,所以直接计算点积[(T~(x'p)?T~(x'p))]很难。用核函数K代替点积,得到[Kpq=][(k(x'p,x'q))pq]。K集中[K=K-1NmnK-K1Nmn+1NmnK1Nmn,][K]对角化,得到主特征向量[WIll=1,2,?,L1],这是第一阶段的KPCA滤波器,其中[(1Nmn)ij=1Nmn]。

零填充[Ii]的边界并与[WIl]卷积,得到第一级[Ii]的l-th滤波器输出,[Ii,l=Ii*WIl∈Rm×n(i=1,2,?,N;l=1,2,?,L1)],其中“*”表示2D卷积,L1表示第一阶段中的滤波器数量。

1.2 KPCANet第二阶段

通过重复与第一阶段[Ii,l(i=1,2,?,N;l=1,2,?,L1)]相同的过程,得到第二阶段的[L2]核PCA滤子[W2s(s=1,][2,?,L2)]。卷积[Ii.l]与[W2s],得到第二阶段[Ii,l,s=Ii,l*W2s][(i=1,2,?,N;l=1,2,?,L1;s=1,2,?,L2)]的输出。

1.3 KPCANet汇集阶段

由于深度体系结构是由多个非线性操作组成的,例如在复杂的命题公式中使用许多子公式[14],所以KPCANet的前两个阶段设置为相同,也可重新使用第一阶段的整个结构。

1.4 协同表示分类器

压缩感知理论[15-16]和稀疏表示[17]在人脸识别技术提高过程中效果不错,一般在稀疏性讨论中都会默认人脸数据库中的每个训练样本[Ai]均为过完备,但实际上人脸数据库中的数据并不是过完备而是欠完备的。把人脸数据库中其它类的人脸图像都当作测试样本使用以解決样本数据不足的问题。因此,用所有的类的人脸图像[A=[A1,A2,][?,Ak]]在一定的l1-范数约束条件下协同表示测试样本y,协同性则会起到关键作用。

2 协同KPCANet模型

本文提出的基于协同的KPCANet模型,主要是在协同表示分类算法的基础上引入KPCANet程序,用它提取人在静止状态下的面部特征,并利用协同表示分类器进行分类,从而获得较高的识别准确率。

算法流程如下:①将N幅图片写成一个m×n维矩阵[A=a11?a1n???am1?amn],进行k1*k2的块采样:[xi,j∈Rk1k2(i=1,2,][?,N; j=1,2,?,mn)],对采样得到的块进行零均值化,并且对训练集中其它图片也做同样操作,得到训练后的样本矩阵[X=[X1,X2,?,XN]∈Rk1k2×Nmn];②选择核函数并设置参数,计算输入的核矩阵Kl=ConstrucKernelMatrix(X),并将K1中心化得到KC1;③第一层的L1个滤波器核和第二层的L2个滤波器核分别对应上一层输出的矩阵相应产出L1个和L2个输出特征,从而每张输出图片都会在两层KPCANet产生L1*L2个输出矩阵[Oli={Ili*W2l}L2l=1];④KL的特征值可以用Jacobi迭代方法计算,[λ1,?,λn]及对应特征向量[V1,?,Vn],将特征值按降序排列得到[λ1?λn],并对特征向量进行相应调整;⑤采用现有人脸库中各个类别的人脸图像元素[A=[A1,A2,?,Ak]]在一定的l1-范数条件下进行协同表示测试样本y,再将测试样本分到有最小残差的类中:[Identity(y)=argmin{ri(y)}]。

3 实验结果与分析

分别运用ORL人脸库和Extended Yale B人脸库进行人脸识别实验。将40组不同性别、年龄及种族的人脸图片存储在ORL人脸数据库中。其中,每个人有10张不同表情的人脸图片,总共有400张人脸图片。每张图片都是黑色背景,尺寸是92×112,图中每个人的照片面部表情都有细微变化,有睁着眼睛的、闭着眼睛的、戴眼镜的、戴帽子的,有沮丧的、开心的等等。在这些照片中,每个人的面部表情都十分明显,人脸大小也有所变化。图2所示为其中3个人的面部表情。在实验过程中,用每个人的前5张人脸图像作为训练使用,后5张图像作为测试使用。Extended Yale B人脸库一共39人,每人64张灰度照片,图像尺寸168×192,共2 496张人脸图片。在不同的机位上拍摄一个人64张同一表情图片,每个subset的人脸数目分别为7张、12张、14张、19张。图3是Extended Yale B人脸数据库中同一个人在不同光照强度情况下的20张正面人脸图像。实验过程中随机抽取每个人的10张人脸图片进行训练,有390个可以训练的实验样本,2 106个测试样本,结果为10次试验之后得到的平均值。

3.1 不同核函数性能比较

每个核函数在不同图片数据集中的识别率都会不一样。选择Polynomial、PolyPlus、Gaussian核函数,设置相同的KPCANet网络参数,检测它们能否准确识别Extended Yale B人脸库中的人脸。

经实验验证,KPCANet在Extended Yale B人脸库中采用3种不同的核函数识别错误率如表1所示。从表1可以看出,在识别人脸图像的KPCANet框架中, Polynomial、PolyPlus、Gaussian这3种核函数各具特点和优势,比如,Gaussian核函数的识别错误率在3个当中是最低的。但是当d=1时,如果从空间和时间的复杂度考虑,Polynomial核函数的算法是最简单的。

3.2 ORL人脸库识别错误率比较

使用ORL人脸库中的Polynomial核函数,将核函数参数设置为d=1,将卷积层设置为1层,L1=8,使用SIFT特征提取算法和KNN聚类方法对人脸面部表情进行分类。如果训练集图片数分别为5、6、7、8,对这两种框架在ORL人臉库图片的识别率进行对比,得到数据如图4所示。参与训练的每类图片有8张,用来测试的图片有2张,图片分类错误较小。所以,基于深度学习算法的协同KPCANet模型比BoW模型能更准确地识别人脸。

3.3 Extended Yale B人脸库的识别错误率比较

在Extended Yale B人脸库中,选择Polynomial核函数,将核函数参数设置为d=1,卷积层设置为1层,BOR=0.5,比较两个深度学习网络KPCANet_CRC和PCANet_CRC。当L1分别为2、4、6、8、10时,计算Extended Yale B人脸库识别人脸面部表情的准确程度。表2为L1不同的一层卷积层的KPCANet_CRC与PCANet_CRC在Extended Yale B人脸库中的识别错误率。由表2可以看出,在Extended Yale B人脸库数据集中,1层卷积层的KPCANet_CRC算法识别错误率更低。

在Extended Yale B人脸库中,选择Polynomial核函数,将核函数参数设置为d=1,卷积层数设置为2层,BOR=0.5,比较两个深度学习网络KPCANet_CRC和PCANet_CRC。当L1=8,第二层滤波器个数分别为8、10、15、20时,计算在Extended Yale B人脸库中的人脸识别错误个数变化情况。从表3可以看出,在L2=15时,KPCANet_CRC在Extended Yale B人脸库中的识别错误率最低。在Extended Yale B人脸库中,KPCANet_CRC的识别错误率略低于PCANet_ CRC。表3为L2=8、10、15、20时,KPCANet_CRC与PCANet_CRC在Extended Yale B人脸库中的识别错误率。

4 结语

在KPCANet_CRC框架中,设置确定的卷积层数、滤波器个数和BOR参数,特征的提取会简单、高效、鲁棒性强,在需要较快较准确地采集人脸图像及在各类复杂场景中识别人脸场合非常适用。被训练的图片数量越多,使用深度学习算法识别的人脸图像就越准确,该方法比中层特征提取法更实用、更准确。如在ORL人脸库中,基于深度学习的协同KPCANet模型分类准确率高于BoW模型。同样,在Extended Yale B人脸库中,KPCANet_CRC的识别准确率略优于PCANet_CRC。综上所述,在人脸识别、人脸检测等领域,深度学习有着良好的发展前景。

参考文献:

[1] 王振,高茂庭. 基于卷积神经网络的图像识别算法设计与实现[J]. 现代计算机:专业版,2015(20):61-67

[2] 戴金波. 基于视觉信息的图像特征提取算法研究[D]. 长春:吉林大学,2013.

[3] LECUN Y,KAVUKCUOGLU K,FARABET C. Convolutional networks and applications in vision[C]. Proceedings of 2010 IEEE International Symposium on Circuits and Systems. Paris, France, 2010: 253-256.

[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] BRUNA J,MALLAT S. Invariant scattering convolution networks[J].  IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(8):1872-1886.

[8] WU D,WU J S,ZENG R, et al. Kernel principal component analysis network for image classification[J]. Journal of Southeast University(English Edition),2015,31(4):469-473.

[9] 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.

[10] BRUNA J,MALLAT S. Invariant scattering convolution networks[J]. TPAMI,2013,35(8):1872-1886

[11] SIFRE L,MALLAT S. Rotation,scaling and deformation invariant scattering for texture discrimination[J]. CVPR,2013,9(4):1233-1240.

[12] ALEX K. ImageNet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems,2012,25(2):195-203.

[13] ZHANG L,YANG M,FENG X. Sparse representation or collaborative representation: which helps face recognition[C]. ICCV. Washington,D C: IEEE Computer Society,2011.

[14] BENGIO Y. Learning deep architectures for AI[J]. Foundations and Trends in Machine Learning,2009,2(1):1-127.

[15] 平強. 压缩感知人脸识别算法研究[D]. 合肥:中国科学技术大学,2011.

[16] 戴琼海,付长军,季向阳. 压缩感知研究[J]. 计算机学报,2011,34(3):425-434.

[17] 杨荣根,任明武,杨静宇. 基于稀疏表示的人脸识别方法[J]. 计算机科学,2010,37(9):266-269.

(责任编辑:杜能钢)

猜你喜欢

人脸识别特征提取深度学习
人脸识别 等
揭开人脸识别的神秘面纱
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于类独立核稀疏表示的鲁棒人脸识别
基于MED和循环域解调的多故障特征提取
基于K-L变换和平均近邻法的人脸识别
Walsh变换在滚动轴承早期故障特征提取中的应用