zoukankan      html  css  js  c++  java
  • 行为识别(recognition/classification)/检测(detection/localization)综述

    行为识别/检测(Action Recognition/ Detection)

    最终的结果是得到图像或视频段中目标的行为类别。视频中人体行为识别主要分为两个子方向。

    行为分类/识别 Action Recognition

    • 给定一个包含一段明确的动作的视频片段进行分类,使用的视频序列数据都先将动作分割好了,时间较短(几秒钟)且有唯一确定的标签。所以也可以看作是input为视频,输出为label。

    时序动作检测 Temporal Action Detection
    主要解决的是两个任务:localization+recognization

    1)where:什么时候发生动作,即开始和结束时间;
    2)what:每段动作是什么类别
    一般把这个任务叫做Temporal Action Detection,有的直接叫Action Detection,还有叫Action Localization、

    • 数据是未分割的较长视频序列,不仅要知道一个动作在视频中是否发生,还需要知道动作发生在视频的哪段时间(包括开始和结束时间)(行为检测 Temporal Action Localization)。
      特点是需要处理较长的、未分割的视频,且视频中通常有较多干扰,目标动作一般只占视频的一小部分。也可以说是对视频进行指定行为的检测

    Action Recegniton和(Temporal Action Detection)之间的关系,同image classification和object detection之间的关系比较像。

    基于image classification问题,发展出了许多强大的模型,比如ResNet、VGGNet等,这些模型在object detection的方法中起到了很大的作用。同样的,action recognition的相关模型如two-stream、C3D、iDT等也被广泛的应用在action detection中。

    参考文献

    行为识别的综述博客:

    https://blog.csdn.net/neu_chenguangq/article/details/79504214

    给出了行为识别的一些概述及资源合集(文章、代码)

    https://blog.csdn.net/Gavinmiaoc/article/details/81179630

    时序动作检测综述

    http://www.pianshen.com/article/5760138121/

    常用的行为分类的数据集:

    UCF101:来源为YouTube视频,共计101类动作,13320段视频。共有5个大类的动作:1)人-物交互;2)肢体运动;3)人-人交互;4)弹奏乐器;5)运动。

    HMDB51:来源为YouTube视频,共计51类动作,约7000段视频。

    骨架数据库,比如MSR Action 3D,HDM05,SBU Kinect Interaction Dataset等。这些数据库已经提取了每帧视频中人的骨架信息,基于骨架信息判断运动类型。

    常用的行为检测的数据集:

    THUMOS2014:在行为检测任务中只有20类动作的未分割视频是有序行为片段标注的

    MEXaction2:骑马和斗牛

    ActivityNet:Kinetics目前最大的数据集,同时包含分类和检测两个任务,包含200个动作类别

    行为识别的难点:

    (1)类内和类间差异, 同样一个动作,不同人的表现可能有极大的差异。

    (2)环境差异, 遮挡、多视角、光照、低分辨率、动态背景.

    (3)时间变化, 人在执行动作时的速度变化很大,很难确定动作的起始点,从而在对视频提取特征表示动作时影响最大。

    (4)缺乏标注良好的大的数据集

    行为识别领域内的重要方法

    传统方法——iDT

    利用光流场来获取视频序列中的一些轨迹,再沿着轨迹提取HOF、HOG、MBH、trajectory等特征。HOF基于灰度图计算,另外几个基于optical(密集光流)计算。最后对其进行特征编码,再基于编码结果训练SVM分类器。iDT利用前后两帧之间的光流和surf关键点进行匹配,从而消除或减弱相机运动带来的影响。

    优点:稳定性最高、可靠性高

    缺点:速度慢

    深度学习——Two-Stream(双流CNN)

    对视频序列中每两帧计算密集光流,得到密集光流的序列(即temporal信息)。然后对于视频图像(spatial)和密集光流(temporal)分别训练CNN模型,两个分支的网络分别对动作的类别进行判断,最后直接对两个网格的class score进行fusion(包括直接平均和SVM

    两种方法),得到最终的分类结果。

    优点:精度高,在UCF-101上达到0.96的准确率

    缺点:速度慢

    深度学习——C3D(3D卷积)

    通过3D卷积操作核去提取视频数据的时间核空间特征。这些3D特征提取器在空间和时间两个维度上操作,因此可以捕捉视频流的运动信息。然后基于3D卷积提取器构造一个3D卷积神经网络,这个架构可以从连续视频帧中产生多通道的信息,然后在每一个通道都分离地进行卷积和下采样操作。最后将所有通道的信息组合起来得到最终的特征描述。

    优点:速度快,300fps

    缺点:精度低,在UCF-101上为0.85准确率

    参考文献:

    https://www.jianshu.com/p/2c2c7e96b9b7 按照时间顺序整理了部分视频行为检测&分类方案

    https://www.jianshu.com/p/583c26bbb675

  • 相关阅读:
    vue.js中英文api
    easyui combobox重复渲染问题
    大数据新兴思维
    机器学习技法 之 矩阵分解(Matrix Factorization)
    机器学习技法 之 终章(Final)
    CMake 中文简易手册
    线性判别分析(Linear Discriminat Analysis)
    梯度提升机(Gradient Boosting Machine)之 XGBoost
    机器学习技法 之 梯度提升决策树(Gradient Boosted Decision Tree)
    Host是什么?如何设置host文件?
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/13271898.html
Copyright © 2011-2022 走看看