随着社会的发展和教育改革的不断推进, 我国的教育事业取得了巨大的进步, 但是在教学管理过程中仍然存在明显的不足[1, 2]. 现有的教学评价方法主要集中在课程考核结果分析方面, 即通过学生的考试成绩来反映学习和教学效果, 而对教学过程的监控和反馈较少. 课堂教学作为教学过程的主要手段, 如何有效的记录学生的学习行为、学习热情和学习状态对于教师评估教学效果和提高教学方法异常重要. 近年来, 随着计算机技术和人工智能的快速发展, 基于视觉传感器的人脸识别和人体行为识别应用日益广泛[3-5]. 如何将视觉识别技术应用于课堂管理中, 对于实现自动化、智能化和精准化的教学过程评价具有重要的意义[6, 7].
目前, 已经出现了一些应用于课堂教学过程管理的系统, 主要集中在学生的课堂行为识别上, 即通过人脸识别和人体行为识别来反映学生的学习专注度和课堂教学效果. 国内方面, 王竑喜提出了基于图像采集和处理的学生课堂行为识别方法, 研究了学生学习专注度与课堂行为之间的关系[8]. 廖鹏等人设计了基于深度学习的课堂异常行为识别系统, 通过VGG模型, 对课堂上学生玩手机、睡觉、说话等注意力不集中行为进行了识别, 得到了较高的检测精度[9]. 党冬利构建了基于机器学习的课堂行为识别模型, 对课堂上学生的举手、站立和听讲3种动作进行了识别, 得到了较高的识别精度[10]. 何秀玲等人从人体骨架数据中提取特征向量, 通过深度学习算法进行课堂行为识别, 得到了97%的识别精度[11]. 国外方面, Wang等人提出了一种基于卷积神经网络的人体动作识别方法, 该方法通过生成的深度运动映射图提取识别特征数据, 输入CNN识别模型进行动作识别, 识别精度达到了85%[12]. Shi等人提出了基于L2EMG特征融合的学生课堂动作识别方法, 对课堂上7类常见动作进行了识别, 得到了82%的识别精度[13]. 综上所述, 首先, 现有的课堂管理系统主要以课堂行为识别为目标, 没有将课堂考勤、教师教学管理以及学生自主学习管理融入其中, 功能比较单一. 其次, 现有的课堂行为识别大多采用RGB传感器进行图像采集, 行为特征提取困难, 动作识别范围较窄, 识别精度不高. 因此现有的课堂管理系统满足不了现代教学管理智能化、自动化、精确化和集成化的需求. 本文选用Kinect V2深度摄像头作为监控设备, 采用LabVIEW虚拟仪器作为软件开发平台, 设计了一种集课堂考勤、课堂行为识别和管理、自主学习管理于一体的智能课堂管理系统.
1 系统结构和功能组成 1.1 系统结构组成系统结构如图1所示, 课堂智能管理系统主要由硬件部分和软件部分组成. 硬件部分包括深度视觉传感器Kinect V2、计算机、移动设备和USB电缆, 其中, Kinect V2用于实时采集人体彩色和深度图像, 计算机用于安装系统所需的各种软件, 移动设备用于学生课堂考勤和课外访问系统数据库进行自主学习, USB通讯电缆用于Kinect V2和计算机的连接. 软件部分主要包括Kinect developer toolkit、LabVIEW、Matlab和MySQL. 其中, Kinect developer toolkit作为Kinect V2传感器开发工具包, 用于完成人脸跟踪和人体骨架提取. LabVIEW作为系统软件开发平台, 用于完成系统的各种功能开发. Matlab主要用于完成机器学习算法的编制, 从而实现人脸识别和学生课堂行为识别. MySQL作为数据库开发软件, 用于完成系统所需各种数据的管理. MyEclipse用于实现移动设备和系统数据库的连接.
|
图 1 系统结构组成 |
1.2 系统功能组成
系统功能如图2所示, 主要由课堂考勤模块、课堂行为识别和管理模块和自主学习管理模块3部分组成. 课堂考勤模块包括人脸识别签到功能和移动设备定位功能, 其中, 人脸识别签到功能可以防止学生找人替代签到, 移动设备定位功能可以防止学生签到以后中途离场. 课堂行为识别和管理模块包括课堂行为识别功能和课堂过程分析功能, 其中课堂行为识别功能通过识别举手、起立、低头、趴桌、听讲等课堂动作来监控和记录学生的学习状态, 课堂过程分析功能通过对记录的学习状态数据进行分析, 来评价课堂教学质量和学习效果. 自主学习模块包括学习资料上传功能、课后复习预习功能和学生作业管理功能3部分, 其中, 学习资料上传功能用于教师将课件、视频和习题等资料上传到数据库, 课外复习预习功能用于课外时间学生根据自身需求自主选择所需的学习资料, 学生作业管理功能用于学生课后作业的提交和批改.
|
图 2 系统功能组成 |
2 数据采集程序设计
在电脑上安装Kinect SDK和Kinect driver后, LabVIEW即可通过调用DLL文件的方式调用Kinect V2摄像头采集到的各种图像信息. 图3为数据采集程序框图, 可以获取人体25个骨架节点以及3个头部转角数据. 初始化.vi 为初始化函数, 用于初始化外部DLL接口, 调用Kinect developer toolkit中的图像数据, 并返回一个引用句柄. 配置.vi 为采样配置函数, 用于设置图像类型、分辨率、帧率、平滑类型等. 坐标初始化.vi函数用于建立骨架显示的三维坐标系. 数据读取.vi用于读取二维彩色图像和三维深度图像数据. 骨架重构.vi为渲染输出函数, 用于更新骨架节点三维显示. 设备关闭.vi用于关闭Kinect V2的外部DLL调用接口.
3 系统功能设计 3.1 课堂考勤课堂考勤可以有效提高学生的到课率, 帮助班级形成良好的学习氛围, 增强学生的组织性和纪律性. 现有的考勤措施大多采用教师点名的方式进行, 这样不仅会浪费大量的教学时间, 而且学生可以通过人员替代或中途离场的方法蒙混过关. 本文采用人脸识别签到[14, 15]和移动设备定位相结合的方式来实现课堂考勤, 可以有效解决上述问题.
|
图 3 图像采集程序框图 |
3.1.1 人脸识别签到
人脸识别签到流程如图4所示, Kinect SDK中提供了用于人脸跟踪的功能模块(face tracking), 该模块通过AAM算法可以实现人脸实时跟踪并提取121个脸部特征点. 本文选取其中的10个面部特征点如表1所示, 并将10个点的最大外接矩形用来分割图像中的人脸部分如图5所示, 然后采用局部二值式(LBP)方法提取面部局部特征向量, 最后输入最近邻算法模型进行身份识别. LBP算子提取面部特征程序和直方图最近邻算法识别通过Matlab软件编程完成, LabVIEW提供了专门用于和Matlab通讯的Matlab script节点, 通过该节点可以很灵活的在LabVIEW中调用Matlab程序.
在不同的表情, 光照和角度下, 摄像头采集到的人脸图像变化较大, 若直接使用线性方法对原始图像进行特征提取, 则识别精度和稳定性会大大降低. 由于脸部局部特征受外部条件的影响较小, 为此本文选取等价模式LBP算子提取面部识别特征, 选取基于直方图的最近邻分类算法进行身份识别. 由于图像中信息的分布不均匀, 因此本文选取加权卡方统计方法对直方图进行度量, 这样可以有效解决图像信息不均匀造成的影响, 提高识别精度. 算法流程如下:
(1) 将检测窗口划分为16×16的小区域.
(2)对于任一小区域中的像素, 将相邻的8个像素的灰度值与其进行比较, 若周围像素值大于中心像素值, 则该像素点的位置被标记为1, 否则为0. 这样, 3×3邻域内的8个点经比较可产生8位二进制数, 即得到该窗口中心像素点的LBP值.
|
图 4 人脸识别签到流程图 |
| 表 1 用于人脸分割的10个面部特征点标号和名称 |
|
图 5 脸部特征点分布和人脸分割效果 |
(3)计算每个小区域的直方图, 即每个数字出现的频率.
(4)采用加权卡方统计方法对直方图进行度量, 如式(1)所示, 式中,
| $ {\chi ^2}\left( {S, M} \right) = \sum\limits_i {{\omega _i}} \frac{{{{\left( {{S_i} - {M_i}} \right)}^2}}}{{\left( {{S_i} + {M_i}} \right)}} $ | (1) |
识别结果如表2所示, 可以发现, LBP算子尺度增大, 人脸识别精度变高, 但是消耗的识别时间越长. 为同时保证识别精度和系统实时性要求, 本文选取
| 表 2 不同LBP算子尺度时人脸识别结果比较 |
3.1.2 移动设备定位
移动设备定位流程如图6所示, 学生通过人脸识别签到进入教室后, 将随时携带的移动设备(手机)的WiFi打开, 系统开始搜索每台移动设备的AP信息, 并且获取无线信号强度值, 将获取的强度值和所设置的阈值大小进行比较, 判断该移动设备是否处于有效范围内, 进而判断携带该设备的学生是否在教室听课, 这样可以有效防止学生签到后中途离开教室.
|
图 6 移动设备定位流程图 |
3.2 课堂行为识别和管理 3.2.1 课堂行为识别
现有的课堂行为识别大多是采用RGB摄像头来进行图像采集, 图像质量受光线、视角、距离影响较大, 鲁棒性和识别精度较差[16, 17]. 深度摄像头可以采集到人体的三维坐标数据, 并且提取出人体骨架信息, 对光线、视角、距离变化不敏感, 而人体骨架数据对于人体动作又具有极好的识别性, 因此本文选取深度摄像头Kinect V2进行图像采集, 提取到的人体骨架节点分布如图7所示.
|
图 7 人体骨架节点分布图 |
由于课桌的遮挡, 1号节点(人体中心)以下的9个节点不在视野范围之内, 因此忽略掉. 21、22、23、24号4个节点为手指节点, 对于学生课堂动作识别性不高, 因此也忽略掉. 剩下的12个节点中, 相邻的两个节点可以组成一个动作结构向量, 这样得到11个动作结构向量. 相邻的两个动作结构向量可以形成一个向量角, 这样得到9个向量角. 人体的动作变化和这9个向量角息息相关, 因此选取9个向量角作为学生课堂行为识别特征数据. 11个动作结构向量的组成节点和9个向量角的组成向量, 如表3所示.
学生上课注意力是否集中很大一部分可以通过头部动作来体现, 但是抬头、低头、偏头和摇头动作对9个特征向量角的变化并不明显, 很容易引起误判. 本文引入face tracking SDK中提供的头部转角识别功能, 如图8所示, 其中Pitch为低头和抬头角度
| 表 3 动作结构向量和向量角的组成 |
|
图 8 Kinect V2头部识别示意图 |
如果学生的手部动作和头部角度变换不大, 则很难正确识别出学生处于站立状态还是坐立状态, 但此时学生头部节点(3号)距离地面的高度
| $ \left\{ {\begin{array}{*{20}{l}} {Ax + By + C{\textit{z}} + D = 0} \\ {A = 0} \\ {B = \cos \theta } \\ {C = \sin \theta } \\ {D = 1.5} \end{array}} \right. $ | (2) |
地面方程确定以后, 将3号头部节点坐标代入式(3)即可计算出头部距离地面的高度
| $ d_h = \frac{{\left| {A{x_i} + B{y_i} + C{{\textit{z}}_i} + D} \right|}}{{\sqrt {{A^2} + {B^2} + {C^2}} }} $ | (3) |
构建课堂行为识别特征向量G=(
| $ K\left( {x, {x_i}} \right) = \exp \left( { - \frac{{\left\| {x - {x_i}} \right\|}}{{{\delta ^2}}}} \right) $ | (4) |
| 表 4 不同样本比例时各种课堂行为的识别精度 |
3.2.2 课堂过程分析
每个学生的课堂活跃度是衡量课堂教学效果的一个重要指标[19], 系统自动记录每个学生课堂举手次数
| $ P = {\omega _p} \times \frac{{{f_h}}}{F} + \left( {1 - {\omega _p}} \right) \times {\omega _a} \times \frac{{{f_a}}}{F} $ | (5) |
课堂整体学习态势是对每个学生学习专注度进行分析, 对于教师评估教学效果具有重要意义. 系统选取10 s作为一个记录区间, 记录每个学生趴桌和低头的时长, 如果多于3 s则认定该生处于非专注状态, 记录每个学生的非专注时间长度
| $ C = 1 - \frac{{\displaystyle\sum\limits_{i = 1}^k {{t_a}\left( k \right)} }}{{k \times t}} $ | (6) |
自主学习管理[20]包括学习资料上传、课后复习预习和学生作业管理3部分. 教师通过学习资料上传功能, 可以将上课所需的视频或者文档资料上传到服务器, 并保存到相应目录的数据库中, 方便学生课前预习或课后复习. 学生可以通过作业管理功能提交老师布置的作业, 教师也可以通过该功能实现作业在线批改和答疑. 学习资料上传功能和作业管理功能中的文件上传流程如图9所示, 浏览文件选择需要上传的文件, 通过断点传输方式上传资料到服务器, 如果文件类型为Excel格式, 则系统读取表格内容并保存至数据库, 如果文件格式为视频或文档, 则直接保存文件路径至数据库.
|
图 9 学习资料上传和作业管理功能中的文件上传流程 |
课后复习预习功能主要为了满足课外时间学生自主学习需要, 学生可以通过服务器自由选择系统数据库中的视频和文档资料, 自主学习流程如图10所示, 如果选择的学习内容为文档形式, 学生可以根据需要选择在线学习或者离线学习, 在线学习直接使用外部应用程序加载文档内容, 离线学习是通过断点传输方式将文档资料下载到移动设备. 如果选择的学习内容为视频形式, 则通过移动设备中的多媒体播放器加载并播放视频内容.
|
图 10 学生自主学习流程 |
4 数据库设计
系统运行过程中涉及到大量数据的查询和存储, 因此数据库的设计对系统正常运行起着至关重要的作用, 本文设计的MySQL数据库中的部分数据表结构如表5所示, 主要包括学生信息字段、学习资料信息字段、考勤记录信息字段和课堂行为管理信息字段.
| 表 5 系统数据库结构表 |
系统通过LabSQL实现LabVIEW和MySQL数据库之间的连接, LabSQL是一个免费的、多数据库、跨平台的LabVIEW数据库访问工具包, LabSQL利用Microsoft ADO对象和SQL语言来完成数据库访问, 将复杂的底层ADO及SQL操作封装成一系列的LabSQL VIs, 简单易用. 首先建立与数据库的连接, 然后生成SQL命令, 执行命令, 最后断开与数据库之间的连接.
移动设备端采用Android平台进行开发, 但是Android移动客户端没办法直接访问MySQL中的数据, 因此系统通过MyEclipse作为“中转”实现两者之间的连接. MyEclipse作为企业级工作平台, 内置所有的Web开发技术, 支持快速添加技术功能到Web项目中. 系统通过MyEclipse开发Web程序, 通过共用Android SOAP方法来访问数据库.
5 结论教育的不断发展对教学评价体系和教学管理体系提出了更高的要求, 现有的评价体系和管理体系已成为阻碍教育发展的一大因素. 虽然出现了一些课堂智能管理系统, 但是功能比较单一, 适应性不强. 本文提出了一种集课堂考勤、课堂行为识别和管理、自主学习管理于一体的课堂智能管理系统. 通过人脸识别和移动设备定位相结合的方式实现了97%的课堂考勤精度. 通过骨架节点数据提取识别特征向量, 并输入SVM分类器实现了95%以上的课堂行为识别精度, 并给出了课堂活跃度P和专注度
| [1] |
胡小玲. 高校课堂管理现状及对策分析. 扬州大学学报(高教研究版), 2018, 22(3): 114-120. |
| [2] |
尹春丽. 中职学校数学课堂教学管理现状及对策探析. 教育教学论坛, 2020(10): 17-19. |
| [3] |
陈斌. 基于新技术的智慧课堂管理系统设计研究. 数字技术与应用, 2020, 38(10): 142-143. |
| [4] |
Mille J, Leborgne A, Tougne L. Euclidean distance-based skeletons: A few notes on average outward flux and ridgeness. Journal of Mathematical Imaging and Vision, 2019, 61(3): 310-330. DOI:10.1007/s10851-018-0836-7 |
| [5] |
Ghorbel E, Boutteau R, Boonaert J, et al. Kinematic spline curves: A temporal invariant descriptor for fast action recognition. Image and Vision Computing, 2018, 77: 60-71. DOI:10.1016/j.imavis.2018.06.004 |
| [6] |
Pan MY, Wang J, Luo ZY. Modelling study on learning affects for classroom teaching/learning auto-evaluation. Science, 2018, 6(3): 81-86. |
| [7] |
Zaletelj J, Košir A. Predicting students’ attention in the class-room from Kinect facial and body features. EURASIP Journal on Image and Video Processing, 2017, 2017: 80. DOI:10.1186/s13640-017-0228-8 |
| [8] |
王竑熹. 学生课堂行为视频图像采集和识别系统. 发明与创新(中学生), 2018(6): 34-35. |
| [9] |
廖鹏, 刘宸铭, 苏航, 等. 基于深度学习的学生课堂异常行为检测与分析系统. 电子世界(中学生), 2018(8): 97-98. |
| [10] |
党冬利. 人体行为识别及在教育录播系统中的应用[硕士学位论文]. 西安: 西安科技大学, 2017.
|
| [11] |
何秀玲, 杨凡, 陈增照, 等. 基于人体骨架和深度学习的学生课堂行为识别. 现代教育技术, 2020, 30(11): 105-112. DOI:10.3969/j.issn.1009-8097.2020.11.015 |
| [12] |
Wang PC, Li WQ, Gao ZM. Large-scale continuous gesture recognition using convolutional neural networks. 2016 23rd International Conference on Pattern Recognition. Cancun: IEEE, 2016. 13–18.
|
| [13] |
Shi YF, Wei YT. Student body gesture recognition based on fisher broad learning system. International Journal of Wavelets, Multiresolution and Information Processing, 2019, 17(1): 1950001. DOI:10.1142/S0219691319500012 |
| [14] |
王治强, 孙晓东, 杨永, 等. 人脸识别算法在考勤系统的应用. 计算机系统应用, 2021, 30(1): 89-93. DOI:10.15888/j.cnki.csa.007755 |
| [15] |
何玲. 基于人脸识别的高校考勤系统研究. 中小企业管理与科技, 2020(35): 86-87. |
| [16] |
杨赛烽, 高彬, 冯仕民, 等. 基于三维骨骼节点的人体行为识别方法. 传感技术学报, 2018, 31(12): 1834-1841. |
| [17] |
Ghazal S, Khan US. Human posture classification using skeleton information. 2018 International Conference on Computing, Mathematics and Engineering Technologies (iCoMET). Sukkur: IEEE, 2018. 1–4.
|
| [18] |
黄潇逸. 基于骨骼关节点投影特征的人体行为识别方法. 现代计算机, 2019(36): 3-7. DOI:10.3969/j.issn.1007-1423.2019.36.001 |
| [19] |
冯华. 高校学生学习效果评价方式革新探究——以广告学专业为例. 教育现代化, 2019, 6(89): 195-196. |
| [20] |
李善勇. 基于智能手机平台的大学高效课堂构建. 中国教育信息化, 2021(1): 67-71. |
2022, Vol. 31


