基于AlexNet 卷积神经网络模型的人脸识别方法与应用

2022-03-03 02:02:26张晨
鄂州大学学报 2022年1期
关键词:人脸识别神经元卷积

张晨

(厦门软件职业技术学院 软件工程系,福建厦门 361023)

人脸识别技术作为当下国内外研究热门,是一种利用图像来匹配人脸特征从而区分个体的生物识别技术。人脸识别的过程主要包括人脸检测定位、归一化、特征提取、人脸识别几个方面[1],已有的相关技术广泛采用区域特征分析算法,并融合计算机图像处理技术及生物统计学原理。人脸识别技术已有几十年的发展历程,逐渐由弱人工智能向强人工智能进行转化,已成为人工智能领域的重要应用。随着深度学习领域尤其是以卷积神经网络(Convolutional Neural Networks,CNN)为代表的相关技术的快速发展,更加推动了人脸识别技术的发展。

CNN 是一种深度学习模型,其本质为前馈神经网络,模型的工作方法和参数通常不需要人为过多干预即可完成特征提取和模式识别,相关模型可通过构建深度神经网络的训练模式,来模拟人类大脑学习过程从而完成无监督学习和有监督学习。CNN 已广泛渗透于规模化的图像数据集的分类与识别领域,其中LeNet、AlexNet、VggNet、ResNet 是最为典型的四种网络模型,其中AlexNet 网络模型具有收敛快、不易过拟合、训练速度快等特点。本文主要对卷积神经网络特点出发,针对人脸识别的过程基于AlexNet 卷积神经网络模型展开应用研究。

1 AlexNet 卷积神经网络模型

1.1 卷积神经网络

CNN 通过多层次网络结构的卷积运算来完成样本图像的深度抽象特征提取工作,模型能够自适应及自我学习,在有限的条件下也能够很好提取目标图像特征并完成分类。CNN 通常由输入层、卷积层、池化层、全连接层及输出层组成,不同的CNN网络,其卷积层与全连接层的数量也不相同。其中,输入层用于接收样本数据并进行一定的预处理,网络把输入的原始数据通过一些简单的非线性模型处理转化为更深层次、更抽象的表达,输出层通常作为分类器完成模式分类。

1)卷积层:CNN 网络中的卷积层通过进行卷积运算完成特征提取和特征映射,其中卷积核用于提取输入图片的不同特征,每个卷积层单元可以被理解为是图像滤波器的集合。n 个卷积核的扫描将得到深度为n 的特征空间,即提取到了n 种类型的特征,卷积公式一般形式为:

其中,yj为卷积层第j 个神经元的输出,f 为使用的激活函数,Mj为输入的特征空间,xi为上一层第i个神经元结点的输出,Wij为该层对应上一层第i 个神经元结点在当前层第j 个神经元结点间卷积核赋值的权重,bj为第j 个神经元对应的偏值置,n 为卷积核的位移量,*为卷积。在卷积神经网络中,卷积核越深则卷积后得到的特征图数目相应更多,同时该卷积层存储的特征空间就更大,网络模型学习效率也越高。但并不是层数越多越好,模型结构越复杂计算量则越大。当输入矩阵大小为n×n、卷积核大小为f×f 时,卷积后输出的卷积维度的大小为:

2)池化层:位于卷积层之间,主要通过完成数据和参数的压缩并降低特征维度,可达到减小模型的计算量和避免过拟合的目的。常用的有最大池化(Max-Pooling)和平均池化(Mean-Pooling),在特定需求下为了保留更多的图像特征纹理,通常采用最大池化来输出目标区域中的最大值:

其中,p 为池化窗口大小,即上一层输出的特征图缩放的倍数。

3)全连接层:通常在卷积神经网络的末尾位置对特征进行重新拟合,将含有类别区分性的部分信息进行整合,减少特征信息的损失[2]。全连接层的每个神经元都和上一层的全部神经元相连接,同时每个神经元对应着一组权值与偏置值。常规的CNN网络在输出层基于softmax 激励函数完成最后分类结果的输出,把一个n 维的神经元输出向量y={y1,y2,y3…,yn} 转换为与之对应的另一个特征向量p={p1,p2,p3…,pn},其中所有向量值累加值为1,可等价于概率,故可以根据概率的大小来进行分类的预测和判别,概率最大时就得到最优分类[3]。

4)激活函数:由于卷积层的卷积计算是一种线性运算,因此需要通过激活函数来增加非线性映射,从而减少参数的相互依赖性,减缓模型的过拟合情况。激活函数可以将数据归一化,避免模型产生线性依赖。常用的激活函数有Sigmoid、ReLU、Tanh 等。其中ReLU 函数具有收敛快、求梯度简单的特点。

1.2 AlexNet 网络模型及算法流程

AlexNet 是经典的CNN 网络,由Krizhevsky[4]等于2012 年提出,是LeNet 的一种延伸,网络引入随机失活层来处理网络中的过拟合,并使用激活函数ReLU 替代Sigmoid 作为激活函数使模型收敛速度得到提升。AlexNet 算法性能较为稳定,是具有层次结构的学习模型,可以通过卷积和采样操作自适应地来完成图像深层特征的提取最后完成分类。AlexNet 模型结构见图1,网络由五个卷积层和三个全连接层共八个层次构成,其中最后一层全连接层完成模式识别分类工作。

图1 AlexNet 网络模型结构示意图

网络模型的相关基本参数见表1,模型根据输入的阵列自适应得出当前情况下行与列参数的值。

表1 AlexNet 模型基本参数

AlexNet 模型默认输入大小为227×227,对于人脸识别过程中经过预处理后得到的黑白二值样本,输入AlexNet 的将是一个227×227 的二维神经元。网络的算法过程如下:

Step1:输入227×227×3 的样本;

Step2 :经过卷积层conv1 的卷积操作生成227×227×d1的特征空间;

Step3 :经过池化层pool1 的池化操作后得到227/2×227/2×d1的特征空间;

Step4:经过卷积层conv2 的卷积操作生成227/2×227/2×d2的特征空间;

Step5:经过池化层pool2 的池化操作后得到227/4×227/4×d2的特征空间;

Step6:经过卷积层conv3 的卷积操作生成227/2×227/4×d3的特征空间;

Step7:经过卷积层conv4 的卷积操作生成227/2×227/4×d4的特征空间;

Step8:经过卷积层conv5 的卷积操作生成227/2×227/4×d5的特征空间;

Step9:经过卷积层pool3 的池化操作生成227/2×227/8×d5的特征空间;

Step10:经数据降维将特征空间转化为m 维特征向量,并经最后一个全连接层(softmax)输出。其中,dn为卷积提取的特征空间的深度。

2 应用实验与结果分析

2.1 数据集选取及图像预处理

实验所需的人脸图像样本选取尺寸适宜且样本数据量较大的LFW 公开人脸数据集,该数据集是由来自全球范围内的部分知名人士在自然场景下不同表情、朝向、光照条件,共5749 个个体的13233 张人脸图像构成,数据集以彩色图像为主,原始尺寸为250×250,每张图片都有其唯一的姓名ID 和序号加以区分。由于数据集的样本均来源于自然场景,尤其是在不同姿态、表情、年龄、光照、遮挡等因素下会使同一个个体对象拍摄出来的图像差别较大,因此数据集的预处理工作尤为重要。实验搭建的环境为An aconda(Python3.8,64bit)、PyCharm(Community2021.1.2),程序主要调取及采用PIL、Numpy、TensorFlow、OpenCV、Dlib 等库,同时利用轻量、高性能的Tornado,编写发布一个简单的web 页面作为前端人机交互窗口。图像的预处理通过OpenCV 中GaussianBlur 函数完成高斯滤波,降低客观环境条件带来的图像噪声;使用cvtColor函数完成图像的灰度化,将彩色RGB 图像到灰度图像进行转换,转化后图像为单通道的灰度图;使用threshold 函数完成图像的二值化,将整个图像处理转化为只有黑与白的视觉效果的图像;使用resize 函数将原始样本归一化为227×227 的尺寸,契合模型输入要求。同时完成所有样本的数据类别标注工作,利用Numpy 库将图片信息和类别标签信息转化为array 矩阵格式。

2.2 图像预处理及卷积模型的训练分析

采用了由五个卷积层、三个全连接层组成的AlexNet 网络模型,池化层采用最大池化,其大小为3×3,激活函数采用的是ReLU,程序调取及采用TensorFlow 库进行模型的训练。为了使模型更具鲁棒性,通过添加随机噪声、水平和垂直翻转、适度旋转或扭曲、亮度与对比度调节等非生成式的方法将每个样本图片随机变换为12 个不同的样本,再整合按照7:3 拆分为训练集和验证集,输入到卷积神经网络中。训练的基本参数设置见表2,其他参数为缺省参数,模型根据输入的阵列自适应得出当前情况下行与列参数的值,训练过程将对参数进行优化微调。

表2 AlexNet 网络模型训练基本参数

训练参数将直接影响到模型的整体性能,尤其是训练次数的设置,次数过少网络仍在学习中,过多则网络易出现过拟合,为了得到最佳的效果根据损失值随训练次数的变化趋势,随着训练次数的增加损失值呈现下降的趋势,模型逐渐收敛,当训练到30 Epoch 后,曲线虽有小幅度波动但整体趋势逐渐接近于0 并更加趋于稳定,网络达到稳定状态,此时可以结束当前训练,见图2。

图2 损失值随训练次数的变化趋势

模型利用利益权值共享方式减少参数数量、提升效率。随着网络进一步的加深,网络提取到的特征将进一步组合及抽象化,卷积网络得到的特征也逐步向训练数据样本的特征靠拢。权值共享和池化操作使卷积提升了网络模型模型的训练效率。将得到的特征向量输入到softmax 分类器中,经过分类器的学习和训练,以完成最后的人脸识别检测。

2.3 实验结果分析

由于模型和实验环境的条件,随机选取预处理后的样本组合成六个测试集进行测试,每个测试集的样本数量为300。测试数据结果由真负类(True Negative,TN)、真正类(True Positive,TP)来表示;识别错误的结果由假正类(False Positive,FP)、假负类(False Negative,FN)表示。在本文中,TP 表示将人脸正类预测为正类数,FN 表示将人脸正类预测为负类数,FP 表示将人脸负类预测为正类数,TN 表示将人脸负类预测为负类数。实验结果将正确率的高低作为主要指标,同时F1-Score 数值越接近于1 则表明分类识别的效果越好。得到综合评价结果见表3:

表3 AlexNet 网络模型测试结果

3 结语

基于AlexNet 卷积神经网络模型对人脸识别的方法及应用展开研究,利用卷积神经网络具有强大的特征学习能力,可以实现对图像特征深层次的描述的特点。使用公开数据集并完成图像预处理后,随后完成模型训练、参数调优,最后利用训练好的模型完成人脸识别检测。实验结果表明在本实验的环境和数据集的基础上AlexNet 卷积神经网络可以较好得完成人脸识别。后续将进一步进行实际生产环境的人脸识别系统的部署研究与实验。

猜你喜欢
人脸识别神经元卷积
人脸识别 等
作文中学版(2022年1期)2022-04-14 08:00:34
《从光子到神经元》书评
自然杂志(2021年6期)2021-12-23 08:24:46
基于3D-Winograd的快速卷积算法设计及FPGA实现
揭开人脸识别的神秘面纱
学生天地(2020年31期)2020-06-01 02:32:06
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
跃动的神经元——波兰Brain Embassy联合办公
现代装饰(2018年5期)2018-05-26 09:09:01
基于傅里叶域卷积表示的目标跟踪算法
基于二次型单神经元PID的MPPT控制
电源技术(2015年5期)2015-08-22 11:18:38
基于类独立核稀疏表示的鲁棒人脸识别
计算机工程(2015年8期)2015-07-03 12:19:07
毫米波导引头预定回路改进单神经元控制