基于Spring Boot和人脸识别的考勤系统的设计和实现
2021-11-11马安琪朱洪军阮奇
马安琪,朱洪军,阮奇
(安徽信息工程学院计算机与软件工程学院,安徽 芜湖 241000)
0 引言
随着科技的蓬勃发展,人体特征分析技术已经作为身份快速识别最新应用点,其中人脸识别系统被广泛运用。传统的校园考勤存在着很多弊端,如替代打卡,效率低下,不易统计,管理和使用维护成本高等。面对这些现状,我们基于人脸识别技术构建了了人脸识别考勤系统。学生课堂出勤(Student Class Check-in,SCC)系统基于教室已安装的摄像头或增补的专业人脸抓拍摄像机,智能抓拍出勤学生的人脸信息,自动形成课堂出勤记录。SCC系统用于解决教师上课点名方式存在的耗时、效率低等问题,可以为学生行为分析、安全响应等提供决策支持。
1 需求分析
1.1 学生用例
如图1所示,学生从统一身份认证平台进入,可以在个人考勤详情中查看人脸考勤结果。
图1 学生用例图
1.2 教师用例
如图2所示,教师从统一身份认证平台进入后,可查看人脸考勤统计结果、人脸考勤状态正常或异常详情、单个学生人脸考勤详情、考勤历史记录、课程考勤统计结果。可以通过AI能力平台进行修改人脸考勤状态、提交优化人脸模型申请的操作。
图2 教师用例图
1.3 管理员用例
如图3所示,管理员具有系统所有功能权限。管理员从身份认证平台进入后,可以查看教师、学生、班级、课程考勤统计结果、和考勤统计图。导出考勤数据,并进行系统参数的设置。
图3 管理员用例图
2 系统的关键技术
2.1 Spring Boot
本系统后台采用Spring boot和Spring Framework框架实现控制器和业务处理。Spring Boot技术致力于构建可用于生产的应用程序。其旨在最大化地简化Spring Framework的预先配置,使构建的应用程序尽快启动和运行[1]。再运用Spring Framework的优点达到缩短项目开发周期,减低项目开发难度,提高项目开发效率,减少项目开发成本的目的[2]。使用Spring Boot功能可以更好地独立运行Spring项目,将程序打包成jar包;使用Spring提供POM文件使Maven配置简化;可以自动配置Spring框架,根据项目极大减少所需配置[3]。
2.2 Mybatis框架
本系统依赖于业务数据层进行数据的管理。业务数据层采用Mybatis框架向服务层提供数据访问接口。MyBatis是集成SQL查询、存储过程调用和高级映射的持久层框架[4]。Mybatis更为灵活,不会影响应用程序或数据库的现有设计,方便管理和优化[5]。实现了实时的数据管理,便于服务层进行查看。使课堂考勤快速便捷,提高了考勤效率。
2.3 MySQL数据库
SCC系统的数据存储使用关系数据库MySQL。基于MySQL数据库系统平台,对学生的基本信息和人脸采集的数据进行收集积累、关联分析。设计构建数据表,建立学生、教室考勤信息数据库。联合控制层、服务层,实现用户管理、数据管理和结果查询等功能。有效提升了人脸识别课堂考勤数据管理工作的信息化和管理水平,也为后续的数据处理和人脸识别工作提供良好基础[6]。
2.4 前端 Vue 框架
前端采用了Vue.js框架,是用于构建用户界面的渐进式Web框架。Vue.js在使用上比较灵活和轻量,利用在模板中提供的指令功能[7],它能够实现视图与数据的双向绑定,使用Axios插件封装的Ajax进行数据交互[8],实现数据持久化。
3 系统总体实现
3.1 总体构架搭建
如图4所示,该系统实现了无感知课堂考勤,考勤数据可视化,对考勤数据进行自动统计和分析,并可对人脸识别模型进行优化。
图4 功能模块
如图5所示,视图层采用Vue.js框架和H5实现前端用户接口的图形化页面;SCC后台采用Spring MVC和Spring Framework框架实现控制器和业务处理;控制器层主要负责前端请求的分发与响应,和智慧校园平台服务层接口的调用;服务层的JavaBean实现SCC业务处理,并依赖业务数据层进行数据的管理;业务数据层采用Mybatis框架向服务层提供数据访问接口,数据存储使用关系数据库MySQL。
图5 开发技术栈
3.2 数据库表及关联涉及
数据库整体表名称及关联名见表1,可分为3个部分:
表1 表名称及联名表
(1)用户部分:用于保存用户的基本信息,包括用户的id,账号,姓名,学院名等信息。由表user构成。
(2)角色部分:用于保存用户角色的id、角色名。如学生、教师、管理员。由表role构成。
(3)考勤和管理部分:用于学生课堂考勤,老师对课堂考勤的管理,管理员对设备和整体考勤结果的管理。该部分与角色表相关联,由表checkin、camera、classroom三表联合组成。
4 系统实现
4.1 登录实现
如图6所示,在登录界面选择用户角色,并登录。
图6 登录界面
4.2 考勤结果查看
如图7所示,登录之后,学生可以查看个人考勤结果。教师可以查看个人及班级整体考勤结果。
图7 个人考勤结果查看
4.3 考勤结果修改
如图8所示,为教师提供修改考勤状态的备用选项,包括缺勤、签到、请假三种可修改选项。
图8 考勤结果修改
4.4 数据导出管理
如图9所示,管理员可以导出学生、教师、班级考勤结果,包括姓名,考勤次数,考勤出勤率,缺勤率等。
图9 数据导出界面
5 结语
本文针对教师上课点方式名耗时、效率低等问题,构建了基于人脸识别技术的课堂考勤系统,具有无感知课堂考勤,考勤数据可视化和对考勤数据进行自动统计和分析的功能,为学生行为分析,安全响应等提供决策支持。但系统尚且存在不足,对于设备要求较高,在无监控摄像头的教室里实行困难。这些不足有待后续改进。