一种改进的LeNet-5嵌入式人脸识别方法
2021-01-06黄帅凤汤丽娟梁龙兵
黄帅凤 汤丽娟 梁龙兵
摘 要:给出了一种基于LeNet-5改进的人脸识别方法,以其能适用于资源及计算能力有限的嵌入式系统。把典型卷积神经网络LeNet-5的结构,设计为由两个卷积采样层、一个全连接隐藏层和一个分类输出层,降低了网络结构复杂度。而且减少了卷积核的个数、改进了池化方式以及分类输出方式,降低了计算复杂度。实验证明,在保证训练和测试精度的同时,该方法提高了在嵌入式平台上进行单人脸识别的速度。
关键词:卷积神经网络;人脸识别;LeNet-5;嵌入式系统
中图分类号: TP391 文献标识码:A
Abstract:A face recognition method based on LeNet-5 is presented, which can be applied to embedded systems with limited resources and computing power. We designed the structure of the typical convolutional neural network LeNet-5 to consist of two convolution sampling layers, a fully connected hidden layer, and a classified output layer, which reduces the complexity of the network structure. Moreover, we have reduced the number of convolution kernels, improved the pooling method, and classified output methods, which reduces the computational complexity.Experiments show that while ensuring the accuracy of training and testing, this method improves the speed of single face recognition on embedded platforms.
Key words:convolutional neural network; face recognition; LeNet-5; embedded system
随着人脸识别技术的快速发展,人脸识别技术基于自身的安全性和便利性被广泛应用于嵌入式系统中,并已经取得了一系列卓有成效的成果[1-2]。目前常用于嵌入式平台的人脸识别算法大致有两类:
一类是基于人脸几何特征的提取。此类方法的基本思想是提取面部图像局部的特征或者是全局特征,以及人脸特征区域的整体几何分布、相对距离和比例来形成特征向量,如卷积神经网络、Eigenface等。顾思思[3]等对基于OpenCV(Eigenface)的嵌入式人脸识别技术进行了研究,实现了一种实用性、经济性较高的嵌入式人脸识别系统,但是其识别准确率较低。郭吉政[4]采用了卷积神经网络的人脸识别方法,但其在嵌入式设备上应用了较高性能的GPU加速并行计算,并不能普及应用到一般的嵌入式系统上。
另一類是基于表象的方法。此类方法的基本思想是通过降维来减少人脸的数据量,例如通过支持向量机(SVM)等。刘爽[5]采用SVM的方法进行分类识别,但由于人脸特征计算量较大,计算耗
时较长,同样不适宜在计算能力和资源有限的嵌入式平台上进行使用。
卷积神经网络是一种基于人脸几何特征提取的人脸识别方法[6-7],并适用于嵌入式设备。其优点是可以通过卷积逐层提取特征,并对输入的人脸图像进行降维,从而减少人脸数据量。卷积神经网络降低了对训练样本的要求,并且在一定的条件下,训练特征精度随着训练样本的增加、网络层数的增多而提高。目前卷积神经网络已成为人脸识别领域的研究热点,但是由于嵌入式系统本身的特点,将卷积神经网络应用到嵌入式系统的人脸识别中仍存在识别速率慢、识别率低等问题。
1 典型的卷积神经网络结构LeNet-5
LeNet-5是一种典型的卷积神经网络结构,如图1所示[8-9]。它是卷积神经网络中最有代表性的网络结构之一,其精度已达到商业规模。典型的LeNet-5分为输入、卷积层1、采样层2、卷积层3、采样层4、卷积层5、完全连接层和输出。卷积层的作用是感知人脸的局部特征,然后综合人脸的局部特征,得到人脸的所有信息,从而减少输入图像的冗余信息。采样层的是对提取到的人脸特征进行降维,压缩人脸特征数据和其他参数数据,以此来达到减少特征数据量和数据过度拟合的问题。完全连接层的目的是获得更高质量的面部图像特征信息。但是由于典型的卷积神经网络结构LeNet-5的计算和结构的复杂性,使得在嵌入式设备上并不能实现实时的人脸识别,识别速率较慢。因此,我们对LeNet-5卷积神经网络的结构进行改进,使其在嵌入式平台上具有较好的识别率以及较高的识别速率,以满足嵌入式系统下对人脸识别速度的需求。
2 改进的LeNet-5卷积神经网络结构
所提出的卷积神经网络结构分为两个卷积采样层(Convpoollayer)、一个完全连接隐藏层(Fully_Hiddenlayer)和一个分类输出层(Classified_output_layer),如图2所示。
2.1 卷积采样层
卷积采样层分别由卷积层和采样层组成。卷积层通过权值共享、特征局部相连接的方法来获取输入图像的特征信息。局部相连意味着每个神经元连接到上一层的输入图像的局部感受野。权值共享是指使用一个特征提取器提取一个人脸的局部特征。采用权值共享与局部连接方法的优点在于可以减少人脸特征数据和网络训练参数,以此来降低计算复杂度。
典型的卷积神经网络结构LeNet-5的卷积层C1使用6个卷积核,卷积层C3使用16个卷积核卷,但经试验验证,(具体结果见本文中实验结果部分)并非卷积核越多,训练精度就越高。在改进的LeNet-5网络结构中第一次卷积使用6个卷积核,第二次卷积使用10个卷积核。卷积核的大小为5×5,它们依次与输入层中相同大小的区域内积再加上一个偏置bx以获得卷积层。采样层是根据图像局部相关对特征图像进行采样。典型的卷积神经网络LeNet-5架构中采样层使用的是平均采样(Average pooling),即取卷积层不重叠的相邻2×2邻域特征值的平均值,加偏置,再经过sigmoid激活函数得到采样层。本文使用的方法是最大采样(Max_pooling),它取卷积层不重叠的相邻2×2领域特征值的最大值,提取关键特征得到采样层。这样做的优点在于可以减少数据处理量、节约计算力,并且最大采样比平均采样更能减小卷积参数误差造成估计均值的偏移,避免了平均采样的模糊化效果。卷积采样过程如图3所示。
2.2 完全连接隐藏层
完全连接隐藏层即为改进的LeNet-5结构的第五层,作用在于更完整的提取人脸特征,增强网络结构的映射能力。使用多层感知器中隐藏层的连接方式,它与S4是全连接,并且过程如图4所示。
从图8中我们可以看出第二次卷积核个数为10个时,训练集精度最高,并且当卷积核过多时,反而会造成训练精度的降低。因为当数据集中训练的特征样本规模和学习训练的参数较少时,则无法满足更多的卷积核的学习要求。
卷積采样特征提取可视化过程如下:获取实验室人脸库样本进行特征提取,第一次卷积平均采样后提取的人脸特征按1:1融合后特征图如图9(a)所示,第一次卷积最大采样后提取的人脸特征按1:1融合后特征图如图9(b)所示。第二次卷积平均采样提取的特征并按1:1融合后特征图如图10(a)所示,第二次卷积最大采样提取的特征并按1:1融合后特征图如图10(b)所示。显然最大采样可更好的避免图像模糊化问题。第一次卷积采样提取纹理、细节特征,第二次卷积采样提取鼻子眼睛嘴巴特征,但第一次卷积采样包含更多特征,也具备提取关键特征能力。
在不同数量人脸数据库下,简化的LeNet-5训练精度均略优于原网络结构的训练精度。实验结果如表1所示。
由表1可知,改进的LeNet-5结构比原结构更有优势,随着数据量的增加,改进的LeNet-5结构的训练精度也随之提高。
在人脸数据库同约为1000张/每人的情况下,训练集与测试集采用交叉验证的方法随机分配。改进的LeNet-5网络结构虽然测试集精度比原网络结构低了1.29%,但是识别速度是原网络结构的7倍有余。同时为了进一步验证本文算法的性能,将其与较为常用的特征脸(EigenFace)算法进行比较。实验结果如表2所示。
从表2可以看出改进的LeNet-5网络结构在嵌入式设备上的训练集精度达到98.80%,测试集精度达到90.64%,有较好的识别效果,且识别速度可以达到50ms,在资源和计算能力有限的嵌入式平台(树莓派)上几乎达到实时识别的效果。与此同时,我们可以看到虽然Eigenface算法在树莓派上的识别速度较快,但是其识别率相对较低,因此并无优势。
为了进一步验证本文改进的卷积神经网络结构LeNet-5的性能,使得实验结果更具说服力,我们再分别选取国外典型的人脸数据库YALE人脸库B[11]和ORL人脸库[12]中任意6位志愿者的人脸图像,并对图像进行镜像及旋转的批量扩展后约2400张图像进行实验。YALE人脸库B的采集严格控制姿态和光照变化,部分人脸图像如图11所示。ORL人脸库是有剑桥大学AT&T实验室创建,图像包含了人物姿态、表情和面部装饰物的变化,部分人脸图像如图12所示。实验结果如表3所示。
从表3可以看出本文所改进的方法在YALE人脸库B上训练精度达89.46%,在ORL人脸库上训练精度达95.28%,较之原方法均有一定的提高。因此本文改进的人脸识别方法在嵌入式设备上取得较好的实验效果,具有较好的通用性。
4 结 论
在LeNet-5网络结构基础上提出了改进的卷积神经网络结构,并在嵌入式平台上实现了具有实时性、识别率较好的人脸识别。该方法可以广泛地应用于各类可靠性高、成本低廉、可移植性强的嵌入式人脸识别应用系统中(如门禁系统、小规模考勤等小型身份识别系统),该方法具有较了的普遍性和广泛的应用前景。
参考文献
[1]王映辉. 人脸识别:原理、方法与技术[M].北京:科学出版社, 2010.
[2]祝秀萍, 吴学毅, 刘文峰. 人脸识别综述与展望[J]. 计算机与信息技术, 2008(4):53-56.
[3]顾思思, 胡丽霞. 基于OpenCV的嵌入式人脸识别门禁系统设计[J]. 电脑与电信, 2015(4):33-35.
[4]郭吉政. 免疫卷积神经网络并行优化及其嵌入式系统应用[D].上海:东华大学, 2015.
[5]刘爽. 嵌入式人脸识别系统的设计与实现[J]. 微电子学与计算机, 2012, 29(3):174-177.
[6]KARPATHY A, TODERICI G, SHETTY S, et al. Large-scale video classification with convolutional neural networks[C]// Computer Vision & Pattern Recognition. 2014:1725-1732.
[7]周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报, 2017(6):1229-1251.
[8]LECUNY L,BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[9]楚天玥. 基于LeNet-5模型和门卷积神经网络的信用评分模型实证研究[D]. 深圳大学, 2017.
[10]MEMBREY P, HOWS D.Learn raspberry Pi with Linux[M]. Paul Manning, 2014.
[11]TRUONG L B, CHOI S, JEONG G M, et al. An improvement in feature feedback using R-LDA with application to Yale database[M]. Convergence and Hybrid Information Technology, 2011.
[12]GUOGuo-dong. Face recognition by support vector machines[J]. Proceedings of IEEE Int. Conf. on Automatic Face & Gesture Recognition, 2000, 15(7):196-201.