用于课堂教学评估的教师肢体动作检测*

2019-09-21 03:00闫晓炜张朝晖赵小燕贾鹂宇
中国教育信息化 2019年16期
关键词:肢体聚类动作

闫晓炜,张朝晖,赵小燕,贾鹂宇

(北京科技大学 自动化学院,北京 100083)

一、引言

得益于视频监控技术的发展和人们综合素质水平的提高,基于视频处理的课堂教学自动评估系统[1]应运而生,逐渐取代了传统的教学评估系统,更方便地服务于课堂教学管理工作,同时为监督教育的进步和发展提供了技术支持。这些智能监控系统主要利用了视频处理技术对学生进行监控,针对学生的上课考勤、听课情况进行分析,最终获得教学评估数据。

在课堂中学生固然有着重要的身份地位,我们通过监测学生的情况对课堂教学进行评价。但评价课堂的教学不能仅仅以学生为中心,教师作为传道授业解惑者也有着不可动摇的地位。教师所拥有的良好的教学方式,不仅可以帮助教师提高工作效率,而且也促进了师生的交流,更有利于教师的教学[2][3]。综上,我们将教师也加入到智能教学评估系统中,可以更全面地对教学进行评价。

教师通过实际的肢体动作可以有效地传达自己的情绪或者信息给学生,更容易吸引学生的注意力。教师在讲课过程中加入肢体动作不仅有强调、示范的作用,而且增加课堂的感染力,加强教师说话的力度,强化教学信息[4]。教师在授课过程中的肢体动作可以看作反映教师授课状态的重要依据。因此我们选择教师的肢体动作来进行检测,并通过yolo 算法实现,同时对算法进行了优化。

二、教师肢体动作检测方法

图1 教师肢体动作

教师的肢体动作是课堂教学的重要组成部分,它能将原本抽象的教学内容形象化、具体化,通过肢体动作的表达,提高了学生的学习热情,活跃了课堂气氛,拉近了师生距离[5]。通过检测教师肢体动作来对课堂进行评价需要选取教师的肢体动作来制作数据集。本次实验选取了教师的两个典型动作:教师指黑板的动作、教师站在讲台前的动作,分别如图1 所示。

基于计算机视觉的发展,肢体动作因其传达信息多、应用范围广受到了研究人员的关注并且提出了多种识别方法。最近比较流行的有:香港中文大学博士Wei Yang 的PyraNet[6],Alexander Toshev、Christian Szegedy 提出的DeepPose[7],卡内基梅隆大学的OpenPose[8],华盛顿大学艾伦研究所的Josehp Redmon、Ali Farhadi 提出的yolo[9]等等。本实验首先分别选取了OpenPose、yolo 两种算法,在对比分析之后最终选择了yolo 算法,并且对该算法进行了优化。

OpenPose 算法是卡内基梅隆大学提出来的一种自下而上的肢体动作识别方法。通过身体关键点的定位与各个关节的定位实现肢体检测。它的优点是鲁棒性好,人体被遮挡的部位也能够估计出来,缺点是计算量很大,实时性差。本实验使用该算法识别FPS 仅为10 帧/秒,不能满足实时性。yolo 算法是一种基于深度学习的目标检测算法,它具有检测速度快、准确度高的优点,但是对相互靠得很近的物体和小的群体检测效果不好。yolo 可以一次性预测多个box 位置和类别,实现了端到端的目标检测与识别。使用该算法识别FPS 为22 帧/秒,满足了实时性和准确度的需求,最终选了yolo 算法。本次实验采用的是yolo 的第二个版本yolov2。

1.yolo 网络结构

yolo 算法包含分类网络和检测网络两类网络。yolo分类网络借鉴了GoogLeNet 的思想,包含卷积层和全连接层,其中卷积层分为3*3、1*1 两种卷积核,用来提取特征,全连接层输出类别结果。本次实验使用的yolov2版本,提出了一种新的分类网络DarkNet-19,包含19 个卷积层和5 个池化层,见图2。

图2 分类网络结构

yolov2 的检测网络是在分类网络基础上进行了调整。将分类网络的最后一个1*1 的卷积层移除,添加3个3*3*1024 的卷积层,再添加输出是类别个数的1*1卷积。检测网络结构如图3 所示。

图3 检测网络结构

2.yolo 实现肢体检测

利用yolo 实现教师肢体检测需要三步:制作数据集、训练数据集、测试识别。

(1)制作数据集

本次实验数据集采用的是VOC 数据集,在采集到足够图像之后使用LabelImg 软件进行特征标注,生成带有位置信息的xml 文件,然后使用matlab 软件生成.txt训练测试文件,最后将上述图像文件放入新建的VOC文档中完成了数据集的制作,见图4。

图4 制作数据集

(2)训练数据集

yolov2 的训练包括三个阶段:第一阶段输入224*224的图像,先在ImageNet 分类数据集上预训练DartNet-19,该阶段共训练160 期。第二阶段输入448*448 的图像,继续在ImageNet 数据集上训练分类模型,训练10期。第三个阶段是修改DartNet-19 分类模型为检测模型,并在检测数据集上继续微调网络,见图5。

图5 yolo 训练图解

(3)yolo 检测识别

yolov2 实现肢体动作的检测首先在检测模型中输入图片,并将图片划分为s*s 的网格。本实验采用的是416*416 尺寸,因为模型下采样总步长为32,所以将图像划分为13*13 的网格。如果目标的中心位置落入某个格子,那么该格子就负责检测出这个物体。图6 中正中间的格子为中心位置,负责检测肢体动作。

图6 yolo 检测识别

每个网格预测5 个框,每个框包含x,y,w,h 和confidence 5 个数值。其中x,y 代表了框的横纵坐标,w,h 代表了框的宽高,confidence 代表了预测的框中含有目标的置信度和准确度。公式如下:

若包含物体,则P(object)=1;否则P(object)=0。

同时每个网格预测类别信息,本次设置了1 个类别,因此类别信息为1。计算得到输出值为13*13*(5*5+1)。

然后每个网格预测的类别信息和框预测的confidence 信息相乘获得预测的概率,公式如下:

得到每个框的概率之后,根据阈值大小,滤掉得分低的框,对保留的框进行NMS(非极大值抑制)处理,得到最终的检测结果。

三、优化yolo 网络

使用yolo 网络实现了教师肢体动作的检测,但是部分识别框尺寸不合适并不能完全将动作包括起来,也从侧面反映了识别结果有一定的缺陷。通过分析yolov2的原理和程序发现是yolov2 特有的anchor 机制造成了这一结果。

anchor 机制[10]是yolov2 参考了Faster RCNN 中的anchor box 方法,通过预先设置anchor boxes 的尺寸更好地预测框的坐标。不同的是faster RCNN 中的框大小和比例是根据经验手工精选并设定的,同时anchor boxes 的尺寸可以在训练过程中调整。而yolov2 的尺寸是使用聚类方法求得的,在一开始就选择合适的尺寸,帮助网络更好地预测目标。在yolov2 中原作者计算出来的框大部分是瘦高的,这一尺寸符合行人的特征,而我们要检测的教师肢体动作标注出的框大部分是扁平的和偏向正方形的,如果仍旧使用原作者给出的数据就会导致上述问题,因此,采用K-means 聚类方法生成适合于本数据集的anchor box 数据,优化yolov2 的anchor 参数,解决了这一问题并提高了yolov2 的准确率。

K-means 聚类算法是一种基于划分的聚类算法,通过计算距离将相近的对象划分至同一个簇,将较远的对象划分至不同的类簇[11]。算法的基本思想:先选择k 个点作为初始聚类中心点,然后计算剩余的样品点到中心点的距离,根据欧氏距离越小相似度越高的原则,分别将其分配到与其最相似的聚类,然后再次计算得到每个类别新的聚类中心,并对剩余样品点进行分配,上述过程进行循环迭代直到达到给定次数或者聚类准则函数开始收敛为止[12]。

该算法中假设待聚类的数集D={xi|xi∈RP,i=1,2,…n},p 是维数,则欧式距离公式为:

聚类准则函数为:

其中c1,c2…,ck为k 个聚类中心。

yolo 算法中若直接使用会使大的框比小的框产生更大的误差,因此yolo 作者定义了新的距离公式:

同时将所有框中心点的x,y 坐标都设为0,方便公式的使用。

本实验利用K-means 算法对之前标注的特征框尺寸数据进行聚类,计算出符合本实验的anchor 大小,替换了网络之前的数据,重新训练之后检测教师肢体动作的框尺寸合适,并且检测准确度也有所提升。

四、实验结果

此次实验采用yolo 算法完成教师肢体动作的检测。在实验中首先选取了OpenPose、yolo 两种算法,发现OpenPose 准确度高,但由于计算量可观,实时性差,无法满足实验要求,而yolo 算法实时性好,虽然准确度相比OpenPose 有所下降,但对实验没有大的影响,因此最终选择了yolo 算法。两个算法检测效果对比如表1 所示。

表1 OpenPose 和yolo 算法检测效果对比表

确定使用yolo 算法后,具体说明了yolo 的分类网络、检测网络两种结构以及实现检测的过程,并且针对识别结果中出现的识别框尺寸不合适的情况分析原因,同时采用K-means 聚类方法计算出anchor 参数,完成对yolo 的参数优化,解决了上述问题,而且提高了识别准确率。yolo 优化前后检测效果对比如表2所示。

表2 yolo 优化前后检测效果对比表

识别结果如图7 所示,本实验还记录了优化前后训练过程中的avg_loss 数据,并将数据可视化进行分析,发现两者损失下降的迭代次数是差不多的,本次优化并未对损失迭代有太大影响,见图8。

图7 yolo 识别肢体动作的结果

图8 yolo 优化前后avg_loss 对比

五、结束语

本实验将视频监控技术与课堂评价系统相结合,将检测教师授课情况加入到课堂教学自动评估系统中,并选取教师肢体动作为教师授课评价的指标。在算法上使用yolo 算法并进行优化完成教师肢体动作检测。此次实验完善了课堂教学自动评估系统,对课堂教学管理工作具有积极意义。

猜你喜欢
肢体聚类动作
基于K-means聚类的车-地无线通信场强研究
肢体语言
动作描写要具体
肢体写作漫谈
肢体语言在儿科护理中的应用
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现
基于改进的遗传算法的模糊聚类算法
非同一般的吃饭动作
Action Speaks Louder Than Words 你对肢体语言了解多少