Completeness Modeling and Context Separation for Weakly Supervised Temporal Action Localization 论文阅读

文章信息:
在这里插入图片描述

原文链接:https://ieeexplore.ieee.org/abstract/document/8953341
源码:https://github.com/Finspire13/CMCS-Temporal-Action-Localization
发表于:CVPR 2019

Abstract

时间动作定位对于理解未剪辑视频至关重要。在这项工作中,我们首先确定了由于弱监督而引起的两个未充分探讨的问题,即动作完整性建模和动作上下文分离。然后,通过提出一种新颖的网络架构及其训练策略,我们明确地研究了这两个问题。具体而言,为了模拟动作的完整性,我们提出了一个多分支神经网络,其中的分支被强制发现独特的动作部分。因此,可以通过融合来自不同分支的激活来定位完整的动作。为了将动作实例与周围的上下文分开,我们利用了静止视频剪辑不太可能是动作的先验知识,为训练生成了硬负样本数据。在THUMOS’14和ActivityNet数据集上进行的实验表明,我们的框架优于最先进的方法。特别是,在ActivityNet v1.2上的平均mAP显着从18.0%提高到22.4%。

1. Introduction

时间动作定位是一项重要的视觉任务,具有在视频监控[42]、视频摘要[28]、技能评估[16]等领域的潜在应用。其目标是从未剪辑的视频中预测每个动作实例的动作标签以及开始和结束时间。最近,完全监督的时间动作定位取得了显著进展[39, 48, 15, 9, 37, 51, 47, 8, 2, 31]。然而,精确标注动作实例的时间范围是一项费时费力的工作,在现实世界的大规模场景中会削弱完全监督方法的效果。因此,仅在训练期间提供视频级别类别标签的弱监督设置更为实际,并且受到了社区的越来越多的关注。本文致力于在具有此类弱标签的情况下进行时间动作定位的研究。

现有的大多数弱监督方法[45, 33, 38, 36, 52]大多属于多实例学习(MIL)[54]框架。在这个框架中,将视频视为一组采样帧或片段的集合,并将其输入到视频级别分类网络中。然后使用类激活序列(CAS)[38]来定位动作实例,CAS是每个动作的1D时间分类分数序列。

与其完全监督的对应方法相比,弱监督的时间动作定位引入了两个新的挑战,被称为动作完整性建模和动作上下文分离。这两个问题以前并没有得到很好的考虑,明显限制了性能。第一个挑战是如何在没有完整注释的情况下检测动作实例。动作本质上是由基本子动作的时间组合[20],这些子动作应该在预测中完整地包含,不应有遗漏。在完全监督的设置中,一个动作是否完整是直接从时间边界的地面真实性中学习的。相反,在弱监督情况下,缺乏细粒度的注释使得完整性建模变得复杂,因为定位任务现在被构建为对视频级别的分类。识别动作的一个片段足以进行视频级别的分类,但不足以进行段级别的定位。例如,动作“足球点球”可以粗略地分为两个子动作,即球员射门和球飞行。仅在更具区分性的“球员射门”部分上的激活就足以对视频进行分类,但会使“球飞行”部分成为错误的负样本。动作上下文分离的第二个挑战是如何在弱标签下区分动作实例和它们的上下文。同一类别的动作实例通常被视觉上相似的片段所包围,例如常常有一个静止的台球桌的解说片段包围着台球动作。这些片段与真实动作一起出现在大多数视频中,因此在本文中被称为上下文。与普通背景片段相比,上下文片段在视频中的分布方式不同。上下文片段在大多数情况下与真实动作同时出现,并且不会出现在其他动作类别的视频中,而背景片段是类别独立的并且随机分布的。因此,上下文片段可以被视为硬负样本。视频级别的分类器学习了具有相同标签的视频之间的相关性,并发现它们的共同内容,不幸的是,这些内容不仅包括常见的动作(例如,台球),还包括常见的上下文(例如,静态的台球桌)。我们认为,在没有利用动作的先验知识的情况下,动作上下文分离在弱监督下本质上是困难的。

在这里插入图片描述

图1. 两个问题的示意图。顶部:使用提出的多分支网络进行完整性建模。分支被训练以发现不同的动作部分,从而可以使用各个分支的平均激活来定位完整的动作。a)足球点球的一个动作实例的真实标签。b)从我们训练的模型中的一个分支得到的类激活序列(CAS),定位了射门部分。c)另一个分支的CAS,定位了飞球部分。d)平均CAS,完整定位了动作实例。底部:使用硬负样本视频生成进行上下文分离。e)台球动作实例的真实标签。f)获取的背景片段,区分了共同出现的上下文。右侧是从相应颜色箭头的时间位置中取得的四个帧。最好以彩色查看。

为了分别解决这两个问题,我们提出了一个多分支网络架构一个硬负样本数据生成方案。为了建模动作的完整性,从输入视频中提取的特征序列被馈送到具有多个分类分支的网络中并行处理。设计了一个多样性损失来确保不同分支输出的类激活序列之间的差异性,以便每个分支都被训练来定位动作的不同部分。因此,如图1所示的示例,可以通过聚合来自多个分支的激活来检索完整的动作。然后,使用时间注意力将类激活在时间上汇总,产生一个视频级别的类别分布。我们计算其与地面真实值的交叉熵,即标准的MIL损失,该损失与多样性损失一起最小化以学习网络参数。至于动作-上下文分离,我们开发了一种简单但有效的策略,利用动作应该是动态的先验知识来挖掘硬负样本。我们在训练视频中搜索静止片段,如图1所示。然后,使用静态片段生成伪视频,并用新的背景类进行标记。只要在生成的伪视频中包含了一些硬负样本,这种策略就可以帮助模型拒绝常见的上下文。

在两个基准数据集THUMOS’14和ActivityNet上,我们提出的方法优于现有的最先进方法,表明了处理这两个问题的有效性。总之,我们的贡献有三个方面:

1)提出了一个具有多样性损失的多分支网络来建模动作的完整性

2)设计了一种硬负样本视频生成方案来分离常见的上下文

3)我们的方法在两个基准数据集上取得了优异的结果。

2. Related Works

过去,对裁剪视频的动作识别已被广泛研究。早期的方法主要基于手工设计的特征。近年来,提出了各种深度网络,如双流网络、LSTM、3D ConvNets、I3D等。有关详细评论,请参阅最近的调查。

完全监督的时间动作定位方法主要基于提议加分类的范式,即首先生成时间提议,然后进行分类。也研究了其他类别的方法,如基于单次检测器或顺序决策过程的方法。在具有完整标注的情况下,提议加分类方法通常通过二元动作性分类器在提议阶段滤除常见背景。至于完整性建模,Zhao等人使用结构化时间金字塔池化,然后使用显式二元分类器确定实例是否完整。Hou等人将动作的视频段聚类为不同的子动作,然后将整个动作检测为子动作的有序序列。Yuan等人将动作结构化为三个组成部分,即开始、中间和结束,以模拟其时间演变。但它们都需要完整的注释。其他关于时空动作检测和视频时间分割的工作超出了我们的范围。

弱监督的时间动作定位算法主要属于多实例学习。Wang等人提出了一个名为UntrimmedNet的框架,由分类模块和选择模块组成,基于此,后来在其上引入了一种稀疏正则化。Paul等人使用了一种共同活动相似性损失来强制同类别的定位实例之间的特征相似性。与在CAS上进行阈值处理不同,AutoLoc直接预测时间边界来检测动作。对于第一个挑战,有两个先前的工作试图建模动作的完整性。Hide-and-Seek在训练时隐藏了随机帧序列,以强制网络对多个相关部分进行响应。然而,随机隐藏帧并不总是保证发现新的部分,并且还会干扰训练过程。最近,Zhong等人通过从输入视频中消除前一个分类器的预测,迭代地训练一系列分类器来找到互补的部分。这种方法的主要缺点是额外的时间成本和计算开销来训练多个分类器。另一个挑战是动作上下文分离,这是一个困难的问题,在文献中尚未被探索。UntrimmedNet中的选择模块旨在消除不相关的背景片段,而不是语义相关的上下文。研究人员还研究了使用其他类型的弱监督进行动作定位,如电影剧本、排序动作列表和网络图像。

多样性损失最初用于文本嵌入,用于提取句子的不同方面。最近,Li等人利用多样性损失处理人员再识别中的遮挡。与以往的工作不同,我们使用多样性损失来建模动作的完整性,这具有不同的规范和动机。

3. Proposed Method

在本节中,我们介绍了用于弱监督时序动作定位的提出方法。输入是一个长度可变的未剪辑视频。假设一个one-hot向量 y ∈ { 0 , 1 } C + 1 y\in\{0,1\}^{C+1} y{0,1}C+1 表示视频级别的真实类别标签,其中 C C C 是动作类别的数量, C + 1 C+1 C+1 表示新添加的背景类别。在测试时,每个测试视频的输出是一组定位的动作实例 { ( s i , e i , c i , q i ) } \{(s_i,e_i,c_i,q_i)\} {(si,ei,ci,qi)},其中 s i s_i si e i e_i ei 表示第 i i i 个检测的开始时间和结束时间, c i c_i ci 表示预测的类别, q i q_i qi 表示置信度分数。

在这里插入图片描述

图2. 概述架构。提出的多分支网络包括特征提取模块、特征嵌入模块、多分支分类模块和时间注意力模块。在分类模块中,使用多样性损失训练多个分支以发现不同的动作部分。

3.1. Hard Negative Video Generation

弱监督模型倾向于将真实动作与其周围的上下文混淆,即硬负样本,特别是当上下文在该类别的大多数视频中出现时。我们观察到,是运动使得动作与其上下文不同。动作必须涉及人类或其他对象的运动,而上下文片段则允许保持静止(例如,静止的台球桌)。因此,我们使用静止的视频片段生成硬负样本训练数据,并用新的背景类别对其进行标记。具体地,对于训练集中的每个视频,我们使用TV-L1算法 [50] 计算其光流,并在每帧中对强度进行平均。由于运动幅度在不同的动作类别之间有所不同,甚至一些动作表现出较小的运动,因此从每个视频中分别挑选出具有最低光流强度的预定义百分比 ρ ρ ρ 的视频帧。从同一视频中挑选的帧然后被连接成一个伪视频,该视频被标记为背景类别并添加到训练集中。我们期望生成的视频部分包含硬负样本,并为所提出的网络解决动作上下文分离的挑战提供线索。详细信息和生成的视频示例请参阅补充材料。

3.2. Multi-branch Network

为了建模动作的完整性,设计了一个多分支网络,使每个分支专注于不同的动作部分。如图2所示,提出的多分支网络包括特征提取模块、嵌入模块、多分支分类模块和时间注意力模块,具体如下所述。

Feature extraction module.特征提取模块。给定一个输入视频,首先通过预训练的深度网络提取一个逐片段的特征序列 X ∈ R T × D X\in\mathbb{R}^{T\times D} XRT×D,其中 T T T 表示片段的数量, D D D 表示特征的维度。提取的特征序列提供了输入视频外观和运动的高级表示,并被馈送到网络中的下一层。需要注意的是, T T T D D D 取决于特征提取网络的选择。在实验中,我们专注于两种现成的模型,即 UntrimmedNet [45] 和 I3D [7]。

Embedding module.特征提取模块之后是一个嵌入模块。由于特征可能并非原始用于弱监督动作定位的训练,因此需要对特征进行任务特定的嵌入。我们利用一个时间卷积层,后跟一个 ReLU 激活层来嵌入特征:
在这里插入图片描述
其中*表示卷积操作, W e m b W_{emb} Wemb b e m b b_{emb} bemb是时间滤波器的权重和偏置, ϕ ( X ) ∈ R T × F \phi(X)\in\mathbb{R}^{T\times F} ϕ(X)RT×F表示学习到的嵌入, F F F是滤波器的数量。时间卷积将邻近时间位置的信息进行整合,使网络能够捕捉到时间结构。嵌入的特征序列然后传递到后续的层中。

Multi-branch classification module.在这个模块中,K个分类分支被并行组织起来,以发现动作的互补部分。每个分支将嵌入的特征序列输入到一个时间卷积层,并输出一个分类分数序列:
在这里插入图片描述

其中, A k ∈ R T × ( C + 1 ) A^k\in\mathbb{R}^{T\times(C+1)} AkRT×(C+1) W c l s k W_{cls}^k Wclsk b c l s k b_{cls}^k bclsk 分别是第 k k k 个分支中的分类分数、过滤器权重和过滤器偏差。然后,每个 A k A^k Ak 通过类别维度上的 softmax 函数,生成每个时间位置的类别分布:
在这里插入图片描述
其中, A k ‾ \overline{A^k} Ak 被称为类激活序列(Class Activation Sequence,CAS)。为了清晰起见,在本文中我们使用上划线符号来表示它已经经过了 softmax。对于动作完整性建模,我们期望来自多个分支的 CAS 在彼此之间存在差异。然而,如果没有约束,这些分支可能会懒惰地集中在单个相同的动作部分上。为了避免这样的退化情况,即分支产生相同的结果,我们在 CAS 上施加了基于余弦相似性的多样性损失:
在这里插入图片描述
这是每两个分支之间 CAS 的余弦相似性,对所有分支对和动作类别进行平均。 A i ‾ ∗ , c ∈ R T \overline{A^i}_{*,c}\in\mathbb{R}^T Ai,cRT 表示来自第 i i i 个分支的类别 c c c 的激活序列, Z = 1 2 K ( K − 1 ) ( C + 1 ) Z=\frac12K(K-1)(C+1) Z=21K(K1)(C+1) 是一个归一化因子。通过最小化这样的多样性损失,鼓励各个分支在不同的动作部分产生激活。然后,来自多个分支的 CAS 被平均,并沿着类别维度通过 softmax:
在这里插入图片描述
其中, A a v g ‾ ∈ R T × ( C + 1 ) \overline{A^{avg}}\in\mathbb{R}^{T\times(C+1)} AavgRT×(C+1) 被称为平均 CAS,它结合了所有部分的激活,并编码了完整的动作。此外,softmax 操作在背景类别的分数较大时抑制动作类别的激活,从而减少对上下文片段的误报。

我们在实验中注意到,某些分支的 A k A^k Ak 几乎全部为零,而其他分支的 A k A^k Ak 则爆炸性增长,这可能会破坏训练过程。更重要的是,如果一个分支占主导地位,平均 CAS 实际上只能响应单个动作部分,而不是整个动作。从另一个角度来看,这些并行分支可以被视为处于对抗关系,彼此竞争以找到不同的具有区分性的动作片段。预期分支之间的平衡性相当。类似的思想可以在生成对抗网络的训练策略中看到。因此,我们引入了另一个规范化项,用于对原始分数序列的范数进行正则化,而不是进行 softmax 操作:

在这里插入图片描述

这是对 A a v g A^{avg} Aavg 的范数偏差,平均计算在分支和类别上。通过多分支设计中的多样性损失和范数正则化,我们能够在没有完整监督的情况下发现多样化的动作部分,从而对动作的完整性进行建模。

Temporal attention module.由于输入视频未经修剪且包含不相关的背景,我们利用一个时间注意力模块来学习视频片段的重要性。注意力模块将嵌入的特征序列输入到一个时间卷积层中,随后沿着时间维度进行 softmax 操作:
在这里插入图片描述
其中, W a t t W_{att} Watt b a t t b_{att} batt 是时间滤波器的权重参数和偏差, U ‾ ∈ R T \overline{U}\in\mathbb{R}^T URT 表示学习到的类别无关的注意力序列。为了获得视频级别的分类预测,我们在由注意力加权的 A a v g A^{avg} Aavg 上沿着类别维度执行 softmax 操作:
在这里插入图片描述
其中, p ‾ ∈ R C + 1 \overline{p}\in\mathbb{R}^{C+1} pRC+1 是动作类别(包括背景类别)的概率分布。然后,将其与地面真实标签计算交叉熵,即标准的MIL损失:
在这里插入图片描述
最后,我们将MIL损失与多样性损失和范数正则化相结合:
在这里插入图片描述
其中α和β是系数。这三个组成部分都至少有子梯度,并且可以使用梯度下降进行最小化。

3.3. Action Localization

在测试阶段,我们利用训练好的多分支网络对测试视频进行分类和定位动作。由于一个视频中可能存在多个类别的动作,我们首先对视频级别的分类得分进行阈值处理。对于给定的测试视频,如果某个非背景类别 c c c p ‾ c \overline{p}_c pc大于0.1,则检测该类别的动作实例。然后我们对类别 c c c的平均CAS(即 A a v g ‾ ∗ , c \overline{A^{avg}}_{*,c} Aavg,c)进行阈值处理,以定位动作实例。设 { ( s i , e i , c , q i ) } \{(s_i,e_i,c,q_i)\} {(si,ei,c,qi)}表示相应的输出检测结果。类似于[38]中提出的Outer-Inner Contrastive loss,我们使用实例自身的平均激活与其周围区域之间的对比来评分每个定位实例:
在这里插入图片描述
其中 [ ⋅ ] [\cdot] []表示拼接操作, l i = ( e i − s i ) / 4 l_i=(e_i-s_i)/4 li=(eisi)/4是膨胀长度。视频级别的得分 p ˉ c \bar{p}_c pˉc也与系数 γ \gamma γ结合在一起。

4. Experiments

4.1. Datasets

  • THUMOS’14.
  • ActivityNet.

Evaluation Metrics.我们遵循标准的评估协议,并在不同的时间交叉联合(IoU)阈值下报告平均精度(mAP)。mAP值是使用数据集提供的评估代码计算的。所有在THUMOS’14上的结果都是在三次运行中取平均得到的。在ActivityNet1.3测试集上的性能是通过向评估服务器提交结果获得的。

4.2. Implementation Details

两个采用双流架构的深度网络被用于特征提取,分别是UntrimmedNet [45]和I3D [7],它们在训练期间被预先训练并保持固定。UntrimmedNet在ImageNet [10]上进行了预训练,并将1个RGB帧和5个堆叠的光流帧的视频片段作为输入。I3D在Kinetics [7]上进行了预训练,并将非重叠的16帧块作为两个流的输入。对于UntrimmedNet,视频片段每15帧采样一次,对于I3D,每16帧采样一次。两个网络中每个流的特征维度均为1024。我们采用了UntrimmedNet的RGB和光流流的早期融合,以及I3D的晚期融合。我们使用PyTorch [35]实现了所提出的方法。网络参数使用Adam优化器 [24]进行了小批量随机梯度下降进行学习。在多分支分类模块中,分支数设置为K = 4。在分类模块中,时间卷积的核大小设置为3,在嵌入模块和注意模块中都设置为1。UntrimmedNet和I3D的emb维度分别为1024。我们采用了UntrimmedNet的RGB和光流流的早期融合,以及I3D的晚期融合。所提出的方法使用PyTorch [35]实现。网络参数使用Adam优化器 [24]进行了小批量随机梯度下降进行学习。在多分支分类模块中,分支数设置为K = 4。在分类模块中,时间卷积的核大小设置为3,在嵌入模块和注意模块中都设置为1。嵌入特征的维度设置为F = 32。方程(11)中的系数α和β均设置为0.2,方程(12)中的γ设置为0.25。用于硬负样本挖掘的选择比例ρ选择为25%。其他细节见补充材料。

4.3. Comparisons with the State-of-the-art

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. Conclusion

在这项工作中,我们确定了由于弱监督对时间动作定位提出的两个挑战,即动作完整性建模和动作上下文分离。为了应对第一个挑战,我们提出了一个多分支网络,用于找到不同的动作部分,从而以其完整性定位动作实例。与此同时,我们挖掘了硬负样本来处理动作上下文分离的第二个问题。对两个基准数据集的实验表明,我们的框架有效地解决了这两个问题,并优于现有方法。

  • 23
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值