基于卷积神经网络的人脸识别研究

2021-01-12 03:29刘广峰
数字通信世界 2021年1期
关键词:池化层人脸识别运算

梁 雁,刘广峰

(江苏科技大学苏州理工学院,江苏 苏州 215600)

随着科技的快速发展,人脸识别功能应用于多个智能领域,这种通过计算机运算快速、精准识别一个人身份的科学依据就是每个人面部表情独特性。早期有科学家指出,人的面部表情主要有高兴、悲伤、愤怒、厌恶、惊奇、恐惧6种。通过计算机技术实现智能人脸识别的应用前景十分广阔,比如,利用智能人脸识别技术可以进行人与机器人之间的“交流”;在医学领域可以应用于人面部瘫痪情况的诊断;在公安系统中可以利用犯罪分子的面部表情对其供词的真实程度进行监控等。

现在用于支撑智能人脸识别技术的科学研究内容主要包括基于几何特征和代数特征的方法。随着科学技术的不断进步,人工智能得到了极为广泛的应用,同时,现阶段下不断精进的机器学习,以及逆向传播(Back Propagation,BP)神经网络和卷积神经网络(Convolutional Neural Network,CNN)模型的应用,使得人面部表情能够获得更加精准、更加灵敏的识别,同时整个人脸识别系统的信息的可靠性和系统的稳定性也获得了极大提升[1]。但由于人的面部表情的多变、复杂,传统模型在进行运算时往往负载过大,拖慢计算的速度且降低计算的精度,这是传统模型存在的一个明显不足。因此本文主要以CNN 算法模型对多种渠道收集到的人面部表情图片进行运算,使用Opencv 捕捉人的面部表情,从而探讨CNN 模型进行人脸识别的准确度与运算速度问题。

1 主要算法

1.1 卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是指一种特别的前馈神经网络(Feedforword Neural Network,FNN),它包含卷积计算且具有深度结构。CNN 的基本结构包括输入层、隐含层和输出层,而其中隐含层又包含卷积层、池化层和全连接层在内[2]。

1.1.1 卷积神经网络的结构

输入层:输入层可以处理多维数据,在输入层中图片的填充形式是矩阵。

卷积层:卷积神经网络的核心即为卷积层,其功能是对输入数据进行特征提取。卷积运算即两个函数之间的运算,步骤为位于卷积层内部的卷积核以固定步长乘以输入矩阵的每一个元素。

池化层:图片经卷积层的特定特征提取后,继续被传递到池化层,在池化层实现图片的特征选择以及信息过滤。池化层能够将特征图中展示的单个点替换为其相邻区域的特征图统计量,保留强度高的部分,滤除强度低的部分,将经卷积运算后的矩阵尺寸进行压缩,以保证全连接层拟合正常,对分类器质量不造成影响。

全连接层:全连接层位于CNN 隐含层的最后,并且其信号传递具有特异性,只将信号传递到其他全连接层。而被传递到全连接层的特征图在这里失去空间拓扑结构,以向量的形式输出,比如,根据本文中人面部的6种表情,全连接层的特征图会以1×6的向量形式输出。

输出层:输出层位于全连接层的下游。常见的三种输出结果:一是在图像分类上,输出层使用逻辑函数或者归一化指数函数对图片分类标签输出;二是在图像语义分割中,直接输出每个像素的分类结果;三是在物体识别上,可输出物体的中心坐标、大小和分类。

1.1.2 运算函数

Softmax 函数:Softmax 函数指归一化指数函数,主要起分类作用。它的功能是将多个神经元的输出映射到(0,1)区间范围内,Softmax 函数将分类转化为概率比较问题。

激活函数:主要作用是引入非线性因素到神经元,

从而使神经网络逼近任意非线性函数的能力获得提升。但上层神经元的输出函数是线性函数,且线性函数只能对线性可分的训练集进行处理时才能达到较好的分类效果,因此需要对线性函数进行非线性变换。Relu,Sigmoid,Tanh 等都是神经网络中常用的激活函数。

1.1.3 卷积神经网络的运作过程

首先,图片以矩阵的形式进入输入层,接着被传递到卷积层,在此处进行卷积运算后实现对图片特征的提取,随后进入池化层,对图片尺寸进行压缩,卷积神经网络重复若干次卷积层和池化层的操作进行运算,随后进入全连接层,对特征图片进行分类,最后进入输出层,转化输出相应类别的值。

1.2 卷积神经网络的训练

1.2.1 前向传播

本研究中,x 为图片的尺寸大小,y 为图片x 对应人面部表情的类别标签。首先,将x 输入到卷积神经网络中,然后经过卷积层和池化层的运算、全连接层的分类进入输出层,输出层是一个6维的向量,每一维表示一种表情的概率。

1.2.2 逆向误差传播

对y 向量值最小化均方误差进行输出,并且对其反向逐层更新权值。本文使用梯度法实现逆向误差传播。

1.3 训练目标

首先对训练集进行预处理,根据输出值与对应类别标签值的误差不断迭代更新,提前设置好每次训练的固定次数,每次完成这个次数后对测试集的数据进行测试,观察准确值,直到观察到的准确值大于0.8且收敛即可停止训练,并保存训练好的模型。

2 建立人脸表情数据集扩库

人面部表情识别系统的对象是人的面部表情,使用Opencv 对收集到的图片进行人面部特征的提取。

由于真实情况下的人面部表情多种多样,为了尽可能地符合实际,需要提取多样化的人面部表情特征,对收集到的表情数据集进行一系列的扩展处理。为了提高人面部表情识别的精确度,需要使用大量多样化训练数据对训练集进行训练,同时可以通过镜像、旋转、噪声干扰等方式进行拓展。对人脸表情数据集进行扩库,使得数据集的多样性和可靠性增加。本研究中,对使用的人面部表情图片进行了镜像和旋转两个操作,旋转角度为5 ~15度。

3 实验结果及分析

本研究使用CK+人面部表情数据库,并使用CNN模型进行训练。Loss 率是指每进行一次更新训练的结果与目标值的误差程度,Ess 指检验的准确度。

Loss 率训练跟踪过程中,共计更新3,000次,前1,200次更新的Loss 率下降速度较快,后1,800次更新的Loss率的变化微小。

Ess 率训练跟踪中,训练集的准确率在1,800 次前后逐渐向1收敛,为了避免过拟合情况的发生,可以将Loss 率和准确率的训练次数调整为1,800次前后。

本研究用K 近邻法和BP 神经网络框架模型与CNN模型作比较。同样对另外两个训练模型分别进行3,000次训练,训练到1,100次时三者开始出现明显差距,CNN的Loss 率下降到0.5,BP 神经网络和K 近邻只下降到约0.8;CNN 的Ess 率上升到0.8,BP 神经网络和K 近邻只上升到0.5;CNN 的准确率在1,500次首先收敛于1,BP 神经网络和K 近邻分别在1700次和1,800次收敛。

由上可知,CNN 训练模型的准确度更高,速度更快,BP 神经网络训练模型次之,K 近邻模型的准确度和速度都相对最差。

4 结论

本研究通过将K 近邻法和BP 神经网络框架模型与CNN 模型作比较,发现CNN 模型在进行人面部表情识别时的准确度最高、速度最快,因此CNN 模型训练在人面部表情识别系统中具有较高的应用价值。

5 结束语

近些年来,随着计算机技术的飞速发展、互联网的全面覆盖,人工智能成为了科技领域中不断深入发展的板块。而在人工智能的发展中,人脸识别技术具有突破性的意义,它应用领域广泛,为人们的日常生活提供了极大的便利。本文基于卷积神经网络对人脸识别进行研究,通过对CNN 模型的运算原理进行分析,并通过将K 近邻法和BP 神经网络框架模型与CNN 模型作比较,实验验证了卷积神经网络在人脸识别系统应用上的优越性,具有较高的应用价值。

猜你喜欢
池化层人脸识别运算
重视运算与推理,解决数列求和题
人脸识别 等
卷积神经网络模型研究分析*
基于卷积神经网络的纸币分类与点钞
有趣的运算
揭开人脸识别的神秘面纱
基于深度学习卷积神经网络的人体行为识别研究
人脸识别技术的基本原理与应用
基于全卷积神经网络的SAR图像目标分类*
人脸识别在高校安全防范中的应用