基于深度学习的课堂教学考勤系统

(整期优先)网络出版时间:2022-06-07
/ 2

基于深度学习的课堂教学考勤系统

王若楠 高峰 张庆达 李梦洁 薛涛 (通讯作者)

(华北理工 大学 理 学院 唐山 10081 )

摘要 该系统选用YOLOv3算法从静态图像中截取人脸信息,通过进行教室学生抬头率计算,标记课堂教学情况。将人脸检测算法与考勤信息系统技术相结合,标记课堂课堂教学情况,完成了考勤系统的基本功能,相较于传统的考勤方式更加方便快捷,同时又不干扰正常的教学过程,能做到准确检测学生在课堂教学情况,实现智能化考勤操作。本文主要内容包括系统涉及的主要方法、系统总体设计和结果实现几个部分。

关键词 YOLOv3 课堂考勤系统 抬头率


当今大学生群体的出勤次数低是众多高校普遍存在的问题。较为严重的缺勤现象以及课堂学习效率差严重影响学校的教学秩序,同时会促使部分学生荒废学业[1]。为此,设计出一套针对于大学生的课堂考勤系统计学生出勤率以及课堂学习效率尤为重要。

现阶段,应用于考勤系统的技术已日趋成熟。其中,王佳颖[2]等人针对传统高校考勤方式所存在的弊端,采用MCV设计模式,设计实现一种基于人脸识别的高校学生考勤系统;杨旭[3]等人提出两种多尺度特征融合结构:注意力加权融合模块和自底向上融合模块,以此来解决密集场景下人群目标尺度变化大导致识别精度不高的问题。近年来人脸检测相关技术发展迅速,在识别精度等方面取得了骄人成绩,提高了检测精度。

本文根据以上经验,通过教室前置监控摄像头对学生上课状态进行实时拍摄,并对所拍摄的视频数据进行记录和处理,将视频录像分割为静态图片。使用FaceNet卷积神经网络提取人脸特征向量,融合人脸区域监测和人脸关键点检测,使用YOLOv3算法对截取的人脸信息进行检测,根据图片中检测到的人脸数量对课堂教学效率进行判断,以期为高校课堂考勤系统以及课堂教学效率的提升提供更加准确高效的思路。

  1. 实验材料

1.1 数据集获取

本文采用的数据集分为WIDEFACE数据集以及自建数据集两部分。WIDER FACE 数据集包含32203张图片,平均每张图片中有12.2个人脸。自建数据集选取华北理工大学以及其他学校不同角度及背景的课堂教学图片。使用labelImg手动标框并赋标签名,整个数据集包含训练集与测试集两个部分,分别占30%、70%。由于数据集中人脸特征复杂且具有多样性,因此基于此数据集复杂背景下完成的人脸检测具有较强说服力。

1.2 YOLOv3

YOLOv3是以YOLOv1和YOLOv2作为基础的一个基于端到端的检测算法,YOLOv3模型首先使用特征提取网络对输入的图像进行特征提取。引入残差块和以2为步长的卷积核进行下采样。将32、16、8倍三次下采样得到的特征信息通过转移层进行拼接得到3种尺度的特征图,然后将输入图像分别划分成13×13、26×26,52×52个网格。训练时,如果某个对象的中心点落入到某个网格中,就由该单元格负责回归该目标,图像上的每个网格都会预测出3个先验框。

在所有先验框中与目标真实框有最大交并比(629ea0e47f76c_html_259addae42eef7b8.gif )的先验框对应的边界框来负责目标尺寸的调整,629ea0e47f76c_html_259addae42eef7b8.gif 计算公式如下。迭代最小化所有先验框的损失函数值。测试时,对所有的先验框采用非极大抑制算法筛选出置信度得分最大的边界框。

629ea0e47f76c_html_25bd1adc188f7647.gif (1)

在训练中得到最后的检测框会越来越接近,训练过程中 629ea0e47f76c_html_259addae42eef7b8.gif 曲线会由小变大,最后在1附近上下振动。

1.3 YOLOv3参数调整

由于本文选取的YOLOv3是在目标检测中所使用的算法,其网络结构中的参数适用于目标检测,适用于针对多种目标,且目标较大的场景,对于本文所提出的基于教室、课堂等密集而小的背景下的目标检测不适用,因此需要对参数进行优化调整,重新进行训练。

  1. 实验方法

本试验采用的深度学习框架为TensorFlow 1.11.0版本,界面搭建选取Pyqt5。在训练前会对图像的长度和宽度缩放到416像素,对图像进行旋转,镜像等预处理,保证模型应对变化的各种情况。分别训练15、25、40个epoch,设置batch_size为32,设置最大学习率Irmax为10-3和最小学习率Irmin为10-5,迭代步数指迭代的batch数目。在实验中使用Warmup预热学习率的方式,将TRAIN.WARMUP_EPOCHS设置为8,模型收敛速度变快,效果更佳。通过OpenCV中的深度学习模块读取更新后的权重文件,将网络中的参数设置为选择的最优参数,在图像测试阶段无须再对图像进行放缩处理,直接将原图输入已训练好的模型中进行检测。

  1. 系统总体设计

  1. 系统目标

提高课堂考勤的工作效率,更快捷准确且方便的获得学生的考勤状况是基于课堂教学考勤的自动考勤系统的目标。系统通过人脸检测获得学生个数进行计算,获得学生的课堂考勤情况。

  1. 系统工作流程

读取多个处理课堂视屏图像得到的静态图像,通过人脸检测获得该堂课学生总人数,获得课堂教学考勤情况,更新数据库并将结果发送给教师。

  1. 系统开发平台

编程语言选用Python3.6,开发环境为PyCharm,深度学习框架为TensorFlow 1.11.0,操作系统采用Win10。

  1. 系统错误处理与系统安全处理

系统错误处理:本系统在出现错误或进行错误操作后将以对话框的形式显示系统的错误信息。

系统安全处理:系统通过控制登录用户的权限与密码验证来控制提高系统安全。

  1. 系统模块框架

通过GUI模块来使用系统的所有功能。系统图像获取模块,得到课堂视频信息处理后的静态图像,通过数据管理模块来对与其他信息以及出勤信息等进行操作,提供的操作包括但不限于增删查改,系统普通用户无法接触多线程控制模块,其作用为开辟子线程用于数据计算与GUI更新,防止出现因主线程计算量过大而造成的程序假死现象。

  1. 结果实现

用户输入账号密码登录课堂教学考勤系统,进入系统考勤界面如图4-1所示:

629ea0e47f76c_html_e3a0c7436f3e9fde.png

图4-1 考勤系统界面

该界面实现了课程号检索,自动考勤,标注,考勤情况显示,发送考勤结果至邮箱的功能,是考勤系统的主要组成部分。

基于系统的最终目的实现基于课堂教学视频的自动考勤,实现考勤系统的中间步骤在界面中不再进行展示,系统界面只显示功能操纵按钮与结果展示。

系统界面左上部分为课程检索栏,用户通过课程号查询本课程应到的班级,下方表格显示返回的课程的课程id、班级、教师姓名、教师邮箱等相关信息。

界面中上部分为考勤操作相关按钮,单击选择文件夹按钮,选择预处理后保存静态图片的文件夹。按钮下方邮箱显示为本堂课的任课教师的邮箱。用户可以通过勾选状态决定考勤结果是否发送到任课教师的邮箱中。

界面右上角是本次考勤情况显示区,包含了应到人数、实到人数以及提交签到结果和将本次签到结果另存的选项。

界面中央为本次考勤结果的展示区域,用来展示处理完成的静态图像。


参考文献:

[1]赵明,聂飞.大学生课堂缺勤的影响因素及对策管理[J].读天下,2016(12):1-2.

[2]王佳颖,黄章红,马万钧,罗杨,彭依.基于百度AI人脸识别的考勤系统设计与实现[J].电脑编程技巧与维护,2021(04):118-119.

[3]杨旭,黄进,秦泽宇,郑思宇,付国栋.基于多尺度特征融合的人群计数算法[J].计算机系统应用,2022,31(01):226-235.DOI:10.15888/j.cnki.csa.008250.

[4]王彦秋,冯英伟.基于大数据的人脸识别方法[J]. 现代电子技术, 2021,44(07):87-90.