基于Eigenface算法的课堂考勤系统研究*

2021-09-24 06:13李元伟
科技与创新 2021年18期
关键词:考勤人脸人脸识别

李元伟,伏 波

(广东轻工职业技术学院,广东 广州510000)

1 前言

目前,中国大多数高校在日常出勤工作中仍主要采用人工考勤。尽管这些考勤可以起到一定的作用,但由于老师并不认识每个学生,学生可能是冒名顶替者,这对高校学风的培养和形成非常不利。因此,设计一款针对高校学生管理的课堂考勤系统很有必要,本文基于人脸识别技术研究高校学生管理的课堂考勤系统,结合人脸图像采集、人脸预处理、人脸识别3大类模块,选择了一套高效便捷的算法来实现课堂考勤系统。

2 考勤系统的需求分析

本文研究的考勤系统采用多种技术手段实现智能考勤,只有在指定的教室范围内,学生才能在手机端进行考勤签到,下课后,需要在系统进行签退,才是正常出勤。该系统准确记录学生上课和下课的时间,并将SMS或微信消息发送给没有请假但没有来上课的学生。系统利用人脸识别功能自动完成学生签到、签退的考勤功能。

2.1 系统功能需求分析

该系统中主要的用户有:教师、学生和系统管理员。当学生首次登录系统时,系统将调用设备的摄像头以收集学生的面部图像信息作为学生的面部数据库。登录系统后,学生可以根据课程查看每个课程的出勤情况。教师登录系统后可以查看到自己所带每门课程中学生整体的考勤情况及学生个人的考勤情况。在考勤管理界面可以选择自己所带课程的考勤统计分析情况。系统管理员具有特殊的权限,可以增加课程,选择上课老师、上课地点、上课时间等。

把用户分为系统管理员、学生、教学人员3大类。下面将从系统管理员的角度,阐述系统功能。人脸考勤系统用例图如图1所示。

图1 人脸考勤系统用例图

2.1.1 学生

学生的主要功能是登录系统并检查每门课程的出勤率。登录系统后,学生可以查看其所有课程的考勤信息,并且可以在个人信息页面上查看个人信息。在每节课开始之前,将提醒学生在指定区域打开面部识别以参与识别,仅当通过面部识别并且位置在指定教室区域内时,系统才能算作正常出勤。

2.1.2 教学人员

教师的主要功能是查看课程的相关信息,查看每个课程的出勤记录,查看学生个人课程的出勤记录,并将学生添加到课程中。老师登录系统后,可以看到自己所有课程的信息,并将学生添加到课程中,根据信息检查课程的出勤率,在考勤管理界面中统计课程的出勤率和每个学生的出勤时间、缺勤天数和请假天数,并可以在教师的个人信息页面上查看个人信息并更改密码。

3 人脸识别考勤系统设计

3.1 系统功能设计

基于我们的需求,人脸识别的课堂考勤系统需要实现如下功能:①登录功能。提供给学生、教师以及管理员登录服务,登录系统后使用系统相关的功能。②修改密码。为所有的用户提供修改密码的功能。③查看个人信息。提供个人详细信息查看的功能。④课程信息管理。为系统管理员提供管理课程信息的功能,以及供教师查看自己的课程信息、为课程添加学生和查看该课程的学生信息。⑤添加课程学生信息。为教师提供添加课程学生信息的功能。⑥人脸图像釆集。主要是提供釆集学生人脸图像信息的功能。⑦考勤管理。主要是为了方便教师查看所带课程的考勤情况、具体有班级每天的出勤率统计、课程的出勤率统计、查询某个学生的出勤率。⑧人脸考勤。学生能够通过手机程序打开人脸识别功能,在指定时间和指定范围进行考勤打卡。

3.2 人脸识别考勤系统的实现流程

面部识别技术是快速、简单、非侵入性的,不需要对方积极的合作。人脸识别的整体流程如图2所示,其中的关键流程是人脸检测与识别的算法。

图2 人脸识别流程图

面部检测和定位:检测图像中是否有面部,将其从背景中分割出来,并获得面部或某些器官在图像上的位置。

特征提取:提取特征点并构建特征向量;从多个样本图像的空间序列训练模型,其参数为特征值;模板匹配方法以相关系数为特征;大多数神经网络方法直接使用归一化,输入变换后的灰度图像,网络输出为识别结果,没有特殊的特征提取过程。

识别:将要识别的图像或特征与面部数据库中的特征匹配,然后将给定的面部图像与数据库中的特定面部图像及其名称相关联。

特征脸算法是人脸识别中的特征脸识别算法。特征脸方法基本上是将脸部识别推向实际可用的第一种方法。特征脸算法的识别过程是将待检测面部与特征面部映射,将待检测面部的空间中的位置与特征面部进行比较,并输出待检测面部的匹配度。Eigenface算法的具体步骤如下。

步骤一:获取包含M张人脸图像的集合S,每张图像可以转换成一个N维的向量,然后把这M个向量放到一个集合S里,公式为:S={T1,T2,T3,…,TM}。

步骤二:得到脸部向量集S后,计算平均图像Ψ。平均图像的计算方法为:。集S的向量被遍历,累加和平均。Ψ实际上是一个N维向量。

步骤三:计算每张图像和平均图像的差值Φ,就是用S集合里的每个元素减去步骤二中的平均值。具体公式为:Φi=Ti-Ψ。

步骤四:找到实际用于描述Φ分布的M个正交单位矢量uk(步骤三中的差异)。uk指的是第k个(k=1,2,3,…,M)向量,计算公式为:

式(1)中,当γk特征值取最小的值时,uk基本就确定了。这M个向量是相互正交而且是单位长度的,所以uk还要满足以下公式:

式(2)使得uk满足单位正交向量的条件。计算式(2)中的uk其实就是计算下面公式的特征向量:

步骤五:识别人脸。上面几个步骤是为了对人脸进行降维以便找到表征人脸的合适向量的。首先我们获取一张新的人脸,可以用特征脸对其进行标示,识别人脸。公式为:

式(4)中,k=1,2,…,M,对于第k个特征脸uk,式(4)可以计算新人脸对应每个特征脸的权重,M个权重可以构成一个代表新人脸的向量,公式为:

那如何对人脸进行识别,公式为:

式(5)(6)中:φ为待区分的人脸;φk为训练集中的某人脸,两者均由特征人脸的权重表示。

式(6)是找到两者之间的欧几里得距离。如果距离小于阈值,则表示训练集中的区分脸和第k个脸是同一个人;如果所有通过的训练集都大于阈值,则可以将它们分为两种情况,即新的人脸或者不是人脸。阈值设置不是固定的,这取决于训练集的信息。在此之前,必须准确找到人脸,即找到可以准确区分人脸的分类器。在这里,可以使用训练好的分类器,分类精度较高。通过Eigenface提取高质量的人脸图像,建立特征人脸模型,然后将训练好的SVM分类器用于模型分类和识别,最后根据识别结果进行使用。多帧投票算法确定人脸身份信息并完成整个识别过程。人脸识别考勤算法流程如图3所示。

图3 人脸识别考勤系统算法流程图

4 结论

本文研究的考勤系统人脸采集模块采用基于python语言和Opencv库的技术架构,主要根据设定值截取并保存动态视频中相应的人脸图片数量。它可以检测到迟到、早退、代课和缺勤的发生,准确记录学生在课堂上的有效时间,并用SMS或微信发送给没有请假但上课时没有来的学生。将这种方法应用到高校的人脸识别考勤系统中,可以快速、全面、自动地记录学生的出勤情况,有效降低教师的工作量,保证学生出勤人数的准确性。

猜你喜欢
考勤人脸人脸识别
国有企业考勤管理的问题和对策探究
人脸识别 等
有特点的人脸
玻璃窗上的人脸
人脸识别的“国标”来了
事业单位人员考勤管理存在的问题及对策
三级甲等医院应用PDCA循环提升考勤管理的创新
荣耀畅玩7C:人脸识别
“领家系”可爱脸VS“高冷系”美人脸
“人脸识别”人工智能测谎仪研发成功