Temporal Segment Networks(TSN):Towards Good Practice for Deep Action Recognization

来源:互联网 发布:银泰证券股票交易软件 编辑:程序博客网 时间:2024/05/20 12:21
原文链接:

Temporal Segment Networks(TSN):Towards Good Practice forDeep Action Recognization

本文主要是对原文章的简单翻译,说明方法,不对实验过程分析。如有不准确的地方,欢迎指教~

摘要:Temporal Segment Network(TSN)是对视频的动作识别,基于long-rangetemporal structure modeling。它结合sparse temporal sampling strategy 和视频管理。本文的其他贡献在于在TSN的帮助下更好的学习ConvNets。数据集HNDB51和UCF101.。

1.简介

         动作识别有两个关键层:appearance和dynamic。动作识别系统的性能很大程度依赖能否提取并利用相关信息。

应用ConvNets做视频动作识别需要克服两大困难:1)long-rangetemporal structure在理解视频的动态变化起着重要作用。现有的方法采用dense temporal sampling with pre-defined sampling interval ,缺点,计算成本大。2)采用deepConvNets训练需要大量的样本集。容易产生overfitting。

         我们需要解决的问题:1)如何设计高效的基于视频的框架学习long-range temporal structure。2)如何用有限的数据集学习ConvNets。本文结构建立在two-streamarchitecture。在temporal structure modeling 方面,关键一点就是连续帧的高度冗余。采用sparsetemporal sampling strategy。基于这个结构,提出temporal segment network(TSN)。这个框架利用sparsetemporal sampling scheme在长视频中提取short snippet,然后,利用segmental structure集合在snippet中提取的信息。这种方式既能实现end-to-end learning,又能降低时间和计算成本。

         采用very deep ConvNets ,解决数据集有限的方法:1)cross-modalitypre-training;2)regularization;3)数据增强。同时,为了更好的利用上下文信息,还学习了two-stream的四种输入模式:single RGB image,stacked RGB difference,stacked optical flow field,stacked warpedoptical flow field。

         数据集:UCF101和HMDB51.

2. Related Works

         先前的工作可分成两类:convolutionalnetworks 和temporal structure modeling

         ConvolutionNetworks for Action Recognition。1)ConvNetswith deep structure on a large dataset(Sports-1M);2)two-streamConvNets containing spatial and temporal net。3)3D ConvNets;4)spatio-temporalConvNets;这些方法的缺点是计算成本高。本文不同于这些方法是,采用sparse temporal sampling strategy,可以不受序列长度的限制。

         TemporalStructure Modeling。1)ASM(Action Sequencemodel);2)LHM(Latent Hierarchical Model)and SGM(SegmentalGrammar Model);3)SSM(sequential skeleton model);4)temporalevolution of BoVW。这些方法不能实现end-to-end。本文提出的temporal segment network是第一个end-to-end的框架。

3.Action Recognition with Temporal Segment Networks

3.1 Temporal Segment Networks

         对two-streamConvNets的改进。


TSN: 输入的视频分成K个segment,一个snippet在每一个segment中随机选择。不同的snippet的class score在segmentalconsensus function 融合产生segmental consensus,这是video-level 预测,ConvNets在所有的snippet上共享参数。

         TSN由spatial streamConvNets和temporal stream ConvNets组成,operate onsequence

of shortsnippet sparsely sampled from the entire video。每一个snippet会预测一个分类,相同的snippet会作为video-level的预测。Video-level的loss值(除了snippet-level的预测值),通过迭代更新参数进行优化。

         给定视频 V,分成K个segment{S1……Sk},有相同的duration。TSN对snippet建模如下:

TSN(T1…….Tk) = H ( G ( F( T1; W) , F ( T2; W ) , …… , F ( Tk; W ) ))。(T1…….Tk)是snippet序列,每一个Tk随机在对应的Sk中选取。F( Tk; W),计算class score。Segmental consensus functionG(表示特殊符号)集合多个snippet的输出结果以获得分类预测。H为预测函数,计算每一个活动分类的概率。这里H选择Softmax function,结合cross-entropy loss,final loss function为:

                                      

                                         

C 是类别数量,yi是真实标签。实验中,snippet的数量K取3。Class score Gi 由所有snippet相同类别的scores推断出。用融合函数g。(evenly average)。

         TSN不同的g会有些不同。用multiple snippet联合,standard back-propagation算法优化参数W。在back-propagation中,Loss中W的梯度为:

                                 

         当利用基于梯度的优化算法学习参数时,例如SGD,上述公式可以保证参数的更新是利用从所有snippet-level 的预测中推导出来的segmental consensus G。这样,参数的学习是基于整个视频而不只是单个snippet。此外,由于K值固定,提取的snippet只包含一部分帧,减少了计算成本。

3.2 Learning Temporal Segment Networks

Network Architecture。deeper structure能提高识别性能。然而,原始的two-stream ConvNets采用相对较浅的网络结构。本文中,采用BN-Inception,spatial stream 用于single RGB images,temporal stream 用于连续的optical flow field。

Network Inputs。除了single RGBimages和optical flow field,提出了两种额外的模式:RGB difference 和warped optical flow fields。

         Single RGB image主要表现特定时间的外貌信息,但失去了上下文信息。两帧之间体现外貌的变化。

         现实中的视频会有相机运动,opticalflow field可能不会集中到人的动作。用首次估计单应矩阵提取warped optical flow,用于补偿相机运动。

NetworkTraining。解决数据集小的问题,设计以下策略:

         Cross Modality Pre-training 。用ImageNet做初始化。其他的输入模式主要用于获取不同视觉层的视频信息。本文提出cross modality pre-training technique,利用RGB模型初始化temporalnetwork。首先将optical flow fields做间隔为0~225的线性变换,这样optical flow 的范围和RGB一样。然后修改RGB第一层卷积层的weights,用于处理optical flow field。另外,通过RGB通道对weights做平均,并用输入的渠道数量replicate(复写,复制)这个平均(注:这个地方不是很明白)。这些操作有效防止overfitting。

         Regularization Techniques。BN能有效解决变量偏移问题。BN将估计一个batch的激活函数的均值和方差,并用它们把激活值转换成标准高斯分布,这加速了训练的收敛时间,但同时也会产生overfitting。因此,在初始化预训练模型之后,我们选择冻结所有BN层的均值和方差,除了第一层。由于optical flow和RGB images的分布不同,需要重新计算均值和方差,我们把这种策略成为partial BN(只计算第一层)。同时在global pooling layer后增加额外的Dropout层,以减少overfitting的影响。Dropout ratio为0.8for spatial stream ConvNets,0.7 for temporalsteam ConvNets。

         Data Augmentation。DataAugmentation 会生成多种训练样本,防止overfitting。本文提出两种新的data augmentation:Corner cropping 和 scale-jittering(抖动)。Corner cropping:从corners或者图像中心提取regions,以避免聚焦于图像中心。Multi-scale cropping:采用ImageNet分类的scale-jittering技术。固定输入图像或optical flow fields的大小为256*340,cropped region的宽,高在{256,224,192,168}中任意选择。最后,这些cropped region会被resize到224*224。

3.3 Test Temporal Segment Networks

         在snippet-levelConvNets中模型参数共享,test scheme 沿用two-stream ConvNets:抽取25个RGB帧为样本或optical flow stacks。同时,crop 4个Corner和1个center和样本帧的水平翻转。在spatial stream和temporal stream的融合阶段,取加权均值,这样就减少了了两个网络性能差距。基于此,给spatial stream 的权重设为1,temporal stream的权重设为1.5,当用到normal和warped optical flow时,权重分成1 for optical flow,0.5 for warped optical flow。在Softmax normalization之前,应用segmental consensus function。根据训练测试模型,在Softmax normalization之前融合25帧的预测值和不同的stream。

4.Experiments

4.1 Datasets and Implementation Detail

         数据集:HMDB51,UCF101

         采用mini-batch SGD ,batch_size =256,momentum=0.9,使用ImageNet的pre-training model 初始化weights。For spatial network ,learning_rate= 0.01,每2000次迭代减少1/10。整个训练迭代4500次。For temporal network,learning_rate = 0.005,在12000和18000时减少1/10,最大迭代次数为20000次。For data augmentation,采用local jittering,水平翻转,Corner cropping,scale jittering。For optical flow and warped optical flow ,采用TVL1。多个GPU并行。

文中的对比实验请参照原文。    

model and code 

阅读全文
0 0
原创粉丝点击