左国才, 苏秀芝, 王海东 , 吴小平
(1 湖南软件职业学院, 湖南 湘潭 411100; 2 湖南大学, 长沙 410082)
为了客观量化地评价高职院校课堂教学质量与学生学习情况,对高职院校学生在上课时的课堂行为进行检测分析,客观评估课堂教与学的效果。由于卷积神经网络(Convolutional Neural Network,CNN)[1]在深度特征提取方面有很强的表现能力,越来越多地应用于各种目标任务检测,刘智等人[2]设计出构建多尺度深度卷积神经网络行为识别模型;王军等人[3]提出基于深度学习模型提取深度特征的异常行为检测算法;Xiang等人[4]提出基于异常检测的视频行为分析;廖鹏等人[5]设计实现基于深度学习的学生课堂异常行为检测与分析系统。本文总结以上研究成果及研究经验,提出将深度学习卷积神经网络CNN经典模型VGG16[6]应用于大学生课堂行为检测。基于VGG16模型的大学生课堂行为检测将学生在上课中的课堂行为表现分成2类,即:专注学习与不专注学习。
2014年牛津大学计算机视觉组和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet。该模型参加2014年的 ImageNet图像分类与定位挑战赛,取得了优异成绩:在分类任务上排名第二,在定位任务上排名第一。VGGNet可以看成是加深版本的AlexNet,都是由卷积层、全连接层两大部分构成。VGG由5层卷积层、3层全连接层、softmz输出层构成,层与层之间使用mz-pooling(最大化池)分开,所有隐层的激活单元都采用ReLU函数。VGG16的结构图如图1所示。VGG16执行过程如图2所示。
高职院校学生上课中的课堂行为检测分析,由于摄像头拍摄时存在一定的角度差,因此教室里的学生课堂监控视频图像不能获取检测目标(学生)的正面信息,大多为侧面信息,同时由于学生课堂视频数据集的限制及拍摄效果不佳,增加了学生在教室上课时课堂教学视频中行为检测的难度,因此本文采用卷积神经网络CNN经典的VGG16深度学习模型对学生课堂行为进行检测分析,以提高课堂行为检测识别率。
图1 VGG16结构图
图2 VGG16执行过程
本文所采用的测试数据集为高职院校学生上课时的真实课堂监控视频,由于拍摄设备性能不高,拍摄的效果不佳。拍摄设备安装在教室投影仪左右两边以及教室最后两边,采集到的课堂教学视频数据集均有一定倾斜角度,由于班级人数较多,教室较大,学生上课时坐的位置不同,有的集中、有的分散,每个课堂教学视频中拍摄的学生人数约为10~30个左右。从整个拍摄的课堂教学视频来看,学生在上课时的课堂行为变化不多,测试时,从拍摄的课堂教学视频中以4 s的时间间隔抓取一帧图像,随机抽取图像帧选取不同角度、不同教室的实验数据集总共4 000张,进行训练。
基于CNN深度学习模型的大学生上课中课堂行为检测与分析,将大学生在上课中的课堂行为分为专注学习与不专注学习两类,将学生课堂视频图像进行相关预处理操作后,作为实验数据集。
由于卷积神经网络CNN模型只能识别包含单个检测目标的固定格式图片,因此在进行网络模型训练和测试前,需要将图像进行预处理。
本文中使用深度学习框架工具Matcovnet,采用大型可视化数据库ImageNet[7]预训练网络模型,在线微调各种参数,修改CNN深度学习模型VGG16网络结构,并且基于已经进行过预训练的初始化网络参数,用学生课堂教学视频提取的课堂行为图像数据集来进行训练,使系统达到快速收敛效果。学生课堂行为检测分析流程如图3所示。
图3 课堂行为检测分析流程图
部分代码如下:
model=VGG16(weights='imagenet',include_top=True)
i_path= 'test.jpg'
img=image.load_img(i_path,target_size=(224, 224))
featur=model.preict(x)
pre=decode_preictions(featur,top=5)[0]
forelementinpre:
values.append(element[2])
bar_label.append(element[1])
z=fig.add_subplot(111)
z.bar(range(len(values)),values,tick_label=bar_label,width=0.5,fc='g')
fora,binzip(range(len(values)),values):z.text(a,b+0.000 5,percent(b),ha='center', va = 'bottom',fontsize=7)
本文的图像数据集是从学生上课中的课堂监控视频中获取得到的实验数据集。针对拍摄的学生上课中的课堂监控视频,完成数据集图像数据预处理、修改训练参数、训练网络模型,随机选择训练集和测试集,并设置训练集与测试集的比例为8:2。“不专注学习”课堂行为实验结果如图4所示,“专注学习”课堂行为实验结果如图5所示。
图4 “不专注学习”课堂行为
图5 “专注学习”课堂行为
实验结果表明,训练的网络模型对学生不专注学习行为的检测识别率较低,对抬头专注学习行为检测识别率较高。不专注学习行为的检测识别率较低的原因是在初始的学生课堂教学视频图像训练集中,学生不专注学习行为的人数较少,同时所采集的课堂教学视频图像序列中不专注学习行为的学生的图片相应减少,不能从课堂教学视频图像训练集中
提取到足够的不专注学习行为的特征。用学生课堂教学视频图像测试集进行验证,测试结果见表1。
表1 测试结果
在学生上课时课堂行为检测分析中,原始课堂教学图像被用作整个网络输入。与传统的行为检测算法相比,避免了特征提取的过程。这些特征是由网络自动从训练数据集中提取出来的。在每帧课堂教学视频图像中,所设计的模型方法能够用矩形框自动定位到学生课堂行为检测区域,以及自动识别该课堂行为方式。由于课堂教学视频图像数据集数量不够多、学生课堂行为标记的准确度也有待改进,给实验的检测率造成了影响,实验结果表明,卷积神经网络CNN具有强大的深度特征提取能力,能够有效地检测到学生课堂教学视频中的课堂行为,取得了良好的检测识别效果。