一、简介、难点
1.1、简介
相对于行为分析(action recognition),行为检测(action detection)难度更大,不仅要知道一个动作在视频中是否发生,还需要知道动作发生在视频的哪段时间。需要处理较长的、未分割的视频。且视频通常有较多干扰,目标动作一般只占视频的一小部分。
行为检测任务有点类似于目标检测任务,都需要先定位目标,然后识别目标。所以目前的行为检测方法都是鉴于目标检测,主要思想基本上是Temopral Proposal提取,然后进行分类与回归操作。这类方法包含,利用Faster R-CNN框架思路,利用SSD框架思路,还有基于TAG网络等等。还有一类方法是基于C3D做帧分类,然后预测存在的视频段并分类。
根据待检测视频是一整段读入的还是逐次读入的,分为两种。
- offline : 是一次读入一整段视频,然后在这一整段视频中定位动作发生的时间。
- online : 则是不断读入新的帧,在读入帧的过程中需要尽可能早的发现动作的发生(在动作尚未结束时就检测到)。 同时还需要满足实时性要求,这点非常重要。 这导致不能采用计算复杂度过大的方法。
1.2、难点
主要有以下三点:
- 时序信息。与行为识别/分类一样,视频理解的通用难点就是时序信息的处理。所以针对这一点目前的主要方法基本上都是使用RNN读入CNN提取的特征,或者直接使用C3D一样的时序卷积。
- 边界不明确。不同于行为识别的是,行为检测要求做精确的动作区间检测,而生活中一个动作的产生往往边界不是十分确定的,所以这也是导致目前行为检测mAP偏低的原因。
- 时间跨度大。在生活中,一个行为动作往往跨度非常大,短的动作几秒左右,比如挥手。长的动作有的持续数十分钟,比如攀岩、骑行等等。这使得我们在提取Proposal的时候变得异常的艰难。
1.3、现有方法
逐帧检测法: 即在视频序列的每帧上独立判断动作的类型,可以用CNN等方法,仅用上了spatial的信息
滑窗法: 即设置一个固定的滑窗大小,在视频序列上进行滑窗,然后对滑窗得到的视频小片断利用action recognition的方法进行分类。