[翻译]End-to-End Learning of Motion Representation for Video Understanding

摘要

尽管端到端学习的表示最近取得了成功,但手工制作的光流特征仍然被广泛应用于视频分析任务中。为了填补这一空白,我们提出了TVNet,一个新颖的端到端可训练神经网络,从数据中学习光流的特征。TVNet包含了一个特定的光流解算器,即TV-L1方法,并通过将其优化迭代展开为神经层来初始化。因此,TVNet可以直接使用,无需任何额外的学习。此外,它可以与其他特定于任务的网络自然地连接起来,以形成端到端结构,从而使我们的方法比当前的多阶段方法更有效,避免了在磁盘上预先计算和存储特征。最后,通过端到端的训练,可以进一步调整TVNet的参数。这使得TVNet能够学习更丰富和特定于任务的模式,而不仅仅是精确的光流。对两个动作识别基准进行了广泛的实验,验证了所提议的方法的有效性。我们的TVNet比所有的方法都能达到更好的精度,同时在特征提取时间方面与速度最快的对手匹敌。

1.介绍

深度学习,特别是卷积神经网络(CNNs)已经彻底改变了基于图像的任务,例如,图像分类 [ 16 ] 和目标检测 [ 32 ]。然而,视频分析的进展还远未达到令人满意的程度,这反映了在学习时空数据的过程中遇到的困难。我们认为,主要的障碍是视频中独特的运动线索需要一些新的网络设计,而这些设计还有待发现和测试。

虽然有一些尝试[ 36 ] 通过在空间和时间维度上的卷积运算来学习特征,但光流仍然广泛而有效地用于视频分析,[ 28 , 9 , 10 , 40 , 15 , 29 ]。正如其名所示,光流捕捉了两个连续帧[42]之间的像素位移。因此,将光流应用到视频理解任务中,就可以显式地、方便地、但不高效地对动作信号进行建模。估计光流的计算成本通常很高。目前成功的将光流应用于视频理解的例子是双流模型[ 33 ],在这个模型中,CNN在光流数据上训练来学习动作模式。提出了two-stream模型的各种扩展,并取得了最先进的工作成果,包括动作识别[28, 9, 10, 40]和动作检测[15, 29]。

尽管性能显著,但当前基于光流的方法有明显的缺点:
•训练是一个两阶段的管道。在第一阶段,通过基于优化的方法(如TV-L1 [ 42 ])提取每两个连续帧的光流。在第二阶段,在提取的光流数据上训练CNN。这两个阶段是分开的,第二个阶段的信息(如梯度)不能用来调整第一个阶段的过程。
•光流提取在空间和时间上都很昂贵。提取的光流必须被写到磁盘上进行训练和测试。ucf - 101数据集[34]它包含成1万个视频,提取所有数据的光流通过TV-L1方法需要一个GPU-day,存储成本超过1 tb,存储他们的原始字段为浮点型(通常是一个线性JPEG规范化需要节省存储成本[33])。

为了解决上述问题,我们提出了一种新颖的神经网络设计,以一种端到端的方式来学习光流。这个网络,被命名为TVNet,是通过模仿和展开 TV-L1 [ 42 ]的迭代优化过程获得的。特别地,我们将 TV-L1 [ 42 ]方法中的迭代定义为神经网络的自定义层。因此,我们的TVNet是有良好基础的,可以直接使用,而不需要任何ground truth光流的额外训练。

此外,我们的TVNet是端到端的可训练的,因此可以自然地与特定于任务的网络(例如动作分类网络)连接起来,形成一个“更深入”的端到端可训练架构。因此,没有必要预先计算或存储任何光流特征。

最后,通过进行端到端学习,可以对作为标准光流特征提取器初始化的TVNet的权重进行微调。这使我们能够发现更丰富的和特定于任务的特征(与原始的光流相比),从而提供更好的性能。

为了验证所提出的结构的有效性,我们将在两个动作识别基准(HMDB51 [24] and UCF101 [34])上对所提出的TVNet和几个相互竞争的方法进行实验比较。

总而言之,本文提出以下几点贡献:
•我们开发了一个新颖的神经网络,通过将TV-L1方法的迭代展开到特定的神经层,从而学习视频中的动作。这个网络被称为TVNet,它是经过很好的初始化而且是端到端可训练的。
•尽管被初始化为一个特定的TVNet架构,但我们提出的TVNet可以进一步微调,以学习更丰富、更以任务为导向的特征,而不是标准的光流。

•我们的TVNet比其他动作表示网络(例如,TV-L1 [ 42 ],FlowNet2.0 [ 18 ])和三维的卷积神经网络 [ 36 ],在两个动作识别基准上获得了更好的精度,也就是在UCF101上的72.6%和在HMDB51上95.4%。

2.相关工作

在过去的几十年里,视频理解,如动作识别和动作相似检测,吸引了大量的研究关注。与静态图像理解不同,视频理解需要更可靠的运动特征来反映视频中发生的动态变化。Laptev等人[ 25 ]提出了一种时空感兴趣点(STIPs)方法,方法是将Harris corner检测扩展到三维空间以捕捉运动。类似地,对SIFT和HOG的3D扩展也分别进行了调查[7][22]。Wang等人[ 37 ] 提出了改进的密集轨迹(iDT),通过跟踪密集采样点,并通过光流的灰度直方图(HOF)和运动边界直方图(MBH)来描述轨迹周围的体积。尽管它的性能很好,但它的计算成本很高,而且在大规模视频数据集上变得难以处理。

在深度网络对图像理解任务的前景的激励下,也有一些尝试开发深层架构来学习视频理解的运动特性,包括 [ 20 , 21 , 28 , 13 , 17 , 43 , 14 , 12 ]。领先的方法分为两大类。第一个是通过将2D的卷积层扩展到3D同时学习外表和运动[ 36 , 20 ],包括最近提出的I3D[6]和P3D[30],来学习外观和运动。然而,通过三维卷积滤波器对运动信息进行建模是非常昂贵的,并且需要大规模的训练视频来达到预期的性能。另一类工作是基于双流网络[ 33 , 28 , 40 , 9 , 10 , 26 ]。这一行的方法训练两个网络,一个使用外观(例如RGB)数据,另一种使用手工制作的运动特征,如光流来表示运动模式。相反,在我们的方法中,运动描述符是用可训练的神经网络而不是手工制作的。因此,我们可以使用特定于任务的网络来联合学习和调整我们的光流样运动特性。此外,我们不需要存储和读取磁盘上的光流,从而带来显著的计算收益。最近的一个研究课题是用CNNs  [ 8 , 35 , 31 , 18 , 26 , 4 ]来估计光流。这些方法将光流估计作为对CNN参数的优化问题。一个自然的想法是将CNN和特定于任务的网络结合起来,以形成一个端到端的模型(参见45)。然而,应用流网的一个明显的问题是,它们需要成千上万个真实的流图像来训练流网络的参数以产生有意义的光流(见8)。对于实际应用程序,获得标记的光流数据是很昂贵的。与此相反,我们的网络被很好地初始化为一种特定的TV-L1方法,并且能够在最初的形式(没有微调)达到预期的性能。

最近,Ng等人[ 27 ]提出了训练一个单一的流卷积神经网络来共同估计光流和识别动作,这与我们的工作是最相关的。为了捕捉运动特性,他们制定了FlowNe[11]来学习合成ground truth数据的光流。尽管结果很有希望,但与传统方法相比,这种方法在准确性方面仍然落后于先进的方法。这是由于在合成和真实视频之间的差距。相反地,我们的网络是通过展开TV-L1方法来制定的,这种方法已经成功地应用于动作识别,我们不依赖于光流训练的ground truth。因此,我们的网络结合了TV-L1和深度学习的优势。

3. 符号和背景

3.1. 符号

一个视频序列可以写成三个参数的函数,I_t(x,y),其中x,y指数空间维度,t代表时间维度。Ω表示一帧内的所有像素坐标。函数值I_t(x,y)对应于第t视频帧中位置x=(x,y)的像素亮度。x点可能会随时间在整个视频帧中移动,而光流则是跟踪相邻帧之间的这种位移。我们用u^t(x)=(u^t_1(x),u^t_2(x))表示点x从时间t到下一帧t+1的位移。在没有歧义的情况下,我们省略了来自u_t(x)的上标t和/或参数x。

3.2. TV-L1方法

在现有的估计光流的方法中,TV-L1方法 [ 42 ]在效率和准确性之间的良好平衡尤其具有吸引力。我们在这一小节中详细地回顾它,使论文能够独立。我们的TV-Net 的设计(cf.第4节)的动机直接来源于TV-L1程序的优化。

TV-L1的主要公式如下:

[翻译]End-to-End Learning of Motion Representation for Video Understanding
这里第一项[翻译]End-to-End Learning of Motion Representation for Video Understanding对应平滑条件,第二项 ρ(u)对应著名的亮度一致性假设[42]。特别的,在它平移到下一帧轻微不同的位置之后,x点的亮度假设保持相同,也就是[翻译]End-to-End Learning of Motion Representation for Video Understanding。因此,第二项中定义的[翻译]End-to-End Learning of Motion Representation for Video Understanding为了惩罚亮度变化。因为函数[翻译]End-to-End Learning of Motion Representation for Video Understanding 对u是非线性的,Zach等人[42]通过在初始位置u^0的泰勒展开式计算亮度差异 ρ(u),产生[翻译]End-to-End Learning of Motion Representation for Video Understanding

上面给出了原始问题的一阶近似,并将其线性化为更简单的形式。此外,作者还引入了一个辅助变量v来引入原始问题的凸关系:
[翻译]End-to-End Learning of Motion Representation for Video Understanding

非常小的θ可以迫使最小化的时候u和v相等。通过迭代更新u和v最小化目标。优化的具体操作展示在算法1,这里p_1和p_2是对偶的光流向量场。

[翻译]End-to-End Learning of Motion Representation for Video Understanding

理解算法1。算法里的核心挑战是逐像素的计算梯度,散度,扭曲。数值估算的细节如下所示。
Gradient-1. 图I_1的梯度是由中心差计算的:

[翻译]End-to-End Learning of Motion Representation for Video Understanding
Gradient-2. 光流u的每个分量的梯度是通过正向差计算的:
[翻译]End-to-End Learning of Motion Representation for Video Understanding
Divergence. 对偶变量p的散度是通过反向差来计算的:
[翻译]End-to-End Learning of Motion Representation for Video Understanding
另一个像素级的估计是亮度I_1(x+u 0)。它通常是通过在最初的流场u_0中通过双线性插值来获得帧I_1的扭曲。

多尺度TV-L1。由于泰勒的展开式被应用于线性化亮度差异,最初的光流场u_0应该接近于真实的场u,以确保小的近似误差。为了达到这个目的,近似场u_0是由一个多尺度的方案以粗到细的方式得到的。具体地说,在最粗的级别上,u_0被初始化为0向量,并且算法1的相应输出被应用于下一个级别的初始化。

4. TVNets

本节介绍这篇论文的主要贡献,即:TVNet的形成。其核心思想是模仿TV-L1中的迭代过程,同时将迭代展开到一个层到层的转换中,与神经网络一样。

4.1. Network design

我们现在重新访问算法1,并将其关键组件转换为神经网络。首先,我们可以将算法1中的迭代展开成固定大小的反向传播网络,如果我们固定whileloop内的迭代次数N(参见图2)。第二,每个迭代(即层)是连续的,并且几乎所有的地方都是对输入变量的平滑。这样的属性可以确保梯度可以通过每一层进行反向传播,从而产生一个端到端的可训练系统。
[翻译]End-to-End Learning of Motion Representation for Video Understanding
将算法1转换为神经网络涉及效率和数值稳定性考虑。为了达到这个目的,我们修改了算法1,通过特定的卷积替换梯度和散度Eq(3) - (5) 的计算,用双线性插值来执行扭曲,用一个小的阈值来稳定除法计算。我们提供以下细节。

卷积计算。算法1中最冗余的部分就是Eq. (3) - (5)像素级的计算。我们提出用特定的卷积层进行这些层的计算。我们定义下面的核:
[翻译]End-to-End Learning of Motion Representation for Video Understanding

因此,在有效的像素区域( 1 < i < W ),Eq. (3) -(4)可以被等价的写成:
[翻译]End-to-End Learning of Motion Representation for Video Understanding

这里*定义卷积操作。Eq. (6)只描述沿x方向的核。我们将它们转置来获得y方向的核。

Eq. (5)的散度是由后向差计算的,但是卷积是在一个正向的方向上计算的。重写Eq.(5)卷积形式,我们首先需要将p_d1(和p_d2向下平移)向右平移1个像素,p_d1的第一列补0(p_d2的第一行补0),生成ˆp_d1(ˆp_d2)。然后,Eq.(5)可以被转换成
[翻译]End-to-End Learning of Motion Representation for Video Understanding

w^T_b表示w_b的转置。然后我们对Eq(7)-(9)的输出的边界点进行细化,以满足Eq的边界条件(3)-(5)。

基于双线性插值的扭曲。原来的tv l1方法使用双三次线性插值来进行变形过程。在这里,出于效率的考虑,我们采用双线性插值。注意,双线性插值已经成功地应用于以前的工作,如空间变形网络[ 19 ]和光流提取方法[ 11 ]。我们通过[翻译]End-to-End Learning of Motion Representation for Video Understanding定义扭曲.然后我们计算

[翻译]End-to-End Learning of Motion Representation for Video Understanding

这里u_1和u_2分别是u_0在(I,j)位置的水平和垂直光流。我们按照[19]中的细节,而且推导出Eq.(10)关于u0的偏导,因为双线性插值是连续的和分段光滑的.

数值稳定性. 我们需要关注算法1中的除法,也就是[翻译]End-to-End Learning of Motion Representation for Video Understanding当分母为0的时候这个操作是有问题的。为了避免这个问题,原始的TV-L1检查分母是否大于1个小的常量;如果否,算法将分母设置为这个常量。这里我们利用软非零转换通过重写v的更新为[翻译]End-to-End Learning of Motion Representation for Video Understanding这里一个小的值ε > 0被加到分母上。这个变化更有效,因为我们不需要在每一步显式的检查分母的值。


算法1中的另一个除法计算是[翻译]End-to-End Learning of Motion Representation for Video Understanding

。乍一看,这个除法是安全的,因为分母肯定大于1。然而,我们稍后会看到,它的梯度包含除法计算,分母可以为零。因此,我们通过在分母上加上一个小的值 ε > 0 来应用软变换,也就是,

[翻译]End-to-End Learning of Motion Representation for Video Understanding
a和b是定义良好的变量(细节是在补充材料中提供的)。在实践中, ∇u_d1和 ∇u_d2在图像的静态区域内通常等于零(例如,背景)。因此,如果没有在Eq. (12)中添加正项,那么梯度的计算将会遇到零分。

多尺度的版本。多尺度TVNet是通过直接展开TV-L1的多尺度版本来制定的。更高的尺度采用它的直接的低版本的上采样的输出作为输入。每个尺度上都有多个扭曲,每一个扭曲都由多个迭代组成。因此,多尺度TVNets的总迭代次数是[翻译]End-to-End Learning of Motion Representation for Video Understanding


4.2. Going beyond TV-L1

在上一节中,我们将 TV-L1算法转换为前馈网络。然而,这样的网络是无参数的,而且是不可学习的。为了形成一个更有表现力的网络,我们可以在 TV-L1中放松某些变量,使其成为可训练的参数。放松变量使TVNet不再等同于TV-L1。然而,它允许网络通过端到端训练来学习更复杂的、特定于任务的特征提取器。

我们放松的第一个变量是初始化光学场u_0。在TV-L1中,u_0被设为零。然而,从优化的角度来看,零初始化并不是最好的选择;使u_0可训练将使我们能够自动确定优化的初始化。我们还建议在Eq(7)-(9)中放松卷积滤波器。最初的卷积被用来推导(数值)梯度和发散。允许卷积过滤器是可训练的参数,将使它们能够以数据驱动的方式发现更复杂的模式。与我们实验中的原始结构相比,我们将展示可训练版本的好处。

4.3. Multi-task Loss

正如之前所讨论的,我们TVNet可以连接到任何特定于任务的网络(例如,动作分类BN-Inception网络[40])执行端到端动作识别操作不需要显式地提取光流数据,如图2所示(c)。因为端到端结构,TVNet的参数可以通过反向传播特定任务损失的梯度来调整。此外,由于原始的TV-L1方法是为了将 Eq. (1)的函数最小化,我们也可以使用这个函数作为额外的损失函数来强制它产生有意义的光流特性。为此,我们制定了一个多任务损失
[翻译]End-to-End Learning of Motion Representation for Video Understanding

这里L_c是动作分类损失(例如交叉熵),L_f是在Eq.(1)中定义的,除了泰勒近似之外的精确计算用于计算ρ(u(x)),并且λ是一个超参数来平衡这两个损失。我们在所有的实验中都设定了λ = 0.1,并且发现它在所有的实验中都很有效。注意,当它被翻译成卷积和双线性插值时,它可以计算L_f的梯度(见4.1)。

5. Experiments

本节将进行实验评估,以验证所提出的TVNet的有效性。我们首先对各种结构的TVNet与TV-L1方法进行了比较,并对其优化效率进行了比较。然后,我们将TVNets的性能与最先进的方法进行比较,以完成动作识别的任务。

这三个超参数,N个尺度,N个参数和N次迭代,决定了TVNet的结构。为了方便起见,我们用超参数的特殊值表示TVNet,如TVNet- N scales - N warps - N iters。当N个尺度和N个扭曲都被固定为1时,我们将架构定义为TVNet-N。对于tv l1方法,在所有的实验中,除非另有说明,否则在所有的实验中,超参数都是固定的N scales = N warps = 5 and N iters = 50。我们的方法是由Tensorflow平台实现的。除非另有说明,所有的实验都是在8个特斯拉P40 gpu上进行的。


5.1. Comparison with TV-L1

初始化作为一种特殊的TV-L1方法,TVNet的参数可以进一步微调,如第4.2节所述。因此,评估训练过程可以提高多少最终的性能是很有趣的。为了达到这个目的,我们比较了在光流数据集上的TVNet和TV-l1之间的估计误差,MiddleBurry数据集。

数据集。MiddleBurry数据集是一个广泛使用的基准,用于评估不同的光流提取方法。在这里,我们只对训练集进行评估,因为我们只关心TVNets的训练效率。对于训练集,只有8个图像对提供了ground-true的光流。

应用细节。估计错误通过average End-Point Error (EPE)测量,定义如下

[翻译]End-to-End Learning of Motion Representation for Video Understanding

这里[翻译]End-to-End Learning of Motion Representation for Video Understanding分别是预测的和真实的光流场。对于TVNets的训练,我们采用EPE(Eq.(14))作为损失函数,并分别应用批量梯度下降的方法,学习速率为0.05和最大迭代次数为3000。几个结构,即TVNet-10、TVNet-30, TVNet-50, TVNet-3-10, TVNet-1-3-10,,以及他们的 TV-L1的对应部分,以比较不同网络设计的区别。

[翻译]End-to-End Learning of Motion Representation for Video Understanding

结果。我们在表1中使用MiddleBurry对TVNets和 TV-L1进行了一对一的比较。在同样的架构下,没有受过训练的TVNet就能取得接近TV-L1的效果。这并不奇怪,因为TVNet和TV-L1几乎是一样的,除了插值的方法(双线性和双三次)。为了进一步评估训练u_0的效果,我们进行了额外的实验,并在表1中报告了结果。显然,让TVNets中的u_0可学习,确实可以减少End-Point Error。通过对u_0和卷积滤波器的训练,除了TVNet-10以外,所有的TVNets都比TV-L1-5-5-50的错误更低,尽管TVNets(不超过50)的迭代次数比TV-L1-5-5-50(高达1250)要小得多。图3显示了TV-L1-5-5-50和TVNet-50光流的可视化。另一个有趣的现象是,TVNet-30, TVNet-50, TVNet-3-10 and TVNet-1-3-10的比较。据观察,在训练后,TVNet-30和TVNet-50最终的表现超过了TVNet-3-1-10和 TVNet-1-3-10,这意味着平面结构(即N个尺度=N的warps=1)在某种程度上更容易训练。对于下面剩下的实验,我们只会比较TVNet-50和TV-L1-5-5-50之间的性能,并将TV-L1-5-5-50类似的定义为TV-L1。

[翻译]End-to-End Learning of Motion Representation for Video Understanding

5.2. Action recognition

数据集。我们的实验是在两个流行的动作识别数据集上进行的,即UCF101[ 34 ]和HMDB51[ 24 ]数据集。UCF101数据集包含了13320个视频,其中包含101个动作类。HMDB51数据集由51个行动类别的6766视频组成。

实现细节。正如前面所讨论的,我们的TVNets可以通过一个分类网络连接来建立一个端到端模型来执行动作识别。在我们的实验,我们将BN-Inception network[ 40 ]作为分类模型,由于它的有效性。在初始化过程中,BN-Inception网络通过[39]中引入的跨模技术预先训练了这个网络。

我们从每个视频中抽取6个连续的图像,并为每一对连续的图像提取5个流帧。由此产生的光流的栈被送入了BN-Inception初始网络进行预测。为了训练端到端模型,我们将取样堆栈的批大小设置为128,并将动量设置为0.9,学习率被初始化为0.005。UCF101和HMDB51数据集的学习迭代的最大数量分别被选为18000和7000。在UCF101实验的10000次和16000次迭代之后,我们将学习速率降低了10倍,在HMDB51案例中在4000和6000次迭代后下降。我们只在这个实验中实现了TVNet-50。为了防止过度拟合,我们还进行了corner cropping和scale jittering[ 40 ];TVNets的学习率进一步除以255。

在测试中,从视频的中心和四个角中提取出大量的流场。我们从每个位置抽取25个栈(例如中心和角落),然后水平地翻转,以扩大测试样本。所有取样的片段(总计250个)被喂给了BN-Inception [ 40 ] ,它们的输出是平均预测的。

基线。除了TV-L1方法之外,我们还执行了其他三种广泛使用的流量提取基线,包括DIS-Fast [ 23 ], DeepFlow [ 41 ] and FlowNet2.0 [ 18 ]。对于FlowNet 2.0,我们使用KITTI数据集的预训练模型。对于所有的基线,我们预先计算了光流,并通过线性压缩将流场存储为JPEG图像。所有的方法都有相同的训练设置和分类网络,以进行公平的比较。

[翻译]End-to-End Learning of Motion Representation for Video Understanding

计算效率比较。我们在表2中增加了 TVNet, TV-L1, DIS-Fast, Deepflow, and Flownet2.0 之间的全面的计算比较。为了做到这一点,我们从UCF101数据集随机选择一个测试视频,并计算每两个连续帧的光流。表2总结了TVNet-50, TV-L1, DIS-Fast, DeepFlow and FlowNet2.0的平均运行时间(不包括输入/输出时间)。结果验证了TVNets有高的每秒帧数(FPS)、低光流误差、端到端可训练性能和少量模型参数方面的优势。正如[ 18 ]所报道的那样,Flownet 2.0在光学流数据集(如MiddleBurry)上的表现要比TV-L1 更准确。然而,对于动作数据集,根据表2,TV-L1 和我们的TVNet获得的光流错误比Flownet 2.0更低。

[翻译]End-to-End Learning of Motion Representation for Video Understanding

分类精度比较。表3给出了TVNet-50 的动作识别精度,与4个基线和当前最佳动作表示方法相比较。显然,TVNet-50在两个数据集上都比所有的方法都要出色。与TV-L1相比,UCF101上的TVNet-50的改进并不大;然而,我们的TVNet-50在计算上比TV-L1更有利,因为它只使用一种尺度和一种扭曲,而TV-L1则采用五种尺度和五种扭曲。即使我们冻结了它的参数,TVNet-50仍然比DIS-Fast, DeepFlow and FlowNet2.0更好的结果;由于我们的TVNet被初始化为一种特殊的 TV-L1,最初的结构足以取得有希望的表现。TVNet是由Eq. (13)提供的多任务损失训练的。为了验证流量损失项的影响,即 L_f,我们只对一个新模型进行分类损失。表3显示这样的设置降低了准确性。

Flownet 2.0也可以联合微调进行操作分类。这是在ActionFlowNet [ 27 ] 中完成的,但是所包含的结果比我们在表3中展示的更糟糕。这可能是因为TVNet的参数比Flownet 2.0要少得多,这使得训练更有效率,更不容易过度拟合。对于UCF101数据集,TVNet的表现超过了C3D [ 36 ] ,超过了2%。C3D方法应用三维卷积来学习时空特征。与此隐式建模相反,在我们的模型中,运动模式是由TVNet显式提取的。我们还将图4中的TV-L1和TVNets的输出可视化。

[翻译]End-to-End Learning of Motion Representation for Video Understanding

与其他的先进方法比较。与最先进的方法相比,我们在我们的TVNet-50中应用了几个实用的技巧,就像之前的作品 [ 33 , 40 ]所暗示的那样。首先,我们通过在RGB图像上训练一个空间网络来执行双流组合技巧[ 33 ] 。我们将BN-Inception作为空间网络,并应用与[40]使用相同的实验设置。在测试中,我们将空间和时间网络的预测通过固定的权值结合起来(例如1:2)。其次,要考虑到长期的时间意识,我们在训练期间对每段视频的3个采样段进行时间池,如[40]所示。

[翻译]End-to-End Learning of Motion Representation for Video Understanding

表4总结了在UCF101和HMDB51数据集的三个分割中,与最先进的方法相比,TVNets的分类精度。与最初的两流方法 [ 33 ] 相比,TVNets所取得的进步是相当可观的(UCF101和HMDB51的11.6%)。也由于采用了更好的模型,取得了如此重大的成果(i.e., BN-Inception net)也考虑到端到端的运动挖掘。

TSN方法[ 40 ]实际上是一个带有TV-L1输入的双流模型。TSN与我们的TVNets共享相同的分类网络和实验设置。如表3所示,我们的TVNets在两个动作数据集上的表现都优于TSN(例如,在HMDB51上的71.6%和68.5%),验证了TVNets对双流模型的有效性。

将CNN的模型与基于动作的手工制作的IDT特征 [ 37 ] 相结合,可以提高 [ 38 , 36 , 5 , 9 ]的最终表现。因此,在我们的方法中我们平均FV-encoded IDT特征的L2-normalized SVM 得分(i.e., HOG, HOF and MBH),使用L2-normalized的视频预测(在损失层之前)(Hence, we averaged the L2-normalized SVM scores of FV-encoded IDT features (i.e., HOG, HOF and MBH) with the L2-normalized video predictions (before the loss layer) of our methods. )。表4总结了结果,表明仍有改进的余地。我们在UCF101上的95.4%和HMDB51的72.6%的表现明显优于所有的比较方法。

最新的I3D [ 6 ]获得了最新成果,在UCF101上取得了97.9%的成绩,在HMDB51上取得了80.2%的成绩。然而,I3D方法通过使用大量额外的训练数据来提高性能。把他们的结果和我们的结果相比较是不公平的。


6. Conclusion

本文提出了一种新颖的端到端运动表示学习框架,并将其命名为TVNet。特别地,我们将TV-L1方法作为一个神经网络,它以堆叠的帧为输入和输出像流一样的运动特性。对两种视频理解任务的实验结果表明,它在现有的运动表示学习方法上具有优越的性能。在未来,我们将探索更大规模的视频理解任务,以检验端到端运动学习方法的好处。