用于视频行为识别的高效二维时序建模网络
2023-02-14栗志磊施智平张永康
栗志磊,李 俊,施智平,姜 那,张永康
首都师范大学 信息工程学院,北京 100089
目前,基于深度学习的行为识别方法已经取得了比较优异的成果[1-4],但是随着计算机应用技术的发展,为了达到可用的程度,对视频理解精确度和效率的要求越来越高。如今,图像分类任务的精度已经达到了饱和,应用也充斥着生活中的方方面面。不同于图像分类任务,视频行为识别多了一个时间维度,虽然图像中的视觉外观对于行为识别任务也非常重要,但是目前行为识别最大的瓶颈在于时序信息上的建模。时序建模一般又分为短期时序建模和长期时序建模,短期时序建模即通过较短时间内的几个相邻帧进行时序建模,而长期时序建模则注重于利用跨越在整个视频帧序列的若干帧进行信息聚合和时序建模。在深度学习非常流行的现在,有一系列利用深度学习从长短期时序建模的角度出发的深度学习网络[5-8]。然而,依然存在一系列问题,比如计算冗余度过高,或者不能很好地利用帧与帧之间的运动变化。
对于短期时序建模,目前常用的方法[2,9]是先利用帧序列上的时序信息提取光流[10],用光流来表示短期运动变化。然后将提取到的光流和帧序列分别送入一种双流架构网络,对提取的光流和帧序列分别处理,再合并两条分支处理的结果后进行行为分类。使用光流将具有很大的计算代价,且计算后需要保存的光流文件也是一笔很大的存储开销。针对以上问题,提出了一种简单有效的解决办法,即运动增强模块(motion enhancement module,MEM),在网络中使用相邻帧之间的RGB差异来表示运动特征的变化,避免使用光流进行短期时序建模。在此模块中,通过相邻帧的差异信息,获取一系列的注意力参数,通过此参数来加强原始特征中和运动更加相关的特征,使网络在输出结果时更加关注运动主体的信息。
对于长期时序建模,首先比较常用的方法多基于3DCNN[11-12],在空间建模的同时在时序维度上进行建模,这种策略通过堆叠若干个3D卷积,随着网络的加深,可以对时序上较远距离的帧进行建模。3D卷积虽然可以简单地进行时序聚集,但是同样存在着优化困难和计算量太大的问题,且时序建模和空间建模同时进行,也会对空间建模造成一定的不利影响。也有基于2DCNN为骨干的网络,通过2DCNN对空间信息进行建模,在时序维度上采用简单的池化策略去聚合帧序列[9,13],这种策略很容易导致时序信息的丢失或者混淆。针对以上问题,提出了一种不使用3DCNN,使用2DCNN的时序聚集模块(temporal gathering model,TGM)进行长期的时序建模。本文的模块TGM在网络深层利用时序上移动部分通道的思想[14],来实现时序上的信息交换。
综上所述,提出了一种基于2DCNN的行为识别网络,且避免使用光流,其中主要包含运动增强模块MEM和时序聚集模块TGM,由于模块的轻量化,它们可以简单地插入到其他骨干网络中,本文主要使用resnet[15]为骨干网络。本文的贡献可以归纳如下:
(1)提出运动增强模块MEM,通过相邻帧的差异信息来增强运动特征以进行短期时间建模。
(2)提出在网络后期使用的时序聚集模块TGM,通过在网络的后期聚集时序上的信息来对特征进行长期时序建模。
(3)整合整个网络的设计,并在HMDB51、UCF101、Something-Something V1数据集上进行了大量的实验,验证提出模块的有效性。
1 相关研究
随着深度学习方法的发展,在基于图像的识别任务上深度学习方法也取得了巨大的成功,一些学者开始考虑是否可以在视频识别的领域也使用深度学习的方法[16-17]。发展到如今主要分为如下几种方法:(1)基于双流的方法[2,9],通过提前计算好的光流信息和原始帧序列分别送入双流网络并提取空间特征和运动特征,最后根据提取的两种特征进行行为分类。这类方法往往仅考虑到短期时序建模,难以进行时序聚集。(2)基于3DCNN的方法[9,18-20],这类方法将通常的2D卷积扩展到3D,添加时间维度,在对帧序列进行空间建模的同时进行时序建模。(3)使用LSTM[21]的方法,这类方法通常使用2DCNN提取空间特征,然后再用LSTM对提取的特征进行时序聚合。(4)基于骨架信息的方法[22],这类方法先是提取运动主体的骨架信息,再根据骨架信息进行行为分类。(5)基于2DCNN的方法[13,23],这类方法区别于其他方法,主要通过传统的2D卷积获取特征以及分类。相对于3D卷积同时处理三个维度,因为2D卷积在处理特征时一般只处理空间的两个维度,所以2D网络计算复杂度明显优于3D网络。最近,因为追求轻量级框架,基于2DCNN的方法变得热门起来,首先是TSN[9]中提出直接将帧序列输入到网络中,提取特征的过程中没有时序上的交互,最后进行分类时再将所有提取的特征通过时序上的平均池化来总结时序信息。然后是TSM[14],TSM使用简单的方法解决了2DCNN难以进行时序聚集的问题,它通过在时序上移动部分通道来进行帧序列之间的信息交换,以让2DCNN网络拥有时序建模的能力。再就是TEI[24],它之中的TIM方法继承TSM的思想,使用1D卷积来实现时序通道移位的思想。TAM[25]通过时序上的信息来生成时序上通道融合的权重,这样就可以使权重不再固定,不同的视频采用不同的融合策略。后续也有部分工作[26-27]在通道移位策略的基础上设计新的工作,本文的工作也是受到时序上通道移位策略的启发,提出了新的时序聚集方法。在内容识别领域,注意力机制广泛地应用于各种深度学习任务上,其主要思想就是通过学习到的注意力权重来增强特征中的部分信息,使网络能够更加关注有用的信息,这种方法仅使用很少的额外参数就能够让网络得到不错的性能提升。首先是SENet[28],它通过本身特征中通道之间的关系来学习一组通道注意力权重,通过这组权重来加强原始特征中更加重要的通道。然后是Coordinate Attention[29],它在SENet通道注意力的基础上精确到了空间的两个方向上,生成一对方向感知的注意力图。本文的方法也利用到了注意力机制,与这些方法不同,利用相邻帧的差异信息所表示的运动特征来增强原始特征中的运动敏感特征,很好地加强了网络通过时序信息对运动特征的建模能力。
2 本文方法
在本章中将详细地介绍网络结构设计和模块设计。网络总体结构如图1所示,总体以resnet50做为骨干网络,图中7×7 conv为resnet50中的7×7 2D卷积,layer1、2、3、4皆为若干个改进之后的残差块的堆叠。在输入的处理上,使用TSN[9]提出的帧序列稀疏采样的策略,具体做法就是将视频分为T段,再从每段中随机取一帧,将稀疏采样后的帧序列做为网络的输入。在网络的全部resnet残差块中,插入运动增强模块MEM,通过相邻帧之间的特征差异来强化本地的运动特征。然后在网络的layer3、4中,、在resnet残差块中相应位置插入时序聚集模块TGM,如图1下方所示。因为帧序列的每一帧中都对时序信息进行了建模,网络在最后会为每一帧都给出一个预测结果,然后再对每帧得出的结果做一个平均,得出最终分类结果。
图1 基于2DCNN的时序建模网络框架Fig.1 Temporal modeling network framework based on 2DCNN
2.1 运动增强模块MEM
MEM模块的结构如图2左所示。在原始的视频帧序列中,相邻帧的差异很小,如果将所有帧都输入到网络中,将产生十分大的计算量,性能十分低下,所以采用稀疏采样的策略,这样做是有道理的,就像在看连环画时,虽然相邻画的差距比较大,但是依然能够看懂连环画的内容。为了能够让帧序列除了能捕获外观信息外也能够捕获本地的运动信息,通过相邻帧之间的差异信息来增强本地的运动相关信息,让网络能够了解空间信息中的哪部分会产生运动。模块的输入为帧序列特征X,它的维度形状是[N,T,C,H,W],其中N就是一次同时处理的视频数量,T为稀疏采样后帧序列的尺寸,C为特征通道,H和W分别为每帧的长和宽。首先特征会经过一个1×1的2D卷积:
图2 运动增强模块MEM和Coordinate Attention结构图Fig.2 Motion enhancement module(MEM)and coordinate attention structure diagram
其中,Convred为1×1 2D卷积,这里的功能是通道数下采样,减少后续计算量。a为缩小的倍数,根据通常的经验,将其设置为16,Xa为通道下采样后的特征。
特征X经过通道下采样后,将时序上的帧序列特征分为T和T+1,进行帧间差,在做差前会在T+1的特征上使用3×3的分组卷积,使用单通道卷积核对每个通道单独处理,对特征进行空间平滑后再与原特征做减法,具体的公式如下所示:
其中,Convenev表示单通道卷积,用于空间平滑。Xta[1:]表示特征Xa的第二帧到最后一帧,Xta[:-1]表示特征Xa的第一帧到倒数第二帧。D表示完成相减后的帧间差特征。
在得到帧间差异所表示的的特征后,将特征分别在H和W上使用平均池化策略,在空间的两个方向上聚集时空信息:
其中,AvgpoolH为在H方向上做平均池化操作,AvgpoolW为在W方向上做平均池化操作,DW为在H方向总结了空间信息的特征,DH为在W方向总结了空间信息的特征。
然后将两个方向上的特征使用1×1卷积恢复到原来的通道数,再使用sigmoid激活函数将输出控制在[0,1]之间,作为最终的注意力系数:
其中,Convincr为1×1输出通道数为C的卷积操作,AW∈RN×T×C×1×W和AH∈RN×T×C×H×1为最终得到的两个方向上的注意力系数,μ为设置的超参,这里根据经验,设置为0.5。
最后将得到的注意力系数作用在原始特征上,以加强运动相关特征:
通过相乘再相加的方式可以很好地激活原始特征中的运动特征,让网络能够更加关注运动相关特征而非背景特征,之所以没有采用直接相乘的方式,是因为直接相乘的方式会让特征只保留运动相关信息,而忽略背景信息,对于行为识别,背景特征同样也非常的重要,例如上楼梯这种行为,背景同样是至关重要的信息。
运动特征增强模块MEM以帧与帧之间的信息差异来获取运动相关的注意力系数,获取的方式参考自Coordinate Attention[29],它的主要结构如图2右所示,它在原始特征上分别沿两个空间方向通过空间池化聚合特征,然后使用两个1×1 2D卷积,分别进行通道下采样和通道上采样两个变换来学习注意力系数。它将注意力系数分为空间的两个方向,允许注意力模块捕捉到沿着一个空间方向的长期依赖关系,并保存沿着另一个空间方向的精确位置信息,这有助于网络更准确地定位感兴趣的目标得到一对方向感知的特征图。与它不同的是,首先输入上多一个维度T,将通道下采样操作放到模块最开始的位置以减少后续的计算量,然后通过帧间差异所表示的运动相关信息来获得原始特征中的运动相关注意力图而非根据原始特征学习注意力图,让网络能够有效地定位原始特征中的运动相关特征,增强网络的运动感知力。
2.2 时序聚集模块TGM
虽然MEM模块可以让网络能够对本地段的运动信息进行建模,让网络能够更加关注运动主体的相关信息,但是它不具备聚集时序上信息的能力,且MEM模块在时序上的表示是非常有限的,不能探索更加远程的时序信息。据此设计了TGM模块,通过1×1的2D卷积来聚集时序信息,让每一帧都具有观察时序上其他帧的能力。
TGM模块如图3所示,图中以采样帧数T为4为例。首先将输入的特征X中的T维度和C维度换维处理,以便后续的处理:
图3 时序聚集模块TGM结构图Fig.3 Temporal gathering model(TGM)structure diagram
X∈RT×C×H×W为输入特征,Xr∈RC×T×H×W为换维处理后的特征。
换维的主要目的就是想要在时序T上使用卷积来分通道的融合时序信息。然后将换维后的特征向量使用设置好的2D 1×1卷积在T维度上进行处理。因为2D卷积除了维度N以外,输入维度数为3,且分别处理每帧将非常麻烦,为了处理方便,在实际操作中将T维度和C维度叠加在一起,然后把2D卷积设置为分组卷积,分为C组,以达到同时处理的效果,公式如下:
在使用2D卷积融合时序特征时,采用TSM的时序上通道移位的思想来初始化2D卷积的参数,让2D卷积能够完成时序上通道移位的效果。如图3右所示,以T=4为例,每组卷积核有四个,将卷积核参数的初始化方式分为三种:
(1)后移卷积核组,将通道上的信息在时序上后移,将前1/8组卷积核的参数设置为后移的方式:
(2)前移卷积核组将通道上的信息在时序上前移,1/8到2/8的卷积核组设置为前移卷积核组:
(3)不移卷积核组,处理前后保持不变,剩余的所有卷积核组设置为不移卷积核组:
其中,W为2D卷积的参数,C为通道数,将2D卷积的卷积核分为了C组。因为这里以时序T=4为例,所以每个卷积核的参数有4个,每一竖排为一个卷积核的参数。
在进行了时序聚合之后,再将特征恢复到原来的维度形状:
其中,Y为整个模块的输出。
如公式(14)所示,TSM直接采用固定不可学习的策略,即规定一部分通道在时序上左移,一部分右移,一部分保留,实现方法也较为简单,通过一次移动操作,可以获取相邻上下帧的信息,所以时序感受野为相邻帧。时序聚集模块TGM以TSM的思想为基础从不可学习的时序上通道移位策略到利用2D卷积在时序上处理信息,变为可学习的时序上通道融合,时序感受野也从原来的局部变成了全局,获取相邻帧信息的同时,通过参数的学习,可以选择性地获取较远距离帧的信息,且采用这种初始化方式可以在保留原始特征的基础上去融合时序上的信息,避免了对原始特征空间建模的破坏。且TGM模块的核心是一个1×1的2D分组卷积,具有低计算开销的特点,保证了网络的轻量性。在后续实验章节将证明TGM模块的有效性。
这里的X∈RH×W×T×C和Y∈RH×W×T×C分别表示TSM模块的输入和输出。
3 实验
3.1 数据集介绍
使用数据集是验证深度学习方法的常规手段。在UCF101[30]、HMDB51[31]和Something-Something V1[32]三个行为识别数据集上评估本文的模型,验证其有效性。其中UCF101包含101个人类行为类别,13 320个从互联网上收集然后标记好的视频剪辑。HMDB51从各种来源中提取,包括电影和在线视频,它包含6 766个视频,其中有51个行为类别。Something-Something V1数据集是个比较大型的数据集,它带有行为标签,记录了人类与日常生活中的一些物体之间的交互,动作的类别分为174类,一共有108 499个视频剪辑片段,每个片段的时常都在2~6 s之间。这三个数据集都是当下行为识别任务中流行的数据集。
3.2 实验配置
使用resnet50[15]做为骨干网络,其中加入运动增强模块MEM和时序聚集模块TGM。在输入上,遵循稀疏采样策略,从原始帧序列分段提取8帧或者16帧,并采用与TSM相同的数据增强策略。先是把所有输入的空间维度都调整为256×256,然后使用中心裁剪再次调整为224×224。在一块内存为24 GB的GTX 3090显卡上完成实验,对于UCF101和HMDB51采用初始学习率为0.001,对于Something-Something V1,初始学习率为0.003,然后每经过一段时间,当精度达到饱和后,将学习率缩小10倍继续训练,经过三次缩小后再训练10个循环停止训练。
3.3 实验结果
在HMDB51的第一个分割上稀疏采样8帧做消融研究,实验结果如表1所示,其中“—”代表不使用,“√”代表使用。因为使用的骨干网络是resnet,可以很好地利用resnet在ImageNet数据集上训练好的参数来获得强大的空间建模能力。可以看到,仅使用骨干网络时的精度为50.3%,在单独加入MEM模块或者TGM模块后,精度分别提升到了53.5%和53.9%,相对于加入模块前都有着一定的提升。这代表着MEM模块在网络中加强特征中的运动相关信息和TGM时序聚集方法都对行为识别有着一定的意义。将两个模块都加入到骨干网络后,精度再此提升,提升了将近5%,说明两个模块作用互补,在空间建模以外,能够通过时序信息进行运动特征的建模。
表1 不同的配置在HMDB51上使用8帧的评估结果Table 1 Evaluation results of different configurations on HMDB51 using 8 frames
如表2所示,在网络的不同阶段使用HMDB51数据集对TGM实施了详细的实验,可以看出,在网络的后期使用时序聚集比在前期使用更加有效。在全部阶段使用TGM精度为53.8%,而在layer3和layer4两个阶段使用时,精度就可以达到最佳的53.9%,考虑到TGM模块时序感受野为全局,所以不需要大量地叠加TGM模块,且在网络的后期进行时序聚集的意义更大,选择在layer3~4阶段插入时序聚集模块。
表2 TGM在不同阶段的结果Table 2 Results of TGM at different stages
如表3所示,可以看到利用TSM中的时序通道移位思想去初始化TGM的参数与随机初始化参数的方式对比,前者可以取得更高的精度,这里也同样使用的是HMDB51数据集。正是在参数初始化上巧妙地利用到了TSM的思想,且取得了比TSM更加出色的效果。
表3 TGM不同初始化方式的结果Table 3 Results of different initialization methods of TGM
表4展示了本文的网络在HMDB51和UCF101数据集上与TSM的对比结果,其中resnet代表只使用resnet网络,在网络提取特征的过程中不进行时序上的信息交互和运动建模,特征提取完成后在时序上做平均池化操作,然后得出最终结果。可以看到resnet的8帧结果和16帧结果差距很小,因为它没有对时序信息进行建模,只考虑了空间信息,叠加再多帧,也只是通过背景信息进行行为分类。而TSM和本文网络在使用16帧时对比8帧都有着一定的提升,且本文的方法效果更好,显示出本文的网络拥有更好的时序建模能力。
表4 本文网络与TSM的对比结果Table 4 Results of proposed network compared to TSM
表5展示了本文方法在Something-Something V1数据集上与最新方法的比较,表中的第一栏显示了部分不同实验设置的方法,它们普遍用到了3DCNN,计算开销显著大于本文的模型。第二栏显示了几乎相同实验配置下与其他方法的比较,都使用了2D resnet为主要骨干网络,且将通过稀疏采样后的帧序列做为输入。可以看到本文的网络的效果优于大多现有方法,证明了所提出模块的有效性,为问题的解决提供了一种新的思路。
Table 5在Something V1上与其他方法的比较Table 5 Comparison with other methods on Something V1
表6显示了网络处理速度与TSM和一个3D网络的对比,其中vid/s表示以稀疏采样8帧,输入尺寸224×224为例,每秒处理的视频个数。可以看到I3D因为使用了3D网络所以速度明显慢于TSM和本文的网络,若再使用光流则多出一个网络来处理光流数据,速度又将慢出很多。可以看到本文网络的处理速度略慢于TSM,但是精度要优于它。
表6 在Something V1上的处理速度对比Table 6 Comparison of processing speed on Something V1
为了更好地验证所提出网络运动建模的有效性,使用Grad-Cam[38]可视化网络的效果,Grad-Cam可以显示出网络得出结果所关注的区域,以证明网络的有效性。如图4所示,第一行展示了撕裂物体动作的原始帧序列图,第二行展示了本文网络所关注的区域,可以看到所提出的方法让网络很好地关注到原始特征中运动相关的区域。
图4 Grad-Cam可视化图Fig.4 Grad-Cam visualization chart
4 结束语
本文针对2DCNN难以进行时序建模提出了解决的方法,主要用于视频行为识别。选择resnet为骨干网络,其中插入本文的运动增强模块MEM和时序聚集模块TGM,MEM通过相邻帧之间的差异信息来对本地的运动信息进行建模,让网络能够更加注重于本地的运动信息而非背景。TGM模块基于TSM的时序上通道移位思想实现了更好的时序聚集方法。且所提出的网络避免使用计算代价比较大的光流和3DCNN,实现了高效的时序建模。在实验章节通过消融实验和与其他方法的对比来验证了本文方法的有效性。