基于双尺度时空分块互注意力的课堂动作识别方法
技术领域
本发明属于视频理解与分析
技术领域
,尤其是视频分析中的动作识别技术领域
,涉及一种基于双尺度时空分块互注意力的课堂动作识别方法。背景技术
传统的线下课堂是学生学习与教师授课的主要场所,近年来特别是疫情期间线上课堂成为广受师生欢迎的方式,一般采取网络直播或提前录播教学。无论是教室内的线下课堂还是利用网络平台的线上课堂,其教学质量的优劣将直接影响学生的学习效果。实际中常遇到的困境是教师为了确保课堂教学的质量,需花费很多精力在课堂纪律管理上,不能全心投入到授课教学中,这在小学课堂表现尤为明显。对此,引入视频动作识别技术对课堂里学生所做动作进行识别,即时感知学生的学习状态,并提供反映课堂质量的智能分析报告。课堂动作识别任务以学生动作视频帧序列作为输入,输出学生动作类别,在课堂授课、自修管理、无人监考等场景有广泛的应用。例如,在无人监考环境中,课堂动作识别方法能够实时识别考生的动作,若出现疑似作弊行为可对考生进行调查,从而确保考试纪律。主要挑战在于:难以将线下与线上课堂的动作识别方法统一、在同一视频画面中存在不同远近的学生、对多个学生进行动作识别需要大量计算开销等。
目前,针对课堂场景动作识别的实际应用较少,现有方法主要是基于可穿戴设备与骨架信息。但是,可穿戴设备可能会造成学生的不适,进而影响学生的学习效率;基于骨架信息的方法可识别的动作类别较少,识别性能极易受桌椅、书本等物件遮挡的影响。此外,传统动作识别方法需将视频帧编码成手工特征(如HOG3D、3Dsurf等特征),但是手工特征存在很大的局限性且其提取速度较慢无法满足实时性要求。近年来,以卷积神经网络(Convolutional Neural Network,CNN)为核心的动作识别方法能端到端地学习反映视频潜在语义信息的特征表示,大幅提升了动作识别的准确率。为了提取更有效的视觉特征,残差网络(ResNet)使用残差连接使得网络不同层相连,以缓解更深层神经网络模型训练时产生的过拟合、梯度消失或梯度爆炸等问题;非局部网络(Non-Local Network)利用一种非局部操作捕获长距离依赖关系,通过注意力机制建立视频帧图像不同距离的像素块之间的联系,挖掘彼此间语义信息。除此之外,源于自然语言处理领域的变换器(Transformer)模型近来风靡于计算机视觉领域,其多头注意力机制被用于提取视频帧序列中多样性的关键时序信息,使得模型能够学习更具辨识性的特征表示。
现有的课堂动作识别技术仍然存在许多不足:首先,针对线下课堂或线上课堂单独进行模型的设计,缺乏融合两种类型的课堂动作识别方法的统一接口;其次,提取特征时对所有视频帧分块计算时空注意力,忽略了时空特征的局部特性使得识别率下降,且当视频分辨率较大时计算开销过大;此外,很多方法仅提取单一尺度分块的时空特征,难以适应个体学生画面尺度不同的情况。为了解决缺少局部时空特征信息交换机制、适应不同尺度的个体学生画面等问题,迫切需要一种统一线下课堂与线上课堂,且能提高学生动作识别准确率的高效课堂动作识别方法。
发明内容
本发明的目的就是针对现有技术的不足,提供基于双尺度时空分块互注意力的课堂动作识别方法,对多组时空块用时空注意力建模,以捕获线下与线上课堂学生视频的多尺度时空信息,并利用尺度互注意力刻画不同尺度学生画面信息,以提高课堂动作的识别率。
本发明方法首先获取高清课堂学生视频数据,然后依次进行如下操作:
步骤(1)对高清课堂学生视频数据进行预处理,得到学生动作视频帧序列;
步骤(2)构建双尺度特征嵌入模块,输入为学生动作视频帧序列,输出为双尺度时空特征表示;
步骤(3)构建时空分块互注意力编码器,输入为双尺度时空特征表示,输出为双尺度分类向量;
步骤(4)构建课堂动作分类模块,输入为双尺度分类向量,输出为动作类别概率向量;
步骤(5)对由双尺度特征嵌入模块、时空分块互注意力编码器、课堂动作分类模块组成的动作识别模型进行迭代训练,直至模型收敛;
步骤(6)对新的课堂学生视频进行预处理,先将首帧图像输入预训练的目标检测模型,得到学生边界框并据此获得相应视频帧序列,然后将其输入已训练好的动作识别模型,最终输出学生动作的类别。
进一步,步骤(1)具体是:
(1-1)对每个高清课堂学生视频,以每秒k帧的采样率处理为相应的视频帧序列,以60k帧为时间间隔,将高清课堂学生视频帧中的学生位置边界框进行标注,获得高清课堂学生图像数据集,k=15~30;
(1-2)对每个学生位置边界框,使用OpenCV的矩阵索引方法截取边界框区域内的60k帧图像,并将高和宽缩放至相同分辨率,得到学生动作视频帧序列 为实数域,动作的类别序号为b,b=1,…B,B为动作类别总数,fi表示帧序列中第i幅高为H、宽为W的RGB三通道图像,T为总帧数,即T=60k。
再进一步,步骤(2)具体是:
(2-1)双尺度特征嵌入模块由三维卷积层、三维平均池化层、特征分块操作以及线性嵌入层构成;
(2-2)将学生动作视频帧序列V输入至三维卷积层得到时空特征,然后将时空特征放入至三维平均池化层,得到池化时空特征其中h、w、c、t分别为池化时空特征的高度维度、宽度维度、通道维度、时序维度;
(2-3)对池化时空特征的高度维度和宽度维度分别以L×L和S×S尺度进行特征分块操作,并将各个块的特征通过线性嵌入层映射,得到第t时刻第p块的大尺度块特征向量和小尺度块特征向量D表示特征向量的维度,L和S为分块尺度大小,L=γS,γ>0为尺度倍数;
将两种块特征向量分别进行拼接,得到大尺度时空特征矩阵和小尺度时空特征矩阵[·,…,·]表示拼接操作;其中,大尺度空间特征分块总数小尺度空间特征分块总数输出双尺度时空特征表示{Xl,Xs}。
更进一步,步骤(3)具体是:
(3-1)时空分块互注意力编码器由R个时空分块互注意力模块串连组成,每个时空分块互注意力模块均由时空块生成子模块、时空注意力子模块和尺度互注意力子模块构成;输入为双尺度时空特征表示{Xl,Xs};
(3-2)第r个时空分块互注意力模块输入的双尺度时空特征张量其中,输入的大尺度时空特征矩阵输入的小尺度时空特征矩阵 和为大尺度分类向量和小尺度分类向量;
第r个时空分块互注意力模块输出的双尺度互注意力特征张量其中,输出的大尺度互注意力特征矩阵输出的小尺度互注意力特征矩阵 和为输出的大尺度分类向量和小尺度分类向量,和为输出的大尺度时空特征矩阵和小尺度时空特征矩阵;
当r=1时,输入的大尺度时空特征矩阵输入的小尺度时空特征矩阵大尺度分类向量和小尺度分类向量由随机初始化获得;
当R≥r>1时,输入的双尺度时空特征张量为上一个时空分块互注意力模块输出的双尺度互注意力特征张量即
时空分块互注意力编码器的输出为第R个时空分块互注意力模块的输出中的双尺度分类向量与
(3-3)第r个双尺度时空分块互注意力模块的时空块生成子模块将输入的中的Zr,l和Zr,s分别重组至统一尺寸的大尺度特征映射和小尺度特征映射其中,高度维度宽度维度
按照高度维度hr、宽度维度wr、时间维度tr将进行时空分块,得到第r组大尺度时空块特征张量其中j为大尺度时空块的索引下标,Qr为第r组大尺度时空块的总数,满足条件:且第r组时空块的尺度大小均为第r-1组时空块的λ倍,λ>0,即r≥2:
然后将进行维度变换,得到大尺度时空块的时空特征矩阵其中大尺度时空块的空间特征分块总数nl=hrwr;
将与拼接,得到更新后的第r组第j块大尺度时空块特征张量元素
相同操作,得到更新后的小尺度时空块特征张量元素其中小尺度时空块的空间特征分块总数ns=hrwrγ2;
获得第r组双尺度时空块特征张量与
(3-4)第r个双尺度时空分块互注意力模块的时空注意力子模块的输入为时空块生成子模块的输出的和将第r组第j个大尺度时空块特征张量元素进行线性映射得到其在每个注意力头的查询矩阵键矩阵和值矩阵其中,注意力头序号a=1,…,A,A为注意力头总数,映射矩阵内每个向量的维度计算其对应的多头时空自注意力权重特征 其中Softmax(·)为归一化指数函数;
使用可学习参数和残差结构计算得到该大尺度时空块时空注意力特征矩阵
将分解获得更新后的大尺度时空块分类向量和大尺度时空块时空特征矩阵MLP(·)表示多层感知机,LN(·)表示层归一化;
相同操作,得到小尺度时空块时空注意力特征矩阵
由此获得第r组双尺度时空块时空注意力特征张量和
(3-5)第r个双尺度时空分块互注意力模块的尺度互注意力子模块的输入为时空注意力子模块的输出和其中,第r组第j个双尺度时空块分类向量为和双尺度时空块时空特征矩阵为与
将大尺度时空块分类向量进行线性映射,得到其查询向量将大尺度时空块分类向量与小尺度时空块时空特征矩阵进行线性映射得到其键矩阵和值矩阵计算多头时空自注意力权重特征
使用可学习参数和残差结构计算得到更新后的大尺度时空块分类向量
由此获得第r组所有大尺度时空块分类向量将其进行线性映射得到更新后的大尺度分类向量
将第r组所有大尺度时空块时空特征矩阵拼接,得到大尺度时空特征矩阵将其与大尺度分类向量拼接,得到大尺度互注意力特征矩阵
相同操作,得到小尺度分类向量和小尺度互注意力特征矩阵
第r个时空分块互注意力模块输出为双尺度互注意力特征张量
又进一步,步骤(4)具体是:
(4-1)课堂动作分类模块的输入为双尺度时空分块互注意力编码器输出的双尺度分类向量和利用多层感知机分别计算学生动作所属动作类别的大尺度得分向量和小尺度得分向量
(4-2)输出动作类别概率向量
还进一步,步骤(5)具体是:
(5-1)由上述步骤(2)的双尺度特征嵌入模块、步骤(3)的双尺度时空分块互注意力编码器与步骤(4)的动作分类模块构成动作识别模型
(5-2)动作识别模型的输入为学生动作视频帧序列V,由双尺度特征嵌入模块计算输出双尺度时空特征矩阵Xl和Xs,将双尺度时空特征矩阵输入至双尺度时空分块互注意力编码器,输出双尺度分类向量和将双尺度分类向量输入至动作分类模块,输出学生动作所属动作类别的概率向量;
(5-3)迭代训练动作识别模型直至模型收敛:设定动作识别模型的损失函数为交叉熵损失利用随机梯度下降算法优化动作识别模型,通过反向梯度传播更新模型参数直至损失收敛;其中yb为学生动作属于动作类别b的概率,为真实标记,若课堂学生视频的动作类别属于b,否则
再进一步,步骤(6)具体是:
(6-1)将标有学生位置边界框的高清课堂学生图像数据集输入在COCO2017数据集上预训练的目标检测模型YOLOv5,迭代训练该模型直至模型收敛,获得目标检测模型
(6-2)对于新的课堂学生视频,利用(1-1)获得其视频帧序列,将首帧图像输入目标检测模型得到每位学生的位置边界框,利用(1-2)获得每位学生的动作视频帧序列 其中,φ为学生序号,χ为学生总数,表示第φ个学生帧序列中第i幅高为H宽为W的RGB三通道图像;
(6-3)将每个学生的动作视频帧序列输入至步骤(5)中训练得到的动作识别模型中,得到第φ个学生的动作类别概率向量并将最大概率值对应的动作类别b′作为学生动作所属的类别,b′=argmax(yφ),其中argmax(·)为向量中最大元素的索引。
本发明方法利用双尺度时空分块互注意力编码器对学生视频中的学生动作进行识别,该方法具有以下几个特点:1)不同于已有方法只针对线下或线上课堂进行设计,本发明方法先利用目标检测模型获得学生动作帧序列,再进一步识别每个学生的动作类别,能够通用于线下课堂与线上课堂应用场景;2)不同于现有方法在每步特征提取时计算所有视频帧分块的时空注意力,本发明方法使用时空块生成子模块与时空注意力子模块提取多组时空块内的时空特征,以实现局部时空特征信息交换并大幅降低了计算开销;3)本发明方法使用两种不同大小尺度对视频帧进行分块,并结合尺度互注意力子模块,能够更好地提取视频中不同尺度个体学生画面的动作信息。
本发明方法适用于在多个学生参与且个体学生画面尺度不同的课堂复杂场景下的动作识别,有益效果包括:1)统一了线下课堂与线上课堂的动作识别方法,降低了将动作识别方法部署应用于两种课堂的技术成本;2)通过时空块生成子模块与时空注意力子模块对多个不同时空区域提取特征,充分考虑了时空特征的局部特性,以获得更准确的识别类别并提高计算效率;3)通过尺度互注意力子模块对不同尺度个体学生画面进行学习,充分融合两种尺度分块下的时空特征,获得更优的识别性能。本发明所具有的局部时空特征学习能力与捕获不同尺度个体学生画面空间特征能力,可提高课堂授课监督、自修课管理、无人监考等实际应用场景中的学生动作识别率。
附图说明
图1是本发明方法的流程图。
具体实施方式
以下结合附图对本发明作进一步说明。
基于双尺度时空分块互注意力的课堂动作识别方法,首先对课堂学生视频采样获得其视频帧序列并利用目标检测模型获得每位学生位置边界框,进一步截取边界框内帧图像获得学生动作视频帧序列,然后构建由双尺度特征嵌入模块、时空分块互注意力编码器、课堂动作分类模块组成的动作识别模型,最后利用动作识别模型判断学生动作的类别。该方法利用目标检测模型获得学生动作帧序列以进一步识别动作能通用于线下课堂与线上课堂,使用时空块生成子模块与时空注意力子模块提取多组时空块的时空特征以实现局部时空特征信息交换,利用两种分块尺度与尺度互注意力子模块捕获不同尺度的动作信息以适应学生画面尺度不同的情况。通过这种方式构建的课堂动作识别系统能够统一部署应用于两种课堂,同时更有效提取学生动作视频帧的时空信息和更高效地识别学生动作类别。
如图1,该方法首先获取高清课堂学生视频数据,然后进行如下操作:
步骤(1)对高清课堂学生视频数据进行预处理,得到学生动作视频帧序列;具体是:
(1-1)对每个线上或线下的高清课堂学生视频,以每秒25帧的采样率处理为相应的视频帧序列,以一分钟1500帧为时间间隔,将高清课堂学生视频帧中的学生位置边界框进行标注,获得高清课堂学生图像数据集;
(1-2)对每个学生位置边界框,使用OpenCV的矩阵索引方法截取边界框区域内的60k帧图像,并将高和宽缩放至相同分辨率,得到学生动作视频帧序列 为实数域,动作的类别序号为b,b=1,…B,B为动作类别总数,fi表示帧序列中第i幅高为H、宽为W的RGB三通道图像,T为总帧数,即T=1500。
步骤(2)构建双尺度特征嵌入模块,输入为学生动作视频帧序列,输出为双尺度时空特征表示;具体是:
(2-1)双尺度特征嵌入模块由三维卷积层、三维平均池化层、特征分块操作以及线性嵌入层构成;
(2-2)将学生动作视频帧序列V输入至三维卷积层得到时空特征,然后将时空特征放入至三维平均池化层,得到池化时空特征其中h、w、c、t分别为池化时空特征的高度维度、宽度维度、通道维度、时序维度;
(2-3)对池化时空特征的高度维度和宽度维度分别以L×L和S×S尺度进行特征分块操作,并将各个块的特征通过线性嵌入层映射,得到第t时刻第p块的大尺度块特征向量和小尺度块特征向量D表示特征向量的维度,L和S为分块尺度大小,L=γS,γ>0为尺度倍数;
将两种块特征向量分别进行拼接,得到大尺度时空特征矩阵和小尺度时空特征矩阵[·,…,·]表示拼接操作;其中,大尺度空间特征分块总数小尺度空间特征分块总数输出双尺度时空特征表示{Xl,Xs}。
步骤(3)构建时空分块互注意力编码器,输入为双尺度时空特征表示,输出为双尺度分类向量;具体是:
(3-1)时空分块互注意力编码器由R个时空分块互注意力模块串连组成,每个时空分块互注意力模块均由时空块生成子模块、时空注意力子模块和尺度互注意力子模块构成;输入为双尺度时空特征表示{Xl,Xs};
(3-2)第r个时空分块互注意力模块输入的双尺度时空特征张量其中,输入的大尺度时空特征矩阵输入的小尺度时空特征矩阵 和为大尺度分类向量和小尺度分类向量;
第r个时空分块互注意力模块输出的双尺度互注意力特征张量其中,输出的大尺度互注意力特征矩阵输出的小尺度互注意力特征矩阵 和为输出的大尺度分类向量和小尺度分类向量,和为输出的大尺度时空特征矩阵和小尺度时空特征矩阵;
当r=1时,输入的大尺度时空特征矩阵输入的小尺度时空特征矩阵大尺度分类向量和小尺度分类向量由随机初始化获得;
当R≥r>1时,输入的双尺度时空特征张量为上一个时空分块互注意力模块输出的双尺度互注意力特征张量即
时空分块互注意力编码器的输出为第R个时空分块互注意力模块的输出中的双尺度分类向量与
(3-3)第r个双尺度时空分块互注意力模块的时空块生成子模块将输入的中的Zr,l和Zr,s分别重组至统一尺寸的大尺度特征映射和小尺度特征映射其中,高度维度宽度维度
按照高度维度hr、宽度维度wr、时间维度tr将进行时空分块,得到第r组大尺度时空块特征张量其中j为大尺度时空块的索引下标,Qr为第r组大尺度时空块的总数,满足条件:且第r组时空块的尺度大小均为第r-1组时空块的λ倍,λ>0,即r≥2:
然后将进行维度变换,得到大尺度时空块的时空特征矩阵其中大尺度时空块的空间特征分块总数nl=hrwr;
将与拼接,得到更新后的第r组第j块大尺度时空块特征张量元素
相同操作,得到更新后的小尺度时空块特征张量元素其中小尺度时空块的空间特征分块总数ns=hrwrγ2;
获得第r组双尺度时空块特征张量与
(3-4)第r个双尺度时空分块互注意力模块的时空注意力子模块的输入为时空块生成子模块的输出的和将第r组第j个大尺度时空块特征张量元素进行线性映射得到其在每个注意力头的查询矩阵键矩阵和值矩阵其中,注意力头序号a=1,…,A,A为注意力头总数,映射矩阵内每个向量的维度计算其对应的多头时空自注意力权重特征 其中Softmax(·)为归一化指数函数;
使用可学习参数和残差结构计算得到该大尺度时空块时空注意力特征矩阵
将分解获得更新后的大尺度时空块分类向量和大尺度时空块时空特征矩阵MLP(·)表示多层感知机,LN(·)表示层归一化;
相同操作,得到小尺度时空块时空注意力特征矩阵
由此获得第r组双尺度时空块时空注意力特征张量和
(3-5)第r个双尺度时空分块互注意力模块的尺度互注意力子模块的输入为时空注意力子模块的输出和其中,第r组第j个双尺度时空块分类向量为和双尺度时空块时空特征矩阵为与
将大尺度时空块分类向量进行线性映射,得到其查询向量将大尺度时空块分类向量与小尺度时空块时空特征矩阵进行线性映射得到其键矩阵和值矩阵计算多头时空自注意力权重特征
使用可学习参数和残差结构计算得到更新后的大尺度时空块分类向量
由此获得第r组所有大尺度时空块分类向量将其进行线性映射得到更新后的大尺度分类向量
将第r组所有大尺度时空块时空特征矩阵拼接,得到大尺度时空特征矩阵将其与大尺度分类向量拼接,得到大尺度互注意力特征矩阵
相同操作,得到小尺度分类向量和小尺度互注意力特征矩阵
第r个时空分块互注意力模块输出为双尺度互注意力特征张量
步骤(4)构建课堂动作分类模块,输入为双尺度分类向量,输出为动作类别概率向量;具体是:
(4-1)课堂动作分类模块的输入为双尺度时空分块互注意力编码器输出的双尺度分类向量和利用多层感知机分别计算学生动作所属动作类别的大尺度得分向量和小尺度得分向量
(4-2)输出动作类别概率向量
步骤(5)对由双尺度特征嵌入模块、时空分块互注意力编码器、课堂动作分类模块组成的动作识别模型进行迭代训练,直至模型收敛;具体是:
(5-1)由上述步骤(2)的双尺度特征嵌入模块、步骤(3)的双尺度时空分块互注意力编码器与步骤(4)的动作分类模块构成动作识别模型
(5-2)动作识别模型的输入为学生动作视频帧序列V,由双尺度特征嵌入模块计算输出双尺度时空特征矩阵Xl和Xs,将双尺度时空特征矩阵输入至双尺度时空分块互注意力编码器,输出双尺度分类向量和将双尺度分类向量输入至动作分类模块,输出学生动作所属动作类别的概率向量;
(5-3)迭代训练动作识别模型直至模型收敛:设定动作识别模型的损失函数为交叉熵损失利用随机梯度下降算法优化动作识别模型,通过反向梯度传播更新模型参数直至损失收敛;其中yb为学生动作属于动作类别b的概率,为真实标记,若课堂学生视频的动作类别属于b,否则
步骤(6)对新的课堂学生视频进行预处理,先将首帧图像输入预训练的目标检测模型,得到学生边界框并据此获得相应视频帧序列,然后将其输入已训练好的动作识别模型,最终输出学生动作的类别;具体是:
(6-1)将标有学生位置边界框的高清课堂学生图像数据集输入在现有的COCO2017数据集上预训练的开源目标检测模型YOLOv5,迭代训练该模型直至模型收敛,获得目标检测模型
(6-2)对于新的课堂学生视频,利用(1-1)获得其视频帧序列,将首帧图像输入目标检测模型得到每位学生的位置边界框,利用(1-2)获得每位学生的动作视频帧序列 其中,φ为学生序号,χ为学生总数,表示第φ个学生帧序列中第i幅高为H宽为W的RGB三通道图像;
(6-3)将每个学生的动作视频帧序列输入至步骤(5)中训练得到的动作识别模型中,得到第φ个学生的动作类别概率向量并将最大概率值对应的动作类别b′作为学生动作所属的类别,b′=argmax(yφ),其中argmax(·)为向量中最大元素的索引。
本实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种三维人脸识别的生成方法及相关装置