时空动作定位需要将两个信息源合并到设计的架构中:(1)来自先前帧的时间信息和(2)来自关键帧的空间信息。
当前最先进的方法通常使用单独的网络提取这些信息,并使用额外的融合机制来获得检测。在这项工作中,我们提出了 YOWO,一种用于视频流中实时时空动作定位的统一 CNN 架构。 YOWO 是一种单级架构,具有两个分支,可同时提取时间和空间信息,并在一次评估中直接从视频剪辑中预测边界框和动作概率。
由于整个架构是统一的,因此可以进行端到端的优化。 YOWO架构可在16帧输入剪辑上快速提供每秒34帧的速度,在8帧输入剪辑上提供每秒62帧的速度,这是目前时空动作定位任务上最快的最先进的架构。
痛点:
受Faster-RCNN的影响,很多工作都是tow-stage的。第一阶段:生成大量的proposals,第二阶段:进行分类和定位细化。
the generation of action tubes which consist of bounding boxes across frames is much more complicated and time-consuming than 2D case. 由跨帧的边界框组成的动作管的生成比 2D 情况复杂得多且耗时。但是!分类性能极大地依赖于这些建议,其中检测到的边界框对于以下分类任务可能不是最佳的。
动作提案action proposals只关注视频中的人类特征,但忽略了人类与背景的一些关系。但这些关系呢,对于动作类别的预测 action prediction 可能很关键!(在游泳馆里面,可能是游泳或跳水,只关注人类特征忽略背景,与不利于动作分类)
两阶段架构的第三个问题是单独训练区域提议网络和分类网络并不能保证找到全局最优值。 相反,只能从两个阶段的组合中找到局部最优值。训练成本也高于单阶段网络,因此需要更长的时间并需要更多的内存。
贡献:
通过深度学习进行动作识别。
双流 CNN 是一种分别提取空间和时间特征并将它们聚合在一起的有效策略。这些工作大部分都是基于光流,需要大量的计算能力来提取,导致过程非常耗时。随着时间的推移整合 CNN 特征的另一种选择是实现循环网络,但其性能不如最近基于 CNN 的方法 。3D-CNN 首先被用来提取时空特征。之后,许多3D-CNN架构被提出用于动作识别任务,例如C3D 、I3D 、P3D 、R(2+1)D 、SlowFast 、等。为了提高资源效率,其他一些工作侧重于使用 2D-CNN 从单个图像中学习 2D 特征,然后将它们融合在一起以使用 3D-CNN 学习时间特征。
时空动作定位。由于 RCNN 系列的成功,大多数研究方法建议首先检测每帧中的人类,然后将这些边界框合理地链接为动作管 action tube。双流检测器在光流模态的原始分类器的基础上引入了一个附加流。其他一些工作使用 3D-CNN 产生夹管提案,并实现对相应 3D 特征的回归和分类,因此区域提案对它们来说是必要的。
注意模块。注意力机制是在空间和通道上实现的,其中空间注意力解决特征之间的空间关系,而通道注意力增强最有意义的通道并削弱其他通道。作为通道方式的注意力模块,挤压和激励模块SEB有利于以很少的计算成本提高 CNN 的性能。另一方面,对于视频分类任务,非局部块考虑时空信息来学习跨帧特征的依赖性,这可以被视为一种自注意力策略。。然而,为了避免复杂的光流计算,我们将关键帧的2D特征和剪辑的3D特征一起使用。然后,通过注意机制的应用将这两种特征仔细地融合在一起,从而很好地考虑到丰富的上下文关系。
3D-CNN Branch: 3D网络的输入是视频片段 clip,它由一系列按时间顺序连续的帧组成,形状为[C×D×H×W],而3D ResNet-101 的最后一个卷积层输出形状为[C’×D’×H’×W’]的特征图,其中C=3,D是输入帧的数量,H和W是输入图像的高度和宽度,C’是输入图像的数量输出通道,D′ = 1,H′ = H/32 且W ′ = W/32 。输出特征图的深度维度减少到1,使得输出体积被压缩到[C′×H′×W′],以匹配2D-CNN的输出特征图。
2D-CNN Branch: 形状为 [C × H × W ] 的关键帧是输入剪辑的最新帧,因此不需要额外的数据加载器。 Darknet-19 的输出特征图的形状为 [C′′ × H′ × W ′],其中 C = 3,C′′ 是输出通道数,H′ = H/32 和 W ′ = W/32 类似于 3D -CNN 案例。
Feature aggregation: Channel Fusion and Attention Mechanism (CFAM): 我们使 3D 和 2D 网络的输出在最后两个维度上具有相同的形状,以便这两个特征图可以轻松融合。使用串联来融合两个特征图,这只是沿着通道堆叠特征。因此,融合特征图对运动和外观信息进行编码,我们将这些信息作为输入传递给 CFAM 模块,该模块基于 Gram 矩阵来映射通道间依赖性。尽管基于格拉姆矩阵的注意力机制最初用于风格迁移,最近也用于分割任务,但这种注意力机制有利于合理地融合来自不同来源的特征,从而显着提高整体性能。
展示了所使用的 CFAM 模块。连接的特征图A ∈ R(C′ +C′′ )×H×W 可以被视为2D和3D信息的突然组合,忽略了它们之间的相互关系。因此,我们首先将 A 输入到两个卷积层中以生成新的特征图 B。然后,对特征图B进行一些操作。
Bounding box regression:
对于 H′ × W ′ 中的每个网格单元,通过 k 均值技术在相应的数据集上选择 5 个先验锚点,其中包含 NumCls 类条件动作分数、4 个坐标和置信度分数,从而形成 YOWO 的最终输出大小 [(5 × (N umCls + 5)) × H′ × W ′]。然后根据这些锚点细化边界框的回归。
we apply smooth L1loss with beta=1 for localization
We still apply the MSE loss for confidence score, which is given as follows
其中 x 是 softmax 网络预测,y ∈ {0, 1} 是真实类别标签。 γ是调节因子,它减少高置信度样本(即简单样本)的损失,增加低置信度样本(即困难样本)的损失。然而,AVA 数据集是一个多标签数据集,其中每个人执行一个姿势动作(例如行走、站立等)和多个人与人或人与物体的交互动作。因此,我们将 softmax 应用于姿势类,将 sigmoid 应用于交互动作。此外,AVA 是一个不平衡的数据集,调节因子 γ 不足以解决数据集不平衡的问题。因此,我们使用了焦点损失的α平衡变体[35]。对于 α 项,我们使用类样本比率的指数。
数据集: UCF101-24是UCF101的子集,UCF101-24包含24个动作类和3207个视频,并为其提供了相应的时空注释。此外,每个视频中可能有多个动作实例,它们具有相同的类标签但不同的空间和时间边界。这样的特性使得视频级动作检测更具挑战性。与之前的工作一样,我们在第一次分割上进行所有实验。
J-HMDB-21 是 HMDB-51 数据集的子集,由 928 个短视频组成,涉及日常生活中的 21 个动作类别。每个视频都经过精心修剪,并且在所有帧中都有一个动作实例。我们报告第一次分割的实验结果。
AVA 是时空局部原子视觉动作(AVA)的视频数据集。 AVA 数据集包含 80 个原子视觉动作,这些动作被密集注释为 430 个 15 分钟的视频剪辑,其中动作在空间和时间上进行了定位。这会产生 158 万个动作标签,每个人都被标记为多个动作。遵循 ActivityNet 挑战的指导方针,我们在 AVA 数据集最常见的 60 个动作类别上评估 YOWO。
Evaluation metrics: 我们采用时空动作检测领域大多数研究使用的两种流行指标来生成令人信服的评估。严格遵循 PASCAL VOC 2012 指标应用的规则。
frame-mAP 测量每帧检测的精确召回 precision-recall 曲线下的面积。 另一方面,video-mAP 侧重于动作管 action tube。如果整个视频各帧的平均每帧与真实情况的交集大于阈值,同时正确预测了动作标签,则该检测到的管被视为正确的实例。 最后,计算每个类别的平均精度并报告所有类别的平均值。对于 AVA 数据集,我们仅使用交集 (IoU) 阈值为 0.5 的帧 mAP,因为注释稀疏地提供 1 Hz
3D network, 2D network or both?
How many frames are suitable for temporal information?多少帧适合时间信息?
8-frames (d=3) refers to selecting 8 frames from 24 frames window with downsampling rate of 3.
8帧(d=3)是指从24帧窗口中选择8帧,降采样率为3。
Is it possible to save model complexity with more efficient networks?是否可以通过更高效的网络来降低模型复杂性?
State-of-the-art comparison
本文提出了一个名为STEP的视频动作检测算法,它采用了逐步学习的框架,从少量的粗略提案立足,通过几个步骤逐步改进提案,最终得到高质量的提案。在每个步骤中,算法会自适应地扩展提案proposal,以包含更多相关的时间内容temporal context。相较于先前的工作,STEP算法能够更自然地处理动作管 action tube 中的空间偏移,因此为时空建模提供了更有效的方法。
STEP涉及空间细化和时间扩展,前者从稀疏的初始提议开始并迭代更新边界框,后者逐渐自适应地增加序列长度以纳入更多相关的时间上下文。
痛点:
贡献:
设计了一个双分支架构,它学习两个任务的单独特征,如图所示。为了准确的动作分类,它需要空间和时间上的上下文特征,而为了稳健的定位回归,它需要帧级别更精确的空间线索。因此,我们的双分支网络由一个全局分支组成,该全局分支对整个输入序列执行时空建模以进行动作分类,以及一个local分支在每帧执行边界框回归。
其中 ui 和 vi 是第 i 个样本的真实类别标签和定位目标,λ 是控制两个损失项重要性的权重。分类损失由多类别交叉熵所定义,定位损失用平均L1-smooth定义。
视频时间信息,尤其是长期时间依赖性,对于准确的动作分类至关重要 [4, 36]。为了利用更广泛的时间上下文,我们扩展了建议以包含更多帧作为输入。然而,扩展并不是微不足道的,因为对于较长的序列,空间位移问题变得更加严重。
为了缓解空间位移问题,我们逐步且自适应地进行时间扩展。从第二步开始,我们一次将 tubelet 建议扩展到两个相邻的剪辑。