名称:提案多示例学习 (proposal-based multiple instance learning, P-MIL)
背景:弱监督时间动作定位,即仅在视频级标签下定位和识别未修剪视频中的动作。不考虑实例级标签时,已有方法大多使用基于片段的多示例 (S-MIL) 框架。
问题:
算法:提出P-MIL算法以处理以上问题,其同时在训练和测试阶段直接分类候选提案,包含以下三个关键点:
数据集:
代码:https://github.com/RenHuan1999/CVPR2023_P-MIL
本节主要介绍用于弱监督时间动作定位 (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的的三个关键步骤:
为了生成候选提案,需要训练一个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。
给定提案 P P P,已有的S-MIL方案使用CAS来计算每个提案的置信分数,例如外内分数 (outer-inner score)。然而,这种间接评分方法将导致次优结果。对此,我们在视频级标签的监督下,直接对候选提案分类,并将它们汇聚为视频级分类分数。
输入提案 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表示拼接操作。通过考虑周围信息,辨别性短提案将被有效抑制。
与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。
通过S-MIL方法获得的候选提案可能过于完备,这将包含一些不相关的背景片段。对此,提出了提案完备性评估 (PCE) 模块。对于候选提案,使用注意力权重来选择高置信度提案作为伪实例,然后通过计算这些伪实例的联合交集 (IoU) 来获取每个提案的完备性伪标签:
在测试阶段的NMS过程中,属于同一动作实例的候选提案的相对分数对检测结果有显着影响。为了习得健壮性相对分数,设计了一个实例级秩一致性 (IRC) 损失来利用RGB和FLOW模式之间的互补性:
在训练阶段,损失函数定义为公式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 λ是平衡参数。
在测试阶段,首先在视频级分类分数 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去除重复提案。
定位性能通过在不同IoU阈值下的平均精度 (mAP) 来评估。