Compact Representation and Reliable Classification Learning for Point-Level Weakly-Supervised Action Localization
Abstract
当前帧级弱监督采用基于分类达到定位目标所存在的问题:
一是分类与定位任务之间的差异导致的动作片段内部变异较大,
二是由于伪训练样本的不可靠性导致的分类学习噪声,
解决办法:引入协同监督特征学习模块和概率伪标签挖掘模块
- 协同监督特征学习模块利用不同模态中的互补信息,以学习更紧凑的特征表示
- 概率伪标签挖掘模块利用从动作原型获取的特征距离来估计伪样本的可能性,并修正其对应的标签,从而实现更可靠的分类学习
I. INTRODUCTION
TAL的目标是检测每个动作实例的范围并识别其类别,由于缺乏逐帧注释,使用视频级别标签训练的WSTAL模型无法获得动作位置或动作实例数量的信息,这些模型的性能远远落后于完全监督的模型。在点级弱监督设置中,每个动作实例只用一个时间戳进行标注,与视频级别标签相比,额外的成本非常小。实践证明,点级信息可以进一步缩小完全监督和弱监督设置下模型的性能差距。
当前基于点级弱监督动作识别所存在的问题:
- 识别动作实例的区分片段对于视频级别的分类是足够的,但对于片段级别的定位则不够。因为,分类模块通常更加关注这些区分片段的特征学习,而忽略了在这一流程中不显著的片段。最终,基于分类的定位流程会导致较大的动作内部变异,即同一动作的两个片段的学习特征可能差异很大。
- 由于每个动作实例仅有一个标签,分类学习的可用训练样本总数非常少,因此由分类模块生成的动作得分不够可靠,基于这些得分挖掘的伪训练样本不可避免地会导致分类学习的噪声
解决办法:提出CRRC-Net,学习紧凑的特征表示和可靠的分类,以实现更精确的点级弱监督时序动作定位(P-WSTAL):
- 在紧凑特征学习方面:直观地,我们建议同一动作类别的动作实例中不同片段的特征应在特征空间中接近,以帮助分类模型生成更连续和平滑的类别激活得分,从而实现更稳定的动作定位。然而,在实践中,这种情况通常未能满足。同时,在不同模态的特征空间中发现了一个有趣的现象:如图1(a)所示,对于同一动作的两个不同片段(高尔夫挥杆),RGB帧由于背景变化而显示差异,而它们的光流模式非常相似。类似的观察也可以在两种模态互换时得出。因此,基于上述观察,我们设计了一个任务特定的协同监督特征学习(CFL)模块,该模块利用点级注释挖掘伪训练样本进行自监督特征学习,以确保特征空间中的两个相似(或不相似)样本在另一个特征空间中也具有相似(或不相似)的特征,从而增强特征表示的紧凑性并减少动作内部变异。(2)在可靠分类学习方面:任意片段的特征与动作原型之间的距离可以反映该片段属于该动作的可能性。基于这一直觉,如图1(b)所示,我们设计了一个概率伪标签挖掘(PPLM)模块,依据它们相对于所有动作原型的特征距离,通过计算片段的类别级可能性来纠正伪标签。这些动作原型基于标注片段的平均特征进行初始化,并在训练过程中逐步更新(更新标注特征)。
图 2. CRRC-Net 框架概览。概率伪标签挖掘模块利用片段特征与动作原型之间的距离来估计伪样本的可能性,并校正其标签,以实现更可靠的片段级分类学习。协同监督特征学习模块用于利用不同模态中的互补信息,帮助在当前模态中学习更紧凑的特征表示。图中这两个模块以不同的背景颜色标注。
III. METHOD
在本节中,我们首先介绍了点级弱监督时序动作定位(P-WSTAL)的问题表述和我们框架的流程概述。接下来详细讲解了用于紧凑特征表示学习的 CFL 模块,然后是 PPLM 模块。最后,详细说明了联合优化目标和推理过程。图 2 展示了我们框架的整体结构。
A. 问题表述和流程概述
- 问题表述:在本文中,我们遵循 [10] 和 [11] 提出的标准点级弱监督时序动作定位协议:在训练过程中,每个训练视频可以包含多个动作类别和多个动作实例。与提供每个动作实例的时间边界注释的完全监督设置不同,在点级监督设置中,每个动作实例只有一个由注释者随机指出的帧及其时间戳和相应的动作类别标签。具体地,对于一个任意视频 V,其点级注释 Agt={(πm,ym)}m=1Mact被提供,其中 (πm,ym)是第 m个动作实例的注释时间戳和相应的类别标签。 Mact表示视频 V中的动作实例数量。通常,不同训练视频中的动作实例数量往往是变化的。标签 ym∈RC+1是一个独热向量,且 ym[k]=1(第m个动作实例中的第k个动作)如果第 k个动作出现在第 m个动作实例中,其中 C是动作类别的总数,(C+1)-维度表示背景类别。值得注意的是,视频级标签 yvid∈RC+1是一个多重独热向量,它可以通过沿时间维度聚合注释的点级类别标签 ym来获得。给定上述形式的训练数据,P-WSTAL 的目标是检测和识别未剪辑视频中的所有动作实例。
视频级标签可以通过沿时间维度聚合注释点级类别标签ym来获得
- 流程和初步:我们的模型框架如图 2 所示。给定一个训练视频 V,我们首先将其划分为一组不重叠的 16 帧片段。然后,应用一个预训练的特征提取器来提取每个视频片段 j的 RGB 和光流特征 qRGBj 和 qflowj,这些特征作为我们模型的输入。为了处理大动作内部变异问题,我们提出了一个 CFL 模块来学习更紧凑的 RGB 和光流特征表示,即fRGBj=fRGB(qRGBj) 和fflowj=fflow(qflowj)。这里 fRGBj∈RD/2和 fflowj∈RD/2,fRGB和fflow是两个特定模态的特征提取器。之后,将这两个增强的特征拼接在一起,并通过 1D 卷积层转换为任务相关的片段级特征 xj∈RD。随后,将 T个片段特征(x∈RTxD)输入到分类模块中,以生成片段级动作分数 P∈RT×C。根据之前的方法 [11]、[50],为了预测“动作度”,即每个片段属于不同动作的概率,我们设计了一个注意力分支来推导“动作度”分数 A∈RT。之后,通过融合 P 和 A 可以获得片段级注意力加权动作分数P~=PA∈RT×C。视频级动作分数 P~vid可以通过时间上聚合片段级动作分数 P~来构建。
视频级动作分数 P~vid可以通过时间上聚合片段级动作分数 P~来构建
最后,我们利用视频级和片段级分类损失来优化我们的模型。每个视频 V的视频级分类损失可以通过以下交叉熵函数计算:
其中 yvid[k]表示视频 V是否包含第 k个动作类别的真实值。 P~vid[k]是预测的视频级动作概率,指示第 k个动作在视频 V中出现的可能性。
为了充分利用点级注释,我们还采用片段级分类损失来训练我们的模型。然而,由于每个动作实例只有一个标签,片段级分类学习的正样本不足。为了缓解这一不足,之前的方法 [10]、[11] 利用简单直接的方法挖掘伪前景和背景片段作为片段级分类学习的训练样本。在这些方法中,分类模块首先用于生成每个视频片段的动作分数。之后,使用阈值过滤机制挖掘伪训练样本。如果当前片段的第 k′类的动作分数超过了特定的预定义阈值,则将当前片段标注为类别 k′并放入训练池。正式地,第 j 个片段在视频 V中的伪标签可以通过以下公式获得:
其中 δ是预定义的阈值。值得注意的是,我们记录公式 (2) 为 y^=T(P),这是从预测的片段级动作分数 P~到伪硬标签 y^的转换函数。最后,将挖掘的伪训练样本与注释的点级样本结合在一起,以片段级分类损失 Lsnippetcls来训练模型。
B. 共同监督特征学习
如上所述,大多数现有的弱监督动作定位模型都是设计成分类定位流程(为每个视频片段预测动作分类分数,然后将片段级分数聚合形成视频级预测。视频级动作标签在训练过程中作为监督信号使用。最终,根据片段级分类分数获得定位结果)。在这个流程中,识别动作实例的区分性片段对于视频级分类来说是足够的,但对于片段级定位则不够。因此,分类器专注于区分具有明显动作的区分性(易于区分的片段)部分,而忽略了不显著的部分(难以区分的模糊动作片段),这导致特征空间内的大动作内部变异。这对精确的动作定位不利。
受到自监督学习的启发,为了缓解上述问题,我们提出了一个 CFL 模块来学习更紧凑的表示。如在第 III-A 节中提到的,我们在这个模块中应用了两个模态特定的特征提取器 fRGB和 fflow来提取更紧凑的特征表示,即在 RGB 和光流模态下的 fRGBj和 fflowj。
我们的 CFL 模块的核心是利用一个模态中相同类别注释片段和未注释片段之间的特征相似性矩阵,以选择用于另一个模态的正负训练样本。具体地,给定视频 V 及其不同模态下的片段级特征集 Fflow={fflowj}j=1T和 FRGB={fRGBj}j=1T,如果我们想要优化特征提取器 fRGB 以实现更紧凑的 RGB 特征学习,则首先将 Fflow 划分为两个子集,即 FflowA 和 FflowU,其中 FflowA 和 FflowU分别表示注释片段和未注释片段的光流特征。之后,我们可以计算第 j个注释片段和第 l个未注释片段特征之间的相似性:
基于在光流特征空间计算的相似性矩阵,我们选择用于 RGB 特征表示学习的正负训练样本:
其中 topK_I dx() 和 bottomK_I dx() 分别表示获取前 k 个和后 k 个值的操作。
最后,可以使用多实例 InfoNCE 损失函数 [51] 通过上述挖掘的训练样本优化 RGB 特征提取器 fRGB:
类似地,我们可以使用相同的方法优化光流特征提取器 fflow,损失函数为 Lflowco。然后,将紧凑的 RGB 和光流特征拼接 fj={fRGBj,fflowj},并输入到编码器 fenc()中以生成片段级特征 xj,即 xj=fenc(fj)。
C. 概率伪标签挖掘
通过 CFL 模块,提供了不同模态下更紧凑的特征表示,以便更好地进行视频级和片段级分类学习。然而,注释片段的总数过少,无法提供足够的知识用于区分性分类学习。因此,需要挖掘尽可能多的训练样本,以实现可靠的片段级分类学习。然而,使用公式 (2) 挖掘的高动作分数的伪训练样本不一定可信,这会导致噪声分类学习,影响动作定位的性能。为了解决这个问题,需要一种伪标签去噪机制,以帮助挖掘更正确的伪训练样本,从而减少噪声标签的影响并增加分类模块可用的可靠信息。
为了解决上述问题,本文提出了一种基于原型的概率伪标签挖掘策略,即按类别特征中心,来挖掘用于片段级分类模块学习的伪训练样本。具体而言,探索基于片段特征与原型特征之间的相对距离的动作概率度量函数,以估计每个动作片段的概率权重。然后,使用这些权重来校正这些片段的动作分数:
其中,ωj[k] 表示基于第 j个片段特征与第 k个动作原型之间的相对距离的动作权重(定义在公式 (9) 中)。Sa从 P~[k]中提取,表示那些对第 k 个动作的预测分数超过平均值的片段的时间索引集合。通过这种方式,我们滤除背景并校正这些潜在动作片段的 CAS。最后,我们基于校正后的分数为视频 V中的每个片段标注更可靠的伪标签,以实现更具区分性的片段级分类学习。我们的直觉是,每个动作类别的原型特征接近其对应特征空间的质心,因此,片段特征与动作原型之间的距离在一定程度上可以自然地反映片段属于不同动作的可能性。
在训练过程开始时,为了获得可靠的原型特征,我们充分利用现有的注释片段。具体来说,第 k个动作的原型初始化为属于类别 k的所有注释片段的平均特征:
其中,D表示数据库中的所有训练视频集合,xj 表示视频特征 X 中第 j个标注片段的任务相关特征,yj 是该片段的对应真实标签。
在获得不同动作的原型后,我们利用片段与不同原型之间的归一化欧几里得距离来计算片段级动作权重,这些权重进一步用于校正片段级动作分数,以生成更可靠的伪标签:
其中,τ是 softmax 函数的温度参数,本文中经验上设为 0.9,F(⊙) 是 L2 归一化函数。我们不是仅根据片段与不同原型之间的距离或分类模块预测的动作分数 P~ 来获得片段级伪标签,而是利用距离来调节预测的动作分数。通过这种方式,考虑了片段与不同原型之间的关系,这将为伪训练样本挖掘和可靠分类学习提供更有价值的信息。
如图 1(a) 所示,高质量的概率伪标签挖掘机制应该不断从模型中提取有价值的知识,以在整个训练过程中进行自我更新,从而进一步提高伪训练样本的正确性。为了实现这个目的,我们设计了一种在线更新动作原型的方法。具体而言,给定一批训练视频 B,我们首先根据使用公式 (7) 预测的伪标签计算类别 k 的平均片段特征:
其中,1()表示指示函数。一旦在每个小批次中获得了每个动作类别的均值特征,我们可以通过这个均值特征迭代地更新动作原型。在每次迭代中,第 k 个动作的原型特征可以使用以下公式更新:
μk=μk+βfeatkB
其中,β是原型更新机制的动量系数。
D. 优化与推理
本文提出的 CFL 模块和 PPLM 模块可以相互增强,并在统一的 CRRC 框架中进行端到端的优化。我们模型的整体训练目标为 L:
其中,ρsnippetcls、ρRGBco和 ρflowco是不同损失的超参数。
在推理过程中,我们遵循大多数先前方法的流程 [10],[11],[17]:给定一个未修剪的视频,我们首先利用阈值策略来确定哪些动作需要进行定位,基于 P~vid。随后,我们对片段级的注意力加权动作分数 P~进行阈值处理,将那些得分高于预定义阈值的片段作为候选段,并将连续的候选片段聚合以构建动作提议。接下来,我们计算外内对比分数 [52] 作为这些提议的置信度。最后,我们利用非极大值抑制机制去除重叠的提议,以获得定位结果。
V. CONCLUSION
在本文中,我们分析了阻碍弱监督时序动作定位(WSTAL)性能的两个重要问题,即低区分度的分类学习和动作内部特征的巨大差异,并提出了一个统一框架CRRC-Net,用于稳健的点级弱监督时序动作定位。为了解决这些问题,我们设计了一个共同监督的特征学习策略和一个概率伪标签挖掘模块。这两个模块可以相互增强,实现可靠的分类和紧凑的特征表示学习。实验结果验证了其有效性。
在未来工作中,我们将考虑动作内部和动作之间的变化,探索每个动作实例中的子步骤之间的时序演化。我们认为,不同子步骤之间的关系有助于更精确的动作定位。此外,我们认为互补信息不仅存在于不同模态之间,也存在于不同语义类别之间。具体来说,一个事件的出现可以作为另一个相关事件的前兆(如“关灯”(前序事件)和“去睡觉”(后续事件))。因此,识别前序事件可以帮助检测和定位其相关的后续事件。在未来的工作中,我们还将尝试探索一些有效机制,以从相同模态中的不同类别提取和利用互补信息,从而实现更精确的时序动作定位。当然,我们还将尝试探索一些有效机制,以在高和低IoU阈值下平衡时序动作定位的性能。