Weakly-Supervised Temporal Action Localization by Inferring Salient Snippet-Feature 论文阅读
文章信息:
发表于:AAAI 2024
原文链接:https://arxiv.org/abs/2303.12332
源码:https://github.com/wuli55555/ISSF(空仓库)
Abstract
弱监督的时序动作定位旨在在未剪辑的视频中同时定位动作区域并识别动作类别,仅使用视频级标签作为监督。伪标签生成是一种解决这一具有挑战性问题的有前途策略,但当前的方法忽略了视频的自然时间结构,这种结构可以提供丰富的信息来辅助生成过程。在本文中,我们提出了一种通过推断显著片段特征的新颖弱监督时序动作定位方法。首先,我们设计了一个显著性推断模块,该模块利用时间相邻片段之间的变化关系来发现显著片段特征,这些特征可以反映视频中的显著动态变化。其次,我们引入了一个边界精化模块,通过信息交互单元增强显著片段特征。然后,引入一个判别力增强模块以增强片段特征的判别性。最后,我们采用精化后的片段特征来生成高保真的伪标签,这些伪标签可以用于监督动作定位网络的训练。在两个公开可用的数据集THUMOS14和ActivityNet v1.3上的大量实验表明,我们提出的方法相比最先进的方法取得了显著改进。
Introduction
图1:展示了片段之间的差异值、动作分数和地面真值(GT)的示意图。动作和背景片段分别用红色和黑色框标出。
时序动作定位 (TAL) (Shou, Wang, 和 Chang 2016; Zhao 等 2017; Chao 等 2018; Huang, Wang, 和 Li 2022; He 等 2022) 旨在从未剪辑的视频中找到动作实例,即预测特定动作的开始位置、结束位置和类别。这是视频理解中一项重要但具有挑战性的任务,广泛应用于监控和视频摘要中。为了实现精确的定位,大多数现有方法 (Shou, Wang, 和 Chang 2016; Zhao 等 2017; Chao 等 2018; Lin 等 2018; Long 等 2019) 依赖于在人类标注的精确时间注释的帮助下,以完全监督的方式训练模型。然而,对视频进行精细标注既费力又昂贵。相比之下,弱监督方法最近在学术界和工业界都获得了越来越多的关注,因为它们仅利用视频级标签进行时序动作定位,在减少人工注释成本的同时实现了具有竞争力的结果。
弱监督时序动作定位方法 (Xu 等 2019; Shi 等 2020; Qu 等 2021; Lee 等 2021; Liu 等 2021; Narayan 等 2021) 主要采用“通过分类进行定位”的框架,通过片段级分类获得一系列时间类激活图 (TCAMs) (Nguyen 等 2018; Paul, Roy, 和 Roy-Chowdhury 2018),然后使用 TCAMs 生成用于动作定位的时间提议。然而,分类器主要倾向于关注容易区分的片段,而忽略了其他微妙但同样重要的信息,因此在分类和定位之间存在差异。为了平衡分类和定位的性能,提出了基于伪标签的方法 (Huang, Wang, 和 Li 2022; He 等 2022; Pardo 等 2021; Zhai 等 2020; Luo 等 2020; Li 等 2022),该方法主要通过生成片段级伪标签信息来监督模型的训练。
尽管如此,准确生成伪标签仍然具有挑战性,因为现有方法忽略了视频时间结构所扮演的重要角色。我们观察到,相邻片段展示了明显不同的关系,这可以发现显著特征并识别出差异化边界。如图1所示,具有显著变化(较高差异值)的相邻片段特征可能对应于动作与背景之间的交界处、动作之间的交替或背景之间的突变。然而,如何找到这些特征并将其细化为更具辨别性的特征,是发现动作边界并提高定位性能的关键。
受这一观察启发,我们提出了一种新颖的弱监督TAL方法,从一个新的角度出发,通过利用时间变化来提升高保真伪标签的生成。首先,我们设计了一个显著性推断模块,通过利用变化并计算相邻片段对的差异值来发现重要的片段特征。然而,这个过程只考虑了局部关系,忽略了视频中的全局信息。因此,我们提出了一个边界优化模块,通过信息交互增强显著特征,同时使模型关注整个时间结构。随后,考虑到不同的动作信息可以提供额外的线索,我们提出了一个辨别增强模块,通过构建记忆库引入相同类别的动作知识,进一步优化特征。最后,输出特征被输入到分类头中,以生成最终优化的伪标签用于监督。
这些贡献可以总结如下:
- 我们提出了一种新的弱监督动作定位(TAL)的伪标签生成策略,通过推断显著的片段特征来利用动态变化。
- 我们设计了边界细化模块和区分增强模块,分别用于增强动作和背景的区分能力。
- 我们进行了大量实验,结果显示我们的模型在THUMOS14和ActivityNet v1.3上分别达到了平均mAP值为46.8和25.8
Related Work
Fully-supervised temporal action localization.
完全监督的动作定位(TAL)长期以来一直是视频理解领域的研究热点(Qi等,2021年,2020年,2019年,2018年;刘等,2016年,2018年),现有方法主要分为两类,即一阶段方法和二阶段方法。一阶段方法(Long等,2019年;林,赵和寿,2017年;杨等,2020年;林等,2021年)同时预测动作边界和标签。相反,二阶段方法(寿,王和常,2016年;赵等,2017年;朝等,2018年;曾等,2019年)首先找到候选动作提议,然后预测它们的标签。然而,这些完全监督的方法需要使用实例级别的人工注释进行训练,导致成本高昂且耗时。
Weakly-supervised temporal action localization.
弱监督的动作定位(TAL)方法(Xu等,2019年;Min和Corso,2020年;Shi等,2020年;Lee等,2021年;刘等,2021年;Narayan等,2021年;翟等,2020年;黄,王和李,2022年;陈等,2022年)主要从视频级别的标签学习,相比完全监督方法避免了耗时的人工注释。UntrimmedNet(Wang等,2017年)和STPN(Nguyen等,2018年)通过多示例学习(MIL)框架生成类激活序列,然后通过阈值处理定位动作实例。RPN(Huang等,2020年)和3C-Net(Narayan等,2019年)使用度量学习算法学习更具区分性的特征。Lee等(Lee,Uh和Byun,2020年)设计了一个背景抑制网络来抑制背景片段的激活。然而,分类和定位之间仍存在差异。最近,许多方法(Pardo等,2021年;Luo等,2020年;翟等,2020年;杨等,2021年;黄,王和李,2022年;He等,2022年)尝试生成伪标签来监督模型,从而缓解这种差异。RefineLoc(Pardo等,2021年)通过扩展先前的检测结果来生成伪标签,从而缓解分类和定位之间的差异。Luo等(Luo等,2020年)利用期望最大化框架(Moon,1996年)通过交替更新关键实例分配分支和前景分类分支来生成伪标签。TSCN(翟等,2020年)通过后续融合注意力序列来生成帧级别的伪标签,考虑到两流共识。Li等(Li等,2022年)利用对比表示学习来增强特征的区分能力。ASMLoc(He等,2022年)使用标准的基于MIL的方法生成动作提议作为伪标签。相比之下,我们的方法利用邻近片段特征之间的变化来发现显著的片段特征,并进一步设计了边界细化模块和区分增强模块,生成高保真度的伪标签。
Methodology
图2:我们模型的概述。首先,基础分支(a)从视频的RGB和光流中提取特征,并使用分类头预测TCAMs。然后,显著性推断模块(b)利用片段特征之间的变化关系来发现显著的片段特征。接下来,边界细化模块(c )利用信息交互单元增强显著的片段特征。随后,区分增强模块(d)利用存储在记忆中的动作信息增强动作和背景的区分性。最后,(c )和(d)生成高保真度的伪标签以监督基础分支。
在本节中,我们将首先介绍弱监督动作定位(TAL)的问题定义,并概述我们提出的方法。接下来,我们将详细描述我们方法的不同模块,这些模块旨在利用片段特征之间的变化生成高保真度的伪标签。最后,我们将介绍优化时序定位模型的训练细节。
Problem definition.
弱监督动作定位的问题定义如下:目标是在一组未修剪的训练视频集合
{
V
i
}
i
=
1
N
\{V_i\}_{i=1}^N
{Vi}i=1N 和它们对应的地面真值标签
{
y
i
}
i
=
1
N
\{y_i\}_{i=1}^N
{yi}i=1N 的辅助下,为每个测试视频预测一组动作实例
(
c
,
q
,
t
s
,
t
e
)
(c, q, t_s, t_e)
(c,q,ts,te)。具体而言,
y
i
∈
R
C
y_i \in \mathbb{R}^C
yi∈RC 是一个二进制向量,指示了
C
C
C 种动作的存在/缺失。对于一个动作实例,
c
c
c 表示动作类别,
q
q
q 是预测置信度分数,
t
s
t_s
ts 和
t
e
t_e
te 分别表示动作的开始时间和结束时间。
Overview.
我们提出的方法概述如图2所示,主要包括四个部分:(a) 基础分支,(b) 显著性推断模块,(c ) 边界细化模块,和 (d) 区分增强模块。
首先,在基础分支中,我们利用一个固定的预训练骨干网络(例如,I3D),从输入视频的外观(RGB)和运动(光流)中提取T个片段特征。然后,采用可学习的分类头来对每个片段进行分类,并获取预测的TCAMs(动作类激活图)。其次,我们利用显著性推断模块通过计算相邻片段特征对之间的差异来生成显著的片段特征。随后,边界细化模块和区分增强模块都利用信息交互单元,通过增强显著的片段特征以及增强动作片段特征与背景片段特征的可分离性,来精细化粗糙的边界。最后,输出特征被馈送到分类头,生成高保真度的伪标签作为基础分支的监督信号。
Base Branch
给定一个未修剪的视频 V V V,我们按照(Nguyen et al. 2018; Huang, Wang, and Li 2022)的方法将其分割成多个不重叠的片段 { v i } i = 1 T \{v_{i}\}_{i=1}^{T} {vi}i=1T,然后使用在 Kinetics-400 数据集上预训练的 I3D 网络(Carreira 和 Zisserman 2017)从每个片段的 RGB 和光流流中提取特征。一个嵌入层将这两种类型的特征连接在一起进行融合,所有片段的融合特征被视为视频的片段特征 F = { f 1 , f 2 , ⋯ , f T } ∈ R T × D \mathcal{F}=\{f_{1},f_{2},\cdots,f_{T}\} \in \mathbb{R}^{T \times D} F={f1,f2,⋯,fT}∈RT×D,其中 T T T 是片段的数量, D D D 是一个片段特征的维度。接下来,我们使用分类头来获得时间类激活图(Temporal Class Activation Maps, TCAMs) T ∈ R T × ( C + 1 ) \mathcal{T} \in \mathbb{R}^{T \times (C+1)} T∈RT×(C+1),这里 C + 1 C+1 C+1 表示动作类别的数量加上背景类别。具体来说,按照之前的工作(Huang, Wang, and Li 2022),分类头包括一个无类别关注(Class-agnostic Attention, CA)头和一个多示例学习(Multiple Instance Learning, MIL)头。
Saliency Inference Module
时间相邻片段的显著变化可以指示每个片段是否属于显著片段特征。因此,我们提出了一个显著性推断模块,该模块利用这种变化来探索相邻片段对之间的差异,并据此识别视频中的显著边界。
给定一个视频及其片段级表示 F ∈ R T × D \mathcal{F} \in \mathbb{R}^{T \times D} F∈RT×D,我们首先计算每对时间相邻片段特征 { f t − 1 , f t } \{f_{t-1}, f_{t}\} {ft−1,ft} 的差值 τ ( t − 1 , t ) \tau_{(t-1,t)} τ(t−1,t),其公式为:
其中,diff 表示按维度进行减法运算,
d
∈
D
d\in D
d∈D 表示特征的元素索引。随后,我们通过计算所有对的差异来获得输入视频的差异集
τ
\tau
τ:
为了获得视频的显著片段特征,我们首先对差异集 τ \tau τ 进行降序排序,然后根据排序后的 τ \tau τ 将初始标签 B = { b i } i = 1 T \mathcal{B}=\{b_i\}_{i=1}^T B={bi}i=1T 分配给每个片段。排序得分最高的前 K K K 个片段被选为显著片段特征,而其余的则被选为非显著片段特征,标签分配过程可以表示为:
其中,
b
t
=
1
b_t = 1
bt=1 表示其对应的片段
f
t
f_t
ft 属于显著片段特征,否则属于非显著片段特征。最终,以一种简单的方式发现显著片段特征。然而,由于这些片段特征不能确定为动作或背景,直接使用这些特征来监督基础分支的学习可能会导致性能不佳。接下来,我们将介绍如何细化这些显著片段特征。
Boundary Refinement Module
在显著性推断模块中,我们计算每对相邻片段之间的差值,这种操作可以看作是一种利用局部关系的方法,但非局部片段之间的关系仍未得到充分探索。因此,我们提出了一个边界细化模块来增强显著片段特征,通过信息交互单元分别在通道和时间维度上探索显著片段特征、非显著片段特征以及同一视频片段特征之间的上下文关系。
首先,我们收集显著片段特征
(
b
i
=
1
)
(b_i=1)
(bi=1) 和非显著片段特征
(
b
i
=
0
)
(b_i=0)
(bi=0) 候选项,分别形成
F
a
∈
R
T
a
×
D
\mathcal{F}^a \in \mathbb{R}^{T^a \times D}
Fa∈RTa×D 和
F
b
∈
R
T
b
×
D
\mathcal{F}^b \in \mathbb{R}^{T^b \times D}
Fb∈RTb×D,其中
F
a
∪
F
b
=
F
,
T
a
+
T
b
=
T
\mathcal{F}^a \cup \mathcal{F}^b = \mathcal{F}, T^a + T^b = T
Fa∪Fb=F,Ta+Tb=T,
T
a
T^a
Ta 表示显著片段特征的数量,
T
b
T^b
Tb 表示非显著片段特征的数量。然后,我们在 squeeze-and-excitation 模式中利用通道级信息交互单元生成特征
F
^
a
∈
R
T
a
×
D
\hat{\mathcal{F}}^a \in \mathbb{R}^{T^a \times D}
F^a∈RTa×D。
其中,
⊗
\otimes
⊗ 表示按元素相乘。
θ
\theta
θ 是一个简单的多层感知器(MLP),由
F
C
−
R
e
L
U
−
F
C
FC-ReLU-FC
FC−ReLU−FC 组成。我们将第一个全连接层(FC)的权重设置为
W
1
∈
R
D
×
(
D
/
r
)
\mathbf{W}_1 \in \mathbb{R}^{D \times (D/r)}
W1∈RD×(D/r),第二个全连接层的权重设置为
W
2
∈
R
(
D
/
r
)
×
D
\mathbf{W}_2 \in \mathbb{R}^{(D/r) \times D}
W2∈R(D/r)×D,
r
r
r 是一个缩放因子。采用残差连接以保持训练的稳定性。
随后,我们进行时间级信息交互单元,以捕捉
F
^
a
\hat{\mathcal{F}}^{a}
F^a 和
F
\mathcal{F}
F 之间的全局上下文关系,其公式如下:
其中, ⊙ \odot ⊙ 表示矩阵乘法。通过整合这些信息,我们得到了一组具有辨别力的片段特征 F ~ a ∈ R T × D \tilde{\mathcal{F}}^a \in \mathbb{R}^{T \times D} F~a∈RT×D。
然而, F b \mathcal{F}^b Fb 中包含的一些信息可能被忽略,这些信息包含了一些与动作相关或背景相关的信息。因此,利用 F b \mathcal{F}^b Fb 中的信息可以帮助提升片段特征的多样性。我们也利用时间级信息交互单元通过公式 (4) 和公式 (5) 在 F b \mathcal{F}^b Fb 和 F \mathcal{F} F 之间生成非显著增强特征 F ~ b \tilde{\mathcal{F}}^b F~b。需要注意的是,公式 (4) 中的参数在 F a \mathcal{F}^a Fa 和 F b \mathcal{F}^b Fb 之间是不共享的。
最后,我们应用加权求和操作来平衡 F ~ a \tilde{\mathcal{F}}^a F~a 和 F ~ b \tilde{\mathcal{F}}^b F~b 之间的贡献,以获得增强特征 F ~ ∈ R T × D \tilde{\mathcal{F}} \in \mathbb{R}^{T \times D} F~∈RT×D,如下所示:
其中,σ 表示权衡因子。
Discrimination Enhancement Module
视频中同一类别的动作信息可以提供额外线索,有助于提高片段特征的区分性和生成的伪标签质量。因此,我们设计了一个区分增强模块,利用视频之间的相关性使动作和背景片段特征更具可分离性。
首先,我们引入一个记忆库
M
∈
R
C
×
N
×
D
\mathcal{M} \in \mathbb{R}^{C \times N \times D}
M∈RC×N×D 作为动作知识库,在训练过程中存储整个数据集中的多样动作信息。这里,
C
C
C 表示类别数,
N
N
N 表示每个类别存储的片段数,
D
D
D 是特征维度。初始时,我们使用分类头预测显著片段特征的分数,并选择具有最高
N
N
N 个分类分数的片段来初始化记忆
M
\mathcal{M}
M,同时保存其分数。在第
t
t
t 次训练迭代中,我们选择每个类别中具有高分数的
N
N
N 个片段特征
F
[
c
]
(
t
)
\mathcal{F}_{[c]}^{(t)}
F[c](t) 来更新上一次迭代的记忆
M
[
c
]
(
t
−
1
)
\mathcal{M}_{[c]}^{(t-1)}
M[c](t−1)。这一过程可以表述为:
其中,
η
\eta
η 表示动量系数。为增强稳健性,我们利用动量更新策略(He et al. 2020)来更新记忆
M
\mathcal{M}
M,因此
η
\eta
η 被调整为:
其中,
η
0
\eta_{0}
η0 表示初始动量系数,
e
e
e 表示当前的 epoch,
E
E
E 表示总的 epoch 数量,
c
c
c 表示当前片段的类别索引。同时,我们利用时间级信息交互单元在边界细化模块中实现混合特征
F
~
\tilde{\mathcal{F}}
F~ 与记忆
M
[
c
]
(
t
)
\mathcal{M}_{[c]}^{(t)}
M[c](t) 的交互,将整个数据集的类别信息引入
F
~
\tilde{\mathcal{F}}
F~,可以表述为:
最后,我们从边界细化模块和区分增强模块得到输出特征 F ~ \tilde{\mathcal{F}} F~ 和 F ^ \hat{\mathcal{F}} F^。然后,我们将它们送入分类头部,输出两个 TCAMs,即 T ~ \tilde{\mathcal{T}} T~ 和 T ^ \hat{\mathcal{T}} T^,在求和后得到 T p \mathcal{T}^p Tp 作为伪标签,用于监督基础分支的学习。
Training loss
根据先前的方法,整个学习过程是由视频级别的分类损失 L c l s L_{cls} Lcls,知识蒸馏损失 L k d L_{kd} Lkd,以及注意力规范化损失 L a t t L_{att} Latt 共同驱动的。总损失函数可以表述为:
其中,
λ
\lambda
λ 表示权衡因子。知识蒸馏损失
L
k
d
\mathcal{L}_{kd}
Lkd (Huang, Wang, and Li 2022)用于实现
T
p
\mathcal{T}^p
Tp 监督
T
\mathcal{T}
T 的训练过程。视频级别分类损失是从 CA 头部和 MIL 头部计算的两个损失的组合,可以表述为:
其中, θ \theta θ 是一个超参数。有关每个损失函数的更多细节,请参考相应的参考文献。
Experiments
Conclusion
在本文中,我们提出了一种新颖的弱监督动作定位方法,通过推断显著片段特征,其中设计了若干模块通过探索信息的变化和交互来辅助伪标签生成。综合实验表明了我们提出的方法的有效性和优越性。
阅读总结
没代码,效果有待考证。方法不难,主要是借助特征之间的差异,这个在动作识别领域已经有很多这种做法了。希望作者后续能发布。如果一直留个空仓,不如摘要上就别带链接。