type
status
date
slug
summary
tags
category
icon
password
comment_flag
SLUGS
Source
author:王利民、熊元军、王哲、乔宇、林达华、汤晓鸥
from:IEEE Transactions on Pattern Analysis and Machine Intelligence
Abstract
深度卷积网络在图像识别上取得了巨大的成功。 但是,对于视频中的动作识别,相对于传统方法的优势并不是那么明显。 作者针对视频中的行为建模,提出了一种general并flexible的video-level的框架,称作temporal segment network(TSN)。其旨在通过设计segment-based采样和聚合模块来对视频中的长时序建模。
通过对该模型的学习,结合简单的average pooling和multi-scale temporal window,就能很容易地应用到trimmed和untrimmed视频中的行为识别。
文章的方法在以下数据集上获得了state-the-of-art:
- HMDB51 (71.0%)
- UCF101 (94.9%)
- THUMOS14 (80.1%)
- ActivityNet v1.2 (89.6%)
作者通过实验发现,尽管使用RGB difference作为motion信息,作者的模型仍然能获得具有竞争力的效果,如在UCF101上以340FPS的帧率运行时准确率可达91.0%
并且作者使用TSN参与ActivityNet Challenge 2016比赛,从24个队中荣获第一,可见TSN的有效性。
INTRODUCTION
需求和问题
基于视频的行为识别由于在安全和行为分析等诸多领域的应用,因而引起了学术界的关注。
视频中的行为识别,存在两个关键和互补的线索:外观动态和时序动态
行为识别系统的性能很大程度上依赖于是否能提取和利用视频中的相关信息。
然而由于诸如尺度变化,视角变化和相机运动之类的复杂因素,提取这样的信息是困难的。因此设计有效地信息表示在完成这些挑战的同时,学习以保留行为类别的分类信息就显得很关键了。
近年的进展
从图像识别上很成功的ConvNet发展到DeepConvNet,能够直接从大尺寸的监督数据集(如ImageNet,Palces)上的raw visual data直接学到具有判别性的表示。然而针对video-based的行为识别而言,端到端的Deep ConvNet带来的效果提升相比于traditional hand-crafted features是有限的。
由上,作者总结了ConvNets的三大障碍:
- 对视频的长时序信息建模困难
- 要么对长时间结构信息关注不够,焦点放在了外观信息和短期motions
- 要么就是为了关注长时间结构信息带来巨大运算力问题,使用预定义好的采样间隔进行密采样。然而有限的memory限制了采样的the duration of video,这使得对很长的video而言,在可承受的采样duration内,有丢失重要信息的风险
- 对untrimmed视频进行识别比较困难
- 已有的行为识别方法针对trimmed视频,然而实际部署中,需要处理untrimmed视频(如THUMOS,ActivityNet)
- untrimmed视频中的行为可能只占整个视频的一小部分(其他部分可能带来识别的干扰),(自己解读:)或者说一个视频中有很多跨时短的短行为。
- 数据规模问题
- Deep ConvNets通常需要大量的训练样本来优化性能,然而公开的数据集(UCF101,HMDB51)在尺寸和采样密度上都很存在局限,这导致模型有过拟合的风险
- 而对大尺寸的视频数据集,部署到实际应用场景后,实时提取视频中的光流以捕获短期motions会带来计算瓶颈。
作者的工作
因此作者给自己定了TODO:
how to effectively learn video representation that captures long range temporal structure;
how to exploit these learned ConvNet models for the more realistic setting of untrimmed videos;
how to efficiently learn the ConvNet models given limited training samples and apply them on large scale data.
作者也提出了相应的解决方案:
- 为捕获长时间结构信息
- 提出了video-level的TSN框架,基于作者的观察:视频中的连续帧高度冗余,稀疏全局时间采样(sparse and global temporal sampling)策略会很有利且有效。
- 简单而言,就是将长视频分成固定数目的segments,再从各个segment中随机选取一个snippet。
- 然后使用segment consensus function来聚合snippet-level的信息(各snippet中预测的类别分数)。
- 因此该方法的计算成本与视频duration无关。
- 作者针对聚合,讨论了5种consenesus function。3种基本的形式:average pooling,max pooling,以及weighted average;另外2种高级的形式:top- pooling和adaptive attention weighting。后两种是为了强调具有判别性的snippets,而抑制不相关的snippets的影响
- 为使学习好的模型能够应用到untrimmed视频中
- 设计了层次集聚合策略(hierarchical aggregating strategy),称作Multi-scale Temporal Window Integration(M-TWI)。(详细过程见后文的ACTION RECOGNITION WITH TSN MODELS)
- 首先将untrimmed视频按照固定的duration分成一系列小窗口序列
- 然后在每个小窗口内独立地使用max pooling来聚合窗口内的许多snippet-level的分数(这会计算窗口中的每一帧的得分)
- 最后使用top- pooling或者attention weighting来聚合不同窗口聚合后的得分,得到video-level的结果
- top- pooling和attention weighting聚合模块具有隐式选择判别性的动作实例区间的能力,可以抑制噪声背景的影响,对untrimmed视频识别是有效的。
- 为了解决训练样本有限,以及大尺寸视频上的应用问题
- 作者提出了交叉形态初始化(cross-modality initialization),将RGB形态学到的表示迁移到其他形态(如optical flow和RGB difference)
- 作者设计了一种针对fine-tune场景的BN,成为partial BN,仅对第一个BN层的均值和方差进行自适应更新以控制domain shift
- 为充分利用视频中的visual content,作者对四种输入形态(RGB image、stacked RGB difference、stacked optical flow field和stacked warped optical flow field)进行了实验,发现RGB和RGB difference的组合在实际应用中是潜力巨大的。
RELATED WORK
Video Representation的现状
视觉表示在视频行为识别中扮演着重要角色,相关工作分为两个大类:based hand-crafted features和using deeply-learned features。
based hand-crafted features:
- 研究者开发了许多的spatio-temporal feature detectors:3D-Harris、3D-Hessian、Cuboids、Dense Trajectories、Improved Trajectories
- 从感兴趣点提取的local 3D-region来捕获appearance和motion信息的histogram descriptor:Histogram of Gradient and Histogram of Flow (HOG/HOF、Histogram of Motion Boundary (MBH)、3D Histogram of Gradient (HOG3D)、Extended SURF
- 然后为聚合local descriptors以得到global representation,研究者提出了一些编码方法:Bag of Visual Words (BoVW)、Fisher vector (FV)、Vector of Locally Aggregated Descriptors (VLAD)、Multi-View Super Vector (MVSV)
- 作者说以上提取出的local features得益于其局部性和朴素性,但缺乏语义和判别性表达能力
为克服local features的局限,mid-level representations被提出:
- Raptis: grouped similar trajectories into clusters, each of which was regarded as an action part.
- Jain: extended the idea of discriminative patches into videos and proposed discriminative spatio-temporal patches for representing videos
- Zhang: proposed to discover a set of mid-level patches in a strongly-supervised manner.
- Wang: proposed a data-driven approach to discover those effective parts with high motion salience, known as motionlet
- Zhu: proposed a two-layer acton representation for action recognition
- Wang: proposed a multiple level representation called as MoFAP by concatenating motion features, atoms, and phrases.
- Sadanand: presented a high-level video representation called as Action Bank by using a set action templates to describe the video content
- 作者认为,以上的方法虽然提高了模型的表达力和判别能力,但仍依赖于low-level的hand-crafted features
using deeply-learned features:
- Karpathy: first tested ConvNets with deep structures on a large dataset (Sports-1M).
- Simonyan: designed two-stream ConvNets containing spatial and temporal nets
- Tran: explored 3D ConvNets on the realistic and large-scale video datasets
- Sun: proposed a factorized spatio-temporal ConvNets and exploited different ways to decompose 3D convolutional kernels
- Wang: proposed a hybrid representation by using trajectory-pooled deep-convolutional descriptors (TDD)
- Feichtenhofer: further extended the two-stream ConvNets with convolutional fusion of two streams.
- Several works tried to use recurrent neural networks (RNN), in particular LSTM, to model the temporal evolution of frame features for action recognition in videos
- 作者说自己提出的TSN框架可以和已有的ConvNet进行组合,以增强模型对长时间结构建模的能力
Temporal Structure Modeling
很多研究者已经在视频的时间结构上建模作出了贡献:
- Gaidon: annotated each atomic action for each video and proposed Actom Sequence Model(ASM)
- Niebles: proposed to use latent variables to model the temporal decomposition of complex actions
- Wang et al. and Pirsiavash et al. : extended the temporal decomposition of complex action into a hierarchical manner using Latent Hierarchical Model (LHM) and Segmental Grammar Model (SGM)
- Wang: designed a sequential skeleton model (SSM) to capture the relations among dynamic-poselets, and performed spatio-temporal action detection
- Fernando: modeled the temporal evolution of BoVW representations
最近的一些工作又聚焦于如何对视频的长时间结构进行建模:
- 这些方法都是直接在视频连续帧上使用RNN或者3D ConvNets
- 这些方法虽然旨在处理更长duration的视频,但受限于算力和显存,通常是处理固定长的帧序列(60-120),因此对整个视频的时间覆盖是有限的
- 作者说自己新颖的稀疏时域采样策略可以覆盖整个视频
TEMPORAL SEGMENT NETWORKS
Motivation Of Segment Based Sampling
作者在这个板块,讨论了现有方法的不足(基本上又是阐述ConvNets的障碍):
- 双流网络和3D卷积网络由于处理固定的堆叠连续帧,仅对视频有限的时间结构建模,缺乏长时间信息的学习
- 这些网络为了关注长时间信息的学习,选择堆叠更多的连续帧或者提高采样帧率(如2s采样1帧提高到1fps)。由于密采样的策略,对视频的时间结构信息建模能力仍然有限。
- 作者发现视频连续帧之间存在冗余,所以提出了稀疏全局采样
- 稀疏是指,不同的整个视频经采样后,仅得到了固定数目的snippets
- 全局是指,得到的固定数目的snippets是近似均匀分布在整个视频中的
这里可以举个例子(个人理解):
Framework and Formulation
给定的视频,将其等分成段得到,从中随机选取一帧得到第个snippet ,从而得到对稀疏全局采样的snippets序列。
输入到TSN:
其中:
- 为以作为参数的卷积网络作用于snippet 上的各类别得分向量
- 为段共识函数(The segmental consensus function),聚合多个snippets的类别得分向量以获得他们之间关于类别假设的共识
- 为Softmax函数
输出是被判定为各个类别的得分向量
网络示意图如下:
然后是其交叉熵损失函数:
其交叉熵损失为:
其中:
- ,是一个分类得分向量
- 为类别总数目
- 是一个指示函数,当且仅当该样本的真实类别确实为时,
- 时向量的第维属性值,即该样本属于第类的得分
讲道理此处的应该是一个样本的损失,而所有样本的总损失应该为,但下文还是保留原文的记号,此处参考https://zhuanlan.zhihu.com/p/27223959
可推导出:
Aggregation Function and Analysis
作者开始介绍5种聚合函数
Max pooling
在聚合过程中,第类的得分是选择所有snippets的类得分中的最大值,即,是的第维值(即第个snippet被分为第类的得分)。
作者说最大池化选择最有判别性的snippet的得分作为结果,但缺乏对多个snippet建模来理解video-level语义的能力
Average pooling
在聚合过程中,第类的得分是所有snippets的i类得分中的平均值,即
作者说平均池化直观上对所有的snippets的得分进行响应,从entire video捕获视觉信息,但若是视频存在噪声,那么与该类别不相关的snippet可能带来干扰。
Top- pooling
是最大池化和平均池化的折衷,选()个最大的求平均,即,是指示变量,当且仅当第个snnipet的得分确实属于个最大的范围内时
当为1时,退化成了Max pooling,
当为时,退化成了Average pooling。
作者说Top-池化时最大池化和平均池化的结合,既不考虑不相关的snippet的干扰,又考虑了多个snippet的建模以理解video-level语义
Weighted average
在聚合过程中,第i类的得分是所有snippets的i类得分的加权平均值,既,是第个snippet的权重,是训练的参数
此基于动作可分解为多阶段的假设,认为每个阶段有不同的影响力,尝试训练得出各阶段的权重。缺陷是,它假设了不同video中的行为有类似的分解,即各阶段有类似权重。
Attention weighting
为解决Weighted average的不足,尝试使用网络隐藏层的visual feature来估计行为分解为不同阶段时,各阶段的权重。即,是第个snnipet的attention权重,通过visual feature来计算。
下面是对attention权重的计算过程:
在使用相同的网络对每个snippet进行处理得到snippet-level的得分,可以得到网络中卷积层的visual feature(如最后一层卷积层的feature map)。
记:
- 为第个snnipet的visual feature,
- 为attention权重函数,是训练的参数
那么:
考虑了不同行为分解后各阶段对分类的影响不同,基于视频内容来自动估计这种影响。另外作者说由于attention model基于ConvNet的表示,那么可利用额外的反向传播信息来引导网络参数的学习过程,因此可能会加速训练过程的收敛
TSN in Practice
从TSN Architecture、TSN Inputs、TSN Trainning来讨论。
- TSN Architecture:作者提出TSN可以嵌入到很多的Backbone中,例如Inception V3,ResNet等,在消融实验中选择了BN inception(出于其在精度和效率上的平衡)
- TSN Inputs:除了RGB和光流外,作者探索了另外两种形态:
- Warped Optical Flow:对相机运动鲁棒,希望借此来提高运动感知的准确性
- RGB Difference:如果对特高精度无要求,提取耗时的光流是不必要的;像素对时间的偏微分对计算光流重要,因此借用RGB Difference来估计
- TSN Trainning:主要讨论避免模型易过拟合的方法
- RGB形态使用ImageNet数据做初始化,对于其他形态使用cross modality initialization的策略。:
- 先将optical flow fields线性离散化到0-255
- 计算预训练好的RGB形态的第一层RGB通道的权重平均值,并replicate成与TSN input相同的通道数
- 最后将权重拷贝到如以RGB difference形态作为输入的网络中(建议参考原文)
- 正则化技巧:
- 使用BN来避免Covariate shift,加速收敛,防止过拟合
- 冻结第一层外的BN层的权重和均值,前面称为partial BN方法
- 由于光流和RGB形态的数据分布不同,初始化网络的参数拷贝不严谨,需要重新评估均值和方差
- 在global pooling层后加drop out层
- 数据增强:主要是应用corner cropping和scale-jittering。
- 左上、左下、右上、右下、中心裁剪
- 裁剪窗口的长宽随机选自
ACTION RECOGNITION WITH TSN MODELS
作者在该板块主要阐述了从trimmed视频和untrimmed视频出发,如何设计鲁棒的行为识别。
作者总结的untrimmed视频的3个挑战点:
- Location issue:一个动作可能出现在视频的任何时间段
- Duration issue:一个动作可能很持久,也可能很短暂
- Background issue:视频中不相关的内容可能变化大,也可能占整个视频很长的时间段
为了解决上述问题,作者重新详细解释了提出的层次集聚合策略(hierarchical aggregating strategy)—Multi-scale Temporal Window Integration(M-TWI):
EXPERIMENTS
此处跳过实验细节
Effectiveness of The Proposed Practices
作者在UCF101上从不同的学习策略的探究空域、时域和双流的准确率,得出:加上cross modality initialization、partial BN with dropout的设置使得模型效果最佳
作者在UCF101上探究了TSN不同输入形态的组合效果,发现RGB+RGB difference在没有损失特别大的准确率下,带来了超高的运行帧率。
作者在UCF101、ActivityNet上探究了不同的共识函数的效果。通过此,作者在以后的实验中,对trimmed视频数据集默认使用average pooling,而对untrimmed视频数据集默认使用top- pooling
作者又在UCF101上探究了不同的ConvNet architecture带来的准确率差异:
作者在ActivityNet上探究网络的最佳组合结构:
作者在不同数据集上和SOTA方法进行了对比:
参考: