吴祥美
(福州软件职业技术学院 智能产业学院,福州 350299)
随着信息产业的高速发展,教学系统信息化已被广泛应用于各大院校的教学实践,如何在人工智能应用及信息化的基础上,提高课堂的管理效率,减少学校设备投资的成本,构建智能化的课堂管理体系,一直是困扰各高校的重要问题。因此,开展基于人工智能的智能课堂考勤管理系统的研究与探讨,具有重大的价值和现实意义。
李昕昕等[1]利用云端人脸识别技术,通过研究深度学习、人脸识别和数据挖掘等技术,采样和取帧来增强识别准确率,实现自动化考勤;李书钦等[2]研究校园无线上网及信息化技术在高校课堂智能考勤系统上的实践,提高了考勤工作效率;孙玥等[3]设计了一套能快速获取人脸图像信息,运用深度残差网络进行提取定位和人脸识别的自动考勤系统;姚静姝[4]探究深度学习和人脸识别技术在课堂考勤管理中的应用,设计并实现自动化课堂考勤系统;项新建等[5]通过WIFI技术与指纹终端进行数据通信,设计并实现指纹签到的自动化考勤管理系统;李雄等[6]基于B/S架构,结合Keras框架,采用Java语言和MySQL数据,开发实现人脸识别考勤系统;方书雅等[7]基于Mask R-CNN目标检测、MTCNN 人脸检测,FSA-Net头部姿态识别等算法设计了一套无感知课堂考勤系统。基于以上研究,以课堂考勤信息化和智能化为目标,结合SSM、VUEJS等框架技术,设计一套基于深度学习人脸识别技术的高校智能考勤系统,督促学生上课,提高课堂管理效率。
基于深度学习人脸识别技术的智慧课堂考勤系统将人脸识别技术与学校监控设备相结合,利用教室中原有的高清监控摄像头多角度、多时段地进行采集课堂视频,或者上课教师通过手机App平台进行人脸图像采集,分别通过深度卷积神经网络学习提取特征向量,然后通过拼接等方式形成新的组合特征向量,与教务系统中采集的学生人脸库,进行1:N比对。通过特征向量之间的欧式距离计算是否属于同一人脸,若相同,则该学生考勤成功,相应的数据库则记录相关课程的考勤信息,并汇总分析出相应的考勤报表并将考勤数据传送给教务系统。教学管理者可在管理平台实时查看并确认最终缺课学生名单,若存在签到遗漏的,教学管理者可进行调整相应考勤数据。通过智能考勤系统进行人脸识别考勤结果准确率高,识别过程可以做到学生无感知、动态的、多次的,系统可帮助上课教师自动进行考勤管理,从而解决学生逃课、代签、替课等问题的发生。
图1 系统功能设计图
系统功能模块设计如图1所示,考勤系统主要分为前后台部分,后台主要完成与教务系统的数据接口、后台管理、智能考勤分析、人脸识别引擎功能,前端考勤管理主要有学生App和教师App两个部分,包括上传考勤图片、课程、考勤查看、考勤通知、考勤确认、考勤查询等功能。
其中我的课堂提供给教师查看当天的课程安排信息,包括课程名称、所在班级、上课节次、学生清单及其考勤状态等;考勤查询包括查看自动考勤的结果信息和手动提交考勤照片信息功能;自动考勤指系统自动通过智能监控摄像机获取相关的教室监控照片,进行考勤智能分析,生成对应课程的考勤结果;考勤通知包括主动通知和查看考勤数据;考勤确认包括考勤数据调整、考勤数据确认、提交考勤数据、同步考勤数据到教务系统。
智能考勤分析模块基于人脸识别引擎,结合课堂考勤场景,对考勤视频数据进行预处理,同时对脸部图形进行检测、剪裁和人脸预处理,输出课堂上学生的高质量人脸头像。然后系统提取学生的人脸特征,通过人脸匹配技术,将课程班级的里每个学生人脸与采集到的人脸头像集进行1:N匹配,最终得出该课程班级的所有学生的考勤情况。
人脸识别引擎模块基于深度学习人脸识别技术,深度学习是模拟人脑进行神经网络的认知学习,学习速度快,分析图像规律,完善模型,实现对脸部图形进行检测和剪裁,输出人脸头像。人脸预处理是基于检测结果,通过对检测出的人脸图像进行过滤噪声、校正灰度等优化处理、形成高质量的人脸图像,从而更准确地提取人脸特征。然后基于人脸匹配技术,通过计算特征向量之间的欧式距离来判断是否属于同一人脸。
首先,将学校的学生系统及考勤系统的数据进行预处理,得到每次课堂的学生信息(包括学生头像)。接着,系统在课堂的上课时间范围内随机截取监控视频片段,通过深度学习人脸检测提取人脸特征值,并包围剪裁得到本课堂的完整人脸库。并将课堂的每个学生人像同人脸库进行1:N的搜索比对人脸特征,若搜索到小于设定的阈值的人脸,则表示该学生考勤成功;依次完成每个学生的1:N人脸搜索匹配,最终得到每次课堂的学生考勤数据。 由于教室存在未安装摄像头的可能性,且摄像头的成像质量也有存在不足的情况,为了解决个别学生存在全程未露脸或侧脸、遮挡、低头等采集不到位的情况,教师可在移动端的考勤系统上进行查看,再确认是否有遗漏的同学,可以及时通过上传同学的人像数据完成考勤数据的调整。
图2 考勤流程图
软件代码部分主要有系统应用和人脸识别引擎,系统应用是用JAVA编程语言编写,用Mysql数据库存储数据;人脸识别引擎是使用Python编程语言实现,两大模块之间通过API接口进行通信。
系统应用功能分为考勤管理系统、学生App、教师App模块。其中考勤管理系统模块是采用SSM框架,即整合了Spring 、Spring MVC和Mybatis三个框架,其中Spring MVC轻量级框架是用来解耦数据层、展现层和控制层,简化web开发,完成HTTP请求的转发和视图管控;Spring容器框架则基于IOC和AOP实现业务对象生命周期进行管理;Mybatis则基于持久化框架完成数据的映射和存储操作。同时通过SQL JOB方式且按一定的格式准备将现有的教务系统及学生系统的数据同步到考勤后台管理系统,快速完善排课计划、教师、班级、学生及头像信息、课程表等数据库表数据,简化数据采集的工作流程。学生App和教师App接口的实现采用原生应用+VUEJS前端框架+MUI 框架的混合编程方式,这种开发模式只编写一套核心代码,减少重复开发提高效率,同时能保证用户体验和系统性能。其中App的接口主要使用后台系统暴露的Restful API接口,使用 JSON数据格式完成前后端的通讯,数据传输快,性能好。
图3 技术框架图
该模块主要基于深度学习来实现图像预处理、人脸检测、人脸匹配等功能。图像预处理有两个作用:一个是提高编码视频的质量,降低环境、噪声、光照、运动等影响。另一个作用是提高编码效率和有利于码率控制。其次,针对视频每帧图像都进行人脸目标检测,利用更高效的深度学习模型YOLO,YOLO将检测任务当作回归问题处理,分析图像像素得到bounding box坐标、图像的置信度和类概率。通过YOLO,每张图像能迅速分析出图像中的人脸及其位置。然后提取68个关键特征点,基于基准人脸的鼻子,眼睛和嘴唇特征点进行相似变换,在不改变面部重要五官的基础上进行对齐。在得到每张人脸的特征点之后,通过特征点形成矩形,实现人脸的精确定位并裁剪出来,再运用Resnet深度学习算法来获得一个128维的特征向量。最后,人脸匹配实现是通过计算特征向量之间的欧式距离,如果该距离小于设定的阈值,则匹配成功为同一人脸,否则不匹配,为不同的人脸。
图4 人脸识别流程图
教师App可查看教师的个人信息,当日课堂信息,包括课程名称、教室、时间、班级记入学生的考勤数据,允许教师补录学生的出勤信息并提交。同时可从课程信息列表入口进入查询对应课程的历史课堂考勤信息。
图5 教师App的当日课程考勤界面
图6 教师App的教师课程信息界面
图7 教师App的历史考勤数据查询界面
学生App可显示学生的个人信息、考勤信息,具体包括姓名、学号、所在班级、专业、日期、周次、出勤情况等信息,但不能进行新增、编辑操作。
在考勤系统的后台上,教师可查看本人的课程信息、考勤数据、考勤统计等信息;有权限人员可查看相关课程或学生的考勤数据、考勤统计等信息。同时系统管理员可对课程、排课、教师、学生等信息进行新增、删除、修改等管理操作。
图8 考勤数据展示
本文基于深度学习算法,结合人脸检测、识别、匹配技术,结合课程安排信息,实时对课堂上的学生进行人脸扫描识别匹配,真正做到动态识别考勤。基于深度学习人脸识别的智能课堂考勤系统,成本低,识别结果准确率高,识别过程无感知、多次的,高效地解决课堂考勤问题,并为教师的课堂管理提供保障。