Two-Stream Convolutional Networks for Action Recognition in Videos论文精读
Two-Stream Convolutional Networks for Action Recognition in Videos论文精读
大家好,今天我要讲的论文是一篇视频理解领域的开山之作,这是2014年发表在NIPS的一篇文章。这篇论文理解起来相对简单,但是结合当时的时代背景,我们也许能从这篇开山之作里获得一些启发。
作者一开始先指出,视频是一个很好的数据来源,相对于2D的图片,它有物体的移动信息,有时序信息,有音频信息,也更接近我们人眼看到的世界。
Task
这篇文章应用的领域是视频分类,也就是对于这样一类标注好的数据集,我们希望网络求解出视频中的动作的分类。
Optical Flow

按照维基百科的定义呢,光流是描述观察者与场景中物体相对运动的一种模式。我目前是理解成图片中物体的运动信息,比如这张图:

我们提取监控下的一段视频,使用这一帧,和其下一帧计算光流,就可以得到下面这幅图,我们可以看到,光流很明确地捕捉到了人的运动,并且只关注了人的运动,也就是说人的性别,衣着等信息都是被忽略掉了。

再然后就是光流是有方向的,可以在一个二维平面上拆分成水平和竖直的两个方向。
key-idea
在这之前的基于卷积神经网络的方法是把视频帧堆叠在一起传递给卷积神经网络去做视频分类,当然也尝试对模型的结构做了一些调整试图帮助模型学到时序信息,但并不能取得一个较好的结果,甚至传统的手工设计的方法都没有超越。

| Large-scale video classication with convolutional neural networks | Bag of visual words and fusion methods for action recognition:Comprehensive study and good practice |
|---|---|
![]() |
![]() |
这个模型是在一个百万量级的数据集上做的预训练,然后迁移到UCF101上,但是结果都没有超越手工设计的方法(低20%),这在当时的深度学习大火的年代,显然是让人失望的。
所以作者认为:卷积更加擅长去学习一些局部的空间信息,并不擅长去学习一些时序信息。


那么基于此,既然卷积学不到视频中的时序信息,那我直接给你。作者想到的是直接去抽取出视频帧之间的时序信息,传递给卷积神经网络,使这些时序信息与最后的动作分类建立一个映射,建立映射关系是CNN的强项了,这里的时序信息也就是前文提到的光流。
Architecture

这就是双流神经网络的大体结构,一个是Spatial stream Convnet,另一个是Temporal Stream ConveNet,他们分别对视频中比较重要的两种信息去处理,第一种是空间信息,比如视频中出现篮球,小提琴,这和最后的动作分类是息息相关的,另一种则是时序信息,视频帧与帧之间的光流。再简单提一下输入是怎么构造的,先是抽取一系列的关键帧,对于一个当前帧,假设其尺寸是\(w \times h\),往后去取\(L\)帧,那么一共是\(L+1\)帧,则可以得到\(L\)帧的光流,也就是 \(w \times h \times 2L\)的维度。
Result

他的结果值得一看,首先是前3行,是人工设计的方法,其中第2,3行是对第1行方法的改进,4,5行是之前传统的卷积的方法,我们可以看到效果很一般,即使是Slow fusion,在一个百万量级的数据集上做预训练,效果也差强人意。但是有意思的是 Temporal stream ConvNet这一行,仅仅使用光流去当作输入,准确率也能达到83.7%,可见视频中的时序信息是多么的重要。至于两个分支的叠加,效果自是不必说。由于这篇论文证明了这种方法视频理解上的有效性,后续的很多研究也跟进,已经在UCF101上把准确率‘卷’到了98%。
Inspire
1.The temporal information is the very important information in videos
2.Although typical convolution is effective, but still has it’s limitation, such as conv the temporal information automatically.
Reference
https://en.wikipedia.org/wiki/Optical_flow
https://stackoverflow.com/questions/28898346/visualize-optical-flow-with-color-model
A. Karpathy, G. Toderici, S. Shetty, T. Leung, R. Sukthankar, and L. Fei-Fei. Large-scale video classication with convolutional neural networks. In Proc. CVPR, 2014.
X. Peng, L. Wang, X. Wang, and Y. Qiao. Bag of visual words and fusion methods for action recognition:Comprehensive study and good practice. CoRR, abs/1405.4506, 2014.
Two-Stream Convolutional Networks for Action Recognition in Videos论文精读的更多相关文章
- 【ML】Two-Stream Convolutional Networks for Action Recognition in Videos
Two-Stream Convolutional Networks for Action Recognition in Videos & Towards Good Practices for ...
- 【CV论文阅读】Two stream convolutional Networks for action recognition in Vedios
论文的三个贡献 (1)提出了two-stream结构的CNN,由空间和时间两个维度的网络组成. (2)使用多帧的密集光流场作为训练输入,可以提取动作的信息. (3)利用了多任务训练的方法把两个数据集联 ...
- 目标检测--Spatial pyramid pooling in deep convolutional networks for visual recognition(PAMI, 2015)
Spatial pyramid pooling in deep convolutional networks for visual recognition 作者: Kaiming He, Xiangy ...
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Kaiming He, Xiangyu Zh ...
- SPPNet论文翻译-空间金字塔池化Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
http://www.dengfanxin.cn/?p=403 原文地址 我对物体检测的一篇重要著作SPPNet的论文的主要部分进行了翻译工作.SPPNet的初衷非常明晰,就是希望网络对输入的尺寸更加 ...
- 深度学习论文翻译解析(九):Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
论文标题:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 标题翻译:用于视觉识别的深度卷积神 ...
- 论文阅读笔记二十五:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPPNet CVPR2014)
论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入 ...
- Paper Reading - Long-term Recurrent Convolutional Networks for Visual Recognition and Description ( CVPR 2015 )
Link of the Paper: https://arxiv.org/abs/1411.4389 Main Points: A novel Recurrent Convolutional Arch ...
- SPP Net(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition)论文理解
论文地址:https://arxiv.org/pdf/1406.4729.pdf 论文翻译请移步:http://www.dengfanxin.cn/?p=403 一.背景: 传统的CNN要求输入图像尺 ...
- 【CV论文阅读】Dynamic image networks for action recognition
论文的重点在于后面approximation部分. 在<Rank Pooling>的论文中提到,可以通过训练RankSVM获得参数向量d,来作为视频帧序列的representation.而 ...
随机推荐
- PostGIS数据库操作简介
PostGIS数据库操作简介 PostGIS Docker安装 docker pull postgis/postgis docker run --name postgis -e POSTGRES_PA ...
- kubeadm 快速搭建 Kubernetes 集群
快速搭建 K8s 集群 角色 ip k8s-master-01 192.168.111.170 k8s-node-01 192.168.111.171 k8s-node-02 192.168.111. ...
- 隐藏zsh前面用户名或者主机名
1. zshrc 修改 vim ~/.zshrc文件,在文件底部增加: prompt_context() {} 只保留用户名,隐藏主机名 prompt_context() { if [[ " ...
- RPC简介及框架选择-copy
简单介绍RPC协议及常见框架,对比传统restful api和RPC方式的优缺点.常见RPC框架,gRPC及序列化方式Protobuf等 HTTP协议 http协议是基于tcp协议的,tcp协议是流式 ...
- mina保持android端\服务端的长连接-copy
一.mina简介 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架.与Netty出自同一人之手,都是一个介于应用程序与网络之间的NIO框架,通过Java nio技术基于T ...
- biancheng-MongoDB教程
目录http://c.biancheng.net/mongodb2/ 1NoSQL是什么2MongoDB是什么3Windows安装MongoDB4Linux安装MongoDB5MacOS安装Mongo ...
- Amazon Dynamo系统架构
Amazon Dynamo系统架构 目录 Amazon Dynamo系统架构 0x00 摘要 0x01 Amazon Dynamo 1.1 概况 1.2 主要问题及解决方案 1.3 数据均衡分布 1. ...
- 单机stome安装
先安装zookeeper,参考本文件夹下安装文档 启动zookeeper 1.解压stome /opt/Server目录下 tar -zxf apache-storm-1.1.0.tar.gz 2.修 ...
- 【1】JobManager启动
一.Flink底层通信技术 Akka + Netty Akka:它是基于协程的,基于scala的偏函数 Netty:相比更加基础一点,可以为不同的应用层通信协议(RPC,FTP,HTTP等)提供支持 ...
- datawhale-leetcode打卡:001-012题
这次这十二个题目属于是极限肝出来的,有两个参考了一下题解,还是很有意思.我会按照我个人的感觉去写这个东西. 螺旋矩阵(leetcode 054) 这个题目比较恶心的就是跑圈的过程怎么描述.首先,顺时针 ...

