SST:Single-Stream Temporal Action Proposals论文笔记
SST:Single-Stream Temporal Action Proposals
这是本仙女认认真真读完且把算法全部读懂(其实也不是非常懂)的第一篇论文
CVPR2017
一作

论文写作的动机motivation
这篇文章介绍了一个时间维度上的proposal方法,用来进行动作识别
Introduction
视频中记录了大量关于人类行为动作的信息,要想处理这些数据,计算机视觉算法需要能够进行人类动作识别和检测的能力
以往所用的动作识别的方法:
一开始动作识别被简单的看作是视频分割,也就是把原本的 长视频分割成包含单个动作的小片段,但是由于相机记录人类动作是持续不断进行的,所以如果要实现这种想法,算法必须在识别发生动作的起止时间的同时识别动作的种类
后来使用proposal的方法
就是先生成包含动作的proposal,然后使用分类器进行分类,
Proposal是使用滑动的时间窗口,把视频分割成短的并且含有大量重叠内容的片段
这种方法计算量大,而且处理重叠的时间窗口或许不止一次
本文提出的方法,是一个专用于长视频序列的框架,只需要single pass,一次就可以处理完整个视频(找proposal的时候)也就是说不需要分开的处理重叠的时间窗口了
贡献:
1. 可以处理long video sequence,只需要向前传播一次就能处理完整个video,可以处理任意长度的video,不需要处理重叠的时间窗口
2. 在proposal generation task上取得了顶尖成果
3. SST proposals提供了一个较强的基准,进行temporal action localization将该方法结合到现有的分类中可以改善分类的性能
Related Work
作者做的一部分相关调查工作,总结方法
主要看作者把他们分了哪几类,使用了什么模型,怎么用这些模型
这篇文章使用的主要是RNN模型
序列化,连续化,判断动作不止要看动作本身还要看前后相关的帧

Input 输入的是未经处理的长视频序列,共有L个frame
Visual encoding 感知输入的video
选用C3D网络,因为它能在小的时间分辨率δ内有效地捕捉视觉和运动信息
我们初始化使δ = 16 frames,并且把视频分割成T = L/δ个不相互重叠的time step(视频短序列),每一个time step使用C3D网络进行特征编码,最后使用PCA进行降维处理。
Sequence encoding这一步的主要目的是accumulate evidence across time as the video sequence progresses也就是说随着视频序列编码的进行逐步确定视频到底做了什么动作,这里接受的是降维后的C3D特征信息,到这一步,收集信息直到确定某个动作已经发生了,与此同时,扔掉不相关的背景信息。
(
从流程上可以看出每一个time step所接收的信息包括两部分,一部分是来自visual encoding的经过降维的C3D特征,一部分是上一步的time step,输出也是两部分,proposal和下一个time step,这里使用的是GRU进行处理
【具体为啥用RNN不用CNN,,因为这里的循环迭代,还有,他自己实验试出来的。。作者觉得RNN比CNN好用】
)
Output proposals 输出proposal
其实每一个time step都会输出一个confidence score 这些score对应着k组从bt-1到bt的proposal,每次output最大值就是kδframe的proposal,

需要注意的是这里他用了一个single forward pass at each time step ,也就是说他每次找proposal都只需要一次前向传播就能处理完整个视频序列
但是这里其实相当于输出了一系列的概率值,并没有确定哪一个是真正的proposal,所以还需要一个groudtruth来评定哪一个是最好的
Training
这一部分的主要目的是来估计SST模型里的各项参数值

对于每一段训练的视频,长为Lframes ,分割成T = L/δ个time step,使用一个滑动窗口,设定窗口长度为Tw,使Tw = Lw /δ,设定Lw>>kδ(即窗口长度为每一个time step的k倍)步长固定为s,并且s保持较小的数值,以便进行密集取样
密集取样能够保证每个time step能够被多次考虑到,
每一次取样都使用label来进行标记,把这些已经选出来的proposal分为positive和negative,比如说在上图的X0,此时此刻计算他的IOU值,如果超过0.5label为1,低于0.5标0,做一个二分类
这里使用了一个交叉熵损失函数来作为loss function

最后总的loss是以上loss的和

Training是离线进行的并不是随视频序列实时的,这里不是single pass,对样本进行密集采样有重叠的,便于检测前后的帧的动作是否有联系,以此判断动作的连续性
给出了loss function和label,是有监督的学习
Experiment
数据集是THUMOS14和ActivityNet
接下来把SST和DAPs等一堆方法进行了一个比较

几种不同的方法在处理等量的proposal时候的recall进行对比,SST明显优于其他的方法

对比可以看出SST和其他方法相比,在IOU较高的状态下效率更高,也就是说我们可以进行密集取样捕获真实的动作片段以便分辨出视频动作
另外相比其他的方法来说,SST的运行速度更快

从鲁棒性方面来说
SST网络能够在长视频序列下很好的展开并不会影响性能

检测结果
SST检测到的proposal和groundtruth高度吻合

扩展性建议

SST用于动作检测方面
不止可以用来检测哪些部分有动作的进行,而且可以检测动作的种类。
SST生成proposal,把SST和其他的分类器来叠加使用,能够提高性能、
总结
SST能做到introduction所说的那些东西
…………………………………………
SST:Single-Stream Temporal Action Proposals论文笔记的更多相关文章
- 论文笔记之 SST: Single-Stream Temporal Action Proposals
SST: Single-Stream Temporal Action Proposals 2017-06-11 14:28:00 本文提出一种 时间维度上的 proposal 方法,进行行为的识别.本 ...
- TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals(ICCV2017)
Motivation 实现快速和准确地抽取出视频中的语义片段 Proposed Method -提出了TURN模型预测proposal并用temporal coordinate regression来 ...
- Twitter 新一代流处理利器——Heron 论文笔记之Heron架构
Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...
- 深度学习论文笔记:Fast R-CNN
知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...
- 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning
Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...
- 论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN
论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN ICCV 2017 Paper: http://op ...
- 论文笔记系列-Neural Network Search :A Survey
论文笔记系列-Neural Network Search :A Survey 论文 笔记 NAS automl survey review reinforcement learning Bayesia ...
- Temporal Action Detection with Structured Segment Networks (ssn)【转】
Action Recognition: 行为识别,视频分类,数据集为剪辑过的动作视频 Temporal Action Detection: 从未剪辑的视频,定位动作发生的区间,起始帧和终止帧并预测类别 ...
- Video Frame Synthesis using Deep Voxel Flow 论文笔记
Video Frame Synthesis using Deep Voxel Flow 论文笔记 arXiv 摘要:本文解决了模拟新的视频帧的问题,要么是现有视频帧之间的插值,要么是紧跟着他们的探索. ...
随机推荐
- 多线程编程初探——OO第二单元作业回顾
一.作业设计策略 1)执行FAFS策略的单部电梯 由于对多线程不是很了解,于是采用了理论课上介绍的生产者消费者模型作为设计模板(也是很多同学一开始的做法):将请求队列作为共享对象(托盘),名为In ...
- package-lock.json 作用
package.json里面定义的是版本范围(比如^1.0.0),具体跑npm install的时候安的什么版本,要解析后才能决定,这里面定义的依赖关系树,可以称之为逻辑树(logical tree) ...
- Linux下设置共享目录
Linux系统的文件或目录的共享功能是非常强大,而且是非常灵活的,其对权限的控制可以做到非常的细致,当然如果你是通过命令行方式进行设置的 话,那么对于刚接触linux系统的用户来说将是一件十分头痛的事 ...
- 偏前端-vue.js学习之路初级(二)组件化构建
vue.js 组件化构建 组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型.自包含和通常可复用的组件构建大型应用.仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树: ...
- Elasticsearch入门和查询语法分析(ik中文分词)
全文搜索现在已经是很常见的功能了,当然你也可以用mysql加Sphinx实现.但开源的Elasticsearch(简称ES)目前是全文搜索引擎的首选.目前像GitHub.维基百科都使用的是ES,它可以 ...
- SVN(独立安装)-1.9.7 centos 6.5(64位)
说明: 运行方式: 基于Apache的http.https网页访问形式: 基于svnserve的独立服务器模式. 数据存储方式: 在Berkeley DB数据库中存储数据: 使用普通的文件FSFS存储 ...
- 树莓派3B+学习笔记:6、安装TeamViewer
TeamViewer是一个远程控制软件,它可以在任何防火墙和NAT代理的后台实现桌面共享和文件传输,界面简洁,操作简单,不需要专业知识就可轻松上手. TeamViewer电脑端下载网址www.team ...
- IAR新建MSP430工程
一.在IAR官网下载IAR for MSP430 软件 https://www.iar.com/iar-embedded-workbench/#!?architecture= 选择MSP430,然后 ...
- anaconda创建python虚拟环境
参考: 1.https://blog.csdn.net/lyy14011305/article/details/59500819 我的安装过程: 1. 之前已经安装了anaconda,我的版本是ana ...
- Oracle——系统数据字典常用命令(查看表所属空间层目录等)
发生背景: 项目前后台交互对接时候,经常存在对底层表蒙圈情况尤其是oracle数据库,所在层级不同会导致操作对象直接的改变,从而发生意向不到的事情:很多时候需要了解我们所操作对象所处的层级等相关信息, ...