这是期刊论文的版本,不是会议论文的版本。看了论文之后,只能说,太TM聪明了。膜拜~~

视频的表示方法有很多,一般是把它看作帧的序列。论文提出一种新的方法去表示视频,用ranking function的参数编码视频的帧序列。它使用一个排序函数(ranking function)主要基于这样的假设:帧的appearance的变化与时间相关,如果帧vt+1在vt后面,则定义;此外,假设同一动作的视频帧序列,学习到的排序函数的参数,应该的大致一致的。但实际上,后面的假设并没有给出严格的证明,只能说实验的结果证明了这样的想法。

参数定义

假设输入的原始帧为x,则一个视频的帧序列为。把原始帧序列经过smooth操作,得到新的序列。但实际上,这个新的序列,可以是与原始帧有同样大小的image,也可以是原始帧的特征向量。视频的实际动态信息为D,而使用一个线性排序函数编码视频的动态信息为,u是函数的参数,也就是需要学习的对象,并用它来表示一个视频。那么,学习的目标就是

Rank pooling

Rank pooling 的方法是使用一个RankSVM的学习排序算法计算的。整个Rank pooling的学习过程可以总结如下:(1)输入的数据为处理过的帧序列V,由于RankSVM实际上是有监督学习,所以序列的顺序是知道的(2)如上定义了序列的先后顺序,定义正例样本为,其中时间ti在tj之后,反例样本为它的相反数。(3)可以通过SVM的学习算法,学习如下的凸优化问题

(4)如果学习到的参数为u,则一个vi的score定义为,并且有

Rank pooling方法的优点

(1)与其他的pooling方法对比,如max pooling,average pooling对比,它的鲁棒性更好。

(2)训练的过程是一个最优化问题,所以它的参数可以很好地表达数据的隐含结构。

其他参数化的视频表示方法

论文在这里主要介绍了一种PCA的方法,提取k个特征向量,达到降维的目标,这k个主成分同样反映了视频序列的结构。

Smooth操作

这里使用的smooth的操作是time varying mean vector,定义一个mean为,则smooth后的image为。使用time varying mean vector学习RankSVM之后的向量u,计算每一帧的score,如下图

可以看到,它几乎是有序严格上升的,这表明可以很好地区分出帧的先后顺序。从另一个方面而言,这种方法可以看到它刻画了帧与时间的关系。

非线性的rank pooling

通过对输入应用一个非线性映射来获得。由于RankSVM其实也是学习SVM,所以可以应用一个非线性的核,论文选用的是Hellinger核:

训练的过程

(1)对输入的每一帧,计算它们的特征向量(HOG、HOF、MBH、TRJ)(2)对特征向量进行smooth,然后通过学习RankSVM得到参数u(3)通过训练数据来类别的SVM。

对于第1、2步的提取特征向量一步,似乎并不是必要的,个人认为。

【CV论文阅读】Rank Pooling for Action Recognition的更多相关文章

  1. [论文理解] Attentional Pooling for Action Recognition

    Attentional Pooling for Action Recognition 简介 这是一篇NIPS的文章,文章亮点是对池化进行矩阵表示,使用二阶池的矩阵表示,并将权重矩阵进行低秩分解,从而使 ...

  2. 【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition

    论文的关注点在于如何提高bounding box的定位,使用的是概率的预测形式,模型的基础是region proposal.论文提出一个locNet的深度网络,不在依赖于回归方程.论文中提到locne ...

  3. 【CV论文阅读】Dynamic image networks for action recognition

    论文的重点在于后面approximation部分. 在<Rank Pooling>的论文中提到,可以通过训练RankSVM获得参数向量d,来作为视频帧序列的representation.而 ...

  4. 论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos

      End-to-End Learning of Action Detection from Frame Glimpses in Videos  CVPR 2016  Motivation:    本 ...

  5. 【CV论文阅读】Two stream convolutional Networks for action recognition in Vedios

    论文的三个贡献 (1)提出了two-stream结构的CNN,由空间和时间两个维度的网络组成. (2)使用多帧的密集光流场作为训练输入,可以提取动作的信息. (3)利用了多任务训练的方法把两个数据集联 ...

  6. 【CV论文阅读】action recognition by dense trajectories

    密集轨迹的方法是通过在视频帧上密集地采样像素点并且在追踪,从而构造视频的局部描述子,最后对视频进行分类的方法依然是传统的SVM等方法. 生成密集轨迹: (1)从8个不同的空间尺度中采样,它们的尺度差因 ...

  7. 【CV论文阅读】生成式对抗网络GAN

    生成式对抗网络GAN 1.  基本GAN 在论文<Generative Adversarial Nets>提出的GAN是最原始的框架,可以看成极大极小博弈的过程,因此称为“对抗网络”.一般 ...

  8. 【CV论文阅读】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

    由RCNN到FAST RCNN一个很重要的进步是实现了多任务的训练,但是仍然使用Selective Search算法来获得ROI,而FASTER RCNN就是把获得ROI的步骤使用一个深度网络RPN来 ...

  9. 【CV论文阅读】 Fast RCNN + SGD笔记

    Fast RCNN的结构: 先从这幅图解释FAST RCNN的结构.首先,FAST RCNN的输入是包含两部分,image以及region proposal(在论文中叫做region of inter ...

随机推荐

  1. LN : leetcode 515 Find Largest Value in Each Tree Row

    lc 515 Find Largest Value in Each Tree Row 515 Find Largest Value in Each Tree Row You need to find ...

  2. LN : leetcode 231 Power of Two

    lc 231 Power of Two 231 Power of Two Given an integer, write a function to determine if it is a powe ...

  3. 全面介绍Android Studio中Git 的使用(一)

    来源 :http://blog.csdn.net/gao_chun/article/details/49817229/

  4. UML实例教程 解析UML建模分析与设计

    UML统一建模语言在软件开发过程中非常实用,UMl建模的分析与设计你是否熟悉,这里就通过实例向大家介绍,希望通过本文的学习,你对UML建模的分析与设计方法有一定的了解. 本节向大家介绍一下图书管理系统 ...

  5. Codeforces_758_D_(区间dp)

    D. Ability To Convert time limit per test 1 second memory limit per test 256 megabytes input standar ...

  6. 更新dell机器的idrac的固件版本后重启机器系统失败

    事情是这样的.dell ra620机器,idrac7打不开java,所以在机器生产中直接更新了固件,客户直接在系统内reboot后就连不上.打开本地是卡在下图. 强制重启后发现服务器提示,是IDRAC ...

  7. CodeFrist基础_迁移更新数据

    一丶自动迁移 第一次启用迁移:NeGet-->Enable-Migrations public DemoDbContext() : base("name=ConncodeFirst&q ...

  8. 一个小demo熟悉Spring Boot 和 thymeleaf 的基本使用

    目录 介绍 零.项目素材 一. 创建 Spring Boot 项目 二.定制首页 1.修改 pom.xml 2.引入相应的本地 css.js 文件 3.编辑 login.html 4.处理对 logi ...

  9. JAVA基础——Date和Calendar类

    1计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //yea ...

  10. 如何允许WebGL从本地载入资源

    随着mono-design不断推广,用户越来越多,陆续有电话来询问“为什么3D展现的时候,是一团黑?”,针对这个问题,专门写个帖子说明原因并给出解决方案,并且在mono-design编辑器中加了判断功 ...