行为识别论文阅读 | Large-scale Video Classification with Convolutional Neural Networks
Large-scale Video Classification with Convolutional Neural Networks 论文笔记
Andrej Karpathy et al. “Large-scale Video Classification with Convolutional Neural Networks” CVPR 2014
Motivation
- 缺少使用CNN进行视频分类的数据集和方法,所以推出了数据集 Sports-1M(1 million YouTube videos, 487 classes
- 分析了动作对于CNN网络预测的影响,如何提升性能
Solution
-
传统有监督学习行为识别的步骤:
- 密集特征 or 关键点的系数特征
- 时序表达
- 分类器
- 以一个CVPR2008电影中人类动作识别的论文为例:
- 根据电影中某一片段的subtitles(含有开始结束的time stamp)与scripts的文字对应程度,保留相对应的clip
- perceptron 学习:x:scipts; y: motion – > 用这个学习器对片段的动作进行自动标注
- 时空兴趣点STIP:抽取clip的特征
- SVM:x:STIP,y:motion
-
因为无监督方法也很适合用于动作识别,近期的无监督模型效果已经逼近监督模型了,所以看了看本文中引用的两篇视频无监督学习的早期文章,都是大佬的文章:
G. W. Taylor, R. Fergus, Y. LeCun, and C. Bregler. Convolutional learning of spatio-temporal features ECCV2010
提出的 Convolutional Gated Restricted Boltzmann Machines (CGRBM)
RBM其方法是:最大似然估计输入样本的概率[是一个归一化的e-x势函数 <==> 最小化能量函数Ex 越稳定]+梯度下降三组参数:w,a,b)CGRBM 中加入卷积和max pooling,接着无监督学习
Q. V. Le, W. Y. Zou, S. Y. Yeung, and A. Y. Ng. Learning hierarchical invariant spatio-temporal features for action recognition with independent subspace analysis. In CVPR 2011
ISA Network ,两层(第一层线性W(learned),第二层池化V(fixed)),最大化第二层**值;
Stacked convolutional ISA Network for video data: 卷积作为ISA的输入,m个ISA并行,得到m个输出concatenate后在输入一个ISA层,再与PCA whitening(m个输出) concatenate 组合为 Local feature
本文用的方法不同于以上,是end to end supervised
-
Single Frame, Early Fusion, Late Fusion Slow Fusion
- Single Frame: 每一帧都CNN处理
- Early Fusion: 11x3x3xT 的3D卷积 —— 检测 local motion direction and speed
- Late Fusion: 两个间隔15帧的独立的Single Frame 再 FC —— the first FC layer can compute global motion characteristics
- Slow Fusion: 第一层 4个并行的卷积层,在10frames的时序上:T=4,stride=2,得到4个输出;第二层T=2,stride=2,得到2个输出;第三层T=2,stride=1
-
Fovea and context streams
- Fovea stream: 原图的half center – 因为网络视频的总是关注中心画面
- context stream: 原图的half downsampled
有两张很好看的图:
图2的侧视图和图1正好对应起来;很好的展示了 3D 卷积的结构
Applications
运动视频类型分类、迁移学习
Experiments
-
训练:full-frame和multiresolution两种,multiresolution每秒处理20clips,full-frame每秒处理5clips, Sports-1M [200,000 videos and 4,000,000 clips ]上训练了1/4个月
-
测试:,每个视频截取20段,每段再裁剪不同部分测试4次,结果平均
-
给出Top1,Top5准确率;Slow Fusion 的特征表达最好 – > 是 motion aware的
第一行的baseline是对整个视频提取出特征 25000维;再用一个2层的感知机处理
-
Fovea architecture 训练更快了2-4倍;single frame 每秒处理6-21clips,Slow Fusion每秒处理 5-10 clips
-
Contribution of motion:只在一些动作非常明显的视频上,motion aware能比single frame消除更多的歧义,效果更好;作者认为可能CNN难以处理:摄像机不同角度的变化,相机平移和缩放
-
Qualitative Result 中 用gif体现了第一层卷积的变化结果:context stream:低频的颜色信息;fovea stream:高频的灰度信息
-
分类错误分析:confusion matrix 分析,错误大部分都出在 细粒度较高的 类别(fine-grained classes)中 – 比如:deer hunting vs. hunting, hiking vs. backpacking, powered paragliding vs. paragliding, sledding vs. toboggan, and bujinkan vs. ninjutsu. 作者称之为:interpretable error
-
迁移学习:UCF101:3-fold 准确度不错的提升,对比baseline3%吧
English Representations
- Since each clip contains several contiguous frames in time, we can extend the connectivity of the network in time dimension to learn spatio-temporal features. (CNN中常见到这个connectivity,这里表示再时间维度拓展网络的连通性:three broad connectivity pattern categories (Early Fusion, Late Fusion and Slow Fusion)
- Notably, this design takes advantage of the camera bias present in many online videos, since the object of interest often occupies the center region. ( Fovea context stream这样的设计利用了网络视频中的镜头偏爱,因为关注点往往出现在中心区域
- Qualitative examination of network outputs and confusion matrices reveals interpretable errors. (定性分析 – 作者做了卷积核结果的gif展示
- The precise speedups are in part a function of the details of model partitioning and our implementation, but in our experiments we observe a speedup during training. (精度提升部分是由于我们模型中的分离结构和我们的实施办法)
Advantages and Drawbacks
优点:
- motion aware的结构,几种不同的fusion方法,多帧信息融合起来做特征表达
- 低分辨率中心部分图像+下采样模糊图像 – two stream 训练
- gif可视化卷积核处理结果的变化
- 对于模型差的原因给出了可解释性的分析
- 做的图好看直观
缺点:
- 对于baseline 的提升不够高,但作为开创性工作很棒了!
- 对于分类错误的可解释性分析是从结果的角度出发分析的,可能能从模型的角度给出一些可解释性就更好了