泛读论文(Action Recognition 行为识别合集)

Action Recognition Learning Spatiotemporal Features with 3D Convolutional Networks
CVPR 2015
问题

  • 2D卷积对时空特征的学习不好
  • 本文将二维卷积推广到了三维,提取的特征高效、紧致、使用简单
【泛读论文(Action Recognition 行为识别合集)】方法
  • 用3D卷积网络
  • All 3D convolution kernels are 3 × 3 × 3 with stride 1
  • All pooling kernels are 2 × 2 × 2, except for pool1 is 1 × 2 × 2
  • 学习到的特征输入到线性分类器(多分类线性SVM)
收获
  • 3D卷积更加适合学习时域空域(spatiotemporal)特征学习
  • 这种网络训练很难,以后还是不要考虑这个方法
参考
C3D学习笔记
https://arxiv.org/pdf/1412.0767.pdf
Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks
ICCV 2017
问题
  • 3D Convolutions对视频的时域空域特征学习更好
  • 重头训练一个深的3D CNN会消耗大量成本和内存
  • 随机初始化的三维卷积核需要大量精细标注的视频数据来进行训练
  • 本文提出基于伪三维卷积和残差学习的神经网络模块
  • 在CVPR 2017的Activity Net Challenge的Dense-Captioning任务中获得第一名
方法
泛读论文(Action Recognition 行为识别合集)
文章图片

  • the key component in each block is a combination of one 1 × 3 × 3 convolutional layer and one layer of 3 × 1 × 1 convolutions in a parallel or cascaded fashion, that takes the place of a standard 3 × 3 × 3 convolutional layer.
  • 即 con3D = S + T = 1 × 3 × 3 + 3 × 1 × 1 如上图上部分所示
  • 其中二维卷积核可以使用图像数据进行预训练,对于已标注视频数据的需求也会大大减少
  • P3D Blocks :P3D-A,P3D-B,P3D-C 分别使用串行、并行和带捷径(shortcut)的串行三种方式,如上图中间部分所示
  • P3D ResNet:三种伪三维残差单元替代ResNet中的二维残差单元,如上图下部分所示
收获
  1. 以后遇到时域的数据,可以增加一个网络学习
  2. 要设计非常深的网络时要借鉴残差网络的思想
参考
ICCV | 深度三维残差神经网络:视频理解新突破
http://openaccess.thecvf.com/content_ICCV_2017/papers/Qiu_Learning_Spatio-Temporal_Representation_ICCV_2017_paper.pdf
Two-Stream Convolutional Networks for Action Recognition in Videos
NIPS 2014
问题
  • 在这篇文章出来之前其实也有人尝试用深度学习来处理行为识别,例如李飞飞团队 Large-scale Video Classification with Convolutional Neural Networks 通过叠加视频多帧输入到网络中进行学习,但是这种方法比手动提取特征更差
方法
  • 论文提出了two-stream结构的CNN,由空间和时间两个维度的网络组成
泛读论文(Action Recognition 行为识别合集)
文章图片

  • 作者提出了利用网络训练多帧密度光流,以此作为输入,能在有限训练数据的情况下取得不错的结果
    1. Optical flow stacking,或者叫做光流的简单叠加。简单的来说就是计算每两帧之间的光流,然后简单的stacking
    2. Trajectory stacking,轨迹叠加就是假设第一帧的某个像素点,我们可以通过光流来追踪它在视频中的轨迹
    3. Bi-directional optical flow,上述两个方法其实考虑的都是前馈光流,我们都是依靠后一帧计算相对于前一帧的光流。当我们考虑T帧时,我们不再一直往后堆L帧,而是计算T帧之前L/2和T帧之后的L/2帧
    • 减去平均光流
      • 摄像机的运动将导致负面影响
  • 采用Multi-task learning 将两个行为分类的数据集联合起来,增加训练数据,最终在两个数据集上都取得了更好的效果
收获
  1. 以连续多帧之间光流场作为输入能有效的描述视频帧之间的运动
  2. 以后可以尝试Multi-task learning
[行为识别] Two –Stream CNN for Action Recognition in Videos
https://arxiv.org/abs/1406.2199
Attentional Pooling for Action Recognition
NIPS‘17
问题
  • 传统一阶注意力网络大多为学习一个locations*1的mask向量,向量的值代表了对应位置上的权重,但是它没有挖掘到,location之间的关系或者说是相互作用的权重
方法
  • 泛读论文(Action Recognition 行为识别合集)
    文章图片
  • 通过 Attention pooling 层可以学到一个二阶 attention 矩阵,而不仅仅只是一个 mask 向量,然后再 conbine 二阶和一阶的 mask ,就能得到更加精确的注意力关注区域
参考
http://papers.nips.cc/paper/6609-attentional-pooling-for-action-recognition

    推荐阅读