Action Recognition: 行为识别,视频分类,数据集为剪辑过的动作视频

Temporal Action Detection: 从未剪辑的视频,定位动作发生的区间,起始帧和终止帧并预测类别

难点

1: 边界不明确(助跑跳远,上篮,高尔夫挥杆)

2: 如何利用时序信息

3: 时序跨度大(Activitynet:1s — 200s)

            上图为模型框架,用temporal actionness grouping算法提取proposal后进行上下文信息的金字塔池化,后接两个级联分类器分别是完整性判断和类别分类

图中上半部分所示的是现有的基于视频短片段(discriminative snippets)的行为识别方法的检测结果,可以看到只要图中蓝色的框遇到具有明显判别信息的snippets时(绿色框),分类器就会具有很强的响应,这样就导致很难精确的去定位动作何时发生何时停止。为解决这个问题,文中指出需要对视频的时序结构进行分析,也就是说我们需要识别视频中动作的开始、持续以及结束三个阶段来确定视频中的动作是否完整。 为了简单的描述整个过程,这里将深度特征提取部分看作一个独立的小模块。这样整个的模型可以描述为以下几个过程:

分水岭聚合方法

使用temporal actionness grouping (TAG) 方法获取多个高质量的 proposals (图中绿色方框)。文中通过使用一个分类器 actionness classifier 来计算每个独立的 snippets 的 binary actionness probability ,简单的说就是来预测某个 snippets 存在运动的可能性,这样就在时序上得到以下图中所示结果:从上图中可以看出,如果我们将它反过来我们就可以使用类似于分水岭算法的方法来生成proposals。

在得到原始的 proposal后,我们将其分别向两端扩展原始 proposals 长度一半的长度,得到新的2倍于原始长度的新 proposal 。两端被扩展的部分分别被定义为 starting 和 ending 两个 stage ,而原始的 proposals 则被定义为中间 course 部分。这样就得到上图中黄色方框所对应的情况。 在训练过程中为了有效的减小计算量,文中采用了类似于上文中的 segment 策略,将扩展后的 proposal 分为 9 个 segments (starting, course, ending 各对应3个), 然后在每个 segment 中随机选择一个小片段 snippet 参与运算。这样不仅可以有效的提取整个proposal 的信息,同时也使得特征的长度不随 proposal 的长度而改变,方便后续 end to end 的网络训练 。
在得到每个 stage 上的多个小片段 snippets 后,文中利用 two-stream 网络提取每个 snippts 的特征,然后采用的 structured temporal pyramid pooling 操作来对特征进行整合,实现从 snippt-level 的特征到 stage-level 的特征。 在实现过程中,对于starting 以及 ending 两个 stage 分别采用 one-level pyramids pooling, 既对两个stage的特征进行一次平均池化(图中黄色和蓝色部分)。对于course stage 文中采用 two-level pyramid pooling , 在第一层原始的 course stage 首先被分为两个 part , 分别计算两个 part 的平均池化;在第二层对上一层得到的结果再进行一次平均池化(图中绿色部分),这样分别得到了 starting, course, ending 所对应的 stage-level 特征。

在得到stage-level 特征后,文章中分别采用两种分类器 activity classifer 以及 completeness classifiers 分别实现对动作和动作的完整度进行分类。activity classifer 包含一个分类器,它仅输入 course 的特征,将 proposals 分为 K+1 个类别(包含背景类)。 completeness classifiers 则包含 K 个二分类器,每个分类器的输入是其对应的第 k 类 starting, course, ending stage 金字塔池化特征,输出该动作是否完整的概率。文中从概率的角度将两种分类器通过联合概率的形式进行整合,从而构造统一的损失函数,实现端对端的学习。
在得到 stage-level 的特征后我们不仅可以实现分类,还可以实现对原始的 proposal 进行重新定位,这个过程类似于 RCNN 对bounding box 的回归操作。文章中对训练样本中正类 proposal , 以其最接近的 groundtruth 为目标对该 proposal 的中心和长度进行回归。文中采用多任务学习策略将分类和回归两个部分整合为一个统一的损失函数。
定义统一分类损失(unified classification loss):

两种分类器部署在高级特征之上。对于一个proposal:pi

A分类器给出一个经过softmax后的向量,条件分布表示为 P(ci|pi),其中 ci 表示类别。

对于每个类别 k,对应的 Ck 完整性分类器给出一个概率值,分布为:P(bi|ci,pi),bi 指示动作是否完成。

训练时,关注三种proposal样本:

(1)positive proposals(ci>0,bi=1):与最接近的groundtruth的IOU至少为0.7

(2)background proposals(ci=0):不与任何groundtruth重叠

(3)incomplete proposals(ci>0,bi=0):其80%包含在groundtruth中,但IOU小于0.3,仅仅包含gt的一小部分。

Thumos14和Activitynet1.3的结果:

   

code:github

Temporal Action Detection with Structured Segment Networks (ssn)【转】的更多相关文章

  1. 论文阅读: 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:    本 ...

  2. 中文版 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

    Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 摘要 最先进的目标检测网络依靠区域提出算法 ...

  3. 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)

    Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...

  4. TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals(ICCV2017)

    Motivation 实现快速和准确地抽取出视频中的语义片段 Proposed Method -提出了TURN模型预测proposal并用temporal coordinate regression来 ...

  5. 目标检测--Scalable Object Detection using Deep Neural Networks(CVPR 2014)

    Scalable Object Detection using Deep Neural Networks 作者: Dumitru Erhan, Christian Szegedy, Alexander ...

  6. 论文笔记之 SST: Single-Stream Temporal Action Proposals

    SST: Single-Stream Temporal Action Proposals 2017-06-11 14:28:00 本文提出一种 时间维度上的 proposal 方法,进行行为的识别.本 ...

  7. Top Leaders社区发现算法(top leaders community detection approach in information networks)

    一.概念 复杂网络:现实生活中各种系统都可以看做成复杂网络,复杂网络构成包括节点和边,节点是网络中的基本组成单元,节点之间的联系或者关系是网络中的边.例如 电力网络:基站代表节点,基站之间是否互通表示 ...

  8. SST:Single-Stream Temporal Action Proposals论文笔记

    SST:Single-Stream Temporal Action Proposals 这是本仙女认认真真读完且把算法全部读懂(其实也不是非常懂)的第一篇论文 CVPR2017 一作 论文写作的动机m ...

  9. [论文理解] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

    Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 简介 Faster R-CNN是很经典的t ...

随机推荐

  1. 深入理解 sudo 与 su 之间的区别【转】

    深入理解 sudo 与 su 之间的区别 两个命令的最大区别是: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码.另外一个区别是其默认行为.sudo 命令只允许使用提升 ...

  2. 虚拟化之kvm --(vnc控制台)

    作者:邓聪聪 随着日益不同的需求增多,为了满足主机供求,get到这一招虚拟化技术,以增加点见识! 1.使用yum安装: yum -y install qemu-kvm libvirt python-v ...

  3. configparser模块--配置文件

    该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 创建文件 import configparser config = ...

  4. 003_ab http压测工具

    一. ab -r -k -c 20000 -n 25000000 https://www.uuwatch.me/abtest #ab压测工具单机最大并发为20000,可以在多台机器上执行以增大并发 y ...

  5. ASP.NET MVC5入门3之登录验证

    参考: HTML页面模版: http://www.ui.cn/detail/70262.html(第38个) MVC后台代码参考: http://www.oschina.net/p/nfine 开发环 ...

  6. Docker入门 - 006 Docker 多种数据库的安装

    Docker 安装 MySQL 查找Docker Hub上的mysql镜像 root@VM_16_14_centos ~# docker search mysql INDEX NAME DESCRIP ...

  7. Light Oj 1005

    题意: 从 n*n 的棋盘中放置 K 个 行和列不冲突的棋子 思路: 组合数学, 先选 k 个 行, k 个列, 就是 C(n,k) ^ 2; 然后 K 个棋子不相同, K ! 全排列 #includ ...

  8. Hystrix浅谈

    Hystrix如何使用很多说明,看了很多博客,却发现能说明一些简单概念的文章就没有. 所以本文不太回去说如何使用 Hystrix ,但是会简明的说一下 一些概念 super(Setter.withGr ...

  9. jQuery页面滚动底部加载数据

    $(window).scroll(function () {        var scrollTop = $(this).scrollTop();        var scrollHeight = ...

  10. 技术的热门度曲线:GHC

      全球最大的 IT 咨询公司高德纳(Gartner),有一个"技术热门度曲线"模型(Gartner Hype Cycle). 该模型认为,一门技术的发展要经历五个阶段. (1)启 ...