唐琳
1.广西大学行健文理学院;2.广西农业职业技术大学
人脸识别技术融合了计算机视觉技术和图像识别技术,在民用领域、教育领域、商业领域、科研领域等都具有重要的使用价值,已经应用于人们生活中的方方面面。人脸识别技术相比于其他生物识别技术,具有无接触性、高效性、识别率高等特点,可在高等院校学生管理中发挥出更加重要的服务作用。本文主要研究基于人脸识别技术的学生课堂考勤管理系统,通过人脸识别对学生进行签到、随机点名,实现课堂考勤功能,完成课堂考勤数据的管理,便于教师方便快捷地掌握学生课堂出勤情况。
目前,在高等院校学生课堂考勤中,采用的方式有:纸质版点名考勤、校园卡刷卡考勤、指纹打卡考勤、手机App 签到考勤等多种方式。虽然上述这些考勤方式都有各自的特点,但是缺点亦很明显。本文提出了基于人脸识别技术的考勤方式,提前将学生的个人信息和人脸信息存入数据库,通过教室的摄像头截取学生的人脸数据信息,再与存储于数据库中的人脸数据信息进行比对,人脸数据信息比对一致则签到(或随机点名)成功,实现课堂考勤。
人脸识别技术是一种生物识别技术,它的实现方式是基于人的脸部特征信息完成身份识别验证。人脸识别技术通过摄像机(包含有人脸的图像或视频流)采集数据,能够自行检测和跟踪图像中的人脸,抓取人脸特征,并将其与存储于数据库中的人脸数据进行比对,从而完成对检测到的人脸分辨与识别。狭义来讲,人脸识别技术是通过人脸识别系统来对人的面部特征识别分析的,实现身份认证和身份查询的一项技术[1]。广义来讲,人脸识别主要通过摄像机采集人脸数据,通过对图像或视频进行判断,检测和确认图像或画面中的面部数据是否存在。假如面部数据存在,即给出图像或画面中人脸的位置、大小数据及脸部的各个器官(眼睛、鼻子等)信息,基于上述获得的人脸数据信息,进而提取出人的特征、身份,同时与数据库中的人脸进行分辨与识别,实现身份认证和身份查询的一项技术。
人脸识别算法是先构建生物特征人脸模型,以此提供后续分析和人脸识别过程的方法。人脸识别算法的执行过程包括三个主要任务:(1)是检测图像、视频流或实时流中的人脸;(2)是计算人脸的数学模型;(3)是将模型与训练集或数据库进行比对,以实现身份识别或身份验证。人脸识别算法有很多种,本文就SSD 算法和FaceNet 算法进行简要阐述和分析[2]。
1.2.1 SSD 算法
SSD 算法(Single Shot MultiBox Detector)是一种基于前馈卷积神经网络、多尺度的目标检测算法。SSD先构建固定大小的预选框集合,得出每一个预选框中的对象各类别的评分,再经过非极大值抑制算法确定最终的目标检测结果。SSD 直接采用卷积神经网络 (CNN)来提取特征,采取了不同尺度的卷积特征层(特征层的尺寸大小可分为:38×38,19×19,10×10,5×5,3×3,1×1)来做检测。SSD 网络结构模型如图1 所示。
图1 SSD 网络结构模型Fig.1 SSD network structure model
在SSD 网络中,VGG16 基础上增加了卷积层来获得更多的特征图用于检测,对于默认框尺寸计算如式(1)所示:
其中:Smin是最低层框的尺度,取值为0.2,Smax是最高层框的尺度,取值为0.9,m是特征图个数,取值为6。
1.2.2 FaceNet 算法
FaceNet 算法基于使用深度卷积神经网络(CNN)、Triple Mining 学习,将每个图像映射到欧式空间(欧几里得嵌入),它利用空间距离和图片相似度的相关性和相似性——同一个人的不同图像在空间距离很小,不同人的图像在空间中有较大的距离。FaceNet 算法最终输出是人脸的128 维的特征向量,故可通过计算出人脸图像的欧氏距离,以此来判断是否属于同一个人脸,实现识别和验证[3]。
FaceNet 的主体网络结构模型完成特征提取的作用,采用一个极深度网络Inception ResNet -v2,由3 个带有残差连接的Inception 模块和1 个Inception v4 模块构成。FaceNet 网络结构模型如图2 所示。
图2 FaceNet 网络结构模型Fig.2 FaceNet network structure model
该网络结构模型的工作总体流程:首先,将一张人脸图像输入到主体网络中,通过深度卷积网络初步提取人脸特征,并将人脸特征映射到128 维的特征空间(欧几里得空间)中,得到对应的128 维特征向量;其次,将得到的特征向量进行L2 标准化(正则化);最后,筛选出经过L2 标准化(正则化)的有效特征向量,采用三元组的损失函数微调得到128 维特征向量。
本文所设计的学生课堂考勤管理系统可包括以下几个功能模块:信息采集模块、人脸识别模块、随机点名模块、数据管理模块,具体如图3 所示。
图3 学生课堂考勤系统的结构框图Fig.3 The structure diagram of students' classroom attendance system
(1)信息采集模块:本模块完成首次使用学生课堂考勤管理系统时学生基本信息(学号、姓名、专业班级、性别等)、人脸信息(人脸图像)的录入,并将学生基本信息和人脸信息分别储存于数据库中和以学生学号命名的文件夹下。
(2)人脸识别模块:本模块利用摄像机采集到学生的人脸图像,并通过人脸识别模型提取人脸图像中的人脸特征,再与存储于数据库中的人脸图像数据进行比对,实现学生身份识别与验证,完成课堂签到。同时,也可以根据实际情况设置考勤时间、登记请假等,用以区分正常签到、迟到等情况。
(3)随机点名模块:本模块主要是为了随机抽查学生早退或随机选人回答问题,并可根据随机抽查或随机选人情况进行积分的增加和扣除,提升学生的课堂听课效率和积极性。
(4)数据管理模块:本模块实现学生个人基本信息的查询、编辑,学生课堂考勤数据的查询、编辑、统计,同时可生成Excel 表格数据进行数据导出。
2.2.1 信息采集模块
此模块通过输入框采集学生的基本信息(学号、姓名、专业班级、性别等),通过摄像机采集学生的人脸图像,并将基本信息和人脸图像分别存储于数据库和学号命名的文件夹。人脸图像采集具体实现的主要代码如下所示:
2.2.2 人脸识别模块
人脸识别模块中最重要的是实现人脸数据训练,其次再完成人脸识别功能。本系统主要的难点在于如何进行人脸特征提取,完成人脸数据训练。学生课堂考勤管理系统用到的人脸训练模型是基于OpenCV 的CAFFESSD 预训练模型,人脸识别时将摄像机采集到的人脸图像传入到上述模型中,截取人脸面部信息后再输入到FaceNet 模型中获得128 维度的面部特征向量,再与数据库中的人脸图像数据进行比对,完成识别与验证。CAFFE-SSD 预训练模型的实现主要代码如下所示:
2.2.3 随机点名模块
该模块通过提供一个功能按钮,用以从数据库中随机抽取一位学生,并将其学号、姓名显示在界面上,完成随机抽查或随机选人。同时,也提供一个文本输入框,便于记录主动举手回答问题的学生情况[4]。
2.2.4 数据管理模块
此模块提供了学生个人基本信息管理功能,可通过文本框输入学号查询指定学生的信息,也可以表格形式展现出整个专业班级学生的所有信息。除此之外,可通过点击菜单项实现学生基本信息的编辑,比如,修改、删除等操作。
综上所述,本文设计了基于人脸识别技术的学生课堂考勤系统,构建了新的考勤方式,实现了学生签到和课堂随机点名,完成了学生课堂考勤和考勤数据管理,便于教师方便快捷地管理和统计学生课堂考勤情况,提升了学生的课堂听课率和积极性。