基于迁移学习和MTCNN的人脸识别方法
邓健
摘 要:针对传统神经网络人脸识别准确率不高的缺点,提出一种能够提高人脸识别准确率的改进型人脸识别方法。首先将包含人脸的图片输入MTCNN网络,将图片中的人脸部分截取出来,去除图片中的干扰部分。以迁移学习的方式将图片送入Inception-v3网络模型中训练,保留预先训练好的参数,只改变最后一层全连接层的参数,从而获得新的人脸识别模型。最后在LFW人脸数据库上验证该算法的有效性,实验表明,该方法相较传统的CNN网络,有更高的识别准确率,达到了996%的识别准确率。
关键词:人臉识别;CNN;MTCNN;迁移学习
2012年,杰弗里·辛顿小组采用深度学习模型AlexNet在ImageNet图像识别大赛中夺冠,引发了深度学习的研究热潮。近年来,深度学习在人脸识别领域中得到广泛应用,人脸识别的准确率也在逐年提高。但相较其他类型的图像识别,人脸识别因人脸本身差异性较小,识别难度大,所以识别准确率还远没有达到理想的要求。因此,本文提出一种改进型的人脸识别模型,以提高人脸识别准确率。
1 卷积神经网络
CNN(Convolutional Neural Networks),即卷积神经网络。CNN是一种具有代表性的深度学习算法,相较于传统神经网络,卷积神经网络具有深度结构的前馈神经网络,此外还多了一步涉及卷积运算的卷积层网络。它是针对图像识别而被提出的,CNN主要包含三层结构,分别是输入层,隐藏层以及输出层。隐藏层又可以细分为多个网络层。其中卷积神经网络的隐含层又包含通过卷积运算提取图像特征的卷积层、以及通过下采样简化网络的池化层和用于对图片进行分类的全连接层。此外,随着卷积神经网络的不断发展,越来越多更为复杂的网络模型被提出。如类似Inception模块和残差块这样的模块被加入到卷积神经网络的模型,使得图像识别精度越来越高。各层结构分别完成不同任务,最终达到提高识别精度的效果。具体操作则是通过将大量图片不断地输入进CNN网络中进行训练,以获得网络模型的参数,最后获得良好的图片识别效果。CNN网络结构如下图1所示。
2 迁移学习
正常情况下,如果按照上述CNN的思路,自己去设计网络模型,搜集数据,再训练参数的话,通常情况下既费时又费力,而且训练结果往往都不尽如人意。因为随着识别类别的增多,识别难度加大,神经网络的模型设计必须庞大且复杂,大量训练参数对计算机的性能是一个巨大考验;此外数据集的收集对于普通个体来说也同样是一个困难;一个稍复杂的分类任务,所需要的训练时间也是巨大的。
而迁移学习则完美解决了上述问题,既能快速的完成训练任务,又能达到满意的识别准确率。迁移学习是将已训练完成的神经网络模型结合自己重新定义的部分全连接层构成模型迁移网络。通过自己创建的数据集进行训练,对网络中的部分参数进行微调,从而构建新的网络模型,这样便大大减少了样本需求量和网络计算量。
人脸识别属于图像分类,而AlexNet、VGG16以及Inception-v3都是曾在图像分类比赛中取得高名次的网络模型,本文通过实验比较最终选择了由谷歌公司提出的Inception-v3网络模型。
3 MTCNN
通常在CNN网络的训练模型中,输入的人脸图片中通常包含大量且无用的背景部分,这些背景信息干扰图片中有用信息,不利于网络模型的训练,从而降低了人脸识别的准确率。所以有必要找到一种能够快速有效去除图片中无用信息的方法。
MTCNN是中国科学院深圳研究院于2016年提出的一种由三个级联网络组成的神经网络模型,主要用于完成人脸的快速检测。其中三个级联网络分别由P-Net、R-Net以及O-Net组成。P-Net主要用于快速生成候选窗口、R-Net则是用来高效准确地过滤候选窗口、O-Net则是最终生成边界框与人脸关键点。类似于卷积神经网络模型,该模型也使用到了一些常见的图像处理技术,如图像金字塔、边框回归、非最大值抑制等。通过MTCNN网络,可以在图像输入迁移的网络模型之前定位出图片中的人脸部分,当准确的定位出人脸部分后,便可以轻松的截取出图片中的人脸部分,这样便做到了除去图片中无用信息的效果。MTCNN网络的工作原理如图2所示。
4.1 实验环境
实验通过python3.7编程实现,使用的是LFW人脸数据库。这是目前比较常用人脸数据集,该数据集中的人脸图片都来取自于现实,由于即使是同一个人的照片,也会由于姿态、光照、表情、年龄、遮挡等因素影响导致图片差异很大,所以该数据集有较大的识别难度。LFW数据集中共有13233张图片,共5749人。选用该数据集中部分人脸作为本次实验对象。共20组人脸,每组人脸通过镜像处理、旋转变换和增加噪声等手段来增加训练样本,每组500张图片,共1万张图片,图片尺寸统一变换为120*120*3。训练集和测试集按照4∶1的比例进行划分。LFW数据集部分图片如下图3所示。
4.2 实验结果
5 结语
本文通过MTCNN网络将人脸数据集优化,并通过迁移学习的方法训练数据集进而提高网络模型识别准确率,并且大大减少了工作量。通过实验表明,该放方法不仅能提高人脸识别准确率,还具有很强的实际应用价值。此外本文设计数据集优化方法不仅仅适用于本文所提出的方法,同样可用于其他网络模型当中,具有很强的普适性。
参考文献:
[1]薛艳杰,邓燕妮.基于改进卷积神经网络的人脸识别研究[J].科技风,2019(11):106+131.
[2]赵澜涛,林家骏.基于双CNN的多姿态人脸识别方法[J].华东理工大学学报(自然科学版),2019,45(03):466-470.