行为识别论文笔记:Something about Temporal Reasoning

在视频的行为识别中,影响性能很重要的一点:就是模型能否提取出强有力的时间信息。虽然有的行为光从单张图像的空间特征就能大概判断出其中所包含的动作是什么,但是还是有很多动作需要从其随时间的变化才能准确判断出来。最近看了几篇关于视频中时间推理(Temproal Reasioning)的文章,这里顺便整理一下。

论文一:Temporal Relational Reasoning in Videos

时间关系推理是指连接物体或实体随时间有意义变化的能力。受启发于Relation Network,本文提出了一个时间关系网络(Temporal Relation Network ,TRN),用来在多时间尺度上学习并推理视频帧之间的时间依赖关系,该网络可以思想很简单,可以很容易的集成到现有的卷积神经网络中。

首先本文定义了时间关系(Temporal Relations)。给定一段视频V,选取n个有序的视频帧序列${f_1,f_2,…,f_n}$,则第$f_i$和$f_j$帧的关系定义如下:

其中函数$h\delta$和$g\theta$用于融合不同帧的特征,这里使用了简单的多层感知机(MLP)来实现。这里i和j的选取是随机的。将该2-frame的关系概念可以拓展到3-frame或者更多。

通过将不同时间维度的关系特征融合到一起,即可躲到多时间维度的时间关系,如下:

最后利用如下网络结构图进行训练和测试:

image-20180615101817238

输入一段视频,随机选2帧一组、3帧一组、4帧一组分别提取CNN特征,然后进行最后简单的相加融合,得到最终的检测结果

目前可以用来做时间关系推理的数据集有Something-Something, Jester, 和Charades。其中Something-Something是最近提出的数据集,主要是用于人-物体交互动作识别,里面有174类,比如:“Tearing Something into two pieces”、‘Tearing Something just a little bit’、‘Turn something upside down’以及 ‘Pretending to turn something upside down’。对于这些类别的识别需要很好的时间推理能力,单独通过空间特征时很难准确识别的。本文提出的方法在三个数据集上都能很好的发现视频中的时间关系,超过了许多其他原本做行为识别很好的方法,说明了本文方法的有效性。

论文二:A Closer Look at Spatiotemporal Convolutions for Action Recognition

这篇文章是CVPR 2018中关于行为识别的一篇文章。主要是利用2D和3D卷积层设计了不同的组合结构来进行视频中时间推理的研究。具体作者对比并设计了如下卷积残差块,所有如下结构都是残差网络结构,因此忽略掉了残差:

image-20180615101658111

  • R2D:在整个clip上运用2D卷积

    2D卷积忽略了视频中的时间顺序,将一个clip中的L帧类比于通道数。R2D网络中的第一个卷积层就已经将视频的整个时间维度信息折叠,这阻止了后续层中的任何时间推理。

  • f-R2D:在frames上运用2D卷积

    该网络结构将每个frame单独处理,对每个frame都运用同样的2D卷积核,而非将L个frame当成输入的通道数。在这种情况下,在卷积层中不进行时间建模,并且顶部的全局时空池化层简单地融合了L帧单独提取的信息。 因此将此架构变体称为f-R2D(基于帧的R2D)。

  • R3D:3D卷积

    3D CNN 保留了时间信息,并通过网络层传播。 张量$zi$在这种情况下是4D的,并且具有尺寸$N_i×L×H_i×W_i$,其中$N i$是在第i个块中使用的滤波器的数量。 每个滤波器都是四维的,它的大小为$N{i-1}×t×d×d$,其中t表示滤波器的时间尺度的范围(在本文中,使用t = 3)。 因为t <L,所以过滤器现在可以在3D中进行卷积,即在时间和空间维度上进行卷积。 图1(d)说明了这种CNN体系结构。

  • MCx和rMCx:混合3D-2D卷积

    本文的一个假设是运动(motion)或时间(temporal)建模(即3D卷积)可能对早期层特别有用,而在更高水平的语义抽象(后期层)中,运动或时间建模则不是必需的。因此,合理的体系结构可以从3D卷积开始并切换到在顶层使用2D卷积。

    由于在这项工作中本文考虑了具有5组卷积的3D ResNets(R3D)结构,我们的第一个变体是用2D卷积代替第5组中的所有3D卷积。我们用MC5(混合卷积)表示这个变体。我们设计了第二个变体,替换第4组和第5组中的3D卷积为2D卷积,并将该模型命名为MC4(意思是来自第4组,更深层的所有卷积都是2D)。遵循这种模式,我们还创建了MC3和MC2变体。我们忽略考虑MC1,因为它相当于fR2D。图1(b)说明了这种CNN体系结构。

    另一种假设是,时间建模可能在深层更有利,因为可以通过2D卷积提前捕获外观信息。为了说明这种可能性,我们还尝试了“反转”混合卷积。按照MC模型的命名约定,我们将这些模型表示为rMC2,rMC3,rMC4和rMC5。因此,rMC3将包括块1和块2中的2D卷积,以及组3和更深组中的3D卷积。图1(c)说明了这种CNN体系结构。

  • R(2+1)D:(2+1)D卷积

    另一种可能的理论是全3D卷积可以通过2D卷积+1D卷积来更方便地近似,将空间和时间建模分解成两个单独的步骤。 因此,本文设计了一个名为R(2 + 1)D的网络体系结构,其中我们用一个由$Mi$个尺度为$N{i-1}×1×d×d$ 的2D卷积核和$Ni$个尺度为$M_i×t×1×1$的时间卷积滤波器组成的(2 + 1)D块代替了$N_i$个大小为$N{i-1}×t×d×d$的三维卷积滤波器。超参数$M_i$确定信号在空间中投影的中间子空间的维数和时间卷积,具体如下。

    相比于3D卷积,(2+1)D分解有两个好处:

    • 第一:尽管没有改变参数的数量,但由于每个块中的2D和3D卷积之间的额外的ReLU,所以它使网络中非线性映射的数量增加了一倍。增加非线性的数量增加了可以表示的函数的复杂性,也如VGG网络[27]中指出的那样,通过应用多个更小的滤波器以及其间的附加非线性来逼近大滤波器的影响
    • 第二:将3D卷积强制划分为单独的空间和时间分量使得优化更容易。与具有相同容量的3D卷积网络相比,这表现在较低的训练误差上。对于相同数量的层(和参数),与R3D相比,R(2+1)D不仅产生更低的测试误差,而且还产生更低的训练误差。这表明当时空滤波器因式分解时优化变得更容易。这表明优化的便利性随着深度变大而增加。

本文我们提出的体系结构R(2+1)D实现了在Sports-1M,Kinetics,UCF101和HMDB51数据集上技术水平相当或更好的结果。希望能够激发新的网络设计,以利用时空卷积潜在的效能和建模的灵活性。