卷积神经网络的实时人脸识别系统设计与评估

(整期优先)网络出版时间:2020-08-31
/ 2

卷积神经网络的实时人脸识别系统设计与评估

张俊,师广泽,王佳琪

山西省太原理工大学,山西,晋中, 030600

摘要:高速处理器和高分辨率相机的出现引领了针对各种应用的面部识别系统设计的研究。人脸识别系统根据应用程序使用离线数据或实时输入。本文提出了一种基于卷积神经网络(CNN)的实时人脸识别系统的设计与评估。使用标准AT&T数据集对提议的设计进行了初步评估,随后将其扩展到实时系统的设计中。还报告了有关调整CNN参数以评估和增强所提出系统识别准确性的详细信息。还提出了一种系统的方法来调整参数,以增强系统的性能。最大识别精度为98.75%和98%。

关键词:卷积神经网络;深度学习;人脸识别;大数据

  1. 介绍

人脸识别[1]是一种利用人脸识别或验证个人身份的方法。人脸识别已被广泛应用于各种领域,如学校中的自动课堂出勤管理系统,医院中对包括入侵检测生活空间在内的出入限制区域的监控,在公共空间识别名人,以及网络家庭自动化系统对家庭囚犯的识别。所设计的人脸识别系统主要由两个模块组成:特征提取和分类器。在人脸识别系统的设计中,采用了多种特征提取和分类器算法的组合,如梯度直方图(HOG)和支持向量机分类器(SVM),HOG和相关向量机(RVM)分类器,主成分分析(PCA)和SVM。卷积神经网络[2](CNN)是一种深度学习算法,由于它完成了特征提取和分类的联合任务,最常用于图像应用。文献[3]对使用各种算法、数据集的人脸识别及其优缺点进行了详细的文献综述。本文提出了一种基于CNN的实时人脸识别系统的设计方案,并通过改变CNN参数来提高系统的识别精度。论文结构如下。第二节对卷积神经网络进行了概述,接着对实验结果进行了评价,并将结果与实例的结果进行了比较,最后得出了结论。

  1. 卷积神经网络结构的提出

卷积神经网络类似于普通的神经网络,但有一个明确的假设,即输入是图像,允许设计者将某些属性编码到体系结构中。CNN架构由一系列层组成,最简单的架构是[INPUT−CONV−RELU−POOL−FC]。输入层保存图像的原始像素值,CONV层由一个固定大小的内核或过滤器组成,该内核或过滤器以窗口方式滑动,对加窗图像执行卷积运算以提取特征。在输入图像的大小上加上填充,以克服滤波器大小的不均匀映射。RELU代表校正的线性单元,它是一个单元级激活函数,为隐藏单元分配零值。POOL表示池层,它负责下采样和降维,从而降低处理数据所需的计算能力。池层还有一个内核或函数,它像窗口一样滑动到输入上,以提取旋转和位置不变的主要特征。最大池和平均池是两个常用的函数。FC是一个完全连接的层,输入中的每个神经元连接到输出中的每个神经元,该层负责计算特定类的分数,产生N个输出,其中N表示要分类的类/类别的数量。将得分最高的类作为CNN体系结构的预测类。FC层也称为致密层。值得注意的是,CNN体系结构可以根据系统的设计要求和性能进行修改。CNN架构中使用的其他一些层包括DROPOUT和FLATTEN。DROPOUT层是一种防止CNN过度拟合的正则化技术,在训练过程中,每次更新时将输入的一部分(称为DROPOUT)设置为0来丢弃。保留的输入值按比例放大,以便在训练期间它们的总和不变。在FC层之前引入平坦层,将二维特征转化为一维特征。

CNN体系结构因设计者而异,层的顺序可以根据重复的评估进行修改,以获得最大的识别精度。提出的CNN架构是使用一个开源的神经网络库Keras设计的,该库运行在Tensorflow之上。摄像机采集到的实时输入图像首先输入到Viola-Jones算法[4]中进行人脸检测。然后将裁剪后的面部图像转换为灰度,大小调整为120×120像素,并馈送到包括大小为3×3像素的32个滤波器的第一卷积层。可以注意到,这些滤波器的权重被初始化为随机数,并且在一组几个时间段内使用反向传播算法来更新它们,以产生这些滤波器的最终权重。这些最终权重将在稍后的分类阶段使用。具有上述32个滤波器的第一CONV+RELU层的输出,该第一CONV+RELU层依次用大小为3×3像素的32个不同滤波器组馈送到第二CONV+RELU层,以产生输出。第二个CONV+RELU层的输出通过最大池函数(使用4×4像素的窗口大小)输入池层。在评估过程中观察到,最大池比平均池提供了更好的精度,因此在这项工作中采用了最大池。

  1. 实验结果

所提出的人脸识别系统的性能评估最初是使用标准的AT& T数据库进行的,该数据库由来自40个人的10张图像组成,总共有400张图像。来自AT&T数据库的40个个体的样本。在400幅图像中,320幅图像(来自40个人的8幅图像)用于训练,其余80幅图像用于测试。

5f4c72f5b099b_html_f4d19cc2b38466a2.gif
5f4c72f5b099b_html_3812ab17bce874c4.gif
过改变卷积层中滤波器的数目和不同池窗口大小的卷积滤波器的窗口大小来评估所提出系统的性能。该评估的结果以及系统的识别精度如图1所示,x轴表示卷积滤波器的窗口大小,y轴表示卷积层中滤波器的数量。从图1中可以观察到,对于使用2×2和4×4像素的合用窗口,尺寸为3×3像素和32个滤波器的卷积滤波器产生了98.75%的最大识别精度。将所提出工作的性能评估与表1中使用相同数据集进行人脸识别的实例结果进行了比较。我们观察到,所提出的方法和CNN架构可以被认为与实例的工作同等。通过优化卷积滤波器的数目、卷积滤波器的窗口大小和池化来提高识别精度。

5f4c72f5b099b_html_829234abeb4a00e8.gif
5f4c72f5b099b_html_bb79eced14bf9521.gif
a)2×2像素窗口 (b)3×3像素窗口

(c)4×4像素窗口 (d)5×5像素窗口

图1. 不同组合(AT& T数据集)的CNN架构识别精度

表1. AT& T数据集的人脸识别结果比较

实例

方法

识别精度

HOG & RVM

97.00%

PCA & MDC

96.70%

PCA & MDC

95.63%

PCA & KNN

92.00%

ICA & MDC

85.00%

MRF

86.95%

EF

92.87%

Sta

92.60%

CNN

98.30%

CNN

95.00%

在使用标准AT&T数据集对所提出的系统进行了成功的评估和测试之后,通过摄像机对系统进行实时输入,对系统的性能进行了评估。

所提出的实时系统评估考虑了家庭成员。每个人的40个图像被捕获,总计200个图像。为了确定所提出系统的识别精度,在200幅图像中,使用100幅图像(来自5个人的20幅图像)进行训练,剩余的100幅图像用于测试。对实时系统进行了实验,确定了卷积滤波器的最佳数目和卷积层和池层滤波器的窗口大小。对于实时系统,使用32个卷积滤波器(池窗口大小为2×2、3×3和4×4像素)以及卷积滤波器的不同窗口大小,可获得98.00%的最大识别精度。所提出的实时人脸识别系统在现场演示期间可获得输出结果的快照,人物图像作为输入,他们的身份显示在提议系统的左上角。所提出的系统首先检测图像中的面部,并且一旦检测到,它识别该面部并显示身份。

  1. 结论

本文提出了一种基于卷积神经网络的实时人脸识别系统的设计与评价。通过调整CNN的各种参数来评估系统和CNN结构的性能,以提高所设计系统的识别精度。利用AT& T和实时输入,该系统的识别率分别达到98.75%和98.00%。所提出的工作可以很容易地适应各种消费应用,如基于人脸检测的家庭自动化、设备控制、考勤系统、入侵检测等。

参考文献:

[1] 张翠平, 苏光大. 人脸识别技术综述[J]. 中国图象图形学报, 2000(11):7-16.

[2]万士宁. 基于卷积神经网络的人脸识别研究与实现[D]. 2016.

[3]肖冰, 王映辉. 人脸识别研究综述[J]. 计算机应用研究, 2005, 22(008):1-5.

[4]宋艳辉, 王文永, 程晓春. 一个基于Viola—Jones框架的面部识别算法的改进[J]. 东北师大学报:自然科学版, 2005, 037(003):24-27.