基于人脸识别的考勤系统设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3期2019年2月No.3February,2019

无线互联科技

Wireless Internet Technology

当今高校对培养学生能力、提高学生知识储备的重视度与日俱增,因此,高校课堂教育的重要性不言而喻。但如今的高校普遍存在缺勤率高、代签严重等问题,传统的考勤方式如指纹签到、打卡签到、点名签到等都存在很多漏洞。指纹签到虽然成本较低,但它的可复制性使这种方法不够可靠;打卡签到需要学生随身携带磁卡,但磁卡容易丢失,且携带不便,补办困难;点名签到更是存在代答道、效率低的问题,这些缺点都给学校的日常考勤带来了困难。因此,设计出一种高效、便捷、易于统计数据的考勤系统就成了当务之急。

近几年,生物特征识别技术获得快速发展。人脸作为一种生物特征,具有很强的自身稳定性和个体差异性,是进行身份验证的最理想依据,主要方法包括步态识别、虹膜识别、皮肤芯片、脸像识别、多模态(即多生物特征融合)识别

技术等[1]

。其中,人脸识别技术因为具有方便、直观、易于普及等优点尤为受到关注与研究。

早在20世纪50年代,认知科学家就已着手对人脸识别展开研究。20世纪60年代,人脸识别工程化应用研究正式开启,我国从20世纪80年代开始了对人脸识别技术的研究,虽然起步较晚,但我国科研人员奋起直追,一些领军人物已经在人脸识别领域建立了属于自己的行业地位。随着当今世界大数据时代的到来和人脸识别技术商业价值的显现,这项技术研究前景十分光明,具有极大的市场需求。1 系统总体设计1.1 系统功能与模块

人脸识别签到系统主要由登录模块、识别模块、签到模块和后台管理模块4个部分组成(见图1),其中各模块作用如下。

(1)登录模块是授课老师或后台管理者通过账号和密码登录,查看考勤信息。

(2)识别模块主要实现的功能是接收一张人脸图片,调用系统应用程序编程接口(Application Programming Interface ,API )对图片进行人脸识别,得到一个唯一确定此图片的标识码。

(3)签到模块接收识别模块中得到的标识码与数据库中的学生信息比对,查找确认学生信息;通过查询当前时间和数据库中的课程安排表信息,获取当前所上课程信息。得到学生和课程信息后,通过逻辑判断该学生这节课是否已经签到,若已签到,忽略;若未签到,将签到信息添加到数据库签到表。该模块会返回签到信息,包括:是否签到成功;学生姓名;学生学号;所签到课程;若签到未成功,原因是什么。

(4)后台管理模块由后台管理员负责,主要包括统计签到信息、录入或删除学生信息等功能。1.2 系统工作流程

本系统总体使用流程介绍如下:打开系统后,首先在后台根据当前时间与地点判断课程与班级人员信息;然后出现人脸识别登录界面,登录成功后通过摄像头捕捉学生面部信息,从摄像头获取照片。照片框动态显示摄像头所拍摄照片,点击“签到”,从摄像头获取照片后锁定图片,对照片进行识别,得到一个照片标识,将标识传给签到模块进行签到,得到签到信息,并在下方显示签到信息[2]。

本系统将人脸识别技术应用在高校课堂考勤中,实现学生签到功能并统计出当前课堂学生的出勤率,主要流程为:教师登录、学生刷脸考勤、考勤识别、考勤统计和考勤结果几个部分,其具体工作流程(见图2)介绍如下。

打开本系统软件后,首先根据当前时间和输入的专业班级判断当前课程和老师,进入人脸识别登录界面;使用本系统的老师需要登录到系统中,登录完成后,打开摄像头进行学生签到工作,通过摄像头拍摄识别学生面部实现学生签到,并在所有学生签到完成后统计出当节课学生出勤率和未出勤学生名单,完成签到[3]。

签到完成后,授课教师可登录系统查看本节课程信息,根据年级、专业、班级、课程、学号等信息进行筛选所查看数据,以表格形式显示,包括学生到课率和缺勤情况。

数据库中信息通过管理员录入学生照片信息。数据库中存储数据为采集的学生照片通过face++的API 后得到的JSON 格式标识码。

作者简介:朱靖娴(1995— ),女,河南郑州人,本科生;研究方向:计算机科学与技术。*通信作者:白文娟(1987— ),女,河南郑州人,工程师,硕士;研究方向:信息与通信工程。

摘 要:文章针对当前常用考勤方式中普遍存在的代签到、考勤数据整合较慢等问题,利用人脸识别技术实现了一种基于

Java 的在线考勤系统。该系统可大大提高考勤效率,满足各类场环境景下的考勤需求,具有识别度高、检测速度快、操作简单的特点,能够为用户提供更多便利帮助。关键词:人脸识别;考勤系统;Java 语言;face++基于人脸识别的考勤系统设计与实现

朱靖娴1,白文娟2*,张砺心1,刘克楠1

(1.郑州大学 国际学院,河南 郑州 450000;2.河南省高速公路联网监控收费通信服务有限公司,河南 郑州 450000)

2 人脸识别的软件设计

2.1 考勤签到模块流程

基于人脸识别实现的考勤签到系统,就是将采集的人脸信息通过识别模块转换为标识码,与数据库中已有的学生图片标识码进行对比,查找出最相近的标识码,输出对应信息,并显示签到成功界面;若不存在相似度高的标识码,则显示签到失败,具体流程如图3

所示。

图3 考勤签到流程

2.2 考勤系统算法实现

(1)该系统采用Java 开发语言。首先,Java 语言的平台可移植性使该系统能够满足不同高校的要求,使应用程序不用修改就可在不同的软硬件平台上运行;其次,Java 语言具有调用灵活的特点,通过简单操作就能实现某功能在不同位置的使用;除此之外,Java 语言的安全性与可靠性保证了学生私人信息安全和运行的稳定。

(2)该系统算法主要分为3部分:与face++ API 的接口实现、课程信息的获取和标识码对比。

①接口实现。

首先将采集到的图片通过Base64算法进行编码,再通过post 方法向face++服务器发送HTTP 请求,获得face++ API 函数的使用权限;然后对采集到的图片进行处理,得到JSON 格式标识码,再从JSON 码中提取所需关键信息,即标识码、耗时和错误信息;最后将得到的标识码传给下一模

块,完成对数据库中学生的查找。

②课程信息获取。

在数据库中设置一个专用模块,用于存放某高校各专业本学期的课程表。通过计算具体日期和利用时间获取函数及当前准确时间,得到所在周数和第几节课信息,查找该专业本节课所上科目,与数据库中对应的上课学生信息进行对比,完成签到。

③标识码对比。

将从JSON 格式标识码中提取出的关键信息与数据库中存储的该专业学生标识码信息进行一一对比,若存在相似度最高的学生说明该学生存在,在显示界面显示该学生信息与签到成功界面,否则显示签到失败界面。

(3)数据库设计:该系统采用MySQL 数据库进行设计,数据库中包括学生信息表、教师信息表、课程表、签到表等信息,表格之间通过外码进行联系。在数据库交互方面,本系统采用封装操作,将与数据库相关的操作封装进函数,每个表都是一个数据表类的子表,封装了数据库连接及增删查改功能。

3 人脸识别考勤系统的设计与实现3.1 测试步骤

(1)登录模块:管理员登录系统,查看系统能否正常运行,并协助后面签到工作。

(2)识别模块:抽取已录入信息学生样本进行测试,在摄像头捕获学生面部并进行识别后,对比显示出的信息和数据库中已录入的信息是否一致,并统计正确率。

(3)签到模块:在完成识别后,查看数据库当前课程签到表中添加的学生信息和抽取的学生样本从签到人数和签到信息两个方面判断是否一致,并统计正确率。

(4)重复以上步骤,将样本人数不断增多至班级人数,统计在更大输入

下系统的可靠性。

图1 系统功能模块

图2 系统功能流程

相关文档
最新文档