Action Recognition TSN论文理解

paper:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition
linkTSN paper
codeTSN github code

摘要

  • 论文目标:探索DCNN在视屏行为识别领域的优势,设计一个有效的基于conv的视频行为识别架构;
  • 论文贡献:
    • (TSN)temporal segment network,基于long-range时间结构建模:结合了sparse temporal sampling策略和video-level监督,从而使得模型能够高效地从整个action video中学习;
    • 使用TSN在video data上的一系列实践,在行为识别数据集上的表现为HMDB51(69.4%),UCF101(94.2%)
    • UCF101:13320个视频101类动作;HMDB51:6766个视频包含51类动作

引言

  • 行为识别中两个至关重要且相互辅助的部分:appearances和dynamics;
  • convNet应用于video based action Recognition有两个主要的阻碍:1.long-range时间结构对于理解action video中的dynamics;在实际训练DCNN的时候需要用到大量的训练样本,但是action Recognition数据集采集难度和标注难度都很大,导致现有的公开数据集在多样性和规模上都受到限制;
  • 面对现有挑战论文主要探究两个问题:
    • how to design an effective and efficient video-level framework for learning video representation that is able to capture long-range temporal strcuture;
    • how to learn the conNet models given limited training samples;
  • 作者在成功的two-stream结构的基础上构建了新的方法,可以同时解决上面两个问题,在时间结构建模方面,采用稀疏时间采样策略,因为密集时间采样会有大量的冗余相似帧;然后提出可video-level的框架TSN,采用稀疏采用策略在长视频序列中提取短片段,同时样本在时间维度均匀分布,由此采用segment结构来聚合采样片段的信息;
  • 为了解决limited training sample的问题,文中探索了很多好的实践:1.cross-modality pre-training 2.regularization 3.enhance data augmentation;
  • 为了充分利用video的视觉信息,根据经验在two-stream convNet种研究了四种输入类型:1.single RGB image 2.stacked RGB difference 3.stacked optical flow field 4.stacked warped optical flow field

基于TSN的行为识别

附加内容:Two stream CNN for action Recognition

  • 2014 NPIS paper:Two –Stream CNN for Action Recognition in Videos
  • 论文贡献点:
    • 提出基于two-stream结构的convNet,由空间流convNet和时间流convNet组成,目前大多数行为识别算法还是基于two-stream的;
    • 采用多帧密集光流训练策略可以在规模小的数据集上训练convNet可以获得比较好的性能;
    • 多任务训练方法将两个行为识别数据集联合起来训练提高训练效果,针对每一个数据集都有一个softmax给数据集打分,都有独立的loss,最后loss叠加回传更新网络参数;
  • 网络结构,视频可以分为空间和时间两部分进行分析,空间部分每一帧代表图像的表征静态信息,时间部分是指帧之间的运动信息,因此convNet处理视频应该分为两部分,从而设计two-stream convNet结构;每个部分由conv和softmax组成,最后score fusion的方法有两种:平均、在一个堆叠的L2正则化的softmax基础上训练一个多类的线性SVM;
  • 时间网络的输入为连续多帧的光流场,光流场能有效描述视频帧之间的运动(关于光流的理解目前还比较浅,需要进一步学习)

TODO:optical flow

Temporal Segement Networks

  • two-stream convNet明显的缺陷在于它的temporal context输入受限,只能操作单帧数据(spatial Net)或者一个短的帧片段(temporal Net),导致他在长范围时间结构上建模很困难;对于一些复杂的动作跨越时间长阶段多,如果在convNet训练中不能利用好这些动作中的长范围时间结构,会带来很多的信息损失;因而提出temporal segment network,具有动态遍历整个video的能力;
  • TSN的设计目标是能利用整个video的视觉信息进行video-level的预测,整体结构由spatial stream convNettemporal stream convNet组成;TSN输入为从整个video稀疏采样的短片段帧序列,每一个短片段都会产生自身初步的action类别预测,然后一个包含所有片段信息的共识将会导出作为video-level的预测;
  • 上图流程为输入视频流被分为K个segment,每一个segment中随机选择一个snippet,不同snippet的类别分数使用segment consensus function进行fusion来产生segment consensus作为视频级的预测,最后融合所有模式的预测产生最终的预测结果,所有snippet共享conv参数;
  • 具体的识别流程为:
    • 将输入输入视频流 V V V按照相同的间隔分为 K K K个segment,然后TSN对一系列snippet进行建模: T S N ( T 1 , T 2 , ⋯   , T K ) = H ( G ( F ( T 1 ; W ) , F ( T 2 ; W ) , ⋯   , F ( T K ; W ) ) ) TSN(T_1, T_2, \cdots, T_K)=H(G(F(T_1;W), F(T_2;W), \cdots, F(T_K;W))) TSN(T1,T2,,TK)=H(G(F(T1;W),F(T2;W),,F(TK;W)));
    • 其中 ( T 1 , T 2 , ⋯   , T K ) (T_1, T_2, \cdots, T_K) (T1,T2,,TK)是一个片段序列,每个片段 T k T_k Tk都是从它对应的segment S k S_k Sk随机采样得到的; F ( T k ; W ) F(T_k;W) F(Tk;W)表示convNet这个function,参数为 W W W,输入为片段 T k T_k Tk,返回值为针对所有类别的类别score;
    • segmental consensus function G G G输入为多个片段的类别分数,然后将多个片段的输出合并得到片段之间类别假设的共识;基于这个共识预测函数 H H H针对整个video预测每一个action类别的概率(softmax);
    • 结合标准cros-entropy loss设计segmental consensus的loss function: L ( y , G ) = − ∑ i = 1 C y i ( G i − l o g ∑ j = 1 C e x p    G j ) L(y, G)=-\sum_{i=1}^Cy_i\left( G_i-log\sum_{j=1}^C exp\;G_j \right) L(y,G)=i=1Cyi(Gilogj=1CexpGj);其中 C C C表示action类别数, y i y_i yi是关于类别 i i i的groundtruth label;segment共识函数在实验中采用的是最简单的结构 G i = g ( F i ( T 1 ) , … , F i ( T K ) ) G_i=g(F_i(T_1), \ldots, F_i(T_K)) Gi=g(Fi(T1),,Fi(TK)),实验中最后确定聚合函数 g g g使用均匀平均来计算最后的识别精确度;
    • TSN在训练中可以用多个片段来联合优化模型的参数 W W W,训练中针对所有video固定 K K K,稀疏采样策略能够急剧减少密集采样策略的计算开销;

Learning TSN

  • TSN网络结构:原始的two stream convNet方法在网络结构上用的是相当浅的网络结构ClarifaiNet,文中实验采用BM-Inception作为模型的building block,并在此基础上设计two steam convNet,和原始的two stream一样spatial stream处理single RGB图像,temporal stream处理一堆连续的光流场;
  • TSN网络输入:文中实验探索更多样的输入模式来增强TSN的识别能力,原始的two-stream convNet使用RGB图像和一堆光流场分别作为spatial stream和temporal stream的输入,在TSN中还进一步探索了两种输入模式RGB differencewarped optical flow fields
  • 针对RGB、RGB difference、optical flow filed、warped optical flow field的分析:RGB图像通常只能表示在特定时间点上的图像的静态表征信息,缺乏和前后帧的上下文信息;RGB difference表示连续两帧图像的表征差异,能够表达运动显著的区域;optical flow field能够捕捉运动信息,但是在显示拍摄中可能存在相机移动的情况,optical flow field就不能准确表示人物的行为信息了;文中实验受到dense trajectories的启发,提出了将wraped optical flow field作为额外的输入,首先通过估计homography matrix然后补偿相机运动来提取扭曲光流,扭曲光流能够一直背景的运动将运动集中在运动者身上;
  • TSN网络训练:为了减缓数据量小带来的DCNN模型过拟合的问题,实验设计了几种TSN的训练策略
    • cross modality pre-training:使用ImageNet上的预训练模型初始化空间网络,其他模态数据分布和RGB不同,利用RGB模型来初始化时间网络,通过线性变换将光流场离散到0-255区间,然后修改RGB模型第一个卷积层的权重处理光流场输入,具体做法是平均RGB通道的权重,并通过时间网络输入的通道数来复制这个平均值,以此减少过拟合的影响;
    • regularization techniques:部分BN策略,冻结所有BN层参数解冻第一个BN层,并在pooling后加入dropout,其中空间流网络设置为0.8,时间流网络设置为0.7;
    • data augmentation:在传统两种数据增强方法随机裁剪和水平翻转的基础上提出了两种新的方法,角裁剪避免了模型默认关注图像中心,尺度抖动将图像和光流场的大小固定为256 * 340,裁剪区域的宽和高在数组[256,224,192,168]随机选择,然后再将裁剪区域resize到224 * 224;
  • 测试TSN:各片段之间共享convNet参数,在空间流和时间流的融合中采用加权平均方法,在TSN空间流网络和时间流网络之间的性能差距远小于原始two-stream方法,实验中空间流权重为1时间流权重为1.5,当同时使用光流和扭曲光流时,权重1.5将分0.5作为扭曲光流的权重;为了测试训练得到模型,在节共识函数在做softmax操作之前,融合了25帧和不同流的预测分数;

TSN表现

  • 四种不同训练策略的实验结果:

    • 从头开始训练;
    • 只在空间流使用预训练模型;
    • 使用cross modality进行预训练;
    • cross modality和部分BNdropout结合;
  • 针对TSN对空间流网络进行预训练,对时间流网络进行交叉输入模式与训练以及配合部分BN dropout的方法可以将two-stream的识别率提高到92.0%;

  • 不同输入模式的实验结果:光流能够更好地捕捉运动信息,有时候RGB差异描述运动信息会不稳定;

  • 不同类型段共识函数的实验结果,平均池化实验效果最佳
  • 不同conNet结构的实验结果,BN-inception实验效果最好,作为TSN的conNet结构
  • 基于BN-inception结构逐步加上优化训练的部分实验结果的比对

TSN github项目实验

TODO
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值