文章目录
- 1 要点
- 1.1 概述
- 1.2 一些概念
- 1.3 主要步骤
- 2 方法
- 2.1 候选提案生成
- 2.2 提案特征提取和分类
- 2.2.1 周围对比特征提取
- 2.2.2 分类头
- 2.3 提案微调
- 2.3.1 提案完备性评估
- 2.3.2 实例级秩一致性
- 2.4 网络训练和推理
- 2.4.1 网络训练
- 2.4.2推理
- 3 实验
- 3.1 数据集即评估标准
- 3.1.1 数据集:
- 3.1.2 评估标准
- 3.2 实现细节
- 3.2.1 网络架构
- 3.2.2 超参数设置
1 要点
1.1 概述
-
名称:提案多示例学习 (proposal-based multiple instance learning, P-MIL)
-
背景:弱监督时间动作定位,即仅在视频级标签下定位和识别未修剪视频中的动作。不考虑实例级标签时,已有方法大多使用基于片段的多示例 (S-MIL) 框架。
-
问题:
- 如图1(a)所示,测试阶段的目的是将动作提案作为一个整体并打分,而在训练阶段,分类器被训练为给多个片段打分,这样的不一致性将导致次优结果;
- 如图1(b)所示,仅通过一个奔跑片段是很难对其归类的,只有通过观察整个动作实例,且使用上下文信息才能判断其具体的归属。
-
算法:提出P-MIL算法以处理以上问题,其同时在训练和测试阶段直接分类候选提案,包含以下三个关键点:
- 周围对比特征提取模块 (SCFE):提取有辨别性的短提案
- 提案完备性评估模块 (PCE):利用完备性伪标签抑制低质量提案的产生
- 实例秩一致性损失 (IRC):利用RGB和FLOW的互补性实验最终预测
-
数据集:
- THUMOS14
- ActivityNet
-
代码:https://github.com/RenHuan1999/CVPR2023_P-MIL
1.2 一些概念
- 提案 (proposal):包括可能的动作序列和背景序列,分别称为动作提案和背景提案。
1.3 主要步骤
- 输入RGB视频帧,使用TV-L1将其转换为FLOW帧;
- 利用I3D将RGB和FLOW转换为多个特征向量;
- 训练S-MIL模型,分别从RGB特征和FLOW中生成提案;
- 利用提案和特征向量,生成外内对比特征;
- 基于提案获取视频级分类分数;
- 使用提案完备性评估获取完备性伪标签和预测的完备性分数;
- 训练时,使用实例级秩一致性损失促使RGB和FLOW模式之间分类分数的一致性,额外加入分类损失、系数损失,以及完备性伪标签和完备性分数之间的均方误差。
2 方法
本节主要介绍用于弱监督时间动作定位 (WTAL) 的基于提案的多示例框架 (P-MIL),图2展示了其主要思想。给定一个视频 V \mathbf{V} V,WTAL的目标是预测动作实例的集合 { ( c i , s i , e i , q i ) } i = 1 M p \{(c_i,s_i,e_i,q_i)\}_{i=1}^{M_p} {(ci,si,ei,qi)}i=1Mp,其中 s i s_i si和 e i e_i ei分别表示第 i i i个动作的起始和结束时间, c i c_i ci和 q i q_i qi分别表示动作类别和置信分数。
在训练阶段,每个视频 V \mathbf{V} V仅有视频级标签 y ∈ R C \boldsymbol{y}\in\mathbb{R}^C y∈RC,其中 C C C是动作类别的数量。 y ( j ) = 1 y(j)=1 y(j)=1表示视频中包含当前动作, y ( j ) = 0 y(j)=0 y(j)=0则反之。接下来分别介绍P-MIL的的三个关键步骤:
- 候选提案生成;
- 提案特征提取和分类;
- 提案微调。
2.1 候选提案生成
为了生成候选提案,需要训练一个S-MIL模型。首先,每个视频被划分为多个不相交的16帧片段,然后使用预训练特征提取器,例如I3D提取RGB和FLOW模式的片段特征 X S ∈ R T × D \mathbf{X}_S\in\mathbb{R}^{T\times D} XS∈RT×D,其中 T T T表示视频中的片段数量, D D D表示特征维度。与典型的2分支架构一致,一个类别无关注意力分支用于计算注意力序列 A ∈ R T × 1 \mathbf{A}\in\mathbb{R}^{T\times1} A∈RT×1,一个分类分支用于计算基础类别激活序列 (CAS) S b a s e ∈ R T × ( C + 1 ) \mathbf{S}_{base}\in\mathbf{R}^{T\times (C+1)} Sbase∈RT×(C+1),其中 C + 1 C+1 C+1表示背景类。通过在时间维度上 S b a s e \mathbf{S}_{base} Sbase与 A \mathbf{A} A相乘,得到背景抑制CAS S s u p p ∈ R C + 1 \mathbf{S}_{supp}\in\mathbb{R}^{C+1} Ssupp∈RC+1。随后获取视频级分类分数 y ^ b a s e , \hat{\boldsymbol{y}}_{base}, y^base, y ^ s u p p ∈ R C + 1 \hat{\boldsymbol{y}}_{supp}\in\mathbb{R}^{C+1} y^supp∈RC+1分别由后接softmax的时间top- k k k聚合策略应用于 S b a s e \mathbf{S}_{base} Sbase和 S s u p p \mathbf{S}_{supp} Ssupp计算得到。
基于此,分类损失计算为:
L
c
l
s
=
−
∑
c
=
1
C
+
1
(
y
b
a
s
e
(
c
)
log
y
^
b
a
s
e
(
c
)
)
+
(
y
s
u
p
p
(
c
)
log
y
^
s
u
p
p
(
c
)
)
,
(1)
\tag{1} \mathcal{L}_{cls}=-\sum_{c=1}^{C+1}\left( \boldsymbol{y}_{base} (c) \log\hat{\boldsymbol{y}}_{base} (c) \right)+\left( \boldsymbol{y}_{supp} (c) \log\hat{\boldsymbol{y}}_{supp} (c) \right),
Lcls=−c=1∑C+1(ybase(c)logy^base(c))+(ysupp(c)logy^supp(c)),(1)其中
y
b
a
s
e
=
[
y
,
1
]
∈
R
C
+
1
\boldsymbol{y}_{base}=[\boldsymbol{y},1]\in\mathbb{R}^{C+1}
ybase=[y,1]∈RC+1,
y
s
u
p
p
=
[
y
,
0
]
∈
R
C
+
1
\boldsymbol{y}_{supp}=[\boldsymbol{y},0]\in\mathbb{R}^{C+1}
ysupp=[y,0]∈RC+1。此外,稀疏损失
L
n
o
r
m
=
1
T
∑
t
=
1
T
∣
A
(
t
)
∣
\mathcal{L}_{norm}=\frac{1}{T}\sum_{t=1}^T|\mathbf{A}(t)|
Lnorm=T1∑t=1T∣A(t)∣使用,是的注意力序列
A
\mathbf{A}
A可以专注于关键的前景部分。因此,最终的训练模板损失为:
L
t
o
t
a
l
=
L
c
l
s
+
λ
n
o
r
m
L
n
o
r
m
,
(2)
\tag{2} \mathcal{L}_{total}=\mathcal{L}_{cls}+\lambda_{norm}\mathcal{L}_{norm},
Ltotal=Lcls+λnormLnorm,(2)其中
λ
n
o
r
m
\lambda_{norm}
λnorm是平衡因子。
基于训练的S-MIL模型,我们在
A
\mathbf{A}
A上应用多个阈值
θ
a
c
t
\theta_{act}
θact,以生成候选动作提案
P
a
c
t
=
{
(
s
i
,
e
i
)
}
i
=
1
M
1
P_{act}=\{ (s_i,e_i) \}_{i=1}^{M_1}
Pact={(si,ei)}i=1M1。为了使得P-MIL在训练阶段更好地分离前景和背景,我们使用额外的阈值
θ
b
k
g
\theta_{bkg}
θbkg来生成背景提案
P
b
k
g
=
{
(
s
i
,
e
i
)
}
i
=
1
M
2
P_{bkg}=\{ (s_i,e_i) \}_{i=1}^{M_2}
Pbkg={(si,ei)}i=1M2,其中选取
A
\mathbf{A}
A中取值低于
θ
b
k
g
\theta_{bkg}
θbkg的部分。最终,训练阶段的候选提案记为:
P
=
P
a
c
t
+
P
b
k
g
=
{
(
s
i
,
e
i
)
}
i
=
1
M
,
(3)
\tag{3} P=P_{act}+P_{bkg}=\{(s_i,e_i)\}_{i=1}^M,
P=Pact+Pbkg={(si,ei)}i=1M,(3)其中
M
=
M
1
+
M
2
M=M_1+M_2
M=M1+M2。注意在推理期间,仅使用动作提案
P
a
c
t
P_{act}
Pact。
2.2 提案特征提取和分类
给定提案 P P P,已有的S-MIL方案使用CAS来计算每个提案的置信分数,例如外内分数 (outer-inner score)。然而,这种间接评分方法将导致次优结果。对此,我们在视频级标签的监督下,直接对候选提案分类,并将它们汇聚为视频级分类分数。
2.2.1 周围对比特征提取
输入提案 P P P,首先提取相应的提案特征 X P ∈ R M × D \mathbf{X}_P\in\mathbb{R}^{M\times D} XP∈RM×D。因为训练阶段仅有视频级标签引导,模型将促使使用具有辨别性的短提案来最小化分类损失。对此,提出了一个周围对比特征特征 (SCFE) 模块。
给定一个候选提案
P
i
=
(
s
i
,
e
i
)
P_i=(s_i,e_i)
Pi=(si,ei),首先将提案在左右两侧分别延长其长度的
α
\alpha
α倍,得到三个区域:左、内、右。对于每个区域,使用后接max-pooling的RoIAlign在
X
S
\mathbf{X}_S
XS上提取
D
D
D维特征向量,分别表示为
X
i
l
\mathbf{X}_i^l
Xil、
X
i
n
\mathbf{X}_i^n
Xin,以及
X
i
r
\mathbf{X}_i^r
Xir。一个直观地操作是直接拼接这三个特征并将其传递给全连接层。然后,受AutoLoc启发,我们使用一个更高效的方法来计算外内对比特征:
X
i
=
F
C
(
C
a
t
(
X
i
n
−
X
.
X
i
n
,
X
i
n
−
X
i
r
)
)
,
(4)
\tag{4} \mathbf{X}_i=FC(Cat(\mathbf{X}_i^n-\mathbf{X}.\mathbf{X}_i^n,X_i^n-\mathbf{X}_i^r)),
Xi=FC(Cat(Xin−X.Xin,Xin−Xir)),(4)其中Cat表示拼接操作。通过考虑周围信息,辨别性短提案将被有效抑制。
2.2.2 分类头
与S-MIL类似,给定提案特征 X P \mathbf{X}_P XP,一个类别无关注意力分支用于获取注意力权重 A ∈ R M × 1 \mathbf{A}\in\mathbb{R}^{M\times1} A∈RM×1,其表示每个提案的前景概率。此外,一个分类分支被用于计算提案的基础分类分数 S b a s e ∈ R M × ( C + 1 ) \mathbf{S}_{base}\in\mathbb{R}^{M\times(C+1)} Sbase∈RM×(C+1)。通过乘以 A \mathbf{A} A,获得背景抑制分类分数 S s u p p ∈ R M × ( C + 1 ) \mathbf{S}_{supp}\in\mathbb{R}^{M\times(C+1)} Ssupp∈RM×(C+1)。最终得到视频级分类分数 y ^ b a s e , \hat{\boldsymbol{y}}_{base}, y^base, y ^ s u p p ∈ R C + 1 \hat{\boldsymbol{y}}_{supp}\in\mathbb{R}^{C+1} y^supp∈RC+1。
2.3 提案微调
2.3.1 提案完备性评估
通过S-MIL方法获得的候选提案可能过于完备,这将包含一些不相关的背景片段。对此,提出了提案完备性评估 (PCE) 模块。对于候选提案,使用注意力权重来选择高置信度提案作为伪实例,然后通过计算这些伪实例的联合交集 (IoU) 来获取每个提案的完备性伪标签:
- 首先使用阈值 λ ⋅ max ( A ) \lambda\cdot\max(\mathbf{A}) λ⋅max(A)来选择高置信度提案的集合 Q Q Q;
- 采用非极大值抑制 (NMS) 方法,选择具有最高注意力权重的提案作为伪实例。如果该实例在 Q Q Q中存在,则去除 Q Q Q中的同样提案,直至 Q Q Q为空;
- 获得伪实例集 G = { ( s i , e i ) } i = 1 N G=\{ (s_i,e_i) \}_{i=1}^N G={(si,ei)}i=1N;
- 计算候选提案 P P P和伪实例 G G G的IoU,得到 M × N M\times N M×N的IoU矩阵;
- 在 N N N所在维度上,使用最大的IoU作为提案的伪标签,最终得到完备性伪标签 q ∈ R M \boldsymbol{q}\in\mathbb{R}^M q∈RM;
- 基于 q \boldsymbol{q} q,一个和注意力与分类分支平级的完备性分支被引入,用于计算完备性分数 q ^ ∈ R M \hat{\boldsymbol{q}}\in\mathbb{R}^M q^∈RM,这将有助于抑制低质量提案的活性。
2.3.2 实例级秩一致性
在测试阶段的NMS过程中,属于同一动作实例的候选提案的相对分数对检测结果有显着影响。为了习得健壮性相对分数,设计了一个实例级秩一致性 (IRC) 损失来利用RGB和FLOW模式之间的互补性:
- 首先使用阈值 m e a n ( A ) mean(\mathbf{A}) mean(A)来消除低置信度提案,保留的提案表示为 R R R;
- 对于 R R R中的每个提案 r r r,那些与它重叠的候选提案被认为是一个簇 Ω r \Omega_r Ωr,其中 ∣ ω r ∣ = N r |\omega_r|=N_r ∣ωr∣=Nr;
- 对应于簇的分类分数 S b a s e \mathbf{S}_{base} Sbase分别通过RGB和FLOW模式索引,记为 p r , c R G B p_{r,c}^{RGB} pr,cRGB和 p r , c F L O W p_{r,c}^{FLOW} pr,cFLOW,其中 c c c表示第 c c c个真实类别;
- 簇内的标准化相对分数记为:
D r , c ∗ = softmax ( p r , c ∗ ) , ∀ ∗ ∈ { R G B , F L O W } . (5) \tag{5} D^*_{r,c}=\text{softmax}(p^*_{r,c}),\forall*\in\{ RGB,FLOW \}. Dr,c∗=softmax(pr,c∗),∀∗∈{RGB,FLOW}.(5) - KL散度用于约束RGB和FLOW模式之间的一致性:
L I R C = 1 ∣ R ∣ ∑ r ∈ R ( KL ( D r , c F L O W ∥ D r , c R G B ) + KL ( D r , c R G B ∥ D r , c F L O W ) ) , KL ( D r , c t ∥ D r , c s ) = − ∑ i = 1 N r D r , c t ( i ) log D r , c s ( i ) D r , c t ( i ) (6–7) \tag{6--7} \begin{aligned} \mathcal{L}_{I R C}=\frac{1}{|R|} \sum_{r \in R} & \left(\operatorname{KL}\left(D_{r, c}^{F L O W} \| D_{r, c}^{R G B}\right)\right. \\ & \left.+\operatorname{KL}\left(D_{r, c}^{R G B} \| D_{r, c}^{F L O W}\right)\right), \\ \operatorname{KL}\left(D_{r, c}^t \| D_{r, c}^s\right)= & -\sum_{i=1}^{N_r} D_{r, c}^t(i) \log \frac{D_{r, c}^s(i)}{D_{r, c}^t(i)} \end{aligned} LIRC=∣R∣1r∈R∑KL(Dr,ct∥Dr,cs)=(KL(Dr,cFLOW∥Dr,cRGB)+KL(Dr,cRGB∥Dr,cFLOW)),−i=1∑NrDr,ct(i)logDr,ct(i)Dr,cs(i)(6–7)利用IRC损失,我们可以抛弃低相关分数的提案,以实现可信检测。
2.4 网络训练和推理
2.4.1 网络训练
在训练阶段,损失函数定义为公式1。此外,在PCE模块,完备性损失定义为完备性伪标签
q
\boldsymbol{q}
q和预测的完备性分数
q
^
\hat{\boldsymbol{q}}
q^之间的均方误差 (MSE):
L
c
o
m
p
=
1
M
∑
i
=
1
M
(
q
(
i
)
−
q
^
(
i
)
)
2
.
(9)
\tag{9} \mathcal{L}_{comp}=\frac{1}{M}\sum_{i=1}^M(\boldsymbol{q}(i)-\hat{\boldsymbol{q}}(i))^2.
Lcomp=M1i=1∑M(q(i)−q^(i))2.(9)综上,模型的训练目标为:
L
t
o
t
a
l
=
L
c
l
s
+
λ
c
o
m
p
L
c
o
m
p
+
λ
I
R
C
L
I
R
C
,
(10)
\tag{10} \mathcal{L}_{total}=\mathcal{L}_{cls}+\lambda_{comp}\mathcal{L}_{comp}+\lambda_{IRC}\mathcal{L}_{IRC},
Ltotal=Lcls+λcompLcomp+λIRCLIRC,(10)其中
λ
\lambda
λ是平衡参数。
2.4.2推理
在测试阶段,首先在视频级分类分数
y
^
s
u
p
p
\hat{\boldsymbol{y}}_{supp}
y^supp使用阈值
θ
c
l
s
\theta_{cls}
θcls,以抛弃低于
θ
c
l
s
\theta_{cls}
θcls的类别。对于余下的类别
c
c
c,第
i
i
i个提案的得分记为:
s
(
i
)
=
S
s
u
p
p
(
i
,
c
)
∗
q
^
(
i
)
.
(11)
\tag{11} \boldsymbol{s}(i)=\boldsymbol{S}_{supp}(i,c)*\hat{\boldsymbol{q}}(i).
s(i)=Ssupp(i,c)∗q^(i).(11)最后,使用按类别soft-NMS去除重复提案。
3 实验
3.1 数据集即评估标准
3.1.1 数据集:
- THUMOS14:包含来自20个类别的200验证视频和213个测试视频。基于已有工作,验证视频将作为训练集;
- ActivityNet:包含ActivityNet1.2和ActivityNet1.3两个版本,分别包含100类9682个视频和200类19994个视频。训练集、验证集、测试集的比例分别为2:1:1。基于已有工作,验证集用于评估而不使用测试集。
3.1.2 评估标准
定位性能通过在不同IoU阈值下的平均精度 (mAP) 来评估。
3.2 实现细节
3.2.1 网络架构
- 特征提取器:Kinetics-400上训练的I3D网络,提取每个片段为1024维向量;
- 光流帧:TV-L1算法从RGB帧上提取;
- 类别无关注意力分支:后接sigmoid函数的两个全连接层;
- 完备性分支:与类别无关注意力分支类似;
- 分类分支:两个全连接层。
3.2.2 超参数设置
- 优化器:Adam,器学习率为 5 × 1 0 − 5 5\times10^{-5} 5×10−5;
- 批次:10;
- 扩展率 α \alpha α:0.25;
- RoI大小:左、内、右区域大小分别为2、8、2;
- 损失权重: λ c o m p = 20 \lambda_{comp=20} λcomp=20、 λ I R C = 2 \lambda_{IRC}=2 λIRC=2;
- 时间可变参数:早期的注意力权重缺乏可行度,因此损失权重乘以一个时间可变参数,其将被逐步增加至1;
- 阈值: θ a c t = [ 0.1 : 0.1 : 0.9 ] \theta_{act}=[0.1:0.1:0.9] θact=[0.1:0.1:0.9]、 θ b k g = [ 0.3 : 0.2 : 0.7 ] \theta_{bkg}=[0.3:0.2:0.7] θbkg=[0.3:0.2:0.7]、 θ c l s = 0.2 \theta_{cls}=0.2 θcls=0.2。