APP下载

基于卷积神经网络的智慧校园人脸识别系统设计与研究

2021-10-24谢玲莉

计算机时代 2021年10期
关键词:卷积神经网络智慧校园人脸识别

谢玲莉

摘要: 为了让学生的学习、生活更加智能化,提高教学管理效率,同时建立一个更加安全的校园环境,采用卷积神经网络实现智慧校园人脸识别。文章对卷积神经网络的卷积层、池化层、全连接层和输出层的原理及实现进行了阐述,训练了olivettifaces人脸数据库小样本数据集。实验结果表明,模型的误差率降低到5%以下。用数据库中注册的人脸图像与摄像头实时获取的人脸图像进行匹配时,效果良好,能满足设计需求。

关键词: 卷积神经网络; 智慧校园; 人脸识别; 图像

中图分类号:TP311          文献标识码:A     文章编号:1006-8228(2021)10-72-03

Design and research of convolutional neural networks based intelligent

campus face recognition system

Xie Lingli

(Longyan Agricultural School, Longyan, Fujian 364000, China)

Absrtact: In order to make students' study and life more intelligent, improve the efficiency of teaching management, and at the same time establish a safer campus environment, convolutional neural networks are used to realize smart campus face recognition. This paper describes the principles and implementation of the convolutional layer, pooling layer, fully connected layer and output layer of the convolutional neural networks. The small sample data set of the olivettifaces face database is trained. The experiment results show that the error rate of the model is reduced to 5% or less. When the face image registered in the database is used to match the face image obtained by the camera in actual time, the effect is good and can meet the design requirements.

Key words: convolutional neural networks; smart campus; face recognition; image

0 引言

為了提高学校的安全管理水平,创建更为安全的学习环境,学校使用智慧校园人脸识别系统,本系统是一种一对一的身份验证。智慧校园人脸识别系统立足于我们学校智能化的视频监控系统、数字化校园平台以及成熟的物联网技术,将学校在校生和教职员工的人脸等信息通过管理平台上传到系统,建立人脸数据库,人员在识别时与人脸库比对,确认身份,该系统能帮助学校对在校学生的日常行动轨迹信息进行有效管理分析,加强在校生的日常行为管制能力,并且可以为事后提供数据,做到异常事件提前预警,便于教师及时掌握本地及在线学生的学习状态数据,并及时对学生的学习进行引导。还可以通过系统对教职员工进行人事考勤管理。经过摄像机探测跟踪人脸,并自动获取含有人脸的图像,进而对探测到的人脸开展面部图像获取、人脸定位、人脸识别,本系统有效助力实现校园场景智能监控,提升校园安全系数。

1 人脸图像采集

人脸识别是基于人脸特征的唯一性进行身份识别的一种方法,学校在新生注册报名登记时,利用PCP人像采集系统4.0,统一进行人脸采集,采集的是静态图像,以JPG格式存储到计算机内,形成人脸图像文件,每张人脸图像大小限制在100K以内,学生按姓名+学号命名,以班级为单位收集,教职员工按工号命名,将这些图像文件生成相对应的编码,以便计算机识别处理,采集学生的人脸照片可以用于学籍档案、学生证和一卡通等,教职员工可用于上班考勤,该软件支持从摄像机直接读取图像,同时支持照片与数据的批量导入导出,方便与第三方系统进行对接。另一种是经过学校大门的临时人员,用摄像机捕捉当前的人脸图像,并将当前获取的人脸图像文件生成面纹编码。

2 软件系统设计

2.1 卷积神经网络简介

本论文使用卷积神经网络实现智慧校园人脸识别,[1]在机器学习中,卷积神经网络是一种深度前馈人工神经网络,人工神经元可以响应周围单元,可以进行大型图像处理,已成功的应用于图像识别。卷积神经网络由于[2]它的局部感知和权值共享结构,使其更接近现实世界的生物神经网络,权值共享结构降低了神经网络的复杂度,这样可以避免进行数据重建时,特征提取与分类过程的复杂度。卷积神经网络的训练是基于python,图像库PIL、矩阵计算Numpy,深度学习库theano。

2.2 数据的预处理

在将学习数据输入卷积神经网络前,对原始图像数据进行预处理,本论文用的训练数据是[3]olivettifaces人脸数据库,是纽约大学组建的一个比较小的人脸数据库,包含40个人的人脸图片,每个人10张人脸样本,组成一张有400张人脸的大图片,整张图片大小是1190*942,每张照片大小是(1190/20)(942/20)= 57*47。训练数据RGB数据范围在[0,255]之间,不需要再进行归一化处理,需对训练图片进行去均值、白化预处理操作,去均值是将各个特征值减数据集RGB通道的均值,使得数据的分布变为均值0,方差为1的数据,先将训练数据导入numpy库,在Python中的代码:import numpy as np; X -= np.mean(400, axis = 0)。白化的目的降低输入的冗余性,减少特征之间的相关性,让训练数据具有相同的分布。CNN 执行的是有监督的训练,需将图片数据统一格式,对训练数据带上标签(labels),每个人的10张人脸样本,设置一个相同的标签,标签的值域需符合激活函数的值,对命名好的400张图片划分为数据集(train_data),验证集(valid_data),训练集(test_data)三个数据集:

# 划分数据集

train_data=numpy.empty((320,2679))

train_label=numpy.empty(320)

valid_data=numpy.empty((40,2679))

valid_label=numpy.empty(40)

test_data=numpy.empty((40,2679))

test_label=numpy.empty(40)

for i in range(40):

……

2.3 卷积

卷积层主要完成图像的特征提取,使用卷积核与输入图像进行卷积运算,卷积核在工作时,将卷积核沿着输入图像(或特征图像)的水平方向和垂直方向以一定的步长(stride)进行滑动,每移动一个步长,会有规律地扫过输入特征,在感受野内对输入图像和filter的对应位置元素相乘再求和,最后加上偏置项,运算结果被放置在与卷积核位置相对应的输出特征图像上,随着滑动的结束,可以得到一张新的特征图。卷积运算是一种线性运算,需要引入非线性函数(即激活函数)来增强网络的性能,保证卷积神经网络的非线性能力,然后经过激励函数计算后送入池化层。Relu激活函数具有收敛快,求梯度简单,对输入的负值输出全为0,对于输入正值原样输出。为了描述卷积计算过程,在卷积过程中,输入图像的每个像素需要进行编号,用xi,j表示图像的第 i行第j列元素;用wm,n表示第m行第n列权重,用wb表示filter的偏置项,用f表示激活项,用ai,j表示Feature Map的第i行第j列元素,计算卷积的公式:

[ai,j=f(m=0m.n=0nwm,nxi+m,j+n,+wb)] ⑴

假设有一个7*7的图像,使用一个3*3的过滤器进行卷积,卷积的步长为2,根据公式⑴,对于输出图左上角元素a0,0 来说,其卷积计算方法为:

a0,0=relu(w0,0x0,0+w0,1x0,1+w0,2x0,2+w1,0x1,0+w1,1x1,1

+w1,2x1,2+w2,0x2,0+w2,1x2,1+w2,2x2,2)

=relu(1*1+1*1+1*1)

=3

依次求出ai,j的值,得到一个3*3的Feature Map,如图1所示。

以上工作重复进行,直至差平方和为0,模型训练完毕,可以交付使用。

2.4 池化

在图像分类任务中,只关心某个特征是否出现,不需要关心它出现的具体位置,而池化在获取图像时,具有平移不变性,正好满足这样的需求。池化层在连续的卷积层中间,主要用于特征降维,提高计算速度,减小过拟合。为了减少网络参数优化结构,最常见的池化操作有平均池化(average pooling)、最大池化(max pooling),实际最大池化用得较多。对于每个2*2的窗口选出最大的数作为输出矩阵的相应元素的值,其操作过程如图2所示。

池化层与卷积层经常成对出现,通过池化操作,特征不变性和特征降维,一定程度上防止过拟合,增强网络对图像的鲁棒性。

2.5 全连接层

全连接层的作用主要就是实现分类[4],全连接层的每一个结点都与上一层的所有结点相连,用来把前面提取到的特征综合起来,全连接层一般会把卷积输出的二维特征图(feature map)转化为一维(N*1)的一个向量,对这个向量做乘法,最终降低其维度。

根据图1,feature map是3×3×3,那么就需要把这个feature map 拉成27×1的列向量,相当于有了27个像素点,这时候,再乘一个权重,这个权重要把27个像素点都包含进去,这个权重的矩阵形式应该是1×27,所以经过一个全连接层后的输出就是1×27×27×1=1×1,假如需要3个1×1的神经元,输出为3X(1×27×27×1)=3×(1×1)。这个3在权重矩阵中代表3行,即每一行与输入相乘,得到一个输出:

2.6 输出

分类器的作用就是将这些通过全连接层的特征按照概率分布,输出属于一类的概率或分类结果。本论文的分类函数使用的是softmax函数,softmax函数的每个输出信号值在0至1之间,且输出值的总和为1,因此,把softmax函数的结果可以看做概率分布,一般而言,神经网络只把输出值最大的神经元所对应的类别作为识别结果。

softmax函数的公式:

[yk=ceajci=1neai] ⑵

这个公式[5]表示假设输出层共有n个神经元,计算第k个神经元的输出。softmax函数的分子是输出层输入信号的指数函数,分母是所有输入信号的指数函数的和,这里的C可以使用任何值,为了防止溢出,一般会使用输入信号中的最大值。根据公式⑵,softmax函数的python 编程如下:

Import numpy as np

Defsoftmax(a):

Exp=np.exp(a-c)

Sum_exp=np.exp(exp)

Y=exp/sum_exp

Return y

A=np.array([3,1,-3])

Y=softmax(a)

Print(y)

Print(y.(sum))

输出为:

[0.87912088  0.11868132    0.0021978]

1.0

3 实验与分析

系统设计好之后,对系统的功能进行初步测试,测试本文方法在智慧校园人脸识别中的应用性能,对olivettifaces人脸数据库中的10人共80张人脸图像作为研究样本进行特征提取,能实现人脸的准确识别,对数据库中注册的人脸与摄像头实时获取的人脸进行匹配,显示有95%的相似度,满足设计需求。

4 结束语

在这人工智能技术时代,生物识别检测技术已经成熟并被用于普通的电子数字设备中,人脸识别实现身份验证,在很多的领域都被使用,该方法易于被师生接受。本文研究了在卷积神经网络下的人脸识别,介绍了卷积层对输入数据进行特征提取,池化层在一定程度上防止过拟合,增强网络对图像的鲁棒性,softmax函数对全连接层的特征进行了分类,输出结果以概率分布,得到非常理想的识别结果,能够实现智慧校园的人脸识别。该系统可推广应用于智慧小区,系统的不足之处是使用小样本数据集建模,随着数据量的增加,该系统还需进一步完善。

参考文献(References):

[1] 刘菁琪.浅析机器学习在气候研究中的应用[J].通讯世界,2018.9:218-219

[2] 王嘉鑫,邹科文,陈义明.基于卷积神经网络的人脸识别[J].电脑知识与技术,2016:187-190

[3] wepon.利用 python PIL.Cpickle读取和保存图像数据库[EB/OL].http://blog.csdn.net/u012162613/article/details/43226127.

[4] 张文涛,陈婵娟,王泽荔.一种多尺度轻量化的人脸识别算法[J].現代计算机《专业版本》,2018.10.

[5] [日]斋藤康毅.深度学习入门基于python的理论与实现[M].人民邮电出版社,2018.

猜你喜欢

卷积神经网络智慧校园人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
基于深度卷积神经网络的物体识别算法
基于B/S结构的学生公寓管理信息系统的设计与实现
“智慧校园”浪潮下大学课堂教学改革与设计
智慧校园关键技术分析与研究
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究
智能云教学系统在计算机专业教学中的运用