郑州科技学院 徐少钦 任子童 卢明柱 周 丽 王玉萍
随着时代的发展,线上教学得到了迅猛地飞速发展,成为教育发展的有力补充,新冠肺炎的突然爆发,更是为线上教学提供了巨大的舞台。在疫情的背景下,为了人民的健康,社会各行各业大幅度停摆,开学也变得遥遥无期。因此,为了使学生仍然能够学习知识,各级各类院校积极响应国家教育部提出的号召——停课不停学。但是在这种全面依托线上教学进行授课的过程中,现有的线上教学暴露出了其弊端,因为缺乏老师监督和课堂氛围,所以大多数学生很难和线下教学一样集中精力认真听讲,老师也无法得知学生的学习状态,教学效率极其低下。线上教学在这种大范围、全面教学方面,存在着天然的缺陷,针对这种现象,在视觉处理和图像识别愈来愈发达的今天,可以将姿态识别加入教学中,让软件监督学生上课、分析学生上课的情况。即对学生上课时候姿态进行的不断监测,通过特征值分析出学生的动作,进而判断出学生此时的状态,如是否分神、是否在认真听课等,并给学生一定的提示,对学生起到一个督促的作用,等到下课后软件会将所有学生的学习状态发送给老师,让老师对这节课的教学成果有一定的了解。这样可以很大程度上减少线上教学目前的弊端。
图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。数字图像与模拟图像相比具有存储,传输方便可压缩、传输过程中不易失真、处理方便等巨大优势,这些都为图像识别技术的发展提供了强大的动力。图像识别问题的数学本质属于模式空间到类别空间的映射问题。在图像识别的发展中,主要有三种识别方法:统计模式识别、结构模式识别、模糊模式识别。姿态识别作为图像识别的一个分支,随着深度学习技术的发展,状态关键点的检测效果也在不断提升,且被广泛应用于计算机视觉相关领域,成为许多计算机视觉任务的基础。
近几十年计算机网络的快速发展使得互联成为现实,从最开始简单的电信号的传输到声音信息,文本信息,视频信息的传输,在此背景下,1988年威尔史密斯教授第一个提出线上教学的概念。近年来随着线上教学在我国的逐渐发展,线上教学的用户量越来越多、发展越来越快。与此同时线上教学的问题也逐渐凸显,如学生上课注意力不集中,学习效率低下,老师不能掌握学生的上课情况。即使在直播课程中老师也只能看学生扁平、单调的电子影像,并不知道学生的学习状态和情况。姿态识别在线上教学中的应用,对提升学生线上教学的学习效率和改善学习状态有很大的作用,软件对学生上课的状态进行监测,并自动对不认真听讲的学生进行提醒,而老师课堂上只需专心讲课,课后可以通过软件生成的数据了解到学生的学习情况。
常见的姿态识别方案主要有以下两类:一种是基于自上而下的方案,即:针对采集的帧图片先进行整体的人体识别然后再预测提取关键点,但此方案输出结果与运行时间和人数成反比。另一种方案是基于自下而上的方案,识别过程则与之相反,自下而上的识别方法在运行识别前期具有很好的鲁棒性,通过测试发现该算法识别准确率较高但识别效率比较一般。
结合实际需求最终选定了自下而上方案中的OpenPose算法。能够基于该算法实现全身姿态识别、手部动作识别等多应用场景识别,具有非常更好的适用性和扩展性。算法识别大致流程如下:基于已存在的帧图像作为输入数据,然后经过10层的VGG19网络转化为图像特征F,然后在经过置信度网络和亲和度向量场网络两个分支网络分别计算预测每个关键点的置信度和亲和度向量。如图1和公式所示。(其中S是置信度网络,L是亲和度向量场网络)
图1 网络处理构图
在预测关键点置信度之后,利用NMS的方法获取具体的坐标位置,最终汇聚成关键点集。然后根据亲和度等依据判断任意两点是否连线配对,最终在依据Hungarian算法找出使得总亲和度最高的一组配对方式作为结果输出。
目前基于现阶段的openpose算法,实现针对于图像采集器视频流式的实时动态全身姿态关键点的检测、识别、输出保存,以及针对于帧图像式的全身、面部、手部等等更加多样式的识别、输出保存。
在部署方面,基于源算法,直接截取源输出数集并保存。以此数据作为接下来应用的主要依据,然后将此数集转换成为数组。以全身识别为例:如图2所示,将一张完整的全身照片图2作为输入数据,然后经过OpenPose检测运算得到姿态关节布局呈现如图3、4所示,并在程序中直接截取源数集,保存或读取建立成为25行3列的二维数组(图5)。其中元素分别存对应全身25个关键点的相对横纵坐标以及置信度值。
首先是基于算法部署过后数集数组做输入操作,结合实际教学中大多数学生都是以坐的姿态进行听课的基础,所以对源输入数组中的身体下部关节关键信息做屏蔽处理暂时不在考虑,主要针对肢体上半部分进行研究使用,所以经过对源程序经过调整形成如图6所示的形式,然后基于此在进行下一步工作。
对于调整过的数组在经过上方流程对数据筛选之后就进入了数据算法环节。这里以上课活动姿态为简单分析示例。如图7所示,这是正常情况下学生的上课姿态图示,然后锁定相对的前一帧中的0点、1点、2点、5点的坐标值,分别定义0点1点连线、1点5点连线、1点11点连线为A、B、C线,定义1点10点连线、1点2点连线为D、E线,定义2点8点连线、5点9点连线为F、G线,然后基于以上连线为基础开始运算。如图8所示。
图2 原输入图片
图3 识别后的关节标识图
图4 模型信息
图5 识别后数据结果
图6 肢体上半部局部识别
图7 模型简化示意图
图8 数据设定图示
如果线上学习过程中存在活动的行为姿态,就进行以下的角度式、距离式和关键点活动范围式等方式联合进行判断。在角度判断方面,通过大量实际数据测试发现在正常线上教学中A、B线之间的角度应该在75°~125°活动范围之间,AE线角度则为互补。所以当该帧识别数据结果检测到相应夹角不在此合理范围之内并且与前一帧差别大于15°时则就发出一个提示并标记为一项判定原因。
在距离方面。通过观察发现学生在上课过程中的活动姿态既可能左右摇晃变化,也有可能上下浮动,是非常千奇百怪、各种各样的,但都会造成关键线段距离的变化。取A、G、F三条线段为主要对象,分别锁定计算这一帧图像中三条线段的距离,如果与前一帧相较A长度变化范围大于10个单位、G或F长度变化范围大于17个单位就认为此时姿态发生了变化,然后就发出提示并标记为一项判定原因。
在活动范围方面,基于所需要的关键的关节点进行锁定,然后基于此点为圆心取7个单位为半径划定范围进行判断(如图9所示)。此项判断只是一个辅助条件判断,此项判定的影响因子设定较小但必不可少,一方面如果满足上方两个条件必然会造成此项的成立,如果上方条件不满足或不完全满足则就在判断此项。
图9 活动范围判断图示
基于以上流程和条件即可简单判断此时的姿态是否发生了变化,然后将发生变化的信息记录、反馈给使用者并把变化的证据保存下来。教师使用无论是录播授课或者是直播课堂都可以进行实时或过后查看学生姿态变化情况及记录,极大地减轻了工作量。
综上所述,在当前线上教育系统中,还存在很多弊端,线下教育可以实时关注到学生出勤情况、听课效率,但线上教育中则存在学生考勤、听课效率等问题,本篇文章结合了姿态识别算法以及当前线上教学软件系统,在现有线上教学软件的基础上运用姿态识别算法,通过学生的面部以及手部姿态进行分析,当检测到学生频繁地发生较大的姿态变换时,系统发出警告,课程结束后系统自动返回学生课上状态,使教师能够更加详细的了解学生的学习状况,从而加大对学生的监督与督促作用,显著的提高学生的学习效率,增强线上教育的教学效果。本项技术运用到线上教学中,可以有效的缩小线上、线下教学的差距,使线上教学即拥有其本来的便利性,也拥有线下教学的效果,使得教师或学生不会再出现因突发情况而造成影响教学的情况,亦可以极大的方便及加强一些偏远山区的教育。
虽然,将姿态识别加入线上教学中对线上教学的教学效果有显著提高,但是目前为止,姿态识别在线上教学中的应用还存在很多问题。首先,学生在上课时不可能是一直保持一个姿态的,那么如何准确的区分出学生的哪些情况属于正常听讲,哪些情况属于不认真听讲就非常重要;其次,由于每个学生的听课习惯不同,如果依照一个标准对所有学生进行检测,得出的结果必然是不够准确的。因此,如何根据课堂上的实时状况及每个学生的习惯准确的、智能的检测出学生是否在认真听课是目前所面临的一个重要难题。