基于多流双向RNN网络的动作检测(论文笔记)

时间:2024-04-03 18:22:04


一、概述

动作检测是指在一段视频里,检测出人的动作(已知的几类动作)以及发生的时间和地点。目前关注比较多的是动作识别,也可以叫动作分类。动作识别的任务是,输入剪辑好视频,将其归为N已知动作中的一类,不需要关心动作发生的时间,因为剪辑好的视频包含了某个动作从开始到结束的完整过程,而且它也不用考虑视频中可能不包含任何已知的动作所以,动作检测一般比动作识别难。但动作检测与现实中的应用关系更密切。

本文提出一种基于Multi-Stream Bi-Directional Recurrent Neural Network的方法,用于检测一段视频中人的动作。这里的Multi-Stream,是指有四个Stream的CNN网络:完整的帧和包含人的边框(fullframe and person-centric)两个空间尺度,每个尺度包含两种Streammotion and appearance)。首先,把视频切割成一小块一小块(7帧大小,每个视频块经过多流网络提取出高级的特征描述highlevel representations),这些特征描述又作为双向LSTM的输入,LSTM的输出是这7帧图像对应的动作标签。

本文主要有以下几点贡献

(1)证明动作检测任务中使用双向的LSTM的重要性首次把LSTM用于动作检测,由于LSTM包含多个动的完整视频上训练的(不是只包含单个动作的剪辑)所以它可以学习时间维度上相邻动作之间的关系。

(2)训练了一个多流的卷积网络说明了同时使用fullframe and person-centric的重要性。

(3)使用像素轨迹代替光流作为运动Stream,使结果显著改善。


二、方法介绍

本文框架如图1和2任务是对输入一个视频(6连续的图像)进行动作分类如图2所示我们首先训练了四个独立的卷积神经网络,每个都基于VGG架构四个网络后面又接了一个全连接,为了整合四个流的信息。如图1所示多流网络的输出又作为双向LSTM的输入,在每个方向LSTM的隐藏状hidden states一个全连接,然后再接一个softmax层,以获得对每一类动作的评分。最后,两个LSTM的平均得分得出分类结果。

基于多流双向RNN网络的动作检测(论文笔记)

图1 整体架构

基于多流双向RNN网络的动作检测(论文笔记)

图二 MSN

2.1跟踪算法

因有些动作与周围环境没多大关系,使用跟踪算法把人从图中圈出来,在框里提取外观和动作appearance and motion流。本文使用了一个简单的基于状态的跟踪器(state-based tracker),如果没有存在的,边框是任意放置的边框的位置只有在处理完一个视频(6)之后才会更新。

2.2流网络的训练

在文献里,训练motion-based的网络时,经常会把光流作为深层网络的输入。但是,因场景中某个特定点的位置在帧和帧之间会发生变化,使用卷积神经网络对动作分类时,虽然在高层可以学到完整的运动信息,但要求更多的参数和训练数据。所以我们选了一种叫像素轨迹(pixel trajectories)的方法来表示运动信息。如图3所示,如果当前帧是t,我们在当前帧之前和之后各取K帧,In all 2K frames of a pixel trajectory, the flow values from each point to the corresponding point in frame t are all located at the point’s location in frame t.对于这句话的理解(可能不对,欢迎指正),在像素轨迹中,图像的空间布局保持不变,都跟frame t一样,但每个像素点的强度值等于framet与别的帧(比如framet-1)计算得到的光流值大小。求每个像素的运动时只需要一个1×2K的卷积核就能得到一个特征map,使用光流的方法则需要3×3×2K的卷积核(因场景中的点在帧间位置会变化)。

基于多流双向RNN网络的动作检测(论文笔记)

图3 光流与像素轨迹比较


2.3双向LSTM网络

在动作识别任务中,输入一段视频序列只需要输出一个动作标签。但动作检测的任务是为每一帧都打上正确的标签。举个例子,有一段含有100帧的视频序列,每一帧的标签都相同,如果是动作识别,我们只要能识别出任意50帧就可输出正确的标签,但对于动作检测,如果预测出来的这50帧是不连续的,就会产生多个动作片段,如图5所示。加上双向的LSTM后,就可以利用未来和过去的信息预测,进而更可能得到连续的片段。双向的LSTM的说明如图4在工作中,前和后LSTM网络softmax为每个action提供了一个scores我们两个LSTM网络值作为每个动作的得分

基于多流双向RNN网络的动作检测(论文笔记)

图4 双向LSTM

基于多流双向RNN网络的动作检测(论文笔记)

图5 上面一行使用原始方法会产生不连续片段,下面是改进后

三、参考文献

实验结果大家可以直接看论文。

A Multi-Stream Bi-Directional Recurrent Neural Network for Fine-Grained Action Detection 2016