开放科学(资源服务)标志码(OSID):
近年来,我国大力推进教育信息化[1],提出以信息技术为支撑,提升教学管理水平的方案。基于此,高校不断完善信息化基础设施建设,视频监控、投影仪、电脑等技术设备被广泛应用于教学场景中。随着人工智能等新兴技术的兴起,有研究人员提出智慧校园[2]的概念,出现了计算机视觉和教育领域相结合的新局面。由基于人脸检测[3-5]实现的课堂考勤[6-7]以及基于行为识别等相关技术实现的动作识别[8-10]已初见成效,抬头率作为衡量课堂听课专注度的重要指标,已逐渐进入研究人员的视野。
目前检测抬头率的方法主要有两种:一是基于人脸检测获取人脸的位置,并通过分类器对获取的人脸信息进行分类以得到头部状态[11];二是基于人脸姿态估计[12]获得面部朝向的角度信息,通过角度反应学生头部状态。上述两种方法均基于人脸进行,因此依赖于人脸获取的情况,但在真实的课堂场景下,由于受光照、监控设备清晰度等各类因素影响,要获得完整清晰的人脸有一定难度,因此基于人脸的方法具有一定局限性。
得益于深度学习的发展,使用深度学习的检测方法[13-15]越来越多,REN等[16]提出Faster R-CNN算法,利用RPN网络并基于Anchor机制来生成候选框,进一步提升检测精度和检测效率。文献[17]提出YOLOv3算法,使用3个尺度的特征图提升小目标的检测效果。但在课堂视频中,人物相对复杂,特征提取较困难,且当学生出现遮挡时,容易出现遗漏目标的情况。
本文引入视觉特征RGB difference,将其与原图提取后的特征相融合,并使用改进的注意力模型(Improved Convolutional Block Attention Module,ICBAM)构建新的特征提取网络。此外,通过设计精炼模块对检测结果进行优化,以提高抬头率检测的准确性。
1 抬头率检测算法基于注意力机制和特征融合的抬头率检测算法结构如图 1所示。对于一段完整的课堂视频,将其逐帧拆分并作为网络的输入,同时引入RGB difference视觉特征作为网络的另一支输入,可视化结果如图 2所示(彩色效果见《计算机工程》官网HTML版),从人眼的角度容易看出其中人物的轮廓。之所以选择引入RGB difference,是因为课堂的监控设备是固定视角,RGB difference能够弱化背景等静物,保持网络对人物这一动态目标的关注度。原图和RGB difference被输入加载了ICBAM的特征提取网络,得到2个尺寸相同的Feature Map:
![]() |
Download:
|
图 1 基于注意力机制和特征融合的抬头率检测算法结构 Fig. 1 Structure of head up rate detection algorithm based on attention mechanism and feature fusion |
![]() |
Download:
|
图 2 RGB difference特征 Fig. 2 RGB difference feature |
注意力机制从模拟生物学的角度出发,使神经网络具备专注于其输入或特征子集的能力。文献[18]提出卷积块注意力模块(Convolutional Block Attention Module,CBAM),其结构如图 3所示。CBAM通过通道注意力模块和空间注意力模块依次对输入特征进行处理,并获得精炼特征。在课堂视频中,教室背景和物品并非关注的目标,因此在网络中添加注意力模型能够提升提取有效特征的能力。由于CBAM使用串型结构,因此空间注意力模块对特征的解释能力在一定程度上依赖通道注意力的输出。此外,CBAM在通道注意力模块和空间注意力模块的前端均使用MaxPool和AvgPool,这会损失图像部件之间精确的空间相对关系。基于上述问题,本文提出ICBAM模型,其结构如图 4所示。
![]() |
Download:
|
图 3 CBAM模型的结构 Fig. 3 Structure of CBAM model |
![]() |
Download:
|
图 4 ICBAM模型的结构 Fig. 4 Structure of ICBAM model |
为避免空间注意力模块对通道注意力模块的依赖,ICBAM模型使用双流结构。且在网络之后,将通道注意力模块输出的
$ {F}_{c}=F\otimes {M}_{c}\left(F\right) $ | (1) |
$ {F}_{s}=F\otimes {M}_{s}\left(F\right) $ | (2) |
$ {F}_{\mathrm{o}\mathrm{u}\mathrm{t}}={F}_{c}⨁{F}_{s} $ | (3) |
为获取通道注意力模块的输出
$ y\left[i\right]={\sum }_{k=1}^{k}x\left[i+r\times l\right]w\left[l\right] $ | (4) |
其中:
二维空洞卷积的示意图如图 5所示。输入特征经过global max pooling、global avreage pooling和空洞卷积得到
![]() |
Download:
|
图 5 不同膨胀系数的空洞卷积示意图 Fig. 5 Schematic diagram of cavity convolution with different expansion coefficients |
将3个特征图进行elementwise加和并用sigmoid函数激活后得到通道注意力模块输出
${M}_{c}\left(F\right)=\mathrm{sigmoid}\left(\mathrm{MLP}\left(\mathrm{MaxPool}\left(F\right)\right)+ \\ \qquad \qquad \mathrm{MLP}\left(\mathrm{AvgPool}\left(F\right)\right)+ \\ \qquad \qquad \mathrm{MLP}\left(\mathrm{DilConv}\left(F\right)\right)\right)= \\ \qquad \qquad \mathrm{sigmoid}\left({W}_{1}\left({W}_{0}\left({F}_{\mathrm{max}}^{c}\right)\right)+{W}_{1}\left({W}_{0}\left({F}_{\mathrm{avg}}^{c}\right)\right)+\right. \\ \qquad \qquad \left.{W}_{1}\left({W}_{0}\left({F}_{\mathrm{dil}}^{c}\right)\right)\right) $ | (5) |
其中:
为获取空间注意力模块的输出
$ {M}_{s}\left(F\right)=\mathrm{s}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d}\left({f}^{7\times 7}\right[{F}_{\mathrm{M}\mathrm{a}\mathrm{x}}^{s};{F}_{\mathrm{A}\mathrm{v}\mathrm{g}}^{s};{F}_{\mathrm{D}\mathrm{i}\mathrm{l}}^{s}\left]\right) $ | (6) |
其中:
与CBAM模型相比,ICBAM模型使用了双流结构,剥离了空间注意力模块对通道注意力模块的直接依赖,使两者获得了相同的权重。此外,在2个注意力模块中加入的空洞卷积扩大了感受野,能够过滤冗余特征。
1.2 精炼模块精炼模块用于进一步优化检测网络,其主要包括特殊帧判定和相邻帧信息融合两部分。
1.2.1 特殊帧判定由于视频包含一些抬头和低头姿态切换瞬间的特殊帧,模型在预测时容易将一个目标预测为2个不同目标,如图 6所示。图 6中叠加的2个边界框属于特殊叠加,无法在预测时通过非极大值抑制[20]等常规过滤方法解决,因为叠加的2个边界框置信度相当,模型判定这是2个不同的目标。为保证后续抬头率计算的精确度,需对头部检测后的基础边界框进行精炼。
![]() |
Download:
|
图 6 边界框叠加 Fig. 6 Boundary box overlay |
特殊叠加的2个边界框具有位置相近、大小相当、状态分类相反和置信度相当的特点,基于以上特点设计算法,算法流程如图 7所示。
![]() |
Download:
|
图 7 特殊帧判定流程 Fig. 7 Procedure of special frame determination |
算法的具体步骤如下:
步骤1 同一帧内,对每一个检测到的头部边界框,搜寻是否存在与其叠加的边界框,若未搜寻到则算法结束;
步骤2 判断叠加的2个边界框是否具有特殊叠加的特点,若满足则为特殊叠加,若不满足则算法结束;
步骤3 删除两者中置信度较小的边界框。
1.2.2 相邻帧信息融合到目前为止,每一帧分析相互独立,结果单一依赖检测神经网络的结果,这容易造成多目标检测不全面的问题。为此,所提模块利用视频时序信息,对相邻两帧头部边界框进行融合,使视频序列构成链式结构。算法流程如图 8所示。
![]() |
Download:
|
图 8 相邻帧信息融合流程 Fig. 8 Procedure of adjacent frame information fusion |
具体如算法1所示:
算法1 相邻帧信息融合
输入 N,P//相邻两帧精炼头部边界框集合
输出
1.遍历集合P
2.初始化max
3.for
4.max
//计算
5.end for
6.if
7.N.append(
8.end if
9.return N
$ \mathrm{c}\mathrm{o}\mathrm{m}\mathrm{p}\mathrm{u}\mathrm{t}\mathrm{e}\_\mathrm{I}\mathrm{O}\mathrm{U}({p}_{i}, {n}_{i})=\frac{{p}_{i}\bigcap {n}_{i}}{{p}_{i}\bigcup {n}_{i}} $ | (7) |
其中:
由于目前在抬头率检测领域没有相关的公开数据集,因此采集课堂视频数据并进行人工标注,自建抬头率检测数据集RDS。RDS数据集共包含378个课堂视频片段,每段视频时长10 s左右。除了对每段视频的抬头率标注外,还以从每20帧中抽取一帧的方式进行头部边界框标注,标注原则为上至头部顶端,下至下颚,左右至双耳。视频采集摄像机型号为海康威视DS-2CD3321FD-IW1-T,架设位置为讲台上方1 m处,固定斜向下正面视角。截取视频部分帧作为数据样例,如图 9所示。
![]() |
Download:
|
图 9 RDS数据样例 Fig. 9 RDS data sample |
硬件环境:Intel Core I5处理器;NVIDIA GEFORCEE GTX 860显卡;16 GB内存。软件环境:anaconda python3.7.1;JetBrains PyCharm Community Edition 2019.1.2 x64,tensorflow1.13.1,opencv,numpy1.12,easydict等。参数说明:本文使用的IOU阈值为0.5,置信度阈值为0.8,膨胀系数为2,训练初始学习率为1
为衡量算法输出的准确性,采用平均抬头率误差(mRR Error)作为评价指标。平均抬头率误差是指算法的所有输出抬头率与真实抬头率之差的平均绝对值,该指标能反映算法的输出结果与实际值之间的偏差,mRR Error越小代表算法的准确性越好。mRR Error的定义如下:
$ \mathrm{mRR\;Error}=\frac{1}{n}\sum\limits_{i=1}^{n}|{R}_{i}-{T}_{i}| $ | (8) |
$ R=\frac{1}{m}\sum\limits_{k=1}^{m}\frac{{r}_{k}}{{t}_{k}} $ | (9) |
其中:n表示测试集包含视频总数;
为验证RGB difference特征、ICBAM和精炼模块对模型性能的影响,对加载上述部件前后的模型进行实验对比,结果如表 1所示,其中“√”表示加载此部件,“—”表示不加载此部件。
![]() |
下载CSV 表 1 不同部件对模型性能的影响 Table 1 Influence of different components on model performance |
由表 1可知,RGB difference特征、ICBAM和精炼模块对模型性能的提升均有不同程度的促进作用,其中处于较高层次的精炼模块对性能的影响较大,当加载所有部件时,模型性能取得最优。
图 10为训练过程中mRR Error随着迭代次数变化的曲线图,从中可以看出加载了所有部件的模型相比基础模型的mRR Eerror更低,效果更好。
![]() |
Download:
|
图 10 mRR Error随迭代次数变化的曲线 Fig. 10 Curve of MRR error with the number of iterations |
本文在CBAM模型的基础上改进提出ICBAM模型,为比较两者的效果,在其他部件保持一致的条件下进行CBAM和ICBAM的对比实验,实验结果表明,加载CBAM模型的mRR Error为15.981,加载ICBAM模型的mRR Error为15.648,经过改进的ICBAM的mRR Error比CBAM更低。
2.4.3 ICBAM加载位置对mRR Error的影响为比较ICBAM不同加载位置对mRR Error的影响,设计3组不同的位置方案并进行对比:1)仅加载至特征提取网络前端;2)仅加载至后端;3)前端+后端,实验结果如表 2所示。由表 2可知,在特征提取网络前端和后端分别加载ICBAM的效果最好,且前端部分影响较大,这说明ICBAM对浅层特征的提取效果更好。
![]() |
下载CSV 表 2 ICBAM加载位置对性能影响 Table 2 Effect of ICBAM loading position on performance |
空洞卷积参数主要是指膨胀系数,实验对使用不同膨胀系数的空洞卷积效果进行对比,结果如表 3所示。其中膨胀系数为2的空洞卷积效果较好,原因可能是膨胀系数较小时,保留的原始信息更完整,进而导致mRR Error更低。
![]() |
下载CSV 表 3 不同膨胀系数对性能影响 Table 3 Effect of different expansion coefficient on Performance |
表 4为注意力和特征融合抬头率检测算法与其他抬头率检测算法在RDS数据集上的性能对比。运算时间为检测一段帧率为20 frame/s的10 s视频片段所用时间。虽然本文所提算法是基于深度学习的方法,在速度上稍慢,但是在准确度上取得了不错的表现。
![]() |
下载CSV 表 4 RDS数据集上不同抬头率检测算法性能对比 Table 4 Performance comparison of different head up rate detection algorithms on RDS datasets |
本文算法和CBAM+YOLOv3、D53+YOLOv3均是基于YOLOv3的算法,因此在检测部分的计算量一致。之所以本文算法相较于这3种算法较慢有2个主要原因:1)在特征提取网络中这2种算法均仅使用原图作为输入,本文算法在逐帧提取特征的同时还需计算并生成每一帧对应的RGB difference特征,且双流结构的特征提取网络需要更高的计算量;2)本文算法相较于以上2种算法额外设计了2个精炼模块以提升检测结果的准确性,因此增加了检测时间。
3 软件实现在注意力和特征融合的抬头率检测算法的基础上,基于PyQt5+TensorFlow1.13框架构建课堂行为分析软件。软件主要实现课堂到课人数、课堂抬头率和个人抬头率3个计算需求,共包含3个页面:首页(主界面),视频页和分析结果页。
1)首页:用户进入系统后通过首页选择待分析的视频文件,确认分析后等待视频分析完成即可向其他界面查询分析结果。首页仅保留了视频选择和视频分析2个功能,配置参数及选项均向用户隐藏,有助于提升系统的易用性。分析软件主界面如图 11所示。
![]() |
Download:
|
图 11 软件主界面 Fig. 11 Software main interface |
2)视频页:视频页以播放器的形式向用户展示分析完成的视频数据,能直观反映分析结果,视频的每一帧会以黄色的矩形框标注低头的学生(彩色效果见《计算机工程》官网HTML版),以绿色的矩形框标注抬头的学生,矩形框上方的数字表示该学生从视频开始到现在的个人抬头率。视频页支持视频导出功能,界面如图 12所示。
![]() |
Download:
|
图 12 视频页 Fig. 12 Video page |
3)分析结果页:分析结果页展示文本及图表形式的分析结果,包括到课人数、课堂专注度、平均抬头率以及总体抬头率变化折线图,有助于反映课堂的听课情况,若平均抬头率低于50%,则会反馈课堂专注度低,并对课堂专注度和平均抬头率标红(彩色效果见《计算机工程》官网HTML版),界面如图 13所示。
![]() |
Download:
|
图 13 分析结果页 Fig. 13 Analysis results page |
为提升课堂监督管理质量,本文提出一种结合注意力机制和特征融合的课堂抬头率检测算法。使用RGB difference视觉特征获得信息更为丰富的深层融合特征,并构建一种改进的注意力模型ICBAM加载至特征提取网络上,提升网络的特征提取能力。此外,在ICBAM中引入空洞卷积过滤冗余特征,通过设计精炼模块对预测结果进行优化,并在所提算法的基础上设计完成课堂行为分析软件。实验结果表明,本文算法在抬头率检测数据集RDS上的平均抬头率误差为15.648%,相比于SolvePnP等主流检测算法具有更低的误差率。下一步将通过提高模型的运行速度,拓展分析软件可以识别的行为种类,从而优化软件的界面设计,以获得更大的应用价值。
[1] |
覃基笙, 胡顺. 教育信息化发展中高校教学管理信息化建设--评《高校教学管理理论与实践》[J]. 中国高校科技, 2020, 12: 103-107. QIN J S, HU S. Informatization construction of teaching management in colleges and universities in the development of education informatization: a review of theory and practice of teaching management in colleges and universities[J]. Science and Technology of Chinese Colleges and Universities, 2020, 12: 103-107. (in Chinese) |
[2] |
周全, 李有增. 面向高校智慧校园建设的"产学研用训"协同创新研究[J]. 中国电化教育, 2021, 3: 104-110. ZHOU Q, LI Y Z. Research on collaborative innovation of "production, teaching, research, application and training" for smart campus construction in colleges and universities[J]. China Audio Visual Education, 2021, 3: 104-110. (in Chinese) |
[3] |
PAYAL B, SAMIR K. Human face detection: manual vs.kohonen self organizing map[J]. International Journal of Computer, 2020, 39(1): 79-87. |
[4] |
MOHAMMED G, AMERA I. Implementation of HOG feature extraction with tuned parameters for human face detection[J]. International Journal of Machine Learning and Computing, 2020, 10(5): 36-41. |
[5] |
TAKOUA K. Human face detection improvement using incremental learning based on low variance directions[J]. Signal, Image and Video Processing, 2019, 13(8): 1503-1510. DOI:10.1007/s11760-019-01498-1 |
[6] |
方冠男, 胡骞鹤, 方书雅, 等. 视频人脸图像质量评估及其在课堂点名系统中的应用[J]. 计算机应用与软件, 2018, 35(10): 140-146, 251. FANG G N, HU Q H, FANG S Y, et al. Video face image quality assessment and its application in classroom roll call system[J]. Computer Applications and Software, 2018, 35(10): 140-146, 251. (in Chinese) |
[7] |
杨帆, 邸德海, 韩博, 等. 高实时性分布式一卡通教室考勤系统建设[J]. 华中师范大学学报(自然科学版), 2017, 51(1): 191-194, 199. YANG F, DI D H, HAN B, et al. Construction of high real-time distributed all-in-one card classroom attendance system[J]. Journal of Central China Normal University (Natural Science Edition), 2017, 51(1): 191-194, 199. (in Chinese) |
[8] |
ZHI W X, XIAO J W, JOSEF K. STRNet: triple-stream spatiotemporal relation network for action recognition[J]. International Journal of Automation and Computing, 2021, 2(13): 1-13. |
[9] |
NEWLIN S, ARIVAZHAGAN S. Fusion of spatial and dynamic CNN streams for action recognition[J]. Multimedia Systems, 2021, 4(9): 1-16. |
[10] |
ZHAO B T. "Reading pictures instead of looking": RGB-D image-based action recognition via capsule network and kalman filter[J]. Sensors, 2021, 21(6): 2217-2217. DOI:10.3390/s21062217 |
[11] |
SHIKHAR C, RAHUL M, SANJAY B. Face recognition system based on PCA[J]. Journal of Research in Science and Engineering, 2020, 2(11): 91-97. |
[12] |
陈得恩, 张建伟, 柯文俊. 稳定的视频内头部姿态估计方法[J]. 计算机工程与设计, 2020, 41(12): 3438-3443. CHEN D E, ZHANG J W, KE W J. Stable head posture estimation method in video[J]. Computer Engineering and Design, 2020, 41(12): 3438-3443. (in Chinese) |
[13] |
JIANG W H. Dynamic proposal sampling for weakly supervised object detection[J]. Neurocomputing, 2021, 441(1): 248-259. |
[14] |
WANG Y J. Towards a physical-world adversarial patch for blinding object detection models[J]. Information Sciences, 2021, 556(13): 459-471. |
[15] |
LI F Y. PSANet: pyramid splitting and aggregation network for 3D object detection in point cloud[J]. Sensors, 2020, 21(1): 136-136. DOI:10.3390/s21010136 |
[16] |
REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
[17] |
REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. [2021-02-11]. https://arxiv.org/abs/1804.02767.
|
[18] |
WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module[EB/OL]. [2021-02-11]. https://arxiv.org/abs/1807.06521.
|
[19] |
MEHDI H. A multiple multilayer perceptron neural network with an adaptive learning algorithm for thyroid disease diagnosis in the internet of medical things[J]. the Journal of Supercomputing, 2021, 77(4): 3616-3637. DOI:10.1007/s11227-020-03404-w |
[20] |
AMBARELLA I. Patent isued for non-maximum suppression in image data (USPTO 10, 733, 713)[J]. Computer Weekly News, 2020, 9: 6904-6910. |