问题:
1. 大部分推理均是局部进行的,丧失了跨越数秒的动作内的重要关系
2. 尽管有快速桢处理的局部方法,整个视频的处理效率不高,有损在线长视频分类检索的效率
本文:
引入一网络结构(考虑进了长视频和短视频,同时能使快速实现每个视频(per-video)的处理)
该结构基于融合网络中的长程内容,而不是post-hoc fusion。
采用采样策略(相邻帧大多是冗余的),产生能达到每秒230个数百帧的视频的高质量的动作分类和视频字幕
该方法在各数据集上产生与SOTA相媲美的但速度更快10-80倍的性能。
深度学习提供强有力的交互式帧率的分类器,使得实时动作检测成为现实。
尽管动作检测能在短时间窗口的动作上足够快速的实时决定,单行为理解关注长范围内容才能获得准确率。
一些3D CNN结构已经提出来捕获相邻帧的时序关系, 不但计算复杂,且小窗口无法覆盖整个视频。现存方法典型做法是应用基于窗口分数的特定后融合,探索窗口间的时序关系并不是最优的。
本文引入一直接的,端到端的可训练的结构(用两重要原则来避免上面提到的dilemma—窗口间时序关系不能很好捕获。)
一是,动作的较好初始化分类可以从单帧图片获得。(这帧的时序相邻帧大部分冗余信息,对提高先动作的belief不起作用。于是,我们用2Dcnn高校处理单帧来捕获这类帧的appearance features)
二是,为补货较远帧间的上下文信息,对分数的简单融合是不够的。于是,feed较远帧的特征表示送到3D CNN学习这些帧间的时序上下文,极大提高仅从单帧获得的置信度belief,尤其是对复杂的长范围动作。该原则与二流中的early fusion/late fusion(RGB stream & optical flow)相关。
两原则最后的实现能获得一高准确度。复杂动作的长时序内容可以完全补货,尽管仅看整体中的一部分帧 该方法能实现整视频的快速处理。视频检索非常有用。
另外,该方法打开了在线视频理解的可能性。该论文,展示了我们在线环境下使用我们的结构的一方法,首先提供一个快速的动作猜测,再用更复杂动作建立的长范围上下文来进行refine。对比最近【4】在线视频检测,该方法提供不止快速响应时间,而且考虑了长范围内容。
我们在多个视频理解任务上进行实验(video recognition和video captioning)。
仅使用RGB图片作为输入,与大多数数据集中的最先进方法相比,获得了同等或有利的性能(表现)。所有数据集的运行时间-精度的折中(trade-off)最优(superior)
【Chained multi-stream net- works exploiting pose, motion, and appearance for action classification and detection】
【Temporal 3d convnets: New architecture and transfer learning for video classification 】
【Appearance-and-relation networks for video classification 】
Utilize 3D architecutres for action recognition。Model the short-term temporal context of the input video based on a sliding window。
At inference time,must compute the average score over multiple window,time consuming。 ARTNet requires on average 250 samples to classify one video
所有这些方法在训练和推断七点都不能充分利用整个视频的全面信息。部分观察(patial observation)不仅会在动作预测中造成混淆,还需要额外的后处理来融合分数。额外的特征/分数融合降低了视频处理的速度,并使该方法在实时设置中失效。
Long-term representation learning
为解决partial observation问题,一些方法加大了temporal resolution of the sliding window【LTC,I3D】,然而扩大输入时序长度有两大缺点:计算成本昂贵、仍不能覆盖整个视频的视觉信息,尤其对于较长视频。
一些工作提出了encoding methods【】to learn a video representation from samples。这些方法独立计算每帧的特征再在时间维度融合特征以形成视频级的表示。忽略了帧间的关系。【A discriminative CNN video representation for event detection】【Deep quantization: Encoding convolutional activations with deep generative model】【Beyond short snippets】
TSN探索了一个 sparse&global temporal sampling方法来chosse frames from entire video during training。和以上融合方法一样:frames are processed independently at inference time; their scores are aggregated only in the end。
我们方法三点不同:(1)Similar to TSN,sample fixed number of frames from entire video to cover long-range temporal structure(sampled frames span the entire video independent of the length of the video)。(2)In contrast to TSN,we use a 3D-network to learn the relationship between the frames and track them throughout the video。End-to-end training。(3)directly provides video-level scores without post-hoc feature aggregation,online & real-time。
Video Captioning
大部分方法使用a CNN (pre-trained on image classification or action recognition) to generate features,utilize a frame-based feature aggregation(e.g. Resnet or TSN) or a sliding window over the whole video(e.g. C3D)to generate video-level features. Then, passed these features to a RNN to generate the video captions via a learned language model .
Real-time and online video understanding
[26] Efficient feature extraction, encoding, and classification for action recognition : introduce a fast dense trajectory method
[27:EMV] Real-time action recognition with enhanced motion vector cnns
[28] Predicting the where and what of actors and actions through online action localization : expensive segmentation method which cannot work in real-time.
[4]Online real-time multiple spatiotemporal action localization and prediction
长时程时空框架
每个视频分成N个等长的subsections。每个Subsections采样一帧。该帧由常规2D cnn处理产生采样帧的表示。堆叠这N个表示 送至3D cnn,从而考虑了时序关系以分类动作。
随机采样帧位置优于总是使用同位置,因为训练时保证它多样性,使网络适应动作实例化的变化。请注意,这种处理在训练期间利用了视频的所有帧来建模variation。同事,网络必须在运行时处理N帧,时该方法更快。我们还考虑了考虑自取内容的更巧妙的划分策略。然而,伴随着必须处理每帧视频以获得分区(subsection),这种更智能分区的世纪改进时有限的,因为大多数变化(variation)已在训练期间被随机采样捕获。
至此,视频每帧被独立处理。为了了解由随减退等场景的不同表观是如何组成动作的,我们将所有帧表示堆叠起来送至3DCNN产生最后的类别标签。
该体系结构直接明了,显然可直接在动作类别标签和大数据集上有效地训练。这也是可以轻松适应其他视频理解内容的框架(architecture),正如稍后视频描述部分5.4中所示。
3.1 ECO Lite and ECO Full
Architecture overview of ECO Lite. (图)
ECO Lite的3D架构针学习对帧间关系进行优化,但若仅从静态图像内容就能识别动作的多时动作来说,往往会浪费网络容量(model capacity)。于是建议并行使用2D网络来扩展架构。如图2(B)。对于简单动作,2D网络架构可以简化处理并确保静态图像特征有必要重要性,而3D网络架构考虑以来帧间关系的更复杂动作。
2D网络接受所有样本真的特征图并产生N个特征表示。之后,应用平均池化来获得代表静态场景语义的特征向量。将图2(A)称为ECO Lite,图2(B)称为ECO Full。
3.2 Network details
2D-Net:用来分析单帧的2D network(H_2D),用BN-Inception网络架构的第一部分(until inception-3c layer)。细节见补充材料。有2D filters和pooling kernels batch normalization。选择该architecture的原因是因为它的efficency。The output of H_2D for each single frame is 96*28*28.
3D-Net:H_3D采用3D_Resnet18的部分layers【Convnet architecture search for spatiotemporal feature learning】【ARNet】细节见补充材料。The output of H_3D is one-hot vectors for different class labels.
2D-Net_s:在ECO full 设计中,与3D-net并行来直接提供视频的静态视觉语义。该full网络使用inception-4a层直至最后的pooling层(1024d/frame)的BN-Inception结构。用average pooling来生成1024d的video-level特征。然后与3D-Net的特征相连接(concatenation)
3.3 Training details
Mini-batch SGD with Nesterov momentum, FC+dropout
Split each video into N segments(random select one from each segment)
Random sampling provides robustness to variations and enables the network to fully exploit all frames 。
Apply data augmentation【同TSN】:resize the input frames to 240*320 and exploy fixed-corner cropping and scale jittering with horizontal flipping(temporal jittering provided by sampling)
Afterwards, run per-pixel mean subtraction and resize the cropped regions to 224*224.
The initial learning rete is 0.001 and decrease by a factor of 10 when validation error saturates for 4 epochs.
Train the network with a momentum of 0.9, a weight decay of 0.0005, mini-batches of size 32.
3.4 Test time inference
大多数方法采用对网络结果进行后期处理:TSN和ARTNet搜集25frames/video, 每个帧通过角落&中心裁剪并翻转采样出10个区域,对所有250samples/video取平均获得最后预测分数。测试阶段这种推断计算昂贵,不适合实时环境。
相比之下,我们网络直接为整个视频生成动作标签,无需任何额外的聚合。从视频中采样N帧,仅用center cropping送至网络,从而为整个视频提供一次性预测。
Experiments
我们评估了我们在不同视频理解任务上的方法,以显示方法的泛化能力。在最常见的分类数据集上评估了网络架构,以便与SOTA方法比较其性能。包括较旧但仍流行的UCF101和HMDB51,也包括最近的Kinetics和Sth-Sth。另外,我们将体系结构应用于视频字幕并在广发使用的YT2text数据集上对其进行了测试。对于所有这些数据集,我们使用了作者提供的标准评估协议。这些数据集的统计数据如下。该比较限于将原始RGB视频作为输入而无需进一步与处理(例如,提供光流or人体姿势)。术语ECO_En是指从具有{16,20,24,32}帧数的网络集合中获得的平均分数。
5.1 Benchmark Comparison on Action Classification
ECO在不同数据集上获得的结果显示在表1,2和3中,并将其与SOTA对比。对于UCF101、HMDB-51、Kinetics,ECO优于使用所有除I3D(use a much heavier network)之外的现存方法,在Something-Something比其他方法有大幅度提升。显示了相对简单且小型的ECO架构的强大性能。
5.2 Accuracy-Runtime Comparison
ECO架构的优势变得更加突出,当我们考虑了表4和图4中所示的精度运行时间折衷时。ECO架构以更快的速率产生与其他方法相同的精度。
以前的作品通常以每秒帧数(fps)来衡量方法速度。 我们的ECO模型在Tesla P100 GPU上以675 fps(ECO Lite为970 fps)运行。 但是,这并不能反映处理整个视频所需的时间。 这对于像TSN和我们这样的方法来说是相关的,它们并不关注视频的每一帧,并且促使我们每秒报告视频(fps)以比较视频理解方法的速度。
ECO可以处理视频的速度至少比其他方法快一个数量级,使其成为视频检索应用的绝佳架构。
Number of sampled frames.
图5对两种架构变体ECO和ECO Lite进行了比较,且平贵了采样帧数N的影响。如预期那样,当采样帧数较少时精度会下降,因为Subsection变长会丢失重要动作信息,尤其对那些快速都做,例如抛铅球。然而仅有4个样本ECO准确率仍然比大部分文献中方法好得多,因为ECO考虑到视频中这4个瞬间之间的关系,即使他们相聚甚远。图6甚至表明,对于简单的短期行为,使用较多样本性能反而下降。这一看令人惊讶,但可以通过(当有很少channels送至3D网,对于简单动作 可以更合理地使用网络容量)来解释。
ECO vs. ECO Lite.
Full ECO架构比普通的ECO Lite架构产生稍好的结果,但速度稍慢。 两种架构之间的精度和运行时间的差异通常可以通过使用更多或更少的采样来补偿。 在Something-Something数据集中,时间上下文比其他数据集发挥更大的作用(参见图5),即使输入样本数相同,ECO Lite也可以像Full ECO架构一样执行,因为原始处理单个图像线索与此数据集关系不大。
5.3 Early Action Recognition in Online Mode
图7评估我们在线模式的方法,并显示该方法需要多少帧以达到其全部准确度。 我们在J-HMDB数据集上运行了此实验,因为此数据集上的其他在线方法的结果可用。 与这些现有方法相比,ECO可以更快速地达到更高的精确度,并且以更高的绝对精度下饱和。
5.4 Video Captioning
Conlusions
本文提出了一个简单且高效的网络体系结构,仅查看的a subset of frames from a video,学习这些帧间的时间上下文。这个原理可用于各种视频理解任务。动作分类,在线动作分类,视频字幕等表现出色。计算负载和内存占用使得在移动设备的实现成为未来一可行选项,这些方法比SOTA快10-80倍。