摘 要
针对传统卷积神经网络模型在静态环境下人脸识别的过拟合问题,AlexNet网络的各隐层 通过应用” Dropout”方法得以解决。但这个网络较复杂,计算量大,训练集通过验证集测试的准 确率提升的太慢,人脸数据的损失值曲线和识别率曲线都存在振荡问题。因此本文结合Cafe深度 学习框架中的AlexNet网络结构进行改进,利用梯度下降法对批量的图像数据进行特征提取器和分 类器的训练。在原网络的基础上,删除一个全连接层,同时放弃使用LRN层,根据VGG网络的 结构,用7X7和5×5的两个小卷积核替代原来的11 x 11的大卷积核,来弥补去掉的全连接层和 LRN层,这样网络参数减小从而加快计算速度,人脸数据的损失值和识别率的振荡程度减小,从 而达到平稳。
人脸识别作为一种生物特征识别技术具有辽阔 的应用E,尤其集中体现在身份认证、安防监控和 人机交互等方面。
常见的人脸识别算法包括基于特征脸(PCA) 的方法⑵、基于线性分析(LDA)的方法同、基于 局部二值模式(LBP )的方法囹、基于神经网络(NN )[5] 的方法等等。其中卷积神经网络(Convolutional Neural Network, CNN )模型中,其超参数通过传统 的梯度下降法和自带的网络模型进行学习。
AlexNet[6] 网络主要突出在图像的分类上;R-CNN ( Regions with CNN)卩]成功获得对目标检测区域的特征提 取。图像的端到端语义分割在全卷积网络(Fully Convolutional Network, FCN )凶上得到了广泛的应 用,提高了传统的语义分割算法的准确性。AlexNet 网络有8层,其中,conv层有5个,FC层有3个, FC8层也称为分类层,参数量大于60 Mo分类层的 输出具备1 000个输出的归一化指数函数回归模型。
本文设计了一种7层卷积神经网络模型结构, 应用于ORL人脸数据库的人脸识别。7层卷积神经 网络采用整流线性单元激活函数(以下称为ReLU ) 和固定学习速率。
卷积神经网络的设计
1.1 AlexNet在人脸识别领域的应用
Alexnet网络利用ReLU激活功能作用于每个卷 积层和完全连接层,并且局部响应归一化层连接在 第一个卷积层和第二个卷积层之后。卷积1层,卷 积2层和卷积5层的输出上均与最大池化层相连接。AlexNet (后文称为原网络)的基本架构如图1所示。
图1 AlexNet结构图
本设计使用ORL人脸数据库的新卷积神经网 络结构模型进行训练;对于训练过程中发生的过拟 合问题,Hinton提出了 “Dropout”方法,即在网络 学习的时候以固定的(概率),通常 设置为0.5,再把输入层或者隐藏层的神经元输出 设置为0,这个神经元没法连续正向传播和误差反 向传播,但在测试时,p乘以输入层或者隐层的神 经元输出作为该层的输出。由于网络中每个输入图 像神经元被随机设置为0,因此需要要求图像中最 基本的特征是由隐藏层神经元提取,采用“Dropout” 解决过拟合问题。
1.2 AlexNet 的改进
本文网络的模型结构如图2所示。
图2本文网络的结构图
(1)用7×7和5×5的两个小卷积核替 代原来的11×11的大卷积核,为了保证原结构 maxpooll (第一最大池化层)的输出不发生变化, Convl-1 (第一卷积层的第一卷积核)、Convl-2 (第 一卷积层的第二卷积核)个数保持不变,并对其进 行补充操作。后面的模型结构图和原网络相同,原 来的FC8层变为FC7层,具体参数如表1所示。
表1 Conv1-1和Conv1-2具体参数
(2 )在激活函数与池化层之间删除LRN层。
(3)本文网络模型减少了 1层(FC7层), 第一层变为两个小卷积模块形式。其中改进层具体 参数变化如表2所示。
表2原网络和本文网络参数对比
1.3 人脸图像的预处理
人脸原图片的尺寸是112 x 92,标准化变为256×256的人脸,就可以随机在标准化后的图片上裁剪一个227×227的图像来训练,并横向的进行翻转、平移等-系列的操作来拓展数据集大小。0RL人脸数据库的样例如图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)转换Imdb格式的数据集。
(5)训练集均值文件。
至此,人脸图像的预处理结束。
网络的训练和测试
本文利用批量随机梯度下降的方式,准确率提 升得更快。对于ORL人脸数据库原网络和本文网络 的网络训练,最大迭代次数均为10 000,批处理图 片大小分别为4个和8个,动量均为0.9,常数因子 均为0.1 (本实验由于最大迭代次数和步长设置相同, 所以此参数可以忽略),初始权值均为0.000 5,步 长均为10 000,初始学习速率均为0.000 1,均为训练1次测试一次,训练1 000次存储一个模型。每 次训练网络,更新的参数都会遍历它的批处理量。更新公式为:
其中:表示更新前的权值,
表示更新后的权值,
表示动量,
表示初始学习速率,L表示 步长,
表示第
批图像
的误差对
偏导的平均值。
实验与结果分析
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原网络和本文网络样本集损失曲线
表3 AlexNet网络0RL人脸数据库的正确识别率(%)
表4 本文网络ORL人脸数据库的正确识别率
结 语
引用本文:赵远东,刘振宇,柯丽等・人脸识别中AlexNet网络设计和改进方法研究[J].通信技术, 2019, 52 (03) : 592-598.
数据科学与编程 » 人脸识别中AlexNet网络设计和改进方法研究