基于人脸识别技术的高校课堂自动考勤管理系统

2020-06-05 08:48巫春玲冯志文钟沈豪荆明
智能建筑与智慧城市 2020年5期
关键词:考勤特征向量人脸

巫春玲,冯志文,钟沈豪,荆明

(1 长安大学 电子与控制工程学院;2 陕西省建筑设计研究院(集团)有限公司)

1 引言

自动考勤系统可以帮助高等教育机构简化考勤流程并提高考勤效率。毫无疑问,考勤管理系统可以消除大量的包括签到和记录在内的人工流程,有助于高校节省时间和金钱[1-3]。通过自动考勤系统,教师可以更准确、更快速地跟踪学生的上课签到状况。

本系统设计针对长安大学渭水校区,该校区教室的特点是种类众多,最大的教室可以容纳将近300 人(比如WH1103的设计座位为280 座)。目前,人脸检测算法在人数密集的场所中效果并不能令人满意,无法从单一图片中检测出教室中所有的人脸。同时,如果图片尺寸越大,识别所消耗的时间也会越久。所以本设计采用学生主动参与签到的方式,该方式需要学生在上课前主动站到考勤摄像机前进行签到,签到成功后可离开。

2 系统设计流程

本系统包含以下几个部分:初始化部分、签到部分、记录部分。

初始化部分内容包括签到信息数据库的创建、学生信息(学号与姓名)的导入、学生人脸特征向量的获取与存储等。系统必须经过初始化后才能正常使用。

下面是系统在签到部分必须提供的功能和服务:

(1)在特定时间内通过面部识别来记录和跟踪学生出勤情况。

(2)允许教师修改学生旷课或迟到。

(3)在屏幕上显示谁未签到以避免错误。

签到流程的说明与设计:在教室门口设置一个签到装置,签到装置只需要一个摄像头,其作用是采集人脸图像。摄像头连接到每个教室自带的电脑主机上,学生可在投影仪上看到自己的签到状态。该系统支持同时多人签到,但是为了提高准确率,建议同时签到人数小于5 人。签到开始时间为上课前25分钟。教师能够在开始上课后10 分钟内看到学生整体的签到状况,并且在该时间内可以对学生的签到状况进行修改。上课前25 分钟内未签到,上课后10 分钟内未被修改为迟到的学生视为缺勤。上课前签到流程图如图1 所示,上课后签到流程图如图2 所示。

图1 上课前签到流程

图2 上课后签到流程

签到流程对应的程序设计与说明:开学前会得到学生的一寸照片,这些照片今后会成为学生校园卡上的头像。系统对这些照片进行特征点提取,并与学号姓名对应,组成人脸识别系统的特征数据库。该数据库包含三个标签:学号、姓名以及人脸特征向量[4-6]。

在签到开始前,将所有学生的标签都初始化为“未签到”。

在进行签到时,系统先获得摄像头采集到的图片,之后用人脸检测模块对采集到的图片进行人脸检测。如果没有检测到人脸,系统会对下一帧图片进行人脸检测,如果检测到人脸,系统会调用人脸识别模块,对检测到的人脸进行特征点提取,获得人脸特征向量。

之后将所获得的人脸特征向量与特征数据库中的人脸特征向量进行欧氏几何距离计算,计算的结果为一个实数,我们知道,完全相同的两张人脸的特征向量距离为0,所以这个实数越小,就说明这两张图片来自同一个人的概率越大。经过测试,如果两个人脸特征向量的欧式距离超过了0.6,即认定这两张人脸不是来自同一个人的准确率为99.38%,该准确率来自一个白人的人脸集,对于亚洲面孔存在一定的偏差,可以做适当的调整来提高准确性。

在本设计中采用的判断方法是,将检测到的人脸特征向量与班级中所有人的人脸特征向量都进行一次欧式几何距离计算,并将得到的结果由小到大排序,如果排序后最小的值小于0.55,则认为这对人脸属于同一个人,即该学生成功签到,将该学生的标签标记为“已签到”,与此同时记录学生签到的时间。流程图如图3(a)图所示。

图3 人脸识别签到流程

这样课前签到的部分就结束了,该部分属于自动化部分,不需要人工参与,其核心是通过人脸检测和人脸识别技术实现自动更改学生签到状态标签。

在实际签到过程中可能会由于各种原因,使得签到失败。即便发生这种情况的概率很小,为了提高签到系统的准确性以及用户体验,系统设立了人工部分,人工部分由老师操作,并且只能在上课后10 分钟内进行。老师可在经过身份认证后修改学生的签到状态,签到标签可修改为“迟到”或者“已签到”。该部分的核心是标签操作。人工部分流程如图3(b)图所示。

人工部分结束后,当节课的签到已经完成,所有标签为“未签到”的学生将会被重新打上“旷课”的标签。之后系统进入记录部分,记录部分的内容是将当节课的签到情况写入数据库。除管理员外任何人不能对数据库进行修改。

3 摄像机选择与部署

本设计采用近距离签到的方式,对摄像头的像素要求不高。又因为摄像头安装在教室内,相对于室外环境对摄像头的防水防尘要求不高,所以选用带有背光补偿功能并且分辨率在100w 像素以上的摄像头。

网络摄像机清晰度按像素区分,较为常见的像素级别有100w 像素(720P)、200w 像素(1080P)、500w 像素等。

图4 背光补偿的作用

本设计选用型号为谷客 HD98 的摄像机,在实际测试中,使用笔记本自带的100w 像素集成摄像头作为替代。

摄像机部署在每个的教室的前门处,位置如图5 所示,通过USB 线与教室中的电脑主机相连。

4 系统设计

(1)数据库与数据存储格式设计与测试

①人脸识别系统特征数据的设立

论文中的人脸识别系统包含三部分,人脸检测、特征提取以及人脸识别[7-8]。在人脸识别部分,系统使用的方法是将检测出的人脸特征向量与数据库中原先存储的人脸特征向量进行欧氏几何距离计算,计算结果最小并且小于0.5 这个阈值时,就认为检测到的人脸存在于数据库中,即签到成功。所以在设计中,每个班级建立一张数据表,班级号作为表名,每次人脸识别只需进行30 次左右的对比,就能确定该人脸是否属于本节课上课学生,数据存储为CSV 格式的文件,CSV 是一种常用的文件格式,能够被excel、文本文档等 读取。

图5 摄像头位置布置

特征数据CSV 文件存储结构如表1 所示:

表1 特征数据CSV 文件存储结构

人脸特征d1 来源于对校园卡上的一寸照片进行特征提取,实际测试中使用的是网上找的人脸图片,图片格式为JPG。

(116)叉齿异萼苔Heteroscyphus lophocoleoides S.Hatt.熊源新等(2006);杨志平(2006)

特征数据CSV 文件的测试如图6 所示,可以看到特征向量的格式是一个包含128 个浮点数的列表:

②签到数据库的建立

图6 一张测试人脸的真实存储数据

如果按照每个学生每周17 节课,一学期上16 周的课来计算,一个学生每学期的签到记录大约有272 次,如果将2 万名学生的签到记录存放在一张数据表中,这张表中的数据量大约有544 万,学生在查询签到记录时对服务器压力太大,所以为了方便签到信息的管理,同时减少服务器在大量学生查询签到记录时的压力。在设计中,依旧遵循每个班级建立一张数据表,以班级号为表名的原则。

签到记录表存储结构如表2 所示:

表2 签到记录表存储结构

(2)图像采集功能设计与测试

图像采集功能是点名系统的基础部分,本系统使用OpenCV 库调用与电脑连接的摄像头[9-10]。程序流程是先打开摄像头,之后进入一个while 循环,一帧一帧的读取图像,读取到图像后对其进行人脸检测、人脸识别与人脸标记,最后再一帧一帧的显示图像,通过延时函数来调节帧率。为了加快人脸检测的速度,将摄像头采集的图像的尺寸重新设置为 640*480。

采集功能测试内容包括:打开摄像头,看能否获得稳定、流程的视频流。测试结果显示,能够出现稳定、流畅的视 频流。

(3)人脸检测模块

采集到图像之后就需要对图片进行人脸检测,提取图片中一个或者多个人脸。这是关键一步,只有检测到人脸才能提取人脸特征,所以该过程的准确性至关重要。设计该人脸识别系统,主要依据以下两个方面来选择合适的人脸检测 算法[11]:

检测率:检测率指的是算法检测出的人脸数量与图片中实际人脸数量的比值。

检测时间:检测时间表示算法检测完一张图片所需的时间,在所选择的硬件环境下能够较快的检测出人脸,在算法确定的情况下,检测时间受到图片尺寸和硬件的影响。图片尺寸越小检测时间越少;硬件条件越好,检测时间越短。

dlib 库中自带了人脸检测器,该人脸检测器使用经典的方向梯度直方图加线性分类器的方案,检测人脸的成功率非常高。人脸检测部分测试内容如下:

测试一:给定一张只有一个正脸的图片,对图片进行人脸检测,观察能否正常检测出所有的人脸。

测试二:给定一张只有一个侧脸的图片,对图片进行人脸检测,观察能否正常检测出所有的人脸。

测试三:给定一张含有多个人脸的图片,对图片进行人脸检测,观察能否正常检测出所有的人脸。

测试四:给定一张含有多个侧脸的图片,对图片进行人脸检测,观察能否正常检测出所有的人脸。

测试三结果如图7 所示,可以看到,对于一张含有多个正脸的图片,算法能够准确检测出其中的正脸。

图7 多人正脸测试结果

测试四结果如图8 所示,可以看到,对于一张含有多个侧脸的图片,算法能够准确检测出其中的侧脸。

图8 多人侧脸测试结果

(4)人脸识别模块

该过程需要用到两个模型,一个是人脸关键点检测模型,另一个是人脸识别模型。人脸关键点检测模型的作用是在检测出的人脸上绘制68 个特征点,这些特征点包含了嘴巴、鼻子、鼻梁、眼睛、眉毛以及脸的边缘轮廓。该步骤的目的是将不同姿态的人脸变换到大致相同的位置,提高下一步的准确率。人脸识别模型的作用是在绘制完68 个特征点的基础上将人脸信息提取成128 维的向量空间,这相当于在给脸部编码。

人脸识别模块测试内容如下:

测试一:打开摄像头,正常检测到多张正脸,观察能否在人脸标识框下显示库中对应的人脸信息。

测试二:打开摄像头,正常检测到多张侧脸,观察能否在人脸标识框下显示库中对应的人脸信息。

测试一结果如图9 所示,可以看到在包含有多个正脸的情况下,算法能够准确显示库中对应的人脸信息。

测试二结果如图10 所示,可以看到在包含有多个侧脸的情况下,算法能够准确显示库中对应的人脸信息。

图9 多张正脸测试结果

图10 多张侧脸测试结果

5 结语

各高等院校及中小学中,原始的点名签到方式为教师通过点名册点名的方式记录出勤率。这种方式费时费力,效率低下。本文提出了一种基于人脸识别的考勤系统设计方案,通过人脸识别技术和自动化技术优化学生考勤流程。人脸识别技术指的是从图像或视频中识别出一个人,现如今广泛应用于不同场所,如学校、银行、机场和办公场所。本文的内容包括人脸识别技术介绍,需求分析与系统设计,系统实现与系统测试三大部分。在分析了大学考勤的实际需求后,把考勤系统拆分为图像获取、人脸检测、人脸识别以及签到记录保存四个功能,并在这基础上设计了存储数据的数据库和一个简单的图形界面,实现了考勤系统的要求。最后,对考勤系统的关键功能进行了测试,测试结果令人满意。

猜你喜欢
考勤特征向量人脸
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
有特点的人脸
一起学画人脸
基于人脸识别技术的考勤应用研究
智能人脸识别考勤系统
一类三阶矩阵特征向量的特殊求法
三国漫——人脸解锁
浅谈用人单位的考勤管理在劳动管理中的重要位置
长得象人脸的十种动物