Temporal Segment Networks
摘要
解决问题
用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的更多相关文章
- TSN(Temporal Segment Networks)
一.算法详解 二.代码解析(pytorch版) 训练代码:https://blog.csdn.net/u014380165/article/details/79058147 测试代码:https:// ...
- 论文阅读 Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks
6 Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks link:https://arxiv.org/ab ...
- 论文阅读 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 ...
- 论文阅读 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 ...
- Temporal Action Detection with Structured Segment Networks (ssn)【转】
Action Recognition: 行为识别,视频分类,数据集为剪辑过的动作视频 Temporal Action Detection: 从未剪辑的视频,定位动作发生的区间,起始帧和终止帧并预测类别 ...
- 论文阅读-Clustering temporal disease networks to assist clinical decision support systems in visual analytics of comorbidity progression
一.问题描述: 二.相关工作: 三.方法描述: 四.实验及结果
- Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition (ST-GCN)
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 摘要 动态人体骨架模型带有进行动 ...
- Two-stream双流总结
1.2014.Two-stream convolutional networks for action recognition in videos 两个流:空间流做single frame,时间流做m ...
- Paper Mark
BigCowPeking的CSDN博客 https://blog.csdn.net/wfei101/article/category/7120809 Low Rank Structure of Lea ...
随机推荐
- requests库入门11-重定向和请求历史
默认情况下,除了head请求,requests会自动处理重定向 重定向就是会把url重新指定到另一个.比如github,使用http会自动重定向到https.一些公司也会使用网关啥的做重定向. r = ...
- AIX系统下sed的用法与实例——查询/打印/替换字符串并生成文件/删除
sed是AIX中非常重要的文本流编辑器,它对输入的文本进行查询/打印/替换/删除等操作,并将结果写到标准输出.sed 命令包含很多功能,用于选择要修改的行,并只对选择的行作更改. 首先,使用sed命令 ...
- P3830 [SHOI2012]随机树 题解
P3830 随机树 坑题,别人的题解我看了一个下午没一个看得懂的,我还是太弱了. 题目链接 P3830 [SHOI2012]随机树 题目描述 输入输出格式 输入格式: 输入仅有一行,包含两个正整数 q ...
- CSS 媒体查询@media
1. 概述 1.1 定义 @media可以针对不同的屏幕尺寸(媒体类型)设置不同的样式,在响应式页面中,@media非常有用.重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面. 1. ...
- 初步了解three.js
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- JsRender 前端渲染模板基础学习
JsRender前端渲染模板 使用模板,可以预先自定义一些固定格式的HTML标签,在需要显示数据时,再传入真实数据组装并展示在Web页中:避免了在JS中通过“+”等手动分割.连接字符串的复杂过程:针对 ...
- swift 实践- 11 -- UISlider
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...
- Redis事务概念
redis事务与监控 Author:SimpleWu GitHub-redis 在redis中它的事务与批处理非常相似 Redis中的事务(transaction)是一组命令的集合.事务同命令一样都是 ...
- JavaScript(JS)之Javascript对象
简介: 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String.Math.Array.Date.RegExp都是Jav ...
- PDF如何添加水印,PDF添加水印工具的使用方法
PDF文件在编辑修改的时候是需要借助工具才可以编辑,PDF文件不像普通的文件可以直接打开编辑,PDF编辑工具是PDF文件进行编辑的重要工具,就以添加水印为例,能够在PDF中添加水印的工具有哪些呢?要怎 ...