张跃冲
摘要:卷积神经网络CNN和MATLAB的相互结合之下,利用CNN在图像学习方面的优势,结合MATLAB的系统仿真来建立新的人脸识别系统.MATLAB可以实现多种CNN模型并对其系统功能页面进行设计,以此来完成系统所需要的人脸图像的收集和验证。由于普通的CNN模型进行训练的实验结果并不理想,我们在原数据的基础上先用传统的方法先对图像进行特征提取不仅可提高识别度同时也扩充了数据集,然后再用普通的CNN进行训练。通过仿真表明:改进后CNN模型的正确率较高,可以很好的实现该系统所需要的功能。
关键词:人脸识别;卷积神经网络;MATLAB
一、前言
随着科技水平的提高,智能化越来越普及,我国的安全技术防范事业也得到迅速发展。同时互联网的飞速发展使得生物识别技术被引入到安全领域来,利用生物特征进行身份识别也被认为是当前最安全的身份识别方式。在机器视觉识别方面,人脸识别这一方法的简易性使其成为了当今相关方面研究的重點。由于浅层特征的图像化信息缺失,使以其作为基本信息提取的传统人脸识别技术存在很多的缺陷,最为基本的就是会影响人脸识别的识别率,利用深度学习进行对人脸图像进行特征提取将会更加高效。本文研究了深入学习中的卷积神经网络并构建了卷积神经网络人脸识别模型,并对其进行了性能分析。
二、系统方案的确定
目前多数的防护系统通常采用刷卡或指纹识别验证方式。但这两种防护系统系统存在一定的弊端。刷卡式图书馆防护系统卡片丢失后,一定程度上存在被他人利用可能造成财物损失等不安全隐患,使防护系统形同虚设;采用指纹识别验证方式的防护系统,对安全防范有所提高,但该系统存在8%左右的误识率,且识别速度慢,如果需求量过高会影响工作效率。相对来说人脸识别比刷卡识别和指纹识别安全性更好。在人脸识别的前期我们大多需要人工设计的特征来进行识别;这种传统的方法具有一定的局限性,特征少了容易造成拟合,特征多了有需要进行PCA降维,使得人脸识别系统的效率并不高。近几年随着大数据的不断发展,深入学习不断应用到各个领域,人脸识别就是其中之一。深入学习对人脸数据库进行训练可以得到更加准确的模型从而提高了对人脸识别。本文的防护系统的研究则是利用卷积神经网络对人脸进行识别,通过优化方案来提高人脸的识别率。
三、人脸识别防护系统的构建
由于MATLAB软件有着强大的图像处理功能,此系统的训练、仿真都在MATLAB的环境下进行。人脸图像数据的采集和检测,人脸图像的预处理,人脸图像的特征提取,人脸图像的匹配和识别这四个层面组成了最基本的人脸识别系统。本文采用的是利用卷积神经网络构建人脸识别的模型,将采集的图像通过USB传输到MATLAB软件,图像预处理阶段的灰度矫正以及噪声过滤等我们都可以用MATLAB来实现,之后系统将根据利用卷积神经网络训练得到数据对图像进行特征提取,再与人脸数据库进行比对,最终得到最后的结果。
(一)基于卷积神经网络人脸识别模型的构建
一般的卷积神经网络包含卷积层,池化层,全连接层等。其中卷积层的作用是通过卷积核与图像进行卷积操作,来实现对图像的局部特征进行感知,通过权值共享来实现对某一特征的提取,使用不同的卷积核可以提取出不同的特征图。然后通过池化层来减少特征图的维度,经过多次卷积池化之后一般会接入全连接层,全连接层作用是转换和围定输入输出维度。
本文使用的LeNet-5 模型是由Yann LeCun基于 LeNet 的基础上改进而来并被第一个应用到手写数字识别的CNN网络。LeNet-5 模型的 7 层网络结构包含了卷积神经网络基本模块,此模型包含C1、C3、C5三个卷积层,S2、S4 两个池化层和F6、Output两个全连接层。C1 卷积层有156个训练参数;C3 卷积层需要训练的参数有1516个;C5 卷积层网络需要训练 48120个参数。池化层的作用是降低维度,S2池化层采用6个2×2的采样区域;S4 池化层采用16个2×2的采样区域。全连接层 F6 有84个神经元节点,接收C5 层输出的 120 维向量,网络训练参数 10164 个;Output 层有10个神经元节点。
(二)系统的页面设计
系统的页面是通过在MATLAB环境下设计GUI页面实现的。通过GUI来实现显示检测的检测到的人脸图像,根据将数据库中的图像数据与检测的进行对比显示识别的结果。
四、 系统的优化仿真以及实验结果
(一)系统的优化
仿真所用的人脸图像数据集由耶鲁大学计算视觉与控制中心创建,包含了 15 个人,每人 11 张共 165 张图片,数据库里的人脸图像包含了光照、表情和姿态的变化。初次实验得到的结果不理想,我们通过查阅资料所知传统的特征提取方法LBP对光具有不敏感性,因此我们在正常的CNN上结合传统的LBP,使新的“CNN”有更优秀的泛化能力。新的CNN 实现步骤为:首先将数据库人脸局部二值化处理,提取出人脸特征,新得的数据集用于扩充原有数据集;其次将局部二值化的人脸图像放入深度卷积网络中训练,从而进一步提高人脸识别率。
(二)系统仿真及实验结果
在实验仿真时我们将扩充后的数据集按照7:3的比例划分为训练集和测试集。训练采用随机梯度下降SGD(stochastic gradient descent)方式迭代80次,基础学习率为 0.05。训练集的正确率为 0.9655,训练集的正确率为0.9663,从而表明泛化效果比较好。实验结果如下图2所示:
五、总结
本文通过采用卷积神经网络的方式来进行人脸识别特征提取的发现单一的提取方法并不能将数据进行的高效的识别。将传统的特征提取方法LBP与卷积神经网络相结合通过训练结果显示此方案有效。同时将传统的特征提取方法与深入学习的方法相结合也可作为今后研究提高人脸识别识别率的一个思考方向。同时我们利用MATLAB软件对我们的系统进行了在线仿真,得到的效果良好。