Spatio-Temporal Action Detection.

时空动作检测(Spatio-Temporal Action Detection)是视频检测领域的任务,视频领域常见的任务有动作识别、时序动作检测、时空动作检测。

1. 时空动作检测的常用数据集

目前常用的时空动作检测(Spatio-Temporal Action Detection)数据集可以被分为两类:

  1. 密集标注的数据集 Densely annotated:每一帧都进行标注
  2. 稀疏标注的数据集 Sparsely annotated:隔一段时间标注一帧

(1) 密集标注的数据集

密集标注的数据集由于每一帧都进行标注,因此标注了人物目标的id,这些数据集通常带有任务跟踪功能。由于数据集标注量大,因此会有标签质量低、动作类别过于粗糙等问题。常用的数据集包括:

(1) 稀疏标注的数据集

稀疏标注的数据集由于每隔一段时间(如$1$s)进行一帧标注,因此动作没有明确的时间边界,也不具有人物跟踪功能。常用的数据集包括:

2. 时空动作检测的方法

按照处理方式不同,时空动作检测可以分为帧级别的检测器(frame-level detector)和tubelet级别的检测器(tubelet-level detector)。

(1) Frame-Level Detector

frame级别的检测器是指每次检测时输入单帧图像,得到单帧图像上的检测结果;之后把检测结果沿时间维度进行连接,得到视频检测结果。常用的frame级别检测方法包括:

⚪ T-CNN

T-CNN扩展了目前流行的静态目标检测方法,并将其用于视频检测中。为增强方法的时间一致性,首先使用静态目标检测方法DeepID-NetCRAFT两种框架对视频中的每一帧进行检测, 在相邻帧上保持高置信度类别的检测分数不变,降低低置信度类别的检测分数,从而降低误检率(即减少false positive)。 将每帧的检测框和它们的分数传播到其相邻帧以增加检测结果,从而降低漏检率(即减少false negative)。 使用跟踪算法生成长期的检测序列,与其他检测结果进行融合获得最终检测框。

(2) Tubelet-Level Detector

tubelet级别的检测器在检测视频中的动作时引入了tubelet的概念(-let后缀表示小型的,此处是指预测结果在时间-空间上像一个小管道)。 即每次检测时输入多帧连续视频帧,在这些帧上预先设定anchor cuboids(同一个anchor在不同帧的空间维度上具有相同的初始位置和形状,在时间维度上构成立方体,因此得名,用于检测某一个具体的目标及其动作类型),通过模型对每一帧上的检测框进行修正,得到待预测的动作在连续帧上的多个bbox构成的tubelets。因此tubelets实际上就是同时含有时序信息和空间信息的检测框序列。

常用的tubelet级别的检测方法包括:

⚪ ACT-detector

ACT-detectortubelet的概念引入视频检测。 给定$K$帧的连续帧视频序列,使用共享权重的卷积神经网络backbone(本文采用SSD)从每帧图像上提取不同层次的特征图。将$K$帧连续图像的属于同一个anchor的特征(构成anchor cuboids)堆叠起来,通过分类层预测$C+1$个动作类别的得分,通过回归层输出$4K$个坐标用于对tubelet进行调整。

⚪ MOC-detector

将视频中的动作建模为每一帧动作中心点沿时序的运动轨迹MOC-detector采用anchor-free的结构。首先将连续$K$帧图像分别输入共享权重的2D Backbone提取每一帧的高层语义特征,获得$K$张特征图;然后由三个分支共同协作来完成时空动作检测任务。中心点预测分支(Center Branch)用于检测关键帧中心点的空间位置和所属类别运动估计分支(Movement Branch)用于估计每一帧上的动作中心点距离关键帧中心点的运动矢量,形成中心点运动轨迹,将关键帧中心点移动到当前帧的对应中心点,可以形成连续$K$帧内每个动作中心点的运动轨迹。包围框回归分支(Box Branch):逐帧处理,输入单帧特征图,在每一帧的动作中心点直接回归bbox大小来得到动作实例在空间上的包围框。

⚪ 参考文献