【弱监督时间动作定位】Improving Weakly Supervised Temporal Action Localization by Bridging Train-Test Gap in ..

Improving Weakly Supervised Temporal Action Localization by Bridging Train-Test Gap in Pseudo Labels 论文阅读

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

发表于:CVPR2023
源码链接:https://arxiv.org/abs/2304.07978
源码:https://github.com/zhou745/GauFuse_WSTAL

Abstract

弱监督时序动作定位的任务旨在为感兴趣的动作生成时间边界,同时还需要对动作类别进行分类。近年来,作为有效解决方案的伪标签方法受到了广泛研究。然而,现有方法在训练和测试阶段生成伪标签时采用了不同的流程或设置,导致训练和测试之间存在差距。本文提出从预测的动作边界生成高质量伪标签的方法。然而,我们注意到现有的后处理方法(如NMS)可能会导致信息丢失,这对于生成高质量的动作边界来说是不够的。更重要的是,将动作边界转换为伪标签是非常具有挑战性的,因为预测的动作实例通常是重叠的并且具有不同的置信度分数。此外,生成的伪标签在训练初期可能会波动和不准确。如果没有自我校正的机制,它可能会反复强化错误预测。为了解决这些问题,我们提出了一个有效的流程来学习更好的伪标签。首先,我们提出了一个高斯加权融合模块,用于保留动作实例的信息并获得高质量的动作边界。其次,我们将伪标签生成问题表述为一个优化问题,约束条件是动作实例的置信度分数。最后,我们引入了伪标签的概念,使模型具备自我校正的能力。我们的方法在两个基准数据集THUMOS14和ActivityNet1.3上均取得了优越的性能,平均mAP分别提升了1.9%(THUMOS14)和3.7%(ActivityNet1.3)。

1. Introduction

Temporal action localization任务旨在识别视频中的动作边界并识别执行的动作类别。动作定位可以为视频理解、编辑等领域提供重要支持。先前的研究[3, 19, 20, 43, 51]主要在完全监督的环境中解决这一任务,这要求视频级别标签和逐帧注释。然而,逐帧注释视频是一项耗时且费力的工作。为了降低注释成本,研究人员开始关注弱监督设置。考虑到各种视频网站和应用提供的丰富视频资源,弱监督设置可以节省大量的注释工作。

与其监督学习对应的是,弱监督时序动作定位任务仅需要视频级别的类别标签。现有的研究主要遵循分类驱动的定位流程[40, 50],该流程通过使用类别标签训练视频级别分类器[32],并将训练好的分类器应用于每个视频片段。然而,由于缺乏细粒度的注释,模型可能会给错误的片段(如上下文背景)分配高置信度,这些错误通常与视频级别标签高度相关,或者仅关注显著的片段,导致定位结果不完整。已有许多研究[21, 23, 25]尝试解决分类和定位之间的这种差异,其中一种有前景的解决方案是生成和利用伪标签。

使用伪标签的优势在于,片段可以通过片段级别的标签进行监督,而不是仅使用视频级别的标签。现有的研究[28, 36, 46, 47]通过引入伪标签在这一问题上取得了显著的结果。生成伪标签的常用策略是直接利用在先前训练迭代中生成的时间类激活图(TCAM)。然而,我们认为TCAM并不是理想的伪标签。在测试过程中,我们的目标是获取动作边界,使用TCAM作为训练目标会导致训练与测试之间的差异,因为它们与实际动作边界有很大不同。解决这个问题的一个直观方法是利用预测的动作边界作为伪标签。然而,实现这一目标并不简单。首先,当前的后处理方案,如NMS,会导致大量信息丢失,无法生成高质量的动作边界以生成有效的伪标签。其次,预测的动作实例通常相互重叠并具有不同的置信度分数,很难为每个片段分配动作类别和置信度分数

为解决上述问题,我们提出了以下两个模块。首先,我们提出了一个高斯加权实例融合模块,以保留边界分布信息并生成高质量的动作边界。具体而言,该模块通过加权融合重叠动作实例的信息。每个候选动作实例被视为从高斯分布中采样的一个实例,其置信度分数被视为其被采样的概率。因此,通过估计这些候选动作实例的高斯分布的均值,我们可以获得最可能的动作边界及其置信度分数。通过这种方式,我们可以生成更合理的动作边界,进而有助于生成更合理的伪标签。

生成了高质量的动作边界后,我们需要将它们转换为片段级别的伪标签。为了处理重叠的动作实例并分配适当的置信度分数,我们提出了一个线性规划伪标签生成模块,将伪标签生成过程形式化为一个 ℓ 1 ℓ_1 1最小化问题。首先,我们限定动作边界内片段的平均分数应等于该动作实例的置信度分数。这个约束确保了在生成的伪标签中保持置信度分数的信息。其次,动作实例内的各个片段在其对置信度分数的贡献方面可能是等效的。因此,我们要求每个动作实例内的片段级别分数是均匀的。基于这两个约束,我们将伪标签生成问题形式化为一个优化问题,并进行求解,以获得与我们预测的动作边界一致的伪标签。

此外,关于使用伪标签还存在一个问题。由于在训练的早期阶段,生成的伪标签可能会波动并且不准确,如果没有适当的自我校正机制,模型在后续训练阶段可能会持续生成高置信度的错误伪标签。为了解决这个问题,我们提出使用∆伪标签而不是原始伪标签作为我们的训练目标。我们计算连续训练周期之间的伪标签差异作为∆伪标签。通常情况下,随着训练的进行,模型会提供更准确的预测。这样,模型将更新其预测,朝向置信度增加的类别而不是具有最大伪标签值的类别,从而赋予模型自我校正的能力。

本文的贡献有四个方面:
(a) 我们提出了一种高斯加权实例融合模块,能够有效生成高质量的动作边界。
(b) 我们提出了一种新颖的LinPro伪标签生成策略,通过将伪标签生成过程转化为 ℓ 1 ℓ_1 1 最小化问题。
(c ) 我们提出利用∆伪标签使模型具备对生成的伪标签进行自我校正的能力。
(d) 与现有最先进方法相比,我们提出的框架在THUMOS14和ActivityNet1.3数据集上分别显著提高了平均mAP达到1.9%和3.7%。

2. Related Work

对于弱监督时间动作定位任务,许多研究人员[21,31,32]已经观察到分类和定位之间的差异。为了解决这个问题,已经做出了许多努力。我们将这些方法分为以下四类:基于度量学习的方法、基于擦除的方法、多分支方法和基于伪标签的方法。

对于基于度量学习的方法,之前的工作如W-TALC [37]、3C-Net [33]、RPN [7]和A2CL-PT [30]利用了中心损失 [41]、聚类损失 [45]和三元组损失 [38]。一般来说,这些方法 [7,37]倾向于从最具辨别力的片段特征中获取视频级特征。因此,这些方法未能捕捉到辨别力较低的片段。尽管一些方法如RSKP [10]尝试通过传播代表性片段的知识来解决这个问题,但这种方法也是一把双刃剑。知识传播是一个双向过程,在我们将信息从辨别力强的片段传递到辨别力弱的片段时,逆向传播也会发生,这可能会阻碍模型学习高置信度片段。

另一类是基于擦除的方法。这些方法 [30, 52] 采用通过擦除辨别力强的特征来探索辨别力较弱的特征。源自对抗互补学习 [49],这些方法反复找到最具辨别力的片段并将其擦除。然而,为不同复杂度的不同类别设置适当的阈值是困难的。

第三类主要采用多分支架构。这些方法 [9, 11, 21, 23, 25] 的理念与基于擦除的方法相似,但不同之处在于它们是通过并行处理来实现的。同样地,它们也面临着与基于擦除的方法相同的问题。

最后一类是基于伪标签的方法。这些方法起源于 Refine-Loc [36],它生成片段级的硬伪标签。然后,各种工作遵循这一思路,试图生成更准确的伪标签。例如,EM-MIL [28]、RSKP [10] 等工作将伪标签生成融入期望最大化框架中。UGCT [46] 使用了一种不确定性引导的协作训练策略。然而,这些方法大多使用 TCAM 或其变体作为伪标签,导致训练和测试之间存在差异。此外,这些方法无法解决伪标签在训练初期可能不准确的问题,且在没有自我纠正机制的情况下,不准确的伪标签会不断生成错误的伪标签。与现有的基于伪标签的方法相比,我们提出从动作边界生成伪标签,缓解训练和测试之间的差异。此外,Δ伪标签的引入使模型具备了自我纠正的能力。

3. Method

在这里插入图片描述
图1. 我们的方法概述。首先,我们将视频输入到弱监督动作定位模型中,以生成时间类别激活图(TCAM)。接着,我们使用多个阈值将获得的TCAM转换为动作边界。我们利用高斯加权实例融合模块将候选动作实例合并成高质量的动作边界。然后,我们通过解决一个线性规划问题,将动作边界转换为片段级的伪标签。为了使模型具备自我修正的能力,我们利用Δ伪标签作为最终的伪标签,Δ伪标签是两个连续训练周期中生成的伪标签之间的差异。请注意,我们保留了弱监督定位模型的所有原始损失

在本节中,我们详细介绍了所提出的方法。图1展示了整个流程的总体示意图。

Problem definition.给定 N N N个训练视频 { V i } i = 1 N \{V_i\}_{i=1}^N {Vi}i=1N,在训练期间,我们只能访问它们的动作类别 { y i } i = 1 N \{\boldsymbol{y}_i\}_{i=1}^N {yi}i=1N,其中 y i \boldsymbol{y}_i yi是一个二进制向量,表示 K K K个动作类别中的每一个是否存在。在推理过程中,对于一个视频,我们的目标是预测一组动作实例 { ( c , q , s , e ) } \{(c,q,s,e)\} {(c,q,s,e)},其中 c c c表示预测的动作类别, q q q是置信度分数, s s s e e e分别表示动作实例的开始时间和结束时间。

Overview.我们的目标是通过从预测的动作边界生成伪标签,缩小训练和测试之间的差距。首先,我们提出了一个高斯加权实例融合模块,以获得高质量的动作边界。该模块作为非极大值抑制(NMS)的有效替代方法,采用加权融合相互重叠的动作实例,而不是过滤低置信度的实例。

在生成高质量的动作实例后,我们需要将它们转换为片段级伪标签。关键思想是生成可以保留每个动作实例内置信度分数的伪标签,并使动作实例内的分数尽可能均匀。因此,我们将其表述为一个具有上述两个约束条件的线性规划问题,以获得最优的片段级伪标签。

最后,我们提出了 Δ Δ Δ伪标签的概念,以更好地利用生成的伪标签。与直接将生成的伪标签作为训练目标不同,我们将两个连续训练周期之间的伪标签差异作为最终的伪标签。通过这种方式,我们可以捕捉模型对伪标签的置信度变化,这代表了伪标签的可靠性,从而赋予模型自我纠正的能力。

Feature extraction and network design.根据之前的研究工作[34, 37],对于每个视频 V i V_i Vi,我们将连续的16帧处理成一个片段级别的特征。在我们的情况下,我们使用在Kinetics400数据集[14]上预训练的Inflated 3D (I3D) [2]来编码视频片段。输出的片段级别特征维度为 R 2048 \mathbb{R}^{2048} R2048,因此我们将 l l l个片段的视频转换为一个特征矩阵 F ∈ R l × 2048 F ∈ \mathbb{R}^{l×2048} FRl×2048。作为一种插件方法,我们的方法可以应用于大多数现有的方法中。在这里,我们采用RSKP [10]作为骨干网络来获取时间类激活图(temporal class activation map)。

在接下来的几节中,我们首先描述如何融合候选动作实例以获得高质量的动作边界,然后详细阐述伪标签的生成过程,最后介绍我们的 ∆ ∆ 伪标签。

3.1. Gaussian Weighted Instance Fusion

分类头为每个单独的片段预测标签,这导致了时间类激活图(TCAM) L ∈ R l × K {L}\in\mathbb{R}^{l\times K} LRl×K,其中 l l l是给定视频的长度, K K K是类别数。有多种方法可以将TCAM转换为感兴趣的动作实例。一个常用的方法是使用多个阈值[8, 9, 16]获取冗余的动作实例,然后再利用非极大值抑制(NMS)去除高度重叠的实例。

传统的非极大值抑制(NMS)设计用于仅选择具有高置信度分数的预测动作实例,同时丢弃那些置信度较低的动作实例。然而,在弱监督设置下,置信度分数缺乏来自片段级别注释的明确监督。仅仅信任具有高置信度分数的预测并抑制其他置信度较低的预测是不明智的。此外,那些被抑制的动作实例在不同位置表现出不同程度的置信度,因此NMS过程会导致大量信息的丢失。为了解决上述问题,我们提出了一种新颖的高斯加权融合模块,用于聚合所有被NMS抑制的动作实例。

假设对于类别 c c c,我们有 M M M 个候选动作实例 A = { a 1 , ⋯   , a M } \mathbf{A}=\{a_1,\cdots,a_M\} A={a1,,aM}。每个动作实例是 a i = ( c i , q i , s i , e i ) a_{i}=(c_{i},q_{i},s_{i},e_{i}) ai=(ci,qi,si,ei),其中 c i c_i ci 是预测类别, q i q_{i} qi 是置信度分数, s i , e i s_i, e_i si,ei 是边界。我们收集所有预测实例,它们的 IoU 大于与集合 A \mathbf{A} A 中置信度最高的预测实例 a ∗ a_* a 的预定义阈值 h f u s e h_{fuse} hfuse。这些预测片段的索引集记作 I ∗ \mathcal{I}_* I
在这里插入图片描述

假设索引集 I ∗ \mathcal{I}_* I 中收集到的实例的置信度分数 { q i } \{q_i\} {qi}、起始点 { s i } \{s_i\} {si} 和终止点 { e i } \{e_i\} {ei} 满足独立的高斯分布,其概率密度函数 (PDF) 可以表示为:

在这里插入图片描述
其中▲ ∈ { q , s , e } \in\{q,s,e\} {q,s,e}。现在我们倾向于使模板高斯分布尽可能接近我们的采样预测。请注意,每个动作实例都有一个置信度分数,如果我们将置信度分数视为动作实例的未归一化对数,那么我们可以计算采样第 k k k个动作实例的概率为:

在这里插入图片描述
其中 T T T是一个温度超参数。通过最小化 N ( ▲ ) N(▲) N() g k g_k gk之间的交叉熵,我们得到:

在这里插入图片描述
其中▲代表 { q , s , e } \{q,s,e\} {q,s,e}。因此,我们可以得到加权融合的值 μ q , μ s \mu_q,\mu_s μq,μs μ e \mu_e μe,它们分别被作为融合后的动作实例的置信度、起始点和终止点。然后,我们从 A \mathbf{A} A中删除 I ∗ \mathcal{I}_* I中的所有动作实例,并重复上述过程直到 A \mathbf{A} A为空。我们还尝试了一些其他的分布模板,如指数分布,结果显示高斯分布在其中表现最佳。

3.2. LinPro Pseudo Label Generation

在这里插入图片描述

图2. 伪标签生成过程的示意图。GT 是片段级的真实标签,其中蓝色片段表示动作位置。 W 0 W_0 W0 W 1 W_1 W1 W 2 W_2 W2 W 3 W_3 W3 是从四个动作实例生成的四个约束。黄色、白色和红色片段分别表示约束权重为1、0、-1。 q c q_c qc 是预测的片段级得分, g c g_c gc 是生成的伪标签。每个虚线矩形内的片段是等价的。

在生成高质量的动作边界后,我们提出将其转换为片段级伪标签。通过这种方式,视频片段直接由最终目标(即动作边界)监督,而不是由TCAM监督,从而缩小测试和训练之间的差距。一个天真的方法是直接为后处理的动作实例内的每个片段分配一个硬标签。然而,这种天真的方法存在几个缺点。首先,不同动作实例的片段可能具有不同的置信度分数,给它们分配相同的硬标签会粗暴地忽略这种差异。其次,使用硬标签实际上忽视了预测置信度分数的重要性,这些分数在某种程度上可以表示模型对实例质量的衡量。第三,即使经过后处理,一些预测的实例仍然会重叠,这种天真的方法会简单地将它们合并在一起,导致错误的预测。

为了解决上述问题,我们提出了一种基于优化的方法来生成理想的伪标签。由于置信度分数是动作实例携带的重要信息,我们打算找到能够表征每个动作实例置信度特性的伪标签。为此,我们根据两个约束来制定这个优化问题:
(1) 生成的伪标签应该保留每个动作实例的置信度分数。
(2) 生成的伪标签的分数应该是均匀的。第一个约束很容易理解,因为我们打算保持每个动作实例的置信度分数。至于第二个约束,它来自于这样一个事实:大多数动作实例内的片段在分类和定位方面应该是等效的。

为了解决第一个约束,我们将每个动作实例转换为一个线性约束。具体来说,给定类 c c c n n n个动作实例,我们首先构造 n n n个权重向量 { W j ∈ R l ∣ j = 1 , … , n } \{W_j\in\mathbb{R}^l|j=1,\ldots,n\} {WjRlj=1,,n},其中 l l l是视频的长度,每个权重向量都作为相应动作实例的约束。在这里,我们遵循Inner-Outer Contrast分数[16, 39]来构造权重向量,通过将整个视频划分为内区、外区和背景。具体来说,对于 W j W_j Wj,如果第 i i i个片段在动作实例 j j j的内区,即 s j ≤ i ≤ e j s_j \le i \le e_j sjiej,我们将其第 i i i个元素 W j , i W_{j,i} Wj,i设置为1。同样,如果它位于外区,即 s j − α ( e j − s j ) ≤ i < s j s_j - \alpha(e_j - s_j) \le i < s_j sjα(ejsj)i<sj e j ≤ i < e j + α ( e j − s j ) e_j \le i < e_j + \alpha(e_j - s_j) eji<ej+α(ejsj),我们将其设置为-1,否则对于背景则为0。这个过程如图2所示。通过这样的构造,我们得到 n n n个动作实例的以下线性方程:

在这里插入图片描述
其中, g c ∈ R l g_c\in\mathbb{R}^l gcRl是要为类 c c c生成的伪标签, q c , i q_{c,i} qc,i是第 i i i个动作实例的类 c c c的置信度分数。为此,我们约束生成的伪标签以维持动作实例的内外对比分数。此外, ∑ j = 1 n W j , i \sum_{j=1}^nW_{j,i} j=1nWj,i的值越大,第 i i i个片段就越重要。这表示第 i i i个片段位于更多的内区和更少的外区。从直观上看,我们希望生成的伪标签在更重要的片段上具有更大的值。为了实现这一点,我们最小化伪标签 g c g_c gc ℓ 1 \ell_1 1-范数。优化问题最终可以表述为:
在这里插入图片描述
其中, q c q_{c} qc = ( q c , 1 , … , q c , n ) (q_{c, 1}, \ldots , q_{c, n}) (qc,1,,qc,n) W W W = [ W 1 ; … ; W n ] [W_{1}; \ldots ; W_{n}] [W1;;Wn] ∈ \in R l × n \mathbb{R}^{l\times n} Rl×n。尽管上述优化目标可以实现对 g c g_c gc ℓ 1 \ell_1 1范数的最小化,但它并不保证生成的伪标签是均匀形状的。为了满足第二个约束条件,我们首先收集对于优化问题等效的片段。这里,我们定义两个片段 i i i j j j是等效的,如果 W W W的第 i i i行和第 j j j行相同,这意味着它们落在相同的内区域/外区域/背景区域,或相同的重叠区域。对于这些等效片段,我们对在公式(6)中解出的伪标签 g ^ c \hat{g}_{c} g^c中的分数进行平均,并将其重新赋值为平均值。通过这种方式,我们将伪标签 g ^ c \hat{g}_c g^c转换为更均匀的形式,同时满足公式(6)的优化目标。

对于每一个 K K K类,我们进行上述步骤以获得其伪标签。之后,我们将所有 K K K类的伪标签拼接在一起,形成输入视频的最终伪标签 G ∈ R l × K G \in \mathbb{R}^{l \times K} GRl×K

3.3. ∆ Pseudo Label

虽然生成的伪标签可以捕捉到预测的动作实例的边界并保留置信度分数的信息,但它们在直接使用时仍存在某些缺陷。如果我们直接将伪标签 G G G应用于TCAM L L L并使用交叉熵(CE)损失,即 L c e = ∑ \mathcal{L}_{ce}=\sum Lce=CE(softmax ( L j ) , G j ) (L_j),G_j) (Lj),Gj),其中 j j j表示第 j j j个片段,CE损失相对于片段 j j j和类 c c c的负梯度为:

在这里插入图片描述
由于 P j = softmax ( L j ) P_{j}=\text{softmax}(L_{j}) Pj=softmax(Lj),因此 ( 1 − P j , c ) (1 - P_{j, c}) (1Pj,c)始终为正。这个负梯度表示我们将TCAM推向 G j , c G_{j,c} Gj,c的方向,而 G j , c G_{j,c} Gj,c也始终为正。更糟糕的是,在训练的早期阶段,生成的伪标签通常会波动和不准确,这会导致模型在后续训练阶段持续生成高置信度的错误伪标签。

为了缓解这个问题,我们建议使用∆伪标签。具体来说,我们将两个连续伪标签生成阶段收集到的两个伪标签之间的差异作为∆伪标签,可以表示为:
在这里插入图片描述
现在,应用交叉熵损失,负梯度变为:

在这里插入图片描述
这样一来,训练损失将TCAM引向 Δ G j , c t \Delta G_{j,c}^{t} ΔGj,ct 的方向,这个值可以是正的也可以是负的。由于模型通常在训练过程中提供更准确的预测,可以预期当片段 j j j 属于动作类别 i i i 时,它的 Δ G j , c t \Delta G_{j,c}^{t} ΔGj,ct 可能是正的。相反,如果片段 j j j 不属于类别 i i i,则其 Δ G j , c t \Delta G_{j,c}^{t} ΔGj,ct 可能是负的,因为模型倾向于降低其得分。因此,这种机制通过考虑伪标签的相对变化而不是绝对值来缓解在训练早期生成不准确伪标签的问题,从而赋予模型自我校正的能力,以获得更好的性能表现。

4. Experiments

在这里插入图片描述

在这里插入图片描述

5. Conclusion

在本文中,我们提出了一个从动作边界生成更好伪标签的新框架。首先,我们提出了一个高斯加权实例融合模块,以获得高质量的动作边界。之后,通过在动作实例置信度的约束下解决优化问题,从动作边界生成伪标签。最后,我们提出利用∆伪标签为模型引入自我纠正机制。我们的方法在THUMOS14和ActivityNet1.3上达到了最新的性能,并且能够持续提高现有方法的性能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值