于达岭,黄洪琼
(上海海事大学 信息工程学院,上海 201306)
一种基于卷积神经网络的人脸识别方法*
于达岭,黄洪琼
(上海海事大学 信息工程学院,上海 201306)
近年来,随着深度学习的发展,卷积神经网络已经广泛运用到图像识别领域,它不仅提高了识别的准确率,同时自特征提取方面的效果也优于许多传统的算法。提出一种基于卷积神经网络的人脸识别算法。该方法主要涉及两方面,一是使用卷积神经网络对训练集进行特征提取;二是将提取的特征图片输入改进的神经网络进行训练及识别。通过MATLAB进行了仿真实验,对比结果表明卷积神经网络有很好的特征提取性能及良好识别效果,比现有的算法有很大的优势。
人脸识别;卷积神经网络;特征提取
人脸识别是近年来机器学习与模式识别等人工智能领域的研究热点之一,也是生物特征识别技术中发展较快的技术之一。目前,人脸识别已经广泛应用于视频监控、人机交互、门禁安全等领域。传统的人脸识别方法有下列几种:(1)基于几何特征[1]的人脸识别。通常使用边缘检测与投影函数等方法提取人脸主要器官的特征,并且匹配各种距离公式。几何特征方法普适性及稳定性较好,但是学习效率不高,学习能力也相对较弱。(2)基于隐马尔可夫模型[2]的人脸识别。该方法能够运用面部各器官的联系以及其不同的特征,且具有一定的鲁棒性。然而其公式较为复杂、计算量大,训练过程易出错且时间长。且马尔科夫模型依赖于对图像前期的预处理,识别率不高且在在一定程度上受光照的影响。(3)基于主成分分析法[3](Principal Component Analysis,PCA)的人脸识别。将图像二维矩阵转化为一维矩阵后维度大大增加,增加了计算的复杂度。K-L(Karhumen-Loeve)变换虽然可以有效地将维度降低之后再进行特征提取,然而该过程也大大地延长了算法的特征提取时间。且PCA算法容易受到光照明暗等外界因素的影响。(4)基于人工神经网络的人脸识别。其中具有代表性的是BP(Back-Propogation)算法[4],该算法具备了神经网络学习能力较强且抗干扰能力较强的特点,有良好的非线性映射能力,容错能力和泛化能力较好,有很好的鲁棒性。然而标准的BP算法容易陷入局部极小值而不能得到全局最优,且识别结果的优劣依赖人工选取特征合理性。
通过以上分析能够看出,现有方法都多多少少存在不足,本文提出的基于卷积神经网络[5-7](Convolutional Neutral Network,CNN)的识别算法能够自动地学习输入人脸图片的特征以及分类,避免了图像前期的预处理。实验证明,基于卷积神经网络的识别算法具有良好的特征提取[8]性能以及较高的识别精度。
1.1 网络结构
与其他神经网络相比,卷积神经网络[9]不同之处在于其在输入层前加入了卷积层。卷积神经网络主要分为:输入层、卷积层、降采样(池化)层、全连层、输出层,其结构主要由卷积层(C)同下采样层(S)相互交替并在尾部与一个全连接层(F)相接,如图1所示。
图1 卷积神经网络结构
图1中,C1层即为卷积层。卷积层的工作是通过一个可学习的卷积核(特征矩阵)与前一层的图像矩阵,按一定的顺序依次与对应位置的像素相乘,将相乘所得结果加权求和得到一个值。当卷积完成时,会产生新的图像矩阵。卷积层的对前一层特征提取的工作完成。实现算法为:卷积层输出=sigmoid(sum(卷积)+偏置)。数学公式为:
(1)
其中,f(·)为激活函数,通常是sigmoid,其公式为:
(2)
Mj表示选择的输入maps的集合,b为偏置。
S2为降采样层,也叫作池化层。CNN的降采样方法有很多,本文采取的是最经典的最大池化。该层在CNN的主要作用为对前一层卷积层特征进行降维。所有降采样层最大池化工作原理如下:将前一层输入的像素矩阵平均分为若干个n×n的像素矩阵块,取每个矩阵块里的最大值作为该矩阵的新值,这样便形成一个大小为原来1/n的新特征矩阵。过程如图2所示。
图2 跨步为2的最大池化过程
降采样层大大减少了计算量,并且有效地避免因特征过多而产生的过拟合现象。
1.2 CNN训练过程
本次研究所采用的CNN网络结构[9]分为6层,包含了2层卷积层、2层降采样层以、1层全连接层,如图1 所示。CNN网络模型特征的学习步骤如下:
(1)FERET人脸库所采用的图片像素统一为80×80的人脸图,故不必在对图片进行归一化。在输入层二值化处理后便可输入网络。
(2)C1层的卷积操作中,采用5×5的卷积核对输入像素为80×80的人脸图像进行卷积操作。本文设置的特征图像为9幅,卷积后得到的特征图大小为76×76。本文所提取的特征图即为C1层卷积后的9幅特征图。
(3)S2降采样层对C1层的新特征矩阵进行采样,采样的大小为(2,2),跨步为2,后面采取最大池化,得到38×38的新矩阵。特征图仍为9幅。
(4)C3层对S2层再次进行卷积操作。卷积核为5×5,特征图片由原先9幅设置为5幅,大小为34×34。
(5)S4为第二个下采样层,同S2,采样大小仍为(2,2),跨步为2,大小为17×17。
(6)F5层为全连接层。全连接层就是把输出层的神经元同输入层每个神经元都连接,神经元数目通常与分类个数有关,本文在输出层设置2个神经元。
之后,使用FP(前向传播)、BP(反向传播)等算法,网络会自动调整偏置、权重等未知参数,整个网络的训练模型构造完成。
2.1 数据集
本文所采用的人脸数据库包括两个部分:FERET人脸库以及Cohn-Kanade表情库的各个部分峰值表情图。FERET人脸库由美国军方项目组Feret(Face Recognition Technology)所建,包括200个人,每人7幅,共1 400张图,包含了不同的表情、姿态以及光照条件,是人脸识别领域常用的数据库之一。Cohn-Kanada库中选取了6类不同峰值表情图各40张,这些图包含了表情、光照、色彩等变化。FERET部分人脸样本如图3所示。
图3 FERET部分人脸样本
Cohn-Kanada部分人脸样本如图4所示。
图4 Cohn-Kanada部分人脸样本
2.2 实验结果及分析
本文将C1层的输出结果作为特征图片。通过提取大量的特征图片,再将提取的特征图片作为训练集1,用原人脸样本作为训练集2,分别输入卷积神经网络,通过同样的测试样本,对比其识别率。在MATLAB程序中,本文的学习效率(alpha)设置为1,批次(batchsize)设置为50,迭代次数(numpochs)设置为10。
因为本文的训练样本较少,为了更好地防止模型的过拟合,在网络的输出层之前加上dropout层。文献[10]中提到,在每个批次中,通过忽略一定比例的特征检测器(将该比例隐层节点值设为0),可以明显地减少过拟合现象。而dropout层会以一定概率让一些隐藏的神经元节点失效,以减少实际训练参数,从而达到充分防止过拟合的效果。本文dropout设置为0.5。
为了验证本文所提出方法的有效性,实验分三组进行。
(1)用原样本输入卷积神经网络。FERET人脸库中有400个人的人脸图,每人包含7张不同角度的人脸灰度图。取每个人7张人脸图的前6张作为训练样本,后1张作为测试样本。Cohn-kanade人脸库中,取6种不同表情共1 656张人脸图作为训练样本。取其中6种不同表情剩余共 256张人脸作为测试样本。测试结果如表1所示。
表1 ORL、Cohn-Kanade人脸库样本识别率
(2)使用卷积神经网络C1层提取的特征人脸图片输入卷积神经网络。用卷积神经网络对本文所用的FERET及Cohn-Kanade选取人脸库进行特征提取,选取与实验(1)中相同的样本作为测试样本,输入到卷积神经网络。提取的特征人脸识别率如表2所示。部分特征提取图如图5所示。
图5 部分特征提取图
人脸库(特征图)训练样本测试样本识别率/%误识率/%FERET120020099.80.2Cohn-Kanade140025699.50.5
(3)将实验(1)和实验(2)中的原样本以及特征样本各一半样本输入神经网络。使用实验(1)中所用的600张FERET人脸图以及实验(2)中所用的另外600张FERET特征提取图作为训练集,测试集仍为实验(1)中选取的200张人脸图。Cohn-Kanade库中,同样选取实验(1)中所用的700张灰度图加上实验(2)中使用的另外700张特征图作为训练样本,测试样本仍为实验(1)中所选取的256张原人脸图。测试结果如表3所示。
表3 原样本+特征样本的识别率
从实验(1)得出,经过改进的卷积神经网络在样本较少的情况下仍能克服光照、表情等条件变化,保持很高的识别率,展示出了较强的抗畸变和泛化能力以及广阔的应用前景。
对比实验(1)、(2)、(3)的结果可以发现,经过卷积神经网络第一个卷积层提取的特征图片训练后的识别效果要优于原人脸图库。由此也可以得出卷积神经网络具有良好的特征提取性能。
本文将卷积神经网络运用到人脸识别当中,并在实验中取得了良好的识别率。通过大量样本进行实验得出,在处理二维图像时,避免了前期复杂的预处理及繁琐的人工特征提取过程,表现出了良好的特征提取性能,同时能够较好地解决过拟合问题。虽然卷积神经网络在图像处理方面有良好的识别效果,然而仍然存在一些不足,其网络结构往往是根据特定的图像数据库进行设计,最佳参数及算法的优化仍需依赖于研究者的经验,有很大的主观性。而在对自然图像进行分类和识别时,初始参数的选择以及网络结构的选择会对训练产生很大的影响,下一步将基于上述问题进行进一步探索。
[1] 李建中,雷立礼,黎灏,等.基于几何特征的动态人脸识别[J]. 科学技术与工程, 2010, 10(28):6894-6898.
[2] 余龙华, 王宏, 钟洪声. 基于隐马尔科夫模型的人脸识别[C].2011嵌入式技术开发论坛, 2011.
[3] 黄华盛, 杨阿庆. 基于PCA算法的人脸识别[J]. 电子科技, 2015, 28(8):98-101.
[4] 韩力群. 人工神经网络理论、设计及应用[M]. 北京:化学工业出版社, 2007.
[5] 邓柳, 汪子杰. 基于深度卷积神经网络的车型识别研究[J]. 计算机应用研究, 2016, 33(3):930-932.
[6] 张昭旭. CNN深度学习模型用于表情特征提取方法探究[J]. 现代计算机, 2016(3):41-44.
[7] 张弛. 基于卷积神经网络的鞋印图像分类算法研究[D]. 大连:大连海事大学, 2016.
[8] 赵亮, 王晓峰, 袁逸涛,等. 基于深度卷积神经网络的船舶识别方法研究[J]. 舰船科学技术, 2016, 38(15):119-123.
[9] 操小文, 薄华. 基于卷积神经网络的手势识别研究[J]. 微型机与应用, 2016, 35(9):55-57.
[10] HINTON G E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4):212-223.
A face recognition method based on CNN
Yu Daling, Huang Hongqiong
(College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)
In recent years, with the development of deep learning, convolution neural network has been widely used in the field of image recognition. It improves the recognition accuracy, at the same time the feature extraction effect is superior to many traditional algorithms.This paper proposes a face recognition algorithm based on convolution neural network.The method mainly involves two aspects: one is using convolution neural network for feature extraction;the other is to extract the characteristics of the image to input the improved neural network for training and recognition.Through the MATLAB simulation experiments, the results show that the convolutional neural network has good feature extraction performance and good recognition effect.
face recognition; convolution neural network; feature extraction
国家自然科学基金(61673260)
TP391.9
A
10.19358/j.issn.1674- 7720.2017.14.016
于达岭,黄洪琼.一种基于卷积神经网络的人脸识别方法[J].微型机与应用,2017,36(14):49-51,56.
2017-01-29)
于达岭(1991-),男,硕士,主要研究方向:智能信息处理及应用。
黄洪琼(1973-),女,博士,副教授,主要研究方向:智能信息处理、智能交通系统及航运智能运输系统。