这是双流神经网络的改进版,接下来会出他的读书笔记。

摘要近年来,卷积神经网络(卷积神经网络)对视频中人类行为识别的应用提出了不同的解决方案,用于整合外观和运动信息。为了更好地利用时空信息,我们研究了许多在空间和时间上融合卷积塔的方法。我们得出以下结论:(i)空间和时间网络不在Softmax层融合,而是可以在一个卷积层融合,不会损失性能,而且在参数上有大量的节省;(ii)最好在最后一个卷积层而不是之前的层上(spatially)融合,而在类预测层上的融合可以提高精度;最后(iii)将抽象的卷积特征在时空上池化,进一步提高了性能。在这些研究的基础上,我们提出了一种新的用于视频片段时空融合的ConvNet体系结构,并对其在标准基准上的性能进行评估,该结构取得了最先进的结果。

1、介绍

视频中的动作识别是一项非常活跃的研究领域,而最先进的方法仍然远离人类的表现。与计算机视觉的其他领域一样,最近的工作主要集中在将卷积神经网络(ConvNets)应用到这项任务上,并在许多方面取得进展:学习局部时空过滤器[11, 28, 30],结合了光流片段[22],并对更长的时间序列进行建模[6, 17]。
       然而,ConvNets在行动识别领域中,还没有像在其他领域那样取得的显著进展,例如,图像分类 [12, 23, 27]、人脸识别[21]和人类姿势估计[29]。事实上,在诸如UCF-101和HMDB51[13]这样的标准基准测试中,当前的最先进的方法是由一种由卷积神经网络和一个手工特征的 Fisher Vector编码[20](如稠密轨迹[33]的 HOF [14] )结合的方法。

图1。 两流ConvNet模型[22]的前三个卷积层的示例输出。 这两个网络分别在一个精细的时间尺度上捕获空间(外观)和时间信息。 在本工作中,我们研究了在空间和时间上融合这两个网络的几种方法。

这种缺乏成功的部分原因可能是当前用于训练的数据集要么太小,要么太多噪音(我们在相关工作中回到这一点)。与图像分类相比,视频中的动作分类在运动和视点变化的额外挑战,因此可能需要比ImageNet(每类1000个)更多的训练例子,但是UCF-101每类只有100个例子。另一个重要的原因是,当前的“卷积神经网络”架构不能充分利用时序信息,因此它们的性能常常被空间(外观)识别所主导。

从图1可以看出,一些动作可以从静止的图像中识别出来(在这个例子中是箭术)。然而,对于另一些来说,单独的帧可能是模糊的,运动线索是必要的。举个例子,你可以考虑一下,从跑步区分走,从大笑中区分打哈欠,或者在游泳中区分蛙泳。双流架构 [22]包含了运动信息,通过分别为静态图像的外观和堆叠的光流独立的训练ConvNets。事实上,这项研究表明光流信息本身就足以区分UCF101中的大部分行为。
         然而,双流架构(或任何以前的方法)不能在视频中利用两个非常重要的线索来实现动作识别:(i)识别移动的位置,即注册外观识别(空间线索)与光流识别(时间线索);(ii)这些线索是如何随着时间演变的。 
        我们的目标是通过开发一种架构来修正这一问题,这种体系结构能够在特征抽象的几个层次上融合空间和时间线索,以及空间和时间的集成。特别地,Sec. 3调查了融合的三个方面:(i)在sec3.1 如何融合两个网络(空间和时间)考虑空间注册?(二)在sec3.2中在哪融合两个网络的?最后,在sec3.3(iii)如何在时序上融合网络?在每一项调查中,我们都选择了最佳的结果(sec4),然后,将这些结果组合在一起,提出了一个新的架构(Sec.3.4),用于两个流网络的时空融合,从而达到了sec4.6的最先进的性能。
           我们使用MatConvNet toolbox [31] 实现了我们的方法,并在https://github.com/feichtenhofer/twostreamfusion中公开了我们的代码。

2、相关工作

最近的几项关于在时间序列中使用卷积神经网络的研究已经研究了如何超越简单地使用帧的外观信息,以及利用时间信息的问题。一个自然的扩展是堆叠连续的视频帧,并将2D的卷积神经扩展到时间 [10],以便第一层学习时空特征。[11]研究几种时间采样的方法,包括早期的融合(让第一层过滤器在帧中进行操作,如[10]),缓慢融合(随着层的增加而连续增加时间的接收域)和后期融合(在时间较远的帧上运行合并两个独立网络的全连接层)。他们的架构对时间模型并不是特别敏感,他们通过纯粹的空间网络达到了类似的性能水平,这表明他们的模型并没有从时间信息中获得很多。
       最近提出的C3D方法[30]在有限的时间支持下,在16个连续的帧上学习3D的卷积神经网络,所有的过滤器的核都是3x3x3。通过让所有的过滤器在空间和时间上运行,它们的性能比[11]更好。然而,他们的网络比[10,11]的网络要深得多,其结构类似于[23]中非常深的网络。另一种学习时空关系的方法是在[26]中提出的,作者将三维卷积分解成二维空间卷积和一维时间卷积。具体地说,它们的时间卷积是一个随时间而来的二维卷积,也是特征通道,并且只在网络的较高层次上执行。
       [17]比较了几个时序特征的池化架构,以便在更长的时间周期内组合信息。他们得出的结论是,卷积层的时间池比slow, local, or late pooling,以及时间的卷积更好。 他们还通过将ConvNet特征输入具有长期短期记忆(LSTM)单元的递归网络来研究有序序列建模。然而,使用LSTMs并没有对卷积特征的时间池进行改进。
       与我们最密切相关的工作,以及我们在这里扩展的工作,是[22]中提出的 two-stream ConvNet架构。该方法首先利用RGB和光流帧将视频分解成空间和时间分量。这些组件被输入到不同的深度卷积神经网络结构中,以学习在场景中关于外表和运动的空间以及时间信息。每流都是自己进行视频识别和最终的分类,softmax得分在后期融合中结合。作者比较了几种对齐光流帧的技术,并得出结论:L=10水平和垂直光流场的简单叠加效果最好。他们还在UCF101和HMDB51上使用多任务学习,以增加培训数据的数量,并提高两者的性能。到目前为止,这种方法是将深度学习应用于动作识别的最有效方法,特别是在有限的训练数据方面。这种双流方法最近被应用于几个动作识别方法,[4, 6, 7, 17, 25, 32, 35]。
      与我们的工作相关的是双线性方法 [15],它通过在图像的每个位置外积来关联两个卷积层的输出。产生的双线性特征在所有位置被池化,形成一个无序的描述符。请注意,这与手工制作的SIFT特征的二阶池 [2]密切相关。
       在数据集方面,[11]引入了具有大量视频(≈1M)和类(487)的Sports-1M数据集。然而,这些视频是自动收集的,因此没有标签噪音。另一个大规模的数据集是具有超过45M帧的THUMOS数据集[8]然而,其中只有一小部分实际上包含了被标记的动作并且对于监督特性学习是很有用的。由于标签的噪声,学习时空的卷积神经网络在很大程度上依赖于更小的,但时序一致的数据集,例如UCF101[24]或HMDB51 [13],其中包含了简短的动作视频。这有助于学习,但伴随着严重过度拟合训练数据的风险。

3、方法

我们建立在[22]的双流架构上建立了基础。这个架构有两个主要缺点:(i)是不能在空间和时间特征之间学习像素级的对应关系(因为融合只是分类的分数上),和(ii)有限时间规模,因为空间卷积操作只在单帧上和时序卷积操作只在堆叠的L个时序相邻的光流帧上(例如L=10)。在视频中,[22]的实现通过在规则的空间采样上使用时间池在一定程度上解决了后一个问题,但这并不允许对行为的时间演变进行建模。

3.1.空间融合

在本节中,我们考虑了用于融合两个流网络的不同架构。然而,当空间融合任何两个网络时,也会出现同样的问题,因此不与这个特定的应用程序绑定。
    需要说明的是,我们的目的是将两个网络(在一个特定的卷积层)融合在一起,以便在相同像素位置的信道响应被放置在对应关系中。为了激励这一点,不妨考虑一下刷牙和梳头之间的区别。如果一只手在某个空间位置周期性地移动,那么时间网络就能识别这个动作,而空间网络可以识别位置(牙齿或毛发)和它们的组合,然后辨别动作。
    当两个网络在融合层上有相同的空间分辨率时,就很容易实现这种空间对应,只需通过一个网络上的重叠(叠加)层(我们在下面做这个精确的)。然而,还有一个问题是,一个网络中的通道(或channels)对应于另一个网络的哪个通道(或channels)。
    假设在空间网络中不同的通道负责不同的面部区域(嘴、头发等),而时序网络中的一个通道负责这类的周期性运动场。然后,在通道堆叠之后,后续层中的过滤器必须学习这些合适的通道之间的对应关系(例如,在卷积过滤器中加权),以便最好地区分这些操作。

为了使这个更具体,我们现在讨论了在两个网络之间融合层的许多方法,并且每个网络都描述了在通信之后的后果。

一个融合函数

在时间t融合两个特征图

来产生一个输出图

这里 W,H,D分别是特征图宽,高和通道数。

当应用于前馈的卷积神经网络结构时,它由卷积、全连通、池和非线性层组成,可以应用于网络的不同节点,例如早期融合、后期融合或多层融合。可以使用各种不同的融合函数。我们在本文中研究了下面的内容,为了简单起见,我们假设H=H'=H'',W=W'=W'',D=D'=D'',并删除t下标。

Sum fusionysum=fsum(xa,xb)计算两个特征图的和,在相同的空间位置i,j和特征通道d:

由于通道的编号是任意的,sum fusion只定义了网络之间的任意对应。当然,随后的学习可以利用这种任意的通信来达到最佳效果,优化每个网络的过滤器,使这种通信变得有用。

Max fusionymax= fmax(xa,xb ) 类似的采用两个特征图的最大值

这里所有的变量定义如 (1). 和sum fusion类似,网络通道上的对应是任意的。
 Concatenation fusionycat = fcat(x a ,xb) 堆叠两个特征图,在通道d上在相同的空间位置 i,j:

级联并没有定义通信,但是将其留给后续的层来定义(通过学习适当的过滤器来对层进行加权),正如我们接下

来要说明的那样。

Conv fusionyconv= f conv (x a ,xb) 首先在通道d的相同的空间位置i,j堆叠两个特征图如上面的(3),随后将堆叠的数据与一组过滤器进行卷积f ∈ R^1×1×2D×D and biases b ∈ R^D

其中输出通道的数量是D,而过滤器的尺寸是1x1x2D。在这里,过滤器f用于将维度减少2倍,并且能够在相同的空间(像素)位置上对两个特征图x_a、x_b进行加权组合。当在网络中作为可训练的过滤器内核时,f能够学习两个特征映射的对应关系,从而最小化一个关联的损失函数。例如,如果f被学习为两个permuted identity矩阵1' ∈ R^1×1×D×D的连接,那么一个网络的第i个通道只与另一个通道的第i通道(通过求和)结合在一起。
   请注意,如果在级联后没有维度减少卷积层,那么即将到来的层的输入通道的数量是2D的。

Bilinear fusionybil= fbil(xa,xb) 计算两个特征图在每个像素位置的矩阵外积,然后求和:

由此产生的特征y bil∈ R^D2捕获了相应空间位置的乘法交互。这个特性的主要缺点是它的高维度。为了使双线性特性在实践中可用,它通常应用于ReLU5,全连接的层被移除[15] ,而power- and L2正则化应用于线性SVMs的有效分类。
       双线性融合的优点是一个网络的每个通道都与其他网络的每个通道相结合(作为一个产品)。然而,缺点是所有的空间信息在这一点被边缘化了。
讨论:这些操作说明了一系列可能的融合方法。其他的可以考虑,例如:取通道的像素化乘积(而不是它们的和或最大),或者(分解的)外积,而不需要在位置之间进行池化 [18]。

注入融合层可以对双流网络中的参数和层数产生重大影响,特别是如果只保留了被融合的网络,而且其他网络塔被截断,如图2所示(左)。表1显示了两种VGG-M-2048(在[22]中使用)的不同融合方法对层数和参数的影响模型其中包含5个卷积层,然后是三个完全连接的层。在ReLU5之后(在最后的卷积层之后)的Max-,Sum和Conv-fusion,在结构中删除了近一半的参数,因为在融合之后只使用了一个全连接的层。与sum和max fusion(97.31 M)相比,Conv融合有更多的参数(97.58 M),这是由于额外的过滤器用于通道的融合和维度的减少。在级联融合中涉及到更多的参数,在融合后不涉及维数的减少,因此在第一个全连接的层中,参数的数量会增加一倍。相比之下,在softmax层的sum-fusion需要两个塔的参数的所有层(16)和所有参数(181.4M)。
       在实验部分(sec4.2.2)中,我们对每种可能的融合方法的性能进行了评估和比较,并对它们的分类精度进行了比较。

3.2. 在哪里融合网络

如上所述,融合可以应用于这两个网络中的任何一点,唯一的约束条件是两个输入映射在t时刻

具有相同的空间维度;也就是H=H', W=W'。这可以通过使用“向上卷积”层来实现[36],或者如果维度是相似的,可以通过在较小的映射上填充0来实现向上采样。

图2。 两个可以放置融合层的例子。 左边的例子显示了第四个卷积层之后的融合。 从融合点只使用单个网络塔。 右图显示了两层(在conv5之后和fc8之后)的融合,其中两个网络塔都被保留,一个作为混合时空网络,一个作为纯空间网络。

表2比较了在VGG-M模型的情况下,两个网络中不同层的融合参数的数量在不同的卷积层层之后进行融合,对参数的数量产生了大致相同的影响,因为大多数这些参数都存储在全连接的层中。两个网络也可以在两层融合,如图2所示(右)。这就实现了从每个网络(在卷积5)中对通道进行像素级注册的最初目标,但不会导致参数数量的减少(例如,如果只在conv5层进行融合,参数则会减少一半)。在实验部分(sec4.3)中,我们对不同级别的融合性能进行评估和比较,并同时在多个层进行融合。

图3。 不同方式融合时间信息。 (a)2D池忽略时间,只在空间邻域上池,以单独缩小每个时间样本的特征映射的大小。 (b)通过先将特征映射叠加到不同时间,然后缩小这个时空立方体,从当地时空街区汇集3D池。 (c)3D conv3D池还执行与融合核的卷积,该融合核跨越3D池之前的特征通道、空间和时间。

3.3. 时序融合

现在,我们考虑将在时间t上结合特征图x_t,生成输出映射y_t的技术。处理时间输入的一种方法是通过对网络预测的在时间上平均(在22中使用)。在这种情况下,架构只在2D(xy)中池化;参见图3(a)。
   现在考虑将时间池层的输入作为特征映射x∈R^H×W×T×D,这些特征映射是通过跨时间t=1...T叠加空间映射生成的。
   3D Pooling:将max-pooling应用于一个大小为W'*H'* T'的3D池中。这是对时间域的2D池的直接扩展,如图3(b)所示。例如,如果将三个时间样本集中在一起,那么可以在三个堆叠的相应通道中使用3x3x3 max池。注意,没有跨不同通道的池
   3D Conv+Pooling:首先用D'个滤波器对四维输入x进行卷积 f ∈ R^W'' ×H'' ×T'' ×D×D' and biases b ∈ R^D

在[30]中,将会有上面描述的3D池。图3(c)说明了该方法。过滤器f能够在一个局部的时空社区中使用大小为W''× H '' × T'' × D的内核来对特征的加权组合进行建模,通常邻域是3x3 x3(空间x时间)。

Discussion.[17]的作者们评估了几个额外的方法,随着时间的推移以结合两流Conv网。他们发现在最后的卷积层进行最大池化效果不错。我们将最大池推广到3D池,它提供了特征位置随时间小的变化的不变性。此外,3D conv可以让时空过滤器被学习 [28, 30]。例如,过滤器可以学习如何将重心放在中心时间样本上,或者在时间或空间上进行区分。

3.4. 提出的结构

我们现在把前几节的想法结合在一起,提出一个新的时空融合架构,并根据我们在第4节中的实验评估来激发我们的选择。空间融合方法、层和时间融合的选择分别基于第4.2、4.3和4.5节的实验。

图4。 我们的时空融合ConvNet将两流ConvNet应用于粗时间尺度(t±L/2)的时间相邻输入,以精细时间尺度(t)捕获短期信息t+Tτ)。 这两个流由一个3D滤波器融合,该滤波器能够学习空间流(蓝色)和时间流(绿色)的高度抽象特征之间的对应关系,以及x、y、t中的局部加权组合。融合流和时间流产生的特征是空间和时间上的3D池,用于学习时空(左上)和纯时间(右上)特征,用于识别输入视频。

我们提出的架构(如图4所示)可以看作是图2(左)架构的扩展。在最后一个卷积层(在ReLU之后)我们将这两个网络融合进入空间流,通过使用3D Conv融合和3D池(见图4,左)将其转换为时空流。此外,我们不会截断时间流,并在时间网络中执行3D池化(见图4,右)。这两种流的损失都用于训练,在测试期间,我们对这两种流的预测进行平均。在我们的经验评估(sec4.6.6)中,我们发现保持这两个流的性能比在融合后截断时间流略胜一筹。
   在讨论了如何随时间融合网络时,我们在这里讨论了采样时间序列的频率。时间融合层接收的T时间的时间块,他们是 τ帧分开的;也就是说,两个流塔在 t,t+τ,...t+Tτ的输入视频中被应用到输入视频中。如图4所示,这使我们能够捕捉短尺度(t±L/2)时间特征的输入时间网络(如箭的画),并把它们放在上下文较长时间(t + Tτ)在更高一层的网络(如箭,弓弯,和射击一个箭头)。
    由于光流有一个时间接受的L=10帧,所以这个结构的作用是在一个TxL的时间接受域上。注意, τ < L导致时间流的重叠输入,而τ ≥ L产生时序上的非重叠特性。
   在融合之后,我们让3D池在τ帧间隔的T空间特征映射上工作。随着时间的推移,特性可能会改变它们的空间位置,将空间和时间池结合到3D池是有意义的。例如VGG-M网络在conv5的输出具有16个像素的输入步长,并从139x139像素的接收域捕捉高水平的特征。因此,在时间上遥远的空间上的卷积图可以捕捉到同一物体的特征,即使它们稍微移动。

3.5. Implementation details

Two-Stream architecture。我们采用了两种预先训练的ImageNet模型。首先,为了与原来的两流方法[22]进行比较,VGG-M-2048模型[3]5个卷积层和3个完全连接层。第二,非常深的VGG-16模型 [23]有13个卷积层和3个完全连接层。我们首先分别对这两种流进行单独的训练,如[22]所描述的那样,但是有一些细微的差别:我们不使用RGB颜色的抖动;我们不是按照固定的时间表来降低学习速率,而是在验证错误饱和之后降低它;为了训练空间网络,我们使用对前两个全连接层的使用0.85 dropout ratios。甚至更低的dropout ratios(高达0.5)并没有显著降低其表现。
  对于时间网,我们使用L=10帧叠加光流[22]。我们还用一个在ImageNet上预先训练的模型来初始化时间网,因为这通常会促进训练速度,而不像我们从头训练的模型那样降低性能。网络输入预先进行了重新调整,因此帧的最小的边等于256。我们还在训练前预先计算光流 [1],并将光流场存储为JPEG图像(带有大于20像素的位移矢量的剪辑)。我们不使用批量归一化[9]。
   Two-Stream ConvNet fusion。对于融合来说,这些网络微调的批大小为96个,学习速率从10-3开始,一旦验证精度饱和时,它的学习速率将降低10倍。我们只会反向传播到注入的融合层,因为完全的反向传播并没有导致改进。在我们的实验中,我们只在具有相同输出分辨率的层之间进行融合;除了在VGG-16模型的ReLU5层与VGG-M的ReLU5层融合,我们将VGG-M(13×13的输出(13×13,而不是14×14)匹配并有一行和一列0。对于Conv fusion,我们发现注入的融合层(如(4))的仔细初始化是非常重要的。我们比较了几种方法,发现通过 identity matrices (对两个网络求和)的初始化和随机初始化一样。
    Spatiotemporal architecture。为我们最终的架构描述在Sec. 3.4。3D Conv融合核f维度3×3×3×1024×512,T = 5,即时空过滤器尺寸H'' ×W '' ×T '' = 3×3×3,D = 1024结果来自时空流ReLU5连接,和D' = 512匹配FC6层输入通道的数量。
   3D Conv过滤器也被初始化,通过将两个identity matrices叠加起来,将1024个特征通道映射到512。由于在最后一个卷积层上的时间卷积神经网络的激活大约比它的外表对应的时间要低3倍,所以我们将f的时间单位矩阵初始化了3倍。f的时空部分是由3 × 3 × 3 and σ = 1的高斯函数初始化的。此外,在训练过程中,我们不会在预测层上融合,因为这将会导致对时间架构的损失,因为时空结构需要更长的时间来适应融合的特性。
   训练三维卷积神经网络比双流的回旋网更容易过度拟合,并且需要额外的数据增强。在finetuning期间,在每一次训练迭代中,我们从96个视频中的每一个中抽取T=5帧,随机选择起始帧,然后随机抽取时间跨度 (τ)∈ [1,10](因此在15到50帧之间进行操作)。我们没有裁剪一个固定大小的224x224输入patch,而是随机地将其宽度和高度抖动±25%,并将其重新调整为224x224。重新选择的方法是随机选择的,可能会改变长宽比。补丁只在与图像边界(相对于宽度和高度)的距离上最多25%的距离。注意,在第一帧(一个多帧叠加)中随机选择了crop的位置(以及大小、比例、水平翻转),然后将相同的空间crop应用于堆栈中的所有帧。
   测试。除非另有说明,只对T=5帧(及其水平翻转)进行采样,与[22]的25帧相比较,以促进快速的经验评估。此外,我们还使用了全的卷积测试,在整个帧中使用(而不是空间crops)。

  1. Evaluation

4.1.  数据集和实验协议

我们在两个流行的动作识别数据集上评估我们的方法。首先是UCF101 [24],它包含了101个类别的13320个动作视频。第二个数据集是HMDB51 [13],它包含了6766个视频,这些视频已经被注释为51个动作类。对于这两个数据集,我们使用所提供的评估协议,并将三个分割的平均精度报告到培训和测试数据中。

4.2. How to fuse the two streams spatially?

对于这些实验,我们使用的网络架构与[22]相同的网络结构;也就是2个VGG-M-2048网 [3]。融合层被注入在最后的卷积层,经过修正,也就是说,它的输入是来自两个流的ReLU5的输出。之所以选择这一方法,是因为在初步实验中,它提供了比非修正的conv5输出结果更好的结果。在这一点上,这些特性已经提供了大量的信息,同时还提供了粗糙的位置信息。在融合层之后,使用一个单一的处理流。

表1。 不同空间融合策略的性能比较(SEC。 3.1)在UCF101上(拆分1)。 在Softmax层的和融合对应于平均两个网络预测,因此包括两个8层VGG-M模型的参数。 使用Conv或Sum融合在ReLU5进行融合并不会显著降低分类精度。 此外,这只需要Softmax融合网络中的一半参数。 级联具有较低的性能,并且需要FC6层中的两倍的参数(如Conv或Sum融合)。 只有双线性组合享受更少的参数,因为没有FC层参与;然而,它必须使用SVM来执行比较。
   我们比较了表1中不同的融合策略,我们报告了在UCF101的第一个分割的平均精度。我们首先观察到,我们对 softmax averaging (85.94%) 的性能与[22]的报告相比是比较好的。其次,我们看到Max和Concatenation的性能要比Sum和Conv融合要低得多。Conv融合表现最好,比双线性融合和简单加和融合略好。对于所报告的Conv-fusion结果,卷积的内核f是由identity matrices初始化的,它执行了这两个特征图的总和。然而,与恒等矩阵(85.96%)相比,通过随机高斯噪声的初始化结果与身份矩阵的相似度达到了85.59%,而在更长的训练时间内。这很有趣,因为这一点,以及Sum-fusion的高结果表明,简单地对特征图进行求和已经是一种很好的融合技术,并且学习一个随机初始化的组合不会导致显著的不同/更好的结果。
   对于表1中所示的所有融合方法,在FC层的融合与ReLU5相比,其性能较低,而方法的顺序与表1相同,除了在FC层不可能的双线性融合。在所有的FC层中,FC8的性能优于FC7和FC6,Conv fusion为85.9%,紧随其后的是Sum85.1%。我们认为ReLU5的表现稍好一些的原因是,在这一层,外观和运动之间的空间对应是融合在一起的,这在FC层 [16]已经被瓦解了。

4.3. Where to fuse the two streams spatially?

在表2中比较了不同层的融合。使用Conv融合,融合层是由一个单位矩阵初始化的,这个单位矩阵与前一层的激活相结合。有趣的是,在ReLU5中,融合和截断一个网络,在UCF101的第一次分裂(85.96%vs 86.04%)上达到了相同的分类精度,作为预测层(FC8)的额外融合,但是在总参数(97.57 M和181.68 M)的数量要少得多。图2显示了这两个示例是如何实现的。

表2。 不同融合层Conv融合(4)的性能比较。 较早的融合(比在conv5之后)导致性能较弱。 如果将早期层合并(最后一行),多个融合也会降低性能)。 在ReLU5或ReLU5FC8(但所涉及的参数几乎是两倍)进行融合,获得了最佳的性能)。

表3。 深度(VGG-M-2048)与非常深(VGG-16)双流对流网在UCF101(分裂1)和HMDB51(分裂1)上的性能比较)。 后期融合是通过平均预测层输出来实现的。 使用更深的网络以计算时间为代价提高性能。

4.4. Going from deep to very deep models

由于计算复杂性的原因,以前所有的实验都是用两个VGG-M-2048网络进行的(如[22])。然而,使用更深层的模型,比如[23]中的非常深的网络,可以在[5,15,27]图像识别任务中获得更好的性能。在此之后,我们将在UCF101和HMDB51上训练16层网络,VGG-16,[23]。所有的模型都在ImageNet上进行了预先训练,并分别为目标数据集进行了单独训练,除了从时间UCF101模型中初始化的临时HMDB51网络。 我们应用了与3D ConvNet培训相同的增强技术(在sec3.5.3中描述),但另外从图像的中心进行了采样。当验证目标饱和时,学习率被设置为50-4,并减少10倍。

表3显示了深度和非常深的模型之间的比较。在这两个数据集上,进入更深的空间模型会显著提高性能(8.11%和10.29%),而更深的时间网络则会产生较低的精度增益(3.91%和3.73%)。

表4。 时空双流融合在UCF101(分裂1)和HMDB51(分裂1)上)。 使用的模型有VGG-16(空间网)和VGG-M(时间网)。 融合层后的“+”表示融合后保持网络及其丢失,因为这比截断一个网络要好。 具体来说,在ReLU5,我们将时间网络融合到空间网络中,然后在Pool5执行2D或3D池,并计算每个塔的损失。 在测试期间,我们对两个塔的FC8预测进行了平均。

4.5. How to fuse the two streams temporally?

不同的时间融合策略如表4所示。在表4的第一行中,我们观察到conv fusion比平均的softmax输出(cf表3)性能更好。接下来,我们发现在融合层之后,应用3D池而不是使用2D池,在两个数据集上都增加了性能,在HMDB51上获得了更大的收益。最后,表4的最后一行列出了应用3D过滤器进行融合的结果,这进一步提高了识别率。

4.6. Comparison with the state-of-the-art

表5。 在HMDB51和UCF101上的三个列车/测试分裂上,性能最好的ConvNet方法的平均分类精度。 对于我们的方法,我们列出了用于空间(S)和时间(T)流的模型。

表6。 对于使用IDT特征[33]的方法,HMDB51和UCF101的平均分类精度。

最后,我们在表5中将最先进的方法在UCF101和HMDB51三个分片上进行比较。我们使用的方法与上面所示的方法相同,即通过3D Conv和3D池(图4所示)进行融合。为了测试,我们通过对输入帧-堆栈和水平翻转进行密集采样,对每个网络的20个时间预测进行平均。一个有趣的比较是原始的双流方法[22],我们在UCF101和HMDB51上使用VGG-16空间(S)网络和VGG-M时间(T)模型提高了3%,以及在两流都使用VGG-16时分别提高4.5%(UCF)和6% (HMDB)。另一个有趣的比较是,在[17]的双流网络中,GoogleLeNet [27]架构的最后一个维度缩减层之后,使用了时序池化。UCF101上当使用120帧时报告88.2%,在使用LSTM进行池时88.6%。在这里,我们的结果是92.5%,这清楚地强调了我们提出的方法的重要性。还要注意的是,在时间融合之后使用单个流可以达到91.8%,相比之下,保持两个流可以达到92.5%,但参数要少得多,体系结构更简单。

作为最后的实验,我们探讨了手工制作的IDT特征 [33]与我们的表示的后期融合的好处。我们只是简单地将FV-encoded IDT descriptors (i.e. HOG, HOF, MBH)的SVM评分与我们的卷积表示(在softmax之前)预测进行平均。结果的性能如表6所示。我们在UCF101上取得93.5%,在HMDB51上达到了69.2%。这个最先进的结果表明,手工制作的表示和我们的端到端学习的卷积方法之间仍然有一定程度的互补。

5.结论

我们为双流网络提出了一个新的时空结构,用于两个流网络之间有一个新的卷积融合层,以及一个新的时间融合层(包含3D卷积和池)。新的结构不会比以前的方法显著增加参数的数量,但是在两个标准的基准数据集上最先进的方法。我们的研究结果表明,在空间和时间上,学习高度抽象的卷积神经网络特征的对应是非常重要的。一个有趣的发现是,通过将卷积神如果有更多的训练数据,这种差异可能会在时间上消失,但除此之外,它肯定表明了未来的研究应该在哪里进行。最后,我们回到了当前数据集要么太小,要么太多噪声。出于这个原因,本文中的一些结论应该谨慎对待。

参考文献

[1] T. Brox, A. Bruhn, N. Papenberg, and J. Weickert. High accuracy optical flflow estimation based on a theory for warping.In Proc. ECCV, 2004. 6

[2] J. Carreira, R. Caseiro, J. Batista, and C. Sminchisescu. Semantic segmentation with second-order pooling. In Proc. ECCV, 2012. 2

[3] K. Chatfifield, K. Simonyan, A. Vedaldi, and A. Zisserman. Return of the devil in the details: Delving deep into convolutional nets. In Proc. BMVC., 2014. [4] G. Chron, I. Laptev, and C. Schmid. P-CNN: Pose-based CNN features for action recognition. In Proc. ICCV, 2015. 2

[5] M. Cimpoi, S. Maji, and A. Vedaldi. Deep fifilter banks fortexture recognition and segmentation. In Proc. CVPR, 2015.7

[6] J. Donahue, L. A. Hendricks, S. Guadarrama, M. Rohrbach, S. enugopalan, K. Saenko, and T. Darrell. Long-term recurrent convolutional networks for visual recognition and description. In Proc. CVPR, 2015. 1, 2, 8

[7] G. Gkioxari and J. Malik. Finding action tubes. In Proc. CVPR, 2015. 2

[8] A. Gorban, H. Indrees, Y. Jiang, A. R. Zamir, I. Laptev, M. Shah, and R. Sukthankar. Thumos challenge: Action recognition with a large number of classes.http://wwwthumos.info/, 2015. 2

[9] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Proc. ICML, 2015. 6

[10] S. Ji, W. Xu, M. Yang, and K. Yu. 3D convolutional neural networks for human action recognition.IEEE PAMI,35(1):221–231, 2013. 2

[11] A. Karpathy, G. Toderici, S. Shetty, T. Leung, R. Sukthankar,and L.Fei-Fei. Large-scale video classication with convolutional neural networks. In Proc. CVPR, 2014. 1, 2, 8

[12] A. Krizhevsky, I. Sutskever, and G. E. Hinton. ImageNet classifification with deep convolutional neural networks. InNIPS, 2012. 1

[13] H. Kuehne, H. Jhuang, E. Garrote, T. Poggio, and T. Serre.HMDB: a large video database for human motion recognition. In Proc. ICCV, 2011. 1, 2, 6

[14] I. Laptev, M. Marszałek, C. Schmid, and B. Rozenfeld. Learning realistic human actions from movies. In Proc.CVPR, 2008. 1

[15] T.-Y. Lin, A. RoyChowdhury, and S. Maji. Bilinear CNN models for fifine-grained visual recognition. In Proc. ICCV, 2015. 2, 4, 7

[16] A. Mahendran and A. Vedaldi. Understanding deep image representations by inverting them. In Proc. CVPR, 2015. 7

[17] J. Y.-H. Ng, M. Hausknecht, S. Vijayanarasimhan, O. Vinyals, R. Monga, and G. Toderici. Beyond short snippets: Deep networks for video classifification. In Proc. CVPR, 2015. 1, 2, 5, 8

[18] J. Oh, X. Guo, H. Lee, S. Singh, and R. Lewis. Action conditional video prediction using deep networks in atarigame. In NIPS, 2015. 4

[19] X. Peng, L. Wang, X. Wang, and Y. Qiao. Bag of visual words and fusion methods for action recognition: Comprehensive study and good practice.

CoRR, abs/1405.4506, 2014. 8

[20] F. Perronnin, J. Sanchez, and T. Mensink. Improving the Fisher kernel for large-scale image classifification. In Proc. ECCV, 2010. 1

[21] F. Schroff, D. Kalenichenko, and J. Philbin. Facenet: A uni-fified embedding for face recognition and clustering. In Proc. CVPR, 2015. 1

[22] K. Simonyan and A. Zisserman. Two-stream convolutional networks for action recognition in videos. In NIPS, 2014. 1, 2, 3, 4, 6, 7, 8

[23] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In Proc. ICLR,2014. 1, 2, 6, 7

[24] K. Soomro, A. R. Zamir, and M. Shah. UCF101: A dataset of 101 human actions calsses from videos in the wild. Technical Report CRCV-TR-12-01, UCF Center for Research in Computer Vision, 2012. 1, 2, 6

[25] N. Srivastava, E. Mansimov, and R. Salakhutdinov. Unsupervised learning of video representations using LSTMs. In Proc. ICML, 2015. 2, 8

[26] L. Sun, K. Jia, D.-Y. Yeung, and B. Shi. Human action recognition using factorized spatio-temporal convolutional networks. In Proc. ICCV, 2015. 2, 8

[27] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich.Going deeper with convolutions. In Proc. CVPR, 2015. 1, 7, 8

[28] G. W. Taylor, R. Fergus, Y. LeCun, and C. Bregler. Convolutional learning of spatio-temporal features. In Proc. ECCV, 2010. 1, 5

[29] J. Tompson, R. Goroshin, A. Jain, Y. LeCun, and C. Bregler.Effificient object localization using convolutional networks. In Proc. CVPR, 2015. 1

[30] D. Tran, L. Bourdev, R. Fergus, L. Torresani, and M. Paluri.Learning spatiotemporal features with 3D convolutional networks. In Proc. ICCV, 2015. 1, 2, 5, 8

[31] A. Vedaldi and K. Lenc. MatConvNet – convolutional neural networks for MATLAB. In Proceeding of the ACM Int. Conf.on Multimedia, 2015. 2

[32] S. Venugopalan, M. Rohrbach, R. Mooney, T. Darrell, and K. Saenko. Sequence to sequence video to text. In Proc.ICCV, 2015. 2

[33] H. Wang and C. Schmid. Action recognition with improved trajectories. In Proc. ICCV, 2013. 1, 8

[34] L. Wang, Y. Qiao, and X. Tang. Action recognition with trajectory-pooled deep-convolutional descriptors. In Proc. CVPR, 2015. 1, 8

[35] P. Weinzaepfel, Z. Harchaoui, and C. Schmid. Learning to track for spatio-temporal action localization. In Proc. ICCV, 2015. 2

[36] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional networks. In Proc. ECCV, 2014. 4

译:Convolutional Two-Stream Network Fusion for Video Action Recognition相关推荐

  1. 视频动作识别--Convolutional Two-Stream Network Fusion for Video Action Recognition

    Convolutional Two-Stream Network Fusion for Video Action Recognition CVPR2016 http://www.robots.ox.a ...

  2. [翻译]Convolutional Two-Stream Network Fusion for Video Action Recognition

    摘要 近年来,卷积神经网络(卷积神经网络)对视频中人类行为识别的应用提出了不同的解决方案,用于整合外观和运动信息.为了更好地利用时空信息,我们研究了许多在空间和时间上融合卷积塔的方法.我们得出以下结论 ...

  3. Convolutional Two-Stream Network Fusion for Video Action Recognition翻译

    本文转于:https://blog.csdn.net/weixin_42164269/article/details/80689653 若有侵权请联系删除 摘要 近年来,卷积神经网络(卷积神经网络)对 ...

  4. RA-GCN:Richly Activated Graph Convolutional Network for Robust Skeleton-based Action Recognition

    Richly Activated Graph Convolutional Network for Robust Skeleton-based Action Recognition TCSVT2020 ...

  5. 论文笔记【A Comprehensive Study of Deep Video Action Recognition】

    论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...

  6. A Comprehensive Study of Deep Video Action Recognition 论文笔记

    A Comprehensive Study of Deep Video Action Recognition 论文链接: https://arxiv.org/abs/2012.06567 一. Pro ...

  7. 视频时序动作识别(video action recognition)介绍

    一.视频时序动作识别算法分类 根据网络的工作方式,可以将视频时序动作识别算法大致分为四大类: 采用2D卷积的方法 采用3D卷积的方法 双流法 引入VLAD的方法 1.1 采用2D卷积的方法 <T ...

  8. 【论文笔记】Spatiotemporal Residual Networks for Video Action Recognition

    目录 摘要 1 介绍 3. 技术方法 3.1 Two-Stream residual 网络 3.2跨时间的卷积剩余连接 3.3建议结构 (Proposed architecture) 参考文献 参考 ...

  9. DMC-Net: Generating Discriminative Motion Cues for Fast Compressed Video Action Recognition 论文赏析

    DMC-Net: Generating Discriminative Motion Cues for Fast Compressed Video Action Recognition 论文赏析 前言 ...

最新文章

  1. 解决jupyter中无自己创建的虚拟环境
  2. MyBatis-12MyBatis动态SQL之【choose when otherwise】
  3. 【C++】Visual Studio教程(十二) -代码编辑器功能
  4. mapreduce 算法_MapReduce算法–顺序反转
  5. 每日一题(易错)丨Oracle SQL优化与调优技术
  6. linux ls for 命令嵌套
  7. java开发实战经典学习笔记第2部分
  8. [设想]增加比较的多元运算符
  9. ascii码二进制十进制十六进制对照表
  10. 前端 DFA 敏感词过滤
  11. WORD文本框和文本框之间,文本框和文字相互不覆盖
  12. idou老师教你学Istio 16:如何用 Istio 实现微服务间的访问控制
  13. 2021大厂Java高级面试题及答案,附面试答案
  14. 【BZOJ-4316】小C的独立集 仙人掌DP + 最大独立集
  15. 【Bandit Algorithms学习笔记】UCB算法的理论证明
  16. MIMO-OFDM无线通信技术及MATLAB实现
  17. layui table 单元格合并
  18. TM1637芯片使用(I2C总线协议学习),含完整程序
  19. 一文看懂海明校验码及其计算方法(详细总结)
  20. Linux C++服务器项目——网络编程2(三次握手、四次挥手、IO多路复用)

热门文章

  1. 第八题:输出 9*9 乘法口诀表
  2. CSR867x 之充电配置开发
  3. 修复移动硬盘“文件或目录损坏且无法读取”错误
  4. 这6款软件,让你的工作效率提升90%!
  5. centos7上安装rar解压软件
  6. Linux: setcap/getcap, capability
  7. 《图说区块链》读书笔记(完整版)
  8. S3C2440 音频解码芯片WM8976声卡驱动移植、测试以及madplay播放mp3文件(三十一)
  9. Python-打印指定范围内的全部回文素数(高教社,《Python编程基础及应用》习题8-7) (10分) 回文素数是指一个数既是素数又是回文数,例如131既是素数又是回文数。
  10. ffmpeg获取视频封面图片