吴美香,邓园园,裴枫华,余松森,潘家辉
(华南师范大学 软件学院,广东 南海 528225)
高校课堂是学生学习知识、培养能力、提高个人综合素质的主要场所。然而目前大学生课堂缺勤现象日益严重,严重违背了大学课堂的教学理念。现有的高校学生考勤管理存在着人工管理效率低、信息分散、实时性差、难于统计、利用率低的问题,给高校对学生的日常管理带来困难,期末总评时考勤信息不全,而且学生的安全问题无法保障。基于上述原因,本文设计一种考勤系统来为学校考勤提供便利,本系统以人脸识别技术为基础,采用Android Studio开发工具、OpenCV、Bmob云数据库等技术进行开发设计。
随着社会的不断进步以及各方面对于快速有效的自动身份验证的迫切要求,生物特征识别技术在近几十年中得到了飞速的发展。作为人的一种内在属性,并且具有很强的自身稳定性及个体差异性,生物特征成为了自动身份验证的最理想依据。当前的生物特征识别技术主要包括有:指纹识别、视网膜识别、虹膜识别、步态识别、静脉识别、人脸识别等。与其他识别方法相比,人脸识别由于具有直接、友好、方便的特点,使用者无任何心理障碍,易于为用户所接受,从而得到了广泛的研究与应用[1]。
国内关于人脸自动识别的研究始于二十世纪80年代。国内的研究工作主要是集中在三大类方法的研究:基于几何特征的人脸正面自动识别方法、基于代数特征的人脸正面自动识别方法和基于连接机制的人脸正面自动识别方法。我国人脸识别技术起步有些晚,但随着社会的广泛关注与其商业利用价值越来越高,我国的科学研究人员也逐渐着手于此,目前人脸识别技术的应用市场十分广阔[2]。
本系统主要以人脸识别在课堂考勤中的应用为主。系统的功能介绍如下:打开本系统软件后,系统会输出一个用户登录注册页面,使用此系统的教师需要登录到系统中。登录完毕,系统主要功能呈现:包括信息录入、刷脸考勤、考勤结果、考勤统计以及账号管理。
用户点击信息录入后,创建班级和学生信息之后。上课前拍一张班级合照上传,点击考勤即可识别出合照中的单个人脸以及姓名。点击考勤结果可以查看本次考勤的出席人数和缺勤人数。最后经过多次考勤可以查看考勤的统计情况。系统总功能说明图如图1所示。
图1 系统总功能图Fig.1 General function diagram of the system
系统主要分为注册登录、信息录入、实时考勤、考勤统计、账号管理五个模块。信息录入是录入班级里所有学生的信息,主要是照片的采集;实时考勤是对班级里所有学生进行拍合照考勤;考勤统计是对实时考勤中得到的数据进行汇总,以供查询。功能结构图如图2所示。
图2 功能结构图Fig.2 Functional configuration
人脸识别(Facial Recognition),就是通过视频采集设备获取用户的面部图像,再利用核心的算法对其脸部的五官位置、脸型和角度进行计算分析,通过对图像的灰度化、二值化等预处理进而和自身数据库里已有的范本进行比对,后判断出用户的真实身份,最后显示相应的人脸身份信息。人脸识别的主要过程如图3所示。
图3 人脸识别总流程Fig.3 General process of face recognition
人脸识别模块主要分为五个子模块,如图4所示。
图4 人脸识别分模块图Fig.4 Face recognition module
(1)人脸图像采集模块
通过本地图库或者摄像机或者视频流获取待测试者的图像的过程,将图片显示在系统界面中,提供人脸标记。
(2)人脸图像预处理模块
在获取了人脸图像后,就要进行预处理的工作,使得图像中的人脸特征能够更加明显的显现出来。整个预处理阶段包含了:人脸图像光线增强、灰度化变换、二值化处理、边缘检测、图像尺寸归一化、几何校正等。
(3)人脸检测与定位模块
判断图像是否含有人脸的脸部特征存在,若存在则确定给出人脸所在的位置以及范围,以便随后的特征提取与识别,而不是整张图像,这样可以大幅度减少计算量和等待的时间。
(4)人脸图像特征提取模块
用统计特征如二阶矩、高阶矩,建立人脸空间中的一个新的坐标系。人脸图像在这个坐标系下的投影即为该图像的特征。对于一张待识别的人脸图像,求出该图像在这个坐标系中的坐标也就是求出了这个图像的特征。
(5)人脸图像匹配与识别模块
把从人脸图片中提取的一系列面部特征值进行运算,该坐标系下的坐标相比较,再到特征数据库中进行匹配,然后找到最相似的图像,最后把该图像相对应的人物信息显示出来。
人脸识别技术就是利用计算机分析人脸图像,检测图像的频域空间滑动检测图像块,判别是否是人脸区域,提取有效的特征信息,用来识别人身份的一种技术[4]。人脸识别法主要集中在二维图像方面,二维人脸识别主要利用分布在人脸上从低到高80 个节点或标点,通过测量眼睛、颧骨、嘴巴、下巴等之间的间距来进行身份认证[5]。Principle Component Analysis( PCA),即主成分分析技术[6],是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。
PCA算法步骤如下:
设有m条n维数据。
将原始人脸数据按列组成n行m列矩阵X[n, m]。
(1)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值,使每一维的均值为0。即:
(2)求出协方差:数学上可以用两个字段的协方差表示其相关性,由于已经让每个字段均值为0,则:
(3)协方差矩阵:
其中,这个矩阵对角线上的两个元素分别是两个字段的方差,而其它元素是两个字段的协方差。两者被统一到了一个矩阵上;
(4)求出协方差矩阵的特征值及对应的特征向量;
(5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P;
(6)Y=PXY=PX即为降维到k维后的数据。
通过主成分分析,降低数据空间维数,可以将多元数据特征在低维空间里直观地表示出来[7]。
实验所用的测试机为 Android手机华为荣耀手机,型号是Che-YLOOM,处理器为八核1.2 GHz,Android版本是4.4.2,手机系统版本号是EMUI系统3.0,本次实验进行了三次,第一次测试了12人,第二次测试了25人,第三次测试了35人,实验准确率在75%以上。实验步骤如下:
(1)注册登录模块测试:注册了两个教师账户,然后根据toast返回的信息进行数据库查询,测试是否注册成功。注册成功后,我们利用已经注册过的账户进行登录功能的测试;
(2)信息录入模块测试:测试时创建一个班级,通过本地录入该班12个学生照片以及个人信息,并显示在班级列表中;
(3)实时考勤系统模块测试:在该班级上课前,拍摄该班到场学生的合照,上传到该系统中进行人脸识别,得到缺席人数为3人及缺席名单,合照里的学生只有9名为该班的学生,实时考勤过程见图5,考勤结果见图6;
(4)重复以上步骤,测试25以及35个人的班级,考勤时并从不同的角度拍摄合照。
图5 实时考勤结果Fig.5 Real-time attendance results
(1)在进行不同的角度拍摄合照时,有些学生的脸被遮挡住了,只出现四分之三左右,导致系统检测不出人脸,无法进行人脸识别。解决方法:在信息录入模块,每名学生可以增加录入的照片数,正脸、侧脸不同方位的照片都可以录入进去,用多张照片去训练分类器。
(2)拍摄的考勤照片亮度太低导致人脸识别率低。解决方法:上传照片后先对照片进行亮度检测,设定一个亮度值,如果亮度低于这个值,则要对照片进行亮度处理,再进行人脸识别。
图6 考勤结果Fig.6 Attendance results
本系统基于成熟的人脸识别算法原理进行分析设计,预期借助手机快速完成考勤,解决了课堂考勤难题。经过反复的实验与调试,本系统实现了75%以上的准确率,成功完成移动课堂考勤功能,充分验证了系统总体设计的可行性。针对实际场景的多变性,系统具备了相应的处理机制和保障措施。总的来说,本文对人脸识别迈向实用化及考勤方式创新做出了有意义的探索和尝试。
[1] 宋嘉程. 人脸识别技术的现状和发展[J]. 电子技术与软件工程, 2017, (17): 104.
[2] 吴天昊, 赵健麟, 周剑秋. 基于人脸识别的学生考勤系统[J]. 机电产品开发与创新, 2016, 29(06): 44-46.
[3] Jing Jin, Bin Xu, Xiaoliang Liu, Yuanqing Wang, Liqun Cao,Lei Han, Biye Zhou, Minggao Li. A face detection and location method based on Feature Binding[J]. Signal Processing, 2015,(35): 10-11.
[4] 刘吉安, 江金滚. 基于区域改进LBP和KNN的人脸识别[J].电脑知识与技术, 2016, 12(13): 184-185.
[5] 刘琴. 基于二维图像表示的人脸识别算法研究[J]. 无线互联科技, 2016, (23): 111-112.
[6] 梁琼, 熊建斌, 梁泽溥, 张清华, 孙国玺, 彭志平. 基于PCA人脸识别的智能防盗报警系统的设计与实现[J]. 广东石油化工学院学报, 2014, 24(06): 26-30.
[7] 佟嘉岐, 贺青, 迟宗涛. 基于PCA人脸识别方法的考勤系统的设计[J]. 山东工业技术, 2017, (13): 151-152.
[8] 李宜蓉. 基于OPENCV的计算机视觉技术研究[J]. 电子世界, 2014, (18): 141-142.