• 摘要

    • 解决问题

      • 用CNN框架有效提取video长时序特征

      • 在UCF101等训练集受限的情况下训练网络

    • 贡献

      • TSN网络,基于长时间时序结构模型。稀疏时序采样策略,视频层监督有效学习整个视频。

      • HMDB51(69.4%),UCF101(94.2%)

  • 介绍

    • 动作识别有两个重要和补充的方面

      • appearance和dynamic

      • 是否有效提取了特征并充分利用了相关信息

      • 难点:image classification的难点。提取有效特征避开这些challenge并保留分类信息

    • CNN的局限

      • CNN网络关注于appearance和短时的motion,缺少处理长时间结构的能力

      • 目前密集间隔采样CNN方法尝试处理video

        • 长时间视频的计算量大,不能实时应用

        • 由于网络固定帧数的限制,视频过长会丢失重要信息

        • 需要大量的训练集,然而目前公开数据集在大小和多样性上受限很大,过拟合的风险

    • TSN

      • 在双流的基础上采用稀疏采样:k=7或9更好,不是论文中的3

        • 连续帧有高度的冗余性相似性,密集采样是不需要的

        • 省时,省计算

        • 不受帧长限制可以学习整个视频

      • 数据处理

        • 多种输入形式预训练:单一rgb,叠加rgb,叠加光流场,叠加形变光流场

        • 正则化

        • 数据增强

    • CNN for Action Recognition

      • 深度CNN   Karpathy

      • 双流网络 appearance + motion 缺点:单帧,短时间多帧,复杂运动及跨时间多阶段动作很难处理

      • C3D   Tran

      • 64-120固定帧,对长时序视频建模(受限于固定长度的帧,不能处理过长的整个视频,提取全局信息)
    • 时序结构模型

      • ASM 标注视频的原子动作

      • 隐变量做复杂动作的时域分解,迭代方法隐SVM学习模型参数

      • LHM SGM 分层模型和分割模型

      • SSM 序列骨架模型

      • bag of visual words 视觉词袋模型

      • (都不是端到端的模型)

  • BN-Inception 结合 双流网络

    • TSN在双流上改进

      • 双流的缺陷:空域-RGB单帧,时域-短的snippet堆叠帧的输入使得

        • 无法处理长时序结构
        • 复杂运动及跨时间多阶段动作很难处理
  • 对一个视频,切分为K 个等长片段 {S1, S2, · · · , SK},从每一个片段中随机抽取一个短的snippet,过双流,不同snippet的分类得分通过片段聚合函数聚合成最后的视频分类的得分,双流融合产生最后的结果

  • T表示不同snippet,F表示CNN双流提特征,G是融合函数,H是softmax

  • Loss:,标准类别交叉熵损失
  • 聚合函数
    • 平均 (最好) 对所有snippet的属于同一类别的得分做个均值
    • 取最大
    • 加权平均

提特征的参数W的导数可以看出,tsn网络的是从视频整体进行参数学习,不是针对特定某个短的snippet。 

网络结构:

   BN-Inception作为双流的基础结构,RGB:一张rgb图,光流:堆叠的光流场

几种策略减少训练时过拟合

1  跨模态pretrain:

rgb直接用imageNet就好,光流的数据分布明显不同,不能直接用rgb model pretrain optical flow model.

先线性变换,将光流离散化为0-255,修改第一个卷积层的权重,rgb通道的权重取平均后沿着光流通道数复制,从而初始化光流网络。

2 partial BN正则化:

bn,估计batch数据中的均值和方差,从而将激活值转化为标准化正太分布,加速模型收敛,由于数据量的原因可能导致过拟合,所以实验采用,除了第一层, freeze 其他层 BN 中的 mean 和 variance 参数。

在全局池化后面加了dropout

3 数据增广

random cropping, horizontal flipping

New:  corner cropping and scalejittering

    4 corners and 1 center 防止过于关注图片中心区域。

    先将rgb或光流resize到256×340,长宽在{256, 224, 192, 168}中随机选,crop后resize到224 × 224,送入网络训练

修改版Caffe和OpenMPI,多卡并行加速训练,4块TITANX,训练时间UCF101 is around 2 hours for spatial TSNs and 9 hours for temporal TSNs。

Temporal Segment Networks的更多相关文章

  1. TSN(Temporal Segment Networks)

    一.算法详解 二.代码解析(pytorch版) 训练代码:https://blog.csdn.net/u014380165/article/details/79058147 测试代码:https:// ...

  2. 论文阅读 Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks

    6 Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks link:https://arxiv.org/ab ...

  3. 论文阅读 A Data-Driven Graph Generative Model for Temporal Interaction Networks

    13 A Data-Driven Graph Generative Model for Temporal Interaction Networks link:https://scholar.googl ...

  4. 论文阅读 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS

    14 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS link:https://scholar.google.com.hk/sc ...

  5. Temporal Action Detection with Structured Segment Networks (ssn)【转】

    Action Recognition: 行为识别,视频分类,数据集为剪辑过的动作视频 Temporal Action Detection: 从未剪辑的视频,定位动作发生的区间,起始帧和终止帧并预测类别 ...

  6. 论文阅读-Clustering temporal disease networks to assist clinical decision support systems in visual analytics of comorbidity progression

    一.问题描述:      二.相关工作: 三.方法描述: 四.实验及结果

  7. Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition (ST-GCN)

    Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 摘要 动态人体骨架模型带有进行动 ...

  8. Two-stream双流总结

    1.2014.Two-stream convolutional networks for action recognition in videos 两个流:空间流做single frame,时间流做m ...

  9. Paper Mark

    BigCowPeking的CSDN博客 https://blog.csdn.net/wfei101/article/category/7120809 Low Rank Structure of Lea ...

随机推荐

  1. ES6学习笔记五(promise异步)

    知识点1:rosolve是执行下一步then() // Promise { let ajax=function(){ console.log('执行2'); return new Promise(fu ...

  2. Vue父子组件和非父子组件传值问题

    父组件跟子组件之间的传值(具体参考lonzhubb商城) 1.父组件传值给子组件形式,ifshop是要传的对象,右边ifshop代表要传的这个对象的数据,如果只是传常量,那么属性可以不用加':'(表示 ...

  3. Crypto++入门学习笔记(DES、AES、RSA、SHA-256)

    最先附上 下载地址 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip): 最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后对一些数据进行一些加密解密的操作. 笔 ...

  4. Django-jinjia2的赋值

    一 变量 1. 变量的形式是:{{ variable }},当模板引擎碰到变量时,引擎使用变量的值替代变量: 2. 使用“.”能够访问变量的属性: 3. 当模板引擎碰到“.”的时候,查找顺序是: a) ...

  5. vue.js如何更改默认端口号8080为指定端口

    执行npm run dev实际是在调用根目录下的package.json 打开package.json后可发现有这样一段代码 由此可知,我们应该查看build目录下的dev-server.js文件 在 ...

  6. 033_linux操作系统火焰图探测系统性能

    火焰图是定位疑难杂症的神器,比如 CPU 占用高.内存泄漏等问题.特别是 Lua 级别的火焰图,可以定位到函数和代码级别. 一.研究 https://moonbingbing.gitbooks.io/ ...

  7. javascript for循环 日期 select

    2016年12月28日 20:01:54 星期三 html: <a href="aaaa">AAAA</a> <a href="bbbb&q ...

  8. spring aop -包的问题

    Caused by: java.lang.NoSuchMethodError: org.springframework.aop.framework.AopProxyUtils.getSingleton ...

  9. Java数据结构与算法解析(十二)——散列表

    散列表概述 散列表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值. 散列表的思路很简单,如果所有的键都是整数,那么就可以使用一个简单 ...

  10. 41)django-admin

    一:介绍 通过django admin可以快速生成后台管理功能. 二:设置 工程同名下settings.py 1)在INSTALLED_APPS中增加django.contrib.admin 2)在I ...