Action Recognition 合集

Action Recognition

Learning Spatiotemporal Features with 3D Convolutional Networks

CVPR 2015

问题

  • 2D卷积对时空特征的学习不好
  • 本文将二维卷积推广到了三维,提取的特征高效、紧致、使用简单

方法

  • 用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任务中获得第一名

方法

这里写图片描述

  • 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,由空间和时间两个维度的网络组成

这里写图片描述

  • 作者提出了利用网络训练多帧密度光流,以此作为输入,能在有限训练数据的情况下取得不错的结果

    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之间的关系或者说是相互作用的权重

方法

  • 这里写图片描述
  • 通过 Attention pooling 层可以学到一个二阶 attention 矩阵,而不仅仅只是一个 mask 向量,然后再 conbine 二阶和一阶的 mask ,就能得到更加精确的注意力关注区域

参考

http://papers.nips.cc/paper/6609-attentional-pooling-for-action-recognition

猜你喜欢

转载自blog.csdn.net/u013982164/article/details/79608342
今日推荐