论文阅读:Convolutional Two-Stream Network Fusion for Video Action Recognition

结论

  1. 可以在卷积层融合时空网络,而不是在softmax层上融合。不仅不会损失性能,还可以节省大量参数;
  2. 最好在最后的卷积层上在空间上融合此类网络,而不是在早期的卷积层上融合;并且在类预测层上进行额外融合可以提高准确性;
  3. 在时空邻域上抽象卷积特征的集合进一步提高了性能。

其他网络的缺点

双流体系结构(或任何以前的方法)无法利用两个非常重要的线索来进行视频中的动作识别:

  1. 识别正在向何处移动,即用光流识别(时间提示)来记录外观识别(空间线索);
  2. 这些线索如何随着时间演变。

工作

基于这些研究,作者提出了一种新的ConvNet架构,用于视频片段的时空融合,并在该架构达到最新结果的标准基准上评估其性能。

方法

空间融合

目的:是融合两个网络(在特定的卷积层),以使相同像素位置的通道响应相对应。
方法:当两个网络在要融合的图层上具有相同的空间分辨率时,只需通过将一个网络中的图层叠加(堆叠)到另一个网络上即可轻松实现这种空间对应关系。
问题:还存在一个网络中哪个信道(一个或多个)对应于另一网络的一个或多个信道的问题。
为了使这一点更加具体,现在讨论在两个网络之间融合图层的多种方式,并针对每种方式以对应关系描述后果。

融合方法

fusion function: 在时间t的两个特征图产生输出y在这里插入图片描述
1. Sum fusion
在这里插入图片描述
由于信道编号是任意的,因此求和融合仅定义网络之间的任意对应关系。
2. Max fusion
在这里插入图片描述
与sum fusion相同,信道编号是任意的。
3. Concatenation fusion
在这里插入图片描述
拼接并不定义对应关系,而是将其留给后续的层进行定义。
4. Conv fusion:将(3)用于卷积
在这里插入图片描述
其中输出通道数为D,过滤器的尺寸为1×1×2D。 在这里,过滤器f用于将维度减少1/2,并且能够在相同的空间(像素)位置对两个特征图Xa,Xb的加权组合进行建模。 当用作网络中的可训练过滤器内核时,f能够学习两个特征图的对应关系,从而使联合损失函数最小化。 请注意,如果在concatenation后没有注入降维的卷积层,则下一层的输入通道数为2D。
5. Bilinear fusion
在这里插入图片描述
结果特征ybil∈RD2在相应的空间位置捕获乘法交互。
缺点:

  1. 维度大。 为了使双线性特征在实践中可用,通常在ReLU5上使用它,除去完全连接的层,并应用power和L2归一化对线性SVM进行有效分类。
  2. 缺点是此时所有空间信息都被边缘化。

优点:一个网络的每个通道都与另一网络的每个通道结合在一起(作为一种产品)。

融合方法讨论

注入融合层可能会对两流网络中的参数和层数产生重大影响,尤其是如果仅保留融合到其中的网络而另一网络塔被截断时。如下图左边所示:
在这里插入图片描述
如下表显示了在两个VGG-M-2048模型(五个卷积层,是三个全连接层的)使用不同融合方法对层数和参数的影响。

  1. ReLU5(在最后一个卷积层之后)的Sum、Max、Conv融合消除了体系结构中几乎一半的参数,因为在融合后仅使用了一个全连接层的塔。
  2. 与Sum,Max融合(97.31M)相比,Conv融合具有更多的参数(97.58M),这是由于使用了额外的过滤器来进行通道融合和降维。
  3. Concatenation融合涉及更多参数,融合后不涉及降维,因此,第一个完全连接层的参数数量增加了一倍。
  4. softmax层的求和融合需要两个塔的所有层(如上图右边所示)和参数(181.4M)。
    在这里插入图片描述

在哪融合网络

可以将融合应用于两个网络中的任何点,唯一的约束是两个输入映射Xa和Xb在时间t具有相同的空间尺寸;这可以通过使用“上卷积”层来实现,或者如果尺寸相似,则可以通过将较小的图填充零来实现上采样。
对于VGGM模型,下表比较了两个网络中不同层的融合参数数量:

  1. 在不同的Conv层之后进行融合对参数数量的影响大致相同,这是因为大多数参数都存储在完全连接层中。
  2. 两个网络也可以在两层中融合,如上图(右)所示。这样就达到了从每个网络(在conv5处)对通道进行像素级配准的原始目的,但并未导致参数数量减少。
    在这里插入图片描述

时间融合

考虑结合时间t上的特征图Xt生成输出图Yt的技术。 处理时间输入的一种方法是对时间上的网络预测求平均。 在这种情况下,架构仅以2D(xy)合并,如图 (a)。
在这里插入图片描述
现在将时间池化层的输入视为特征图x,这些特征图是通过在时间t = 1 … T上堆叠空间图而生成的。
1. 3D池化:将最大池化应用于大小为W×H×T的3D池化多维数据集中的堆叠数据。 如图(b)所示,这是2D池化时域的直接扩展。 例如,如果合并了三个时间样本,则可以在三个堆叠的对应通道之间使用3×3×3的最大合并。 注意,不同渠道之间没有池化。
2. 3D卷积+池化
在这里插入图片描述
首先用一排滤波器对四维输入x进行卷积并偏置。接着进行如上所述的3D池化合并。 该方法在图(c)中示出。 过滤器f通常邻域为3×3×3(空间×时间)
讨论
其他文章作者评估了几种其他方法,可以随着时间的推移组合两流ConvNet。 他们发现了表现最佳的是3D卷积层的时间最大池化。 我们将此处的最大池化归纳为3D池化,从而使特征位置随时间的细微变化保持不变。 此外,3DConv允许学习时空滤波器。 例如,过滤器可以学习对中心时间样本进行加权,或者在时间或空间上进行区分。

架构

架构如下图所示
在这里插入图片描述

  1. 将最后一个卷积层(在ReLU之后)的两个网络融合到空间流中,通过使用3D Conv融合和3D池化将其转换为时空流。
  2. 保留时间流,并执行3D池化。
  3. 两条流的损失都用于训练,在测试过程中,将两条流的预测取平均。在经验评估中,表明保持两种流的效果比融合后截断临时流的效果略好。
  4. 时空融合ConvNet将两流ConvNets以细微的时间尺度(t±L/2)捕获短期信息,并以粗略的时间尺度(t +Tτ)捕获时间相邻的输入。
    :对于被选定的时间点t,以t往前取L/2帧,往后取L/2帧,时间步长为Tτ。
  5. 这两个流由3D过滤器融合,该过滤器能够了解空间流(蓝色)和时间流(绿色)的高度抽象特征之间的对应关系,以及x,y,t中的局部加权组合。 来自融合流和时间流的所得特征在空间和时间上进行3D合并,以学习时空(左上)和纯粹时间(右上)的特征,以识别输入视频。

PS:总的来说就是把空间流拼接融合到空间流,并进行3D卷积+3D池化,保留了原来的时间流,并把时间流进行3D池化。两条流都各自连接全连接层,在最后进行融合。

对时间序列进行采样详述
时间融合层接收相距τ帧的T个时间块;即,两个流塔在时间t,t +τ,… t +Tτ应用于输入视频。如图所示,这使我们能够在时间网络的输入端捕获短尺度(t±L/2)的时间特征(例如,箭头的绘制),并在网络的较高层(例如绘制箭头,弯曲弓形并发射箭头)中将它们置于上下文较长的时间尺度(t +Tτ)中。由于光流的时间接收域为L = 10帧,因此该架构在总的时间接收域为T×L的情况下工作。
注意: τ<L导致时间流的输入重叠,而τ≥L产生时间上不重叠的特征。融合之后,我们让3D池在相隔τ帧的T个空间特征图上进行操作。由于特征可能会随着时间改变其空间位置,因此将空间和时间池与3D池结合起来是有意义的。

实现细节

Two-Stream architecture。采用了两种预先训练的ImageNet模型。

  1. 为了比较原始的双流方法 ,使用带有5个卷积层和3个全连接层的VGG-M-2048模型。
  2. 带有13个卷积层和3个全连接层的非常深的VGG-16模型 。

首先分别对这两种流进行单独的训练,不使用RGB颜色的jittering,不是按照固定的时间表来降低学习速率,而是在验证错误饱和之后降低它;

训练空间网络:对前两个全连接层使用0.85 dropout ratios。
训练时间网路

  1. 用L=10帧叠加光流。
  2. 用在ImageNet上预先训练的模型来初始化时间网。网络输入预先进行了重新调整,因此帧的最小的边等于256。
  3. 在训练前预先计算光流 ,并将光流场存储为JPEG图像(带有大于20像素的位移矢量的剪辑)。不使用批量归一化。

Two-Stream ConvNet fusion

  1. 网络微调的BatchSize:96
  2. 学习速率从0.001开始,当验证精度饱和时,它的学习速率将降低为原来的1/10。只会反向传播到注入的融合层,因为完全的反向传播并没有导致改进。
  3. 在实验中,只在具有相同输出分辨率的层之间进行融合;除了在VGG-16模型的ReLU5层与VGG-M的ReLU5层融合,用行和列的零填充了略微较小的VGG-M输出(13×13, compared to 14×14)。4. 对于Conv fusion,注入的融合层的仔细初始化是非常重要的。

Spatiotemporal architecture

  1. 3D Conv融合核f维度3×3×3×1024×512,T = 5,即时空过滤器尺寸H ×W ×T = 3×3×3,D = 1024 通过将来自空间和时间流在ReLU5进行级联得出,并且D= 512与随后的FC6层的输入通道数匹配。
  2. 3D Conv过滤器也被初始化,通过将两个identity matrices叠加起来,将1024个特征通道映射到512。由于在最后一个卷积层上的时间卷积神经网络的激活大约比它的外表对应的时间要低3倍,所以我们将f的时间单位矩阵初始化了3倍。f的时空部分是由3 × 3 × 3 and σ = 1的高斯函数初始化的。
  3. 在训练过程中,不会在预测层上融合,因为这将会导致对时间架构的损失,因为时空结构需要更长的时间来适应融合的特性。
  4. 训练三维卷积神经网络比双流的卷积网络融合更容易过度拟合,并且需要额外的数据增强。在finetuning期间,在每一次训练迭代中,我们从96个视频中的每一个中抽取T=5帧,随机选择起始帧,然后随机抽取时间跨度 (τ)∈ [1,10](因此在15到50帧之间进行操作)。
  5. 没有裁剪一个固定大小的224x224输入patch,而是随机地将其宽度和高度抖动±25%,并将其重新调整为224x224。重新选择的方法是随机选择的,可能会改变长宽比。补丁只在与图像边界(相对于宽度和高度)的距离上最多25%的距离。

注意:在第一帧(一个多帧叠加)中随机选择了crop的位置(以及大小、比例、水平翻转),然后将相同的空间crop应用于堆栈中的所有帧。
测试。只有T=5帧(和它们的水平翻转)被取样,以促进快速的经验评估。此外,还使用了全的卷积测试,在整个帧中使用(而不是空间crops)。

评估

数据集和实验方案

数据集:

  1. UCF101 [24],由101个类别的13320个动作视频组成。
  2. HMDB51 [13],其中包含6766个视频,这些视频已针对51个动作进行了注释。

对于这两个数据集,使用提供的评估协议并报告三个划分为训练和测试数据的平均准确性。

如何在空间上融合两个流?

对于这些实验,使用两个VGG-M-2048网。
整改后,融合层在最后的卷积层注入,即它的输入是来自两个流的ReLU5的输出。
原因:在初步实验中,它提供了比其他替代方法(例如conv5的未整流输出)更好的结果。到那时,这些功能已经具有很高的信息量,同时仍提供了大致的位置信息。
融合层之后,使用单个处理流。
表一比较了不同的融合方式结果

在哪里将两条流在空间上融合?

表二显示了用Conv Fusion在不同的层上的融合结果

从深层模型转变为更深层模型

出于计算复杂性的原因,所有先前的实验都是使用两个VGG-M-2048网络进行的。但是,使用更深层的模型,可以在图像识别任务中带来更好的性能[5,15,27]。
作者在UCF101和HMDB51上训练了16层网络VGG-16 。除从时间UCF101模型初始化的时间HMDB51网络外,所有模型都在ImageNet上进行了预训练,并分别针对目标数据集进行了训练。应用了与3D ConvNet训练相同的增强技术,但另外还从图像中心进行了采样。一旦验证目标达到饱和,学习率就设置为0.005,并降低10倍。
表中显示了深度模型与非常深度模型之间的比较。
在这里插入图片描述

如何在时间上融合两个流?

表中显示了不同的时间融合策略。在表4的第一行中,我们观察到conv融合的效果要优于平均softmax输出的效果(请参见表3)。接下来,我们发现在融合层之后应用3D池化而不是使用2D池化可以提高两个数据集的性能,并在HMDB51上获得更大的收益。最后,表4的最后一行列出了将3D滤波器应用于融合的结果,该结果进一步提高了识别率。
在这里插入图片描述

与最新技术的比较

表5显示的UCF101和HMDB51的所有三个部分与最新技术的比较。
在这里插入图片描述
使用与上述相同的方法,即通过3D Conv和3D池化进行融合(如图4所示)。
为了进行测试,通过密集采样输入帧堆栈及其水平翻转来平均每个网络的20个时间预测。一个有趣的比较是与原始的两流方法[22]相比,我们通过使用VGG-16空间(S)网络和VGG-M时间(T)模型以及在UCF101和HMDB51上将UCF101和HMDB51提高了3%。
作为最后的实验,探讨了手工制作的IDT功能与我们的表示的后期融合带来的好处。仅将FV编码的IDT描述符(即HOG,HOF,MBH)的SVM得分与我们的ConvNet表示的预测值(在softmax之前得出)进行平均即可。表6中显示了所得的性能。我们在UCF101上达到93.5%,在HMDB51上达到69.2%。最新的结果表明,手工制作的表示形式与我们的端到端学习型ConvNet方法之间仍然存在一定程度的互补。
在这里插入图片描述

原作者代码链接

https://github.com/feichtenhofer/twostreamfusion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值