动作检测深度学习方法的调研和思考
动作检测深度学习方法的调研和思考
动作检测是计算机视觉领域的重要研究方向之一,其目标是对视频中的人物动作进行时空定位和分类。近年来,随着深度学习技术的发展,动作检测模型在准确性和实时性方面取得了显著进展。本文将重点介绍几种具有高效和实时速度的动作检测模型,包括双流SSD、YOWO、WOO、SE-STAD和EVAD,并探讨它们的技术创新和应用前景。
1. STAD介绍
动作检测(spatio-temporal action detection,STAD)的目的是对视频中的人物动作进行时空定位和分类。动作检测模型可以被分为两类:帧级(frame-level)和剪辑片段级(clip-level)
帧级:在视频的每一帧上独立应用动作检测器生成2D边界框,然后用连接算法将每一帧的检测结果关联,生成3D动作管(action tubes)
剪辑片段级:输入短视频片段,直接输出片段中的3D时空管(3D spatio-temporal tubelet)建议。然后将连续的视频片段中的管建议连接在一起形成完整动作管
在线动作检测任务需要对捕获到的帧即时处理,即时给出动作的定位和分类。下面我将主要介绍帧级模型中的具有高效和实时速度(High efficiency and real-time speed)的模型。
2. 高效实时动作检测
2.1 双流SSD——2016
论文标题:Online Real-time Multiple Spatiotemporal Action Localisation and Prediction
论文发表于2016年,此时I3D网络还未提出,最主流的视频识别网络还是双流神经网络。
双流网络由两个主干网络组成,RGB流和光流,RGB流提取空间特征,光流提取运动特征
由于光流的提取非常耗时且占用空间,基于光流的方法在视频识别和视频检测中逐渐被3D时空卷积方法淘汰。
作者提出的网络在双流神经网络的基础上引入了SSD,做到了实时的动作定位和分类。
单阶段网络优点:
单阶段网络相比于双阶段网络有更快的计算速度。
两阶段网络需要分别训练区域提议网络和分类网路,只能找到局部最优解。单阶段网络检测器与动作分类器联合训练,避免了这个问题。
单阶段网络的训练成本相比于两阶段网络更低,不需要额外用COCO数据集预训练RPN。
RGB流生成基于外观的检测框,光流生成基于运动的检测框。
针对于外观检测框和动作检测框,作者提出了两种融合方式:
Boost-fusion:当运动检测框和外观检测框IoU大于一定阈值,基于运动的检测框的分数将得到增强。然后再对增强后的边界框的分数进行L-1归一化,保留没有找到对应外观检测框的运动检测框
Fusion by taking the union-set:保留外观检测框和运动检测框的并集
消融实验证明Fusion by taking the union-set的效果更好。
2.2 YOWO(you only watch once)——2019
论文标题:You Only Watch Once: A Unified CNN Architecture for Real-Time Spatiotemporal Action Localization
作者认为人类为了理解视频中的动作,会将当前帧信息(关键帧2D特征)和之前记忆中保存的前帧信息(剪辑3D特征)关联,所以提出了一个有两个分支的网络。
YOWO的一个分支通过2D卷积提取关键帧的空间特征,另一个分支通过3D卷积提取时空特征。这两种特征对最终边界框回归和动作分类均有影响,为了更好的融合以上特征,作者加入了通道注意力融合模块。
2.3 WOO(watch only once)——2020
论文标题:Watch Only Once: An End-to-End Video Action Detection Framework
作者认为YOWO虽然在单个阶段联合训练了检测器和动作分类模型,但仍然需要从原始图像中独立提取特征,带来了沉重的计算和内存成本。作者设计了只有一个主干网络的框架来解决这个问题,做到了真正的只看一次(watch only once)。
如果只有一个3D卷积主干网络,随着层数的加深,关键帧中的特征会和相邻帧的特征混合,关键帧的空间特征会受到时间特征的干扰。动作的定位主要依赖于关键帧的空间特征,而动作的分类主要依赖于从帧序列中提取到的时空特征,这不免会造成矛盾。
为了解决上面的问题,作者设计了一个模块,在主干网络的早期阶段将关键帧的特征于其他帧的特征隔离(提前提取关键帧的特征)。得益于这个模块,作者用一个主干网络完成了YOWO两个主干网络完成的工作。
图示的主干网络来自于SlowFast
作者同时提出了一种更好的时空融合方法。为了更好地区分空间特征和时间特征,在融合前加入空间和时间嵌入。很容易让人联想到transformer中的位置嵌入。
作者为了弥补统一主干网络带了的性能下降,在主干网络早期将关键帧空间特征隔离和在分类头引入了额外的注意力模块来提高性能。
2.4 SE-STAD——2022
论文标题:A Simple and Efficient Pipeline to Build an End-to-End Spatial-Temporal Action Detector
SE-STAD是一个两阶段网络,它的结构非常简单,只添加了一个简单的FCOS检测头对动作定位,却有比增加了注意力模块的单阶段网络WOO有更好性能和更低的计算复杂度。
fully convolutional one-stage object detector (FCOS)全卷积单阶段物体检测器:
用语义分割逐像素的方式来完成无先验锚框信息、计算复杂度低的目标检测
SE-STAD从不同3D卷积层中提取关键帧特征构建特征金字塔,利用FCOS头再对关键帧空间特征生成区域建议完成定位,最后根据区域建议从Res5层提取空间特征完成动作分类。
作者还提出了一种半监督学习策略,有效提高了网络的性能。用只有关键帧得到标注(大部分帧没有被标记)的视频数据集训练模型。
2.5 EVAD——2023
EVAD在ViT(不是ViViT,一个patch只来自于一帧图像中的部分)的基础上进行改进,保留关键帧的全部token,将其他帧上与关键帧动作无关的token丢弃。相比于原版ViT没有性能下降,且计算复杂度(GFLOPS)降低43%,实时推理速度提高40%。
在ViT中,图像会被划分为固定大小的patch(例如16x16或32x32),每个patch会被展平并线性变换为一个向量,作为transformer的输入token。通过自注意力机制,ViT能够在处理这些patch时,学习到全局上下文信息,而不仅仅是局部信息。
类似于WOO,EVAD利用编码器中关键帧的多个空间特征图进行定位,利用解码器最后输出的时空特征图进行动作分类。
作者设计了一个以关键帧为中心的token剪枝模块,丢弃了与动作无关的token,减少了整个模型的计算复杂度。作者通过自注意力计算非关键帧token的重要程度分数,按比例(比例是超参数)保留前k名分数高的token。
虽然很多token被丢弃,但余下的token也通过自注意力学习到了全局的信息,利用上下文细化解码器模块,可以恢复出非关键帧中动作者的时空特征。所以EVAD最后的性能仍然与原版ViT持平。
3. 动作检测SOTA
我下面简单介绍当前在STAD任务上的SOTA方法,与本文主干高效实时STAD关系不大。
3.1 STAR
STAR像是3D版本的DETR,不需要区域建议,也不需要后处理,对输入的视频直接生成动作管。和SE-STAD一样,可以用半监督方式训练。
STAR与DETR几点不同:
没有使用卷积网络作为主干网络,而是直接将帧序列输入进encoder。
encoder使用的是修改过的ViViT的encoder,在其基础上删去了时空融合步骤,保留了时空信息,用双线性插值上采样保留了原始的分辨率和帧数。
为了分离时空特征,在query embedding的时间轴上增加了归纳偏置。
3.2 HIT
动作的识别与人物的姿势、手部动作和使用物体高度相关。HIT把这三者整体考虑,构建了一个由RGB流和姿势流(pose stream)组成的双模态框架(bi-modal framework)。每个模态包含三个组件:人物交互,物品交互和手部交互。在从相邻帧中学习时间信息之前,使用注意力融合机制来组合两个模态,有助于更好地检测当前帧中发生的动作。
4. 总结
4.1 分离时空特征
STAD任务需要同时处理定位和动作分类,定位高度依赖于空间特征,而动作分类依赖于时空特征。时间特征会干扰空间特征,直接从时空特征图中解码出分类结果效果一般。一个简单直接地解决方法就是使用双主干网络,一条主干专注于提取空间特征,另一条主干专注于提取时空特征,例如双流SSD和YOWO。但这会带来模型计算复杂度提高,训练难度增大的问题。WOO从3D时空卷积的早期阶段提取关键帧的空间特征,获得受时间特征干扰较少的空间特征图来用于动作定位,之后的SE-STAD和EVAD也沿用了这一做法。
为了更好的区分时空特征,YOWO在融合时引入注意力机制,WOO更进一步在注意力融合前增加了时空嵌入。SE-STAD使用FCOS检测头,在简单融合的情况下也有很好的效果。STAR也为query embedding增加了时间归纳偏置。
4.2 结合视频动作识别和目标检测
STAD任务与视频动作识别和目标检测任务高度相关,体现出密切的联系。STAD模型在提取时空特征时,不断采用最新的视频识别网络,如双流、I3D、SlowFast和ViViT。STAD的定位也不断受到目标检测的启发,以上述STAD网络为例,除了双流SSD,均不使用先验框,这与目标检测的发展趋势相符。STAR从DETR获得灵感,利用transformer的解码器直接从时空特征中生成检测框和类别。