行为识别笔记:关于行为检测/识别问题的分类及研究进展的讨论

近期在做在线动作识别的项目,阅读了不少文献,发现现有的方法基本都是离线的action recognition和action detection(离线指这些算法都是在处理切割好的视频片断)。而online action detection还没有很好的方法。以下给出我总结的动作检测/识别问题的分类及一些研究进展。


Action Recognition

  • 目的:判断一个视频片断中某个动作是否发生
  • 特点:简化了问题,一般使用的数据库都先将动作分割好了,一个视频片断中包含一段明确的动作,时间较短(几秒钟)且有唯一确定的label。所以也可以看作是输入为视频,输出为动作标签的多分类问题。此外,动作识别数据库中的动作一般都比较明确,周围的干扰也相对较少(不那么real-world)。
  • Online/Offlineaction recognition中的算法均为offline算法,此处并不是指训练过程的online还是offline,而是指测试过程。Action recognition的算法都是将一段视频整体作为输入,所以是offline的。
  • 常用数据库
    • 视频数据库:
      • 来源:视频通常来自youtube,电视剧集,体育赛事视频等
      • 常用:UCF50UCF101HMDB51
    • 骨架数据库:
      • 含义:指数据库已经提取了每帧视频中人的骨架信息,基于骨架信息判断运动类型
      • 常用:MSR Action 3DHDM05,SBU Kinect Interaction Dataset
      • 特点:骨架数据库上的动作识别相对简单
  • 研究进展
    • 传统方法:iDTimproved dense trajectories)特征
      • 论文"Action recognition with improved trajectories",我写的笔记见iDT算法笔记
      • iDT方法(13年)是深度学习进入该领域前效果最好,稳定性最好,可靠性最高的方法。事实上,现在的深度学习方法提取的特征通常也会在最后加上iDT特征,获得一定的效果提高。与图像识别问题不同,动作识别的深度学习算法还没能够做到大幅优于传统方法(只能说iDT方法设计的太好了。。)
      • 特点:iDT特征中包括HOFHOGMBHtrajectory4种特征,其中HOF基于灰度图计算,另外几个均基于dense optical flow计算,所以可以认为iDT是一种spatial与temporal结合的方法
      • 基于iDT方法的改进效果最好的是“Action Recognition with Stacked Fisher Vectors"这篇文章。使用了两层的fv编码,笔记见Stacked Fisher Vector
    • 深度学习方法
      • Two-Stream方法
        • 最新论文:”Convolutional Two-Stream Network Fusion for Video Action Recognition“(2016CVPR),最早提出的是“Two-Stream Convolutional Networks for Action Recognition in Videos”(2014NIPS
        • 基本原理:对视频序列中每两帧计算密集光流,得到密集光流的序列(即temporal信息)。然后对于视频图像序列(spatial)和光流序列(temporal)分别训练CNN模型,之后在训练一个fusion网络融合spatialtemporal的网络。
        • 特点:在深度学习算法中比较有代表性,效果略略好于iDT,与iDT融合特征后还可以获得一定的提高。作者在16年将CNN网络从VGG16换成了ResNet,又获得了一定的效果提高
      • LSTM+2stream方法
        • 论文:“Beyond Short SnippetsDeep Networks for Video Classification
        • 2stream方法的一种改进,在获得spatialtemporal网络后,此文分别用普通的fusion网络和LSTM网络对两者进行融合,得到的结果再进行ensemble
  • 讨论:目前在较简单的数据库如UCF101上已经可以达到92%左右的准确率,在较难的数据库如HMDB51上可以达到65%左右的数据库。但这些数据库中的视频是已经分割好的,这实际上降低了很多难度,也使得这些算法难以直接应用到真实场景中。

 

Action Detection

  • 目的:不仅要知道一个动作在视频中是否发生,还需要知道动作发生在视频的哪段时间
  • 特点:需要处理较长的,未分割的视频。且视频通常有较多干扰,目标动作一般只占视频的一小部分。
  • 分类:根据待检测视频是一整段读入的还是逐次读入的,分为onlineoffline两种
    • Offline action detection:
      • 特点:一次读入一整段视频,然后在这一整段视频中定位动作发生的时间
    • Online action detection:
      • 特点:不断读入新的帧,在读入帧的过程中需要尽可能早的发现动作的发生(在动作尚未结束时就检测到)。同时online action detection 还需要满足实时性要求,这点非常重要。这导致online action detection不能采用计算复杂度过大的方法(在现有的计算能力下)
      • 现有方法:
        • 逐帧检测法:即在视频序列的每帧上独立判断动作的类型,可以用CNN等方法,仅用上了spatial的信息
        • 滑窗法:即设置一个固定的滑窗大小,在视频序列上进行滑窗,然后对滑窗得到的视频小片断利用action recognition的方法进行分类。
      • 现状:由于此问题难度比action recognition高很多,所以现在还没有效果较好的方法

你可能感兴趣的:(计算机视觉)