基于注意力机制和残差网络的视频行为识别

2023-04-21 13:25李建平赖永倩
计算机技术与发展 2023年4期
关键词:集上残差注意力

李建平,赖永倩

(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)

0 引 言

人体行为识别[1]指从一段视频中通过某种方法提取关键动作特征来识别出不同的人体动作。随着互联网的高速发展,人体动作识别仍是一项有挑战的课题。提取视频中的动作行为特征,可以利用视频帧图像处理、深度学习等方法,使得计算机能学习识别到人体动作的行为变化。行为识别研究在智能监控、智能医疗等领域都有广泛的应用。

早期行为识别中,由于技术限制,传统视频行为识别算法一般是通过手工构造提取特征,例如利用方向梯度直方图HOF/HOG[2],运动边界直方图MHB等传统的提取特征方法,但该类方法是根据特定目的设计的。Wang等人[3]根据光流场的原理,研究了一种用于视频运动轨迹的提取方法,即密集轨迹跟踪算法(DT)。经过对光流图像和特征编码方式等方面改造后形成iDT[4]算法,相比其他传统算法有很好的效果和鲁棒性。但随着技术发展,其他识别方法也涌现而出。

随着深度学习方法的出现,学者们也纷纷将其应用到视频中进行人体行为识别。在特征学习方面,它比传统的学习算法更有效。Simonyan K等人[5]提出一种融合时间和空间两个维度的双流卷积网络,但计算较复杂且无法实现端到端识别;Donahue等人[6]利用LSTM方法对视频序列进行建模,但由于模型复杂度高,导致最终的识别率也不是很高。Tran等人[7]首次介绍了利用三维卷积神经网络进行视频图像特征提取的方法,即C3D网络模型,但是参数量大导致训练周期长且易过拟合。Carreira等人[8]将双流法与三维卷积结合起来进行行为识别形成膨胀卷积网络模型(I3D)。为了克服深层网络易出现梯度消失的现象,He等[9]提出了二维残差网络的结构。随后Hara[10]又将二维残差结构扩展到了三维中形成3D Resnet模型,识别率也有所提高。Tran等[11]提出了伪3D残差(R(2+1)D)网络,将三维卷积转换成一维时序卷积和二维卷积相结合,用于视频中的时空行为特征的提取。

在众多视频行为识别模型中,双流法无法实现端到端的识别,利用C3D训练时间较长且效果不佳,且易发生过拟合。该文通过对比不同层数的残差网络最后选定ResNeXt101层残差网络。为了在降低建模复杂度的前提下,也能提高识别的准确率,该模型增加了注意力机制来增强特征表示和稳健性。首先,使用pytorch框架,在UCF-101和HMDB-51通用数据集上完成了对Kinetics预训练模型的训练和调试。其中,测试效果的评判主要包括识别率和损失函数值两个方面的综合考量。实验结果表明,ResNeXt 3维模型在保持较高识别率的同时,训练时间也缩短了很多。它具有良好的时间和空间特性提取能力,有利于后续模型的改进优化。

1 相关工作

1.1 3D卷积

传统的二维卷积神经网络仅能提取出空间尺度的特征,而不能将图像在时间尺度上的运动信息纳入考虑范围,也就是光流场,导致提取到的特征准确率不高。在视频行为识别中,既有时间维度的特征,又有空间维度的特征。2010年,Ji等[12]率先将三维卷积神经网络应用到了视频的人体行为识别领域。Tran等[7]经过一系列研究测试,将3*3*3选作最佳卷积核,形成C3D模型。但由于三维卷积结构参数量较多,容易出现过拟合导致识别效果不佳,这也限制了三维卷积网络的应用。

在处理视频数据时,将视频分割为若干连续的图像,来提取视频帧的特征。当输入的数据是视频流时,二维卷积只是对视频帧的空间维度进行二维卷积核(i*i),因此,辨识准确率很低。三维卷积就是把一个二维的卷积核变成i*i*i,在时空维度上对视频帧进行卷积核运算操作。保留输入信号的时间信息,通过将各特征映射与相邻多帧进行关联,得到视频中的运动信息。整个卷积层的计算公式如公式(1):

(1)

1.2 残差网络

2015年,何恺明等人[9]在ImageNet大型视觉辨识大赛上提出了残差网络,取得了良好的图片分类及目标识别效果。他克服了以前由于网络层过深造成的网络模型识别性能下降的问题,可以保持超深的网络结构,而且新提出了residual(残差)模块,通过跳跃连接来减轻因加大深度造成的梯度消失问题,并使用批量归一化进行加速训练,丢弃了以往的dropout模块。ResNet网络可以有效地防止传统的卷积神经网络在信息传输中出现的丢失和损失,从而确保了图像特征信息的完整性。

ResNeXt网络[13]是由Xie等前辈提出的,是ResNet在宽度上的扩充,该网络的基础结构是以VGG的叠加原理和Inception的split-transform-merge思想为基础,其拓展能力更强,可以确保模型的复杂性不会下降或者不会发生变化,并且模型的精确度也得到了改善。ResNeXt的中心思想是分组卷积,主要通过变化基数(Cardinality)来控制组的数量。简单来讲,组卷积就是每个分支生成的Feature Map的总通道数量为n。图1(a)显示了ResNet的网络结构,图1(b)是ResNeXt的网络结构。

如图1所示,左右结构复杂度大致相同。ResNeXt的残差模块主要包括了32个相同的分支,每个block图层主要包括输入的维度,卷积大小以及输出维度大小。首先通过1*1的卷积进行降维,再升维到3*3,然后在输出前再降维到1*1。之后对第三卷积层的输出进行聚合操作,如公式(2),得到整个残差块的输出。最后,将残差块和恒等捷径连接的输出聚合起来,聚合公式如公式(3)所示。

(a)ResNet残差块 (b) ResNeXt残差块,基数cardinality=32

(2)

(3)

1.3 注意力机制

DeepMind小组[14]首次将注意力机制应用于图像领域。就注意力机制的原理而言,通俗的理解就是将注意力放在重要的东西上。在图像领域,就是改变每个通道的权重来加强对重要信息的关注。使得网络模型提取到的特征更加全面,也能增强网络模型对特征信息的敏锐度。可视化注意力的中心理念是要找到原始数据和它自己的关联,进而突出自身的重要特征。

引入注意力机制后,可以对区域以外的重要特征进行更好的提取,在获得更全面特征信息的同时,也能减轻较低层次因感受野较小导致无法获得更多人体行为特征信息的问题。注意力机制模型主要包括通道注意力机制[15]与空间注意力机制(见图2)。引入注意力机制,保证了在不增加网络运算量的前提下,加重对某些特征的提取,从而提高了识别的准确率。

图2 注意力模块

因此,该文在视频识别中引入注意力机制,主要用于增强网络对行为特征提取的敏感度,使得网络提取特征模型能充分利用识别区域之外的上下文特征信息。着重解决了在网络层数较低的时候,因为感受野尺寸大小受限导致无法获得更多行为特征信息的问题。在对视频中人体行为识别的过程中,因为光照背景等因素的不确定,可能会导致识别目标不准确。因此,引入了注意力机制,通过给各个通道设置不同的权重,剔除掉了一些没有意义的信息,更加注重动作识别,增强对特定特征信息的提取效果。该文提出在ResNeXt残差模型中加入注意力机制,提高特征提取的效率,增强上下文的相关性,对行为识别有所侧重,使得提取效果更加明显。

2 基于注意力机制的残差3D卷积模型

首先,把原始的视频数据按照一定的方法截取为连续的视频图像帧,之后,对视频图像进行剪裁翻转、二值化、归一标准化、灰度化等一系列预处理操作。在数据集的处理中,按照7∶3的比例将其划分为训练集和测试集。之后把处理后的视频帧输入到嵌入注意力机制的ResNeXt残差模型,使网络更加重视有较强烈反馈的特性,提取时间和空间两个维度的特征,同时考虑到各个层面的不同特征,确保所有的特征信息都能被充分利用。最后,经过全局平均池化处理,对视频中的人体行为进行识别。

在整个网络模型训练过程中,设置每次的训练迭代次数为200次,批处理量为32。设定最初的学习率为0.001,每迭代50次后,其自动缩小为原来的1/10,直到训练结束。每迭代一次结束后都会直接进行一次校验,并分别记录验证集上的识别准确率和损失函数值,取最好的成绩作为模型评估的依据。

图3是该文所使用的残差模块的结构。所采用的卷积网络主体是由四个残差模块组成的ResNeXt 101残差网络。ResNeXt网络结构采用一个拓扑相同的平行块重叠起来,对数据包进行分组卷积,能保证不增加网络参数复杂度的同时有效提高网络的识别准确度。第一层和最后一层采用1*1*1的卷积核,从而减少了总的参数量。中间网络层用3*3*3的卷积核,F代表特征图中的通道数目,而group代表分组卷积的总组数,并将其划分为多个小特征图。每次卷积操作结束后,都会进行一系列批量归一化运算,以确保数据的平均分配,加速网络训练速度,避免过度拟合。除了最后一层的批量归一化操作外,其他的层会在归一标准化后加入RELU激活函数,在完成shortcut后,重新利用激活函数对数据进行处理。通常,在获得残差结果后,通过最大池化运算对数据进行压缩,并将其输入到下一层的网络中。

图3 三维残差模块

3 实验与分析

3.1 实验环境介绍

本次实验的软件环境为64位Ubuntu20.04操作系统,CUDA 11.6.1,CUDNN 11.1用于GPU加速的底层软件平台,编译软件为Pycharm,深度学习框架为PyTorch 1.11.1,Python版本为3.7.3。硬件环境为Intel(R) Core(TM) i7-4790 CPU @ 3.60 GHz,硬盘大小为1 024 GB,内存容量为12G。实验所用的显卡为GTX 1080 Ti。

3.2 数据集

3.2.1 UCF-101

UCF-101[16]是当下行为类别和样本数量最大的真实动作识别数据集之一,其视频数据主要是从YouTube收集的101个动作类型和13 320种视频。UCF-101是在不受约束的环境中录制并上传至YouTube,在相机的移动过程中,人体的姿势、观察角、背景遮挡、照明条件、帧图像质量等在不同条件下有很大的差别,所以数据相对来说具有多样性。其中101个动作类型又被分为25个系列,每个系列包括4~7个相关的视频录像,主要包括人与物的互动、人与人的交互、人体自身的行为、演奏乐器和做运动五种类别。其中动作包括:跳远、骑车、弹钢琴、写字、跳高等。但是,同一系列的视频也会有某些共性,比如背景、视角、照明条件等。部分动作帧如图4所示。

图4 UCF-101部分动作帧

3.2.2 HMDB-51

HMDB-51[17]是2011年Brown University大学公布的一个用于识别确定人的行为类型的数据集。这些视频是从各个渠道收集的,大部分都是从电影中找到的,也有一部分从公共数据库和YouTube之类的网络视频库里收集的。它共分为51个动作类别,每类包含至少有101个片段,总共含有6 849个视频片段。五种主要的动作行为有:一般的脸部行为、脸部操作、对象的行为、一般身体行为、肢体与对象的交互动作和人体自身姿势行为,例如吸烟、挥手、翻转、走路、击打等。部分动作帧如图5所示。

图5 HMDB-51部分动作示意图

3.3 视频数据预处理

在对视频进行网络训练前,视频预处理是提高数据质量和网络模型泛化程度的必要条件。首先,将视频数据转换为连续的视频帧图像,然后,在指定的位置上进行统一的图像采集,得到一系列的训练样本。如果输入的采样视频帧数少于16帧,则循环地插入开始帧,直至达到16帧的输入需求为止。接着,对所获取到的视频帧执行抖动(随机切割裁剪)操作,进行弱化数据噪声,增加模型稳定性。主要是:把视频画面从左上角按一定的规格开始裁剪10次,然后用同样的方式把它的右上、右下、左下和中间部分进行裁剪,将得到的帧做水平镜像处理。同时为了使模型有更好的鲁棒性,还实现了多尺度的视频帧空间分割,裁剪尺寸的比例分别为,在训练和测试样本上,将视频的时间和空间均按照1∶1的比例分割为240×240 的大小,并将其调节为112×112,以此来提高实验的训练速度,同时不会降低测量的准确率,最终单个样本输入的维度为16×3×112×112。对预处理后的视频帧数据归一化为(batch,3,16,112,112)的输入大小。其中,batch表示批量处理的尺寸大小,3表示图像通道数目,16表示连续而非交叠的图像帧数。

3.4 实验结果分析

该文利用Kinetics的预训练模型,实现在UCF-101和HMDB-51数据集上的迁移学习。随着迭代次数的增大,该模型的识别准确率逐渐提升,同时损失率也在下降。图6为该模型在UCF-101数据集上迭代100次的整个过程。在整个模型的训练过程中,每迭代一次结束后都会在验证集上进行一次校验。从图6可看出,在UCF-101数据集上迭代到60次之前,准确率整体增长趋势比较快,同时损失值的减少幅度较大。随着不断增加迭代次数,准确率和损失函数值的整体变化速度趋于平缓,并在训练60次左右时开始趋于稳定,最终该模型的准确率可达96.0%。

图6 该模型在UCF-101数据集上的迭代过程

(1)不同残差网络模型深度对实验的影响。

该文对ResNet101和ResNeXt34,50,101,152多个网络深度进行训练,在公共数据集UCF-101上进行对比实验。其中,将16个不重叠的连续视频帧作为训练的输入,并将ResNeXt50和ResNeXt101的输入视频帧数增至64帧,进行了对比实验。对于不同深度的模型,利用相同的目标样本训练更新顶层卷积层和分类层的权重参数,总的迭代次数均为200,将各模型的训练时间和验证集上的最大精准度作为评估模型的性能指标,结果如表1所示。

由表1可得,随着层数加深,准确率有所上升。而且视频帧的输入对结果也有很大影响。综合发现ResNeXt101层的网络结构准确率更好,同时也更加稳定。

(2)有无注意力机制的对比实验。

加入注意力机制后,加强对前后视频帧的关联,使得提取到的视频特征更加完全,具体实验结果如表2所示。经过多次实验迭代对比,并且不断调整注意力机制的权重大小,发现加入注意力机制后,UCF-101和HMDB-51数据集上的识别准确率都有明显的提升。在UCF-101数据集上和HMDB-51数据集上的识别准确率都提升了4.8%。由此可证明,加入注意力机制后,加深了对动作特征的提取,准确率有了明显的提升。

表2 有无注意力机制的准确率对比实验 %

(3)与其他模型的对比实验。

在UCF-101和HMDB-51两种典型数据集上将文中方法与其他的经典识别模型进行了比较。通过与改进后的密集轨迹iDT算法、双流法Two-Stream以及C3D算法三种传统算法,并且与最近两年利用残差网络进行人体识别的相关文献中的算法进行对比实验,结果如表3所示。由对比结果可知,该模型的识别准确率更高,泛化性更好。

表3 在UCF-101和HMDB-51数据集上的准确率P值对比 %

该文的主干网络ResNeXt101层网络模型与传统的网络模型(如iDT、Two-Stream、C3D)相比,ResNeXt101的实验精度更高,证明了该网络模型的表达能力较强。从图7中可明显看出,嵌入注意力机制的残差网络模型在UCF-101数据集上相比C3D和双流法分别提升了6%左右和8%左右,HMDB-51数据集上的准确率也比双流法提升了10%左右,证明了深层网络模型在行为识别任务中取得了不错的效果。

图7 各算法在UCF-101和HMDB-51数据集上的准确率

4 结束语

该文提出了一种融合注意力机制的残差三维网络模型用以识别视频中的人体行为。在当下较流行的行为识别数据集上,首先进行残差网络层数的对比实验,然后选定ResNeXt 101层作为该残差三维网络结构的残差块,保证了深层网络提高识别率的同时也避免发生过拟合。在此基础上,引入了注意力机制使残差3D卷积结构学习到的各个特征通道赋予不同的权重,加强对重要特征的提取。在UCF-101和HMDB-51两个数据集上,与其他算法,包括近两年的最新文献中的方法都进行了对比实验。实验表明,该模型能够很好地提取出连续视频帧的特征,并且注意力机制能够充分利用时间和空间特征,识别准确率也有了明显提升。在下一步工作中,也会继续对模型进行优化,考虑如何在尽可能减少模型参数的同时提升模型的运行效率,保证模型获得更好的效果。后续也会将优化后的模型应用于油田的实际工作环境下进行工人的异常行为识别,增强网络模型在实际生活场景下的特征学习能力。

猜你喜欢
集上残差注意力
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
基于残差学习的自适应无人机目标跟踪算法
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
基于递归残差网络的图像超分辨率重建
复扇形指标集上的分布混沌
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
平稳自相关过程的残差累积和控制图