人脸识别中AlexNet网络设计和改进方法研究*

2019-05-31 03:19:14赵远东刘振宇陈香敏
通信技术 2019年3期
关键词:识别率人脸识别人脸

赵远东 ,刘振宇 ,柯 丽 ,陈香敏

(1.沈阳工业大学 信息科学与工程学院,辽宁 沈阳 110870;2.沈阳工业大学 电气工程学院,辽宁 沈阳 110870)

0 引 言

人脸识别作为一种生物特征识别技术具有辽阔的应用[1],尤其集中体现在身份认证、安防监控和人机交互等方面。

常见的人脸识别算法包括基于特征脸(PCA)的方法[2]、基于线性分析(LDA)的方法[3]、基于局部二值模式(LBP)的方法[4]、基于神经网络(NN)[5]的方法等等。其中卷积神经网络(Convolutional Neural Network, CNN)模型中,其超参数通过传统的梯度下降法和自带的网络模型进行学习。AlexNet[6]网络主要突出在图像的分类上;R-CNN(Regions with CNN)[7]成功获得对目标检测区域的特征提取。图像的端到端语义分割在全卷积网络(Fully Convolutional Network,FCN)[8]上得到了广泛的应用,提高了传统的语义分割算法的准确性。AlexNet网络有8层,其中,conv层有5个,FC层有3个,FC8层也称为分类层,参数量大于60 M。分类层的输出具备1 000个输出的归一化指数函数回归模型。

本文设计了一种7层卷积神经网络模型结构,应用于ORL人脸数据库的人脸识别。7层卷积神经网络采用整流线性单元激活函数(以下称为ReLU)和固定学习速率。

1 卷积神经网络的设计

1.1 AlexNet在人脸识别领域的应用

Alexnet网络利用ReLU激活功能作用于每个卷积层和完全连接层,并且局部响应归一化层连接在第一个卷积层和第二个卷积层之后。卷积1层,卷积2层和卷积5层的输出上均与最大池化层相连接。AlexNet(后文称为原网络)的基本架构如图1所示。

图1 AlexNet结构图

本设计使用ORL人脸数据库的新卷积神经网络结构模型进行训练;对于训练过程中发生的过拟合问题,Hinton提出了“Dropout”方法,即在网络学习的时候以固定的(概率p(0≤p≤1),通常设置为0.5,再把输入层或者隐藏层的神经元输出设置为0,这个神经元没法连续正向传播和误差反向传播,但在测试时,p乘以输入层或者隐层的神经元输出作为该层的输出。由于网络中每个输入图像神经元被随机设置为0,因此需要要求图像中最基本的特征是由隐藏层神经元提取,采用“Dropout”解决过拟合问题。

1.2 AlexNet的改进

本文网络的模型结构如图2所示。

图2 本文网络的结构图

(1)用 7×7 和 5×5 的两个小卷积核替代原来的11×11的大卷积核,为了保证原结构maxpool1(第一最大池化层)的输出不发生变化,Conv1-1(第一卷积层的第一卷积核)、Conv1-2(第一卷积层的第二卷积核)个数保持不变,并对其进行补充操作。后面的模型结构图和原网络相同,原来的FC8层变为FC7层,具体参数如表1所示。

表 1 Conv1-1 和 Conv1-2 具体参数

(2)在激活函数与池化层之间删除 LRN 层。

(3)本文网络模型减少了1层(FC7层),第一层变为两个小卷积模块形式。其中改进层具体参数变化如表2所示。

表2 原网络和本文网络参数对比

1.3 人脸图像的预处理

人脸原图片的尺寸是112×92,标准化变为256×256的人脸,就可以随机在标准化后的图片上裁剪一个227×227的图像来训练,并横向的进行翻转、平移等一系列的操作来拓展数据集大小。ORL人脸数据库的样例如图3所示。

图3 ORL人脸数据库的样例

对ORL数据库做以下处理:

(1)将数据库中的训练集、验证集、测试集的比例设置为3:1:1,然后再把ORL中图片标准化大小,如图4所示,经cvResize函数将原图112×92标准化 256×256。

图4 人脸标准化过程

(2)将训练集、验证集、测试集的40个人分别分为40类制作标签,放到40个编号0~39的文件夹内。

(3)制作标签txt文件。

(4)转换lmdb格式的数据集。

(5)训练集均值文件。

至此,人脸图像的预处理结束。

2 网络的训练和测试

本文利用批量随机梯度下降的方式,准确率提升得更快。对于ORL人脸数据库原网络和本文网络的网络训练,最大迭代次数均为10 000,批处理图片大小分别为4个和8个,动量均为0.9,常数因子均为0.1(本实验由于最大迭代次数和步长设置相同,所以此参数可以忽略),初始权值均为0.000 5,步长均为10 000,初始学习速率均为0.000 1,均为训练1次测试一次,训练1 000次存储一个模型。每次训练网络,更新的参数都会遍历它的批处理量。更新公式为:

其中:wi表示更新前的权值,wi+1表示更新后的权值,ξ表示动量,η表示初始学习速率,L表示步长,表示第i批图像Di的误差对wi偏导的平均值。

3 实验与结果分析

AlexNet网络和本文网络通过迭代次数找到最适合ORL人脸数据库的网络模型。本设计的测试集的识别率只是通过网络模型测试人脸数据的优劣性,最终的识别率是全部样本的识别率。同时通过比较各个集合的损失值得出网络模型在保留尽可能多的人脸信息的前提下保证其识别率的准确性。

3.1 卷积神经网络的人脸识别

AlexNet网络的迭代次数取为1 000~10 000),本文网络的迭代次数取为(1 000~10 000)用这些模型进行人脸识别的测试来比较它们的损失值和识别率。

图5表示出对应于ORL中的原网络和本文网络的迭代次数的训练集成本函数损失。

图5 原网络和本文网络训练集损失曲线

由图5可以看出本文网络只有在迭代2 000、3 000、3 500、4 000、4 500、4 800、9 400、9 600次的时候训练集损失的值要比改进前的网络高,其余的时候远远低于原网络,最后趋于零达到平稳。

图6显示于ORL中原网络和本文网络的迭代次数的验证集成本函数损失。

图6 原网络和本文网络验证集损失曲线

由图6可以看出验证集本文网络在迭代1 000次、2 200次、9 500次、9 700次的时候损失值比原网络损失值高,其余的时候均比原网络损失值低,最后趋于零达到平稳。

图7显示了对应于ORL中原网络和本文网络的迭代次数的测试集成本函数损失。

图7 原网络和本文网络测试集损失曲线

由图7可以看出本文网络下降的速度比原网络下降的快,在迭代5 000次之后,基本趋于稳定,虽然在迭代8 000~9 500次的时候损失值略高于原网络,但是原网络的损失值一直在上下震荡,最后本文网络的损失值收敛在0.1附近。

图8显示了ORL中原网络和本文网络的迭代次数样本集成本函数损失。

图8 原网络和本文网络样本集损失曲线

图8 和图7的曲线类似,不同的是图8的样本集损失值一直处在原网络的下方,最后样本集的损失值也收敛在0.1附近。

图9显示了ORL人脸数据库中原网络和本文网络迭代次数训练集的准确率。

图9 原网络和本文网络验证集对训练集测试的准确率曲线

由图9可以看出本文网络验证集对训练集的准确率的上升速度比原网络快,并且在迭代6 000次之前都是稳步上升的,而迭代6 000次之后原网络上下强烈震荡,本文网络减小了震荡,在97.5%的时候趋于平稳。

图10显示了ORL人脸数据库原网络和本文网络迭代次数中每次迭代的测试集识别率。

图10 原网络和本文网络测试集识别率曲线

由图10可以看出在迭代6 000次之前,原网络和本文网络对测试集的识别率均稳步上升,其中原网络识别率最高为97.5%,而本文网络识别率最高为98.75%。但在迭代6 000次之后原网络发生强烈震荡,本文网络也略微下降,在迭代8 000~9 200次的时候略低于原网络测试集的识别率,本文网络随后继续上升直到识别率为96.25%的时候趋于稳定。

图11显示了ORL原网络和本文网络迭代次数的样本集识别率。

图11 原网络和本文网络样本集识别率曲线

图11 和图10基本相似,不同的本文网络的样本集识别率几乎一直在原网络样本集识别率之上(除了迭代9 000~10 000次)。其中,原网络对样本集的最高识别率为98.75%,本文网络对样本集的最高识别率为99%。原网络和本文网络对全部样本的识别率分别在98.5%和98.75%达到平稳。

综上所述,本文网络损失曲线和识别率曲线要比原网络损失曲线和识别率曲线震荡减小趋于平稳,达到的实践效果更好。

测量对于相应的人脸数据库训练集和测试集的每个模型的正确识别率,结果如表3、表4所示。

由上述表格的数据得到,原网络最佳的网络模型AlexNet网络的_iter_9000;本文最佳的网络模型本文网络的_iter_6000;本文人脸的识别率是以测试集的识别率为准,本文网络的人脸识别率比原网络高1.25%,在一定程度内能提高识别率的收敛速度。

表3 AlexNet网络ORL人脸数据库的正确识别率 (%)

表4 本文网络ORL人脸数据库的正确识别率 (%)

3.2 AlexNet网络的模型和本文网络的模型与其他算法的比较

传统人脸识别算法的识别率如表5所示。

表5 传统算法ORL人脸数据库的正确识别率(%)

表6 AlexNet网络和本文网络与用于ORL库的其他算法的比较

AlexNet网络结构模型对ORL人脸数据库的识别率是97.5%,样本识别率是98.75%。而本文网络结构模型对ORL人脸数据库的识别率达到98.75%,样本识别率是99%。表6是本文设计的网络与传统算法在ORL人脸数据库识别率的对比。从中可以得出结论,本文所设计的网络对ORL人脸数据库中的识别率提高1.25%,样本识别率提升0.25%。

3.3 实验总结

本文提出了一个7层网络应用于ORL人脸数据库的人脸识别,提高了AlexNet网络中的超参数的批处理量,在迭代次数很小的时候就达到饱和程度,发现训练的收敛程度更快,验证的准确率更高。从训练集、验证集、测试集的损失曲线可以看出本文网络损失更少,并且训练出的模型测试人脸的识别率为98.75%(比原网络提高1.25%),所有样本的识别率可以达到99%(比原网络提高0.25%),人脸识别的准确率相对有所加强。同时对人脸数据的损失值和识别率曲线的振荡问题进行了改进,结果趋于稳定。

4 结 语

随着深度学习的热潮和人工智能的推进,人脸识别的应用已经进入各行各业,而对人脸识别的准确性也将成为一个探究的课题。本文针对AlexNet网络方法的参数训练过程提出了新型网络算法,经试验证明有优良的性能,它逐层的准确度匹配程度也得以逐渐加快,从而达到识别结果精确。

猜你喜欢
识别率人脸识别人脸
人脸识别 等
作文中学版(2022年1期)2022-04-14 08:00:34
有特点的人脸
揭开人脸识别的神秘面纱
学生天地(2020年31期)2020-06-01 02:32:06
基于类图像处理与向量化的大数据脚本攻击智能检测
计算机工程(2020年3期)2020-03-19 12:24:50
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
三国漫——人脸解锁
动漫星空(2018年9期)2018-10-26 01:17:14
提升高速公路MTC二次抓拍车牌识别率方案研究
高速公路机电日常维护中车牌识别率分析系统的应用
基于类独立核稀疏表示的鲁棒人脸识别
计算机工程(2015年8期)2015-07-03 12:19:07
马面部与人脸相似度惊人