Two-Stream Convolutional Networks for Action Recognition in Videos

Two-Stream Convolutional Networks for Action Recognition in Videos

Abstract

我们研究了用于视频动作识别的判别训练深度卷积网络(ConvNets)的体系结构。
挑战在于从静止的帧中捕获关于外观和帧间运动的补充信息。我们还致力于在数据驱动的学习框架中概括出性能最佳的手工制作功能。
我们的贡献是三倍。首先,我们提出了一个包含时空网络的双流ConvNet架构。其次,我们证明了在多帧密集光流上训练的ConvNet能够在有限的训练数据下获得很好的性能。最后,将多任务学习应用于两个不同的动作分类数据集,可以增加训练数据的数量,提高两者的性能。
我们的架构是根据UCF-101和HMDB-51的标准视频动作基准进行培训和评估的,在这些基准上,我们的架构与最先进的技术是竞争的。它也大大超过了以前使用深度网络进行视频分类的尝试

我们研究了一种基于两个独立识别流(空间和时间)的不同体系结构,然后通过后期融合将其组合。
空间流从静止视频帧执行动作识别,而时间流则被训练成从密集光流形式的运动中识别动作。两个流都实现为ConvNets。分离时空网络还允许我们通过在image net challenge数据集上预先训练空间网络来利用大量带注释的图像数据的可用性[1]。我们提出的架构与“双流假说”相关[9],根据这一假说,人类视觉皮层包含两条路径:腹侧流(whichperforms-objectrecognition)和背侧流(whichrecognisessmotion);尽管我们在这里没有进一步研究这种联系。

2 Two-stream architecture for video recognition

视频可以自然地分解为空间和时间成分。空间部分以单独的帧外观的形式,承载关于视频中描绘的场景和对象的信息。时间部分,以帧间运动的形式,传送观察者(相机)和对象的运动。我们相应地设计了视频识别架构,将其分成两个流,如图1所示。每个流使用deep ConvNet实现,其中softmax的分数通过后期融合进行组合。我们考虑了两种融合方法:平均和训练多类线性支持向量机[6]的二级标准化软最大分数作为特征。
在这里插入图片描述

3 Optical flow ConvNets

在这一部分中,我们描述了一个ConvNet模型,它构成了我们的体系结构的时间识别流。我们模型的输入是通过在几个连续的帧之间叠加光流位移场形成的。由于网络不需要隐式地估计运动,这样的输入可以显式地描述视频帧之间的运动,使得识别更加容易。我们考虑基于光流的输入的几种变化,我们在下面描述。
在这里插入图片描述

Optical flow stacking.
我们将L个连续帧的流通道dx,dy t堆叠成总共2L个输入通道。更正式地说,设w和h为视频的宽度和高度;然后构造任意帧τ的ConvNet输入体积Iτ∈w×h×2l

Trajectory stacking.
在这里插入图片描述

Bi-directional optical flow.
光流表示(1)和(2)处理前向光流,即帧t的位移场dt指定其像素在下一帧t+1中的位置。考虑双向光流的一个扩展是很自然的,它可以通过计算另一组相反方向的位移场来获得。
Mean flow subtraction.
一般来说,对网络输入进行零中心化是有益的,因为它允许模型更好地利用校正非线性。在我们的例子中,位移矢量场分量可以同时取正值和负值,并且自然地居中于这样的意义上,即在各种各样的运动中,一个方向的运动与另一个方向的运动一样可能。然而,给定一对帧,它们之间的光流可以由特定的位移控制,例如由相机运动引起的位移。在[10,26]中,摄像机运动补偿的重要性已经得到了强调,其中估计了全局运动分量并从稠密流中减去。在我们的例子中,我们考虑一种更简单的方法:从每个位移场d中减去其平均矢量。

4 Multi-task learning

与可以在大型静态图像分类数据集(如ImageNet)上预先训练的空间流ConvNet不同,时间ConvNet需要在视频数据上训练,并且用于视频动作分类的可用数据集仍然相当小。在我们的实验中,在UCF-101和HMDB-51数据集上进行训练,它们分别只有:9.5K和3.7K个视频。为了减少过拟合,可以考虑将两个数据集合并为一个;但是,由于类集之间的交集,这并不简单。一个选项(我们稍后评估)是只添加类中的图像,这些图像不会出现在原始数据集中。然而,这需要手动搜索这些类,并限制额外培训数据的数量。

5 Implementation details

在这里插入图片描述

Training:
momentum:0.9;
batchSize=256
学习率最初设置为0.01,当从头开始训练ConvNet时,在50K次迭代之后,速率变为0.001,然后在70K次迭代之后,速率变为0.0001,在80K次迭代之后,训练停止。
在微调场景中,在14K次迭代后,速率更改为0.001,在20K次迭代后停止训练。
Testing:
在测试时,给定一段视频,我们对固定数量的帧(在我们的实验中为25帧)进行采样,帧之间的时间间隔相等。然后,从每个帧中裁剪并翻转四个角和帧的中心,获得10个ConvNet输入。然后,通过对采样帧和其中的裁剪的分数进行平均来获得整个视频的类分数
Pre-training on ImageNet ILSVRC-2012
Multi-GPU training
Optical flow的计算使用OpenCV工具箱中现成的GPU实现[2]。尽管计算速度很快(一对帧0.06s),但如果在飞行中进行,仍然会带来瓶颈,因此我们在训练前预先计算了流量。为了避免将位移场存储为浮点,将流的水平和垂直分量线性地重新缩放到[0255]范围,并使用JPEG压缩(解压缩后,将流重新缩放回其原始范围)。这将UCF-101数据集的流大小从1.5TB减少到27GB。

6 Evaluation

Spatial ConvNets。首先,我们测量了空间流ConvNet的性能。考虑了三种情况:
(i) UCF-101的从头开始训练,
(ii) ILSVRC-2012的预先训练,然后对UCF-101进行微调,
(iii) 保持预先训练的网络固定,只训练最后一个(分类)层。
对于每种设置,我们都尝试将辍学正则化比率设置为0.5或0.9。从表1a所示的结果来看,很明显,仅在UCF-101数据集上训练ConvNet会导致过度拟合(即使在高dropout的情况下),并且低于在大型ILSVRC-2012数据集上的预训练。有趣的是,对整个网络进行微调,只比只对最后一层进行训练的效果稍有改善。在后一种情况下,更高的dropout会使学习变得更正规,导致更差的准确性。在下面的实验中,我们选择在预先训练好的ConvNet上训练最后一层。
在这里插入图片描述

Temporal ConvNets.
将输入流的数目从5增加到10会导致较小的改进,因此在下面的实验中,我们将L保持为10。第二,我们发现平均减法是有帮助的,因为它减少了帧间全局运动的影响。我们在下面的实验中默认使用它。不同的叠加技术之间的差别很小,结果表明光流叠加比轨迹叠加性能好,而使用双向光流仅略优于单向正向流。最后,我们注意到时间ConvNets明显优于空间ConvNets(表1a),这证实了运动信息对于动作识别的重要性。
在这里插入图片描述

Multi-task learning of temporal ConvNets
由于UCF-101训练集的规模较小,在UCF-101上训练时间转换网具有挑战性。一个更大的挑战是在HMDB-51上训练ConvNet,在HMDB-51上,每个训练间隔比UCF-101小2.6倍。在这里,我们评估了增加HMDB-51的有效训练集大小的不同选项:
(i) 微调在UCF-101上预先训练的时间网络;
(ii) 从UCF-101中添加78个类,这些类是手动选择的,以便这些类与本地HMDB-51类之间不存在交叉;
(iii) 使用多任务公式为了学习视频表示,在UCF-101和HMDB-51分类任务之间共享。

Two-stream ConvNets.
在这里,我们评估完整的两流模型,其中结合了两个识别流。组合网络的一种方法是在两个网络的full6或full7层之上训练一个完全连接的层的联合堆栈。然而,这在我们的情况下是不可行的,因为过拟合。
因此,我们使用平均或线性支持向量机融合softmax得分。从表3我们得出结论:(i)时间和空间识别流是互补的,因为它们的融合在时间和空间网络上都有显著的提高(时间和空间网络上分别为6%和14%);(ii)基于支持向量机的softmax分数融合优于平均融合;(iii)在ConvNet融合的情况下,使用双向流是不利的;(iv)使用多任务学习训练的时间ConvNet在单独和与空间网融合时都表现最佳。

在这里插入图片描述

Comparison with the state of the art.
在这里插入图片描述

Conclusions and directions for improvement

在我们目前的结构中,仍有一些最先进的浅层表现的基本要素[26]被忽略了。最突出的一个是时空管上以轨迹为中心的局部特征池。即使输入(2)捕获沿轨迹的光流,我们网络中的空间池也不考虑轨迹。另一个潜在的改进领域是对摄像机运动的显式处理,在我们的例子中,这是通过平均位移减法来补偿的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值