您现在的位置是:首页 >其他 >论文阅读 (90):Proposal-based Multiple Instance Learning (P-MIL, 2023CVPR)网站首页其他

论文阅读 (90):Proposal-based Multiple Instance Learning (P-MIL, 2023CVPR)

因吉 2024-09-11 00:01:02
简介论文阅读 (90):Proposal-based Multiple Instance Learning (P-MIL, 2023CVPR)

1 要点

1.1 概述

  • 名称提案多示例学习 (proposal-based multiple instance learning, P-MIL)

  • 背景:弱监督时间动作定位,即仅在视频级标签下定位和识别未修剪视频中的动作。不考虑实例级标签时,已有方法大多使用基于片段的多示例 (S-MIL) 框架。

  • 问题

    1. 如图1(a)所示,测试阶段的目的是将动作提案作为一个整体并打分,而在训练阶段,分类器被训练为给多个片段打分,这样的不一致性将导致次优结果;
    2. 如图1(b)所示,仅通过一个奔跑片段是很难对其归类的,只有通过观察整个动作实例,且使用上下文信息才能判断其具体的归属。
图1:S-MIL的缺点:a) 训练和测试阶段的目标不一致;b) 只观察红色方框中的单一片段时,难以判断其所属类别
  • 算法:提出P-MIL算法以处理以上问题,其同时在训练和测试阶段直接分类候选提案,包含以下三个关键点:

    1. 周围对比特征提取模块 (SCFE):提取有辨别性的短提案
    2. 提案完备性评估模块 (PCE):利用完备性伪标签抑制低质量提案的产生
    3. 实例秩一致性损失 (IRC):利用RGB和FLOW的互补性实验最终预测
  • 数据集

    1. THUMOS14
    2. ActivityNet
  • 代码https://github.com/RenHuan1999/CVPR2023_P-MIL

1.2 一些概念

  • 提案 (proposal):包括可能的动作序列和背景序列,分别称为动作提案和背景提案。

1.3 主要步骤

  1. 输入RGB视频帧,使用TV-L1将其转换为FLOW帧;
  2. 利用I3D将RGB和FLOW转换为多个特征向量;
  3. 训练S-MIL模型,分别从RGB特征和FLOW中生成提案;
  4. 利用提案和特征向量,生成外内对比特征;
  5. 基于提案获取视频级分类分数;
  6. 使用提案完备性评估获取完备性伪标签和预测的完备性分数;
  7. 训练时,使用实例级秩一致性损失促使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 oldsymbol{y}inmathbb{R}^C yRC,其中 C C C是动作类别的数量。 y ( j ) = 1 y(j)=1 y(j)=1表示视频中包含当前动作, y ( j ) = 0 y(j)=0 y(j)=0则反之。接下来分别介绍P-MIL的的三个关键步骤:

  1. 候选提案生成;
  2. 提案特征提取和分类;
  3. 提案微调。
图2:(a) P-MIL总体架构,包括候选提案生成、提案特征提取、提案分类以及微调;(b) 周围对比特征提取 (SCFE) 模块:扩展候选提案的边界,然后计算候选提案的外内对比特征;(c) 提案完备性评估 (PCE) 模块:通过计算与所选伪实例的联合交集 (IoU) 来生成完备性伪标签;以及 (d) 实例级秩一致性 (IRC) 损失:增强RGB和FLOW模式之间簇内归一化相对分数之间的一致性。

2.1 候选提案生成

为了生成候选提案,需要训练一个S-MIL模型。首先,每个视频被划分为多个不相交的16帧片段,然后使用预训练特征提取器,例如I3D提取RGB和FLOW模式的片段特征 X S ∈ R T × D mathbf{X}_Sinmathbb{R}^{T imes D} XSRT×D,其中 T T T表示视频中的片段数量, D D D表示特征维度。与典型的2分支架构一致,一个类别无关注意力分支用于计算注意力序列 A ∈ R T × 1 mathbf{A}inmathbb{R}^{T imes1} ART×1,一个分类分支用于计算基础类别激活序列 (CAS) S b a s e ∈ R T × ( C + 1 ) mathbf{S}_{base}inmathbf{R}^{T imes (C+1)} SbaseRT×(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}inmathbb{R}^{C+1} SsuppRC+1。随后获取视频级分类分数 y ^ b a s e , hat{oldsymbol{y}}_{base}, y^base, y ^ s u p p ∈ R C + 1 hat{oldsymbol{y}}_{supp}inmathbb{R}^{C+1} y^suppRC+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) ag{1} mathcal{L}_{cls}=-sum_{c=1}^{C+1}left( oldsymbol{y}_{base} (c) loghat{oldsymbol{y}}_{base} (c) ight)+left( oldsymbol{y}_{supp} (c) loghat{oldsymbol{y}}_{supp} (c) ight), Lcls=c=1C+1(ybase(c)logy^base(c))+(ysupp(c)logy^supp(c)),(1)其中 y b a s e = [ y , 1 ] ∈ R C + 1 oldsymbol{y}_{base}=[oldsymbol{y},1]inmathbb{R}^{C+1} ybase=[y,1]RC+1 y s u p p = [ y , 0 ] ∈ R C + 1 oldsymbol{y}_{supp}=[oldsymbol{y},0]inmathbb{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=T1t=1TA(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) ag{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 heta_{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 heta_{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 heta_{bkg} θbkg的部分。最终,训练阶段的候选提案记为:
P = P a c t + P b k g = { ( s i , e i ) } i = 1 M , (3) ag{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}_Pinmathbb{R}^{M imes D} XPRM×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) ag{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(XinX.Xin,XinXir)),(4)其中Cat表示拼接操作。通过考虑周围信息,辨别性短提案将被有效抑制。

2.2.2 分类头

与S-MIL类似,给定提案特征 X P mathbf{X}_P XP,一个类别无关注意力分支用于获取注意力权重 A ∈ R M × 1 mathbf{A}inmathbb{R}^{M imes1} ARM×1,其表示每个提案的前景概率。此外,一个分类分支被用于计算提案的基础分类分数 S b a s e ∈ R M × ( C + 1 ) mathbf{S}_{base}inmathbb{R}^{M imes(C+1)} SbaseRM×(C+1)。通过乘以 A mathbf{A} A,获得背景抑制分类分数 S s u p p ∈ R M × ( C + 1 ) mathbf{S}_{supp}inmathbb{R}^{M imes(C+1)} SsuppRM×(C+1)。最终得到视频级分类分数 y ^ b a s e , hat{oldsymbol{y}}_{base}, y^base, y ^ s u p p ∈ R C + 1 hat{oldsymbol{y}}_{supp}inmathbb{R}^{C+1} y^suppRC+1

2.3 提案微调

2.3.1 提案完备性评估

通过S-MIL方法获得的候选提案可能过于完备,这将包含一些不相关的背景片段。对此,提出了提案完备性评估 (PCE) 模块。对于候选提案,使用注意力权重来选择高置信度提案作为伪实例,然后通过计算这些伪实例的联合交集 (IoU) 来获取每个提案的完备性伪标签

  1. 首先使用阈值 λ ⋅ max ⁡ ( A ) lambdacdotmax(mathbf{A}) λmax(A)来选择高置信度提案的集合 Q Q Q
  2. 采用非极大值抑制 (NMS) 方法,选择具有最高注意力权重的提案作为伪实例。如果该实例在 Q Q Q中存在,则去除 Q Q Q中的同样提案,直至 Q Q Q为空;
  3. 获得伪实例集 G = { ( s i , e i ) } i = 1 N G={ (s_i,e_i) }_{i=1}^N G={(si,ei)}i=1N
  4. 计算候选提案 P P P和伪实例 G G G的IoU,得到 M × N M imes N M×N的IoU矩阵;
  5. N N N所在维度上,使用最大的IoU作为提案的伪标签,最终得到完备性伪标签 q ∈ R M oldsymbol{q}inmathbb{R}^M qRM
  6. 基于 q oldsymbol{q} q,一个和注意力与分类分支平级的完备性分支被引入,用于计算完备性分数 q ^ ∈ R M hat{oldsymbol{q}}inmathbb{R}^M q^RM,这将有助于抑制低质量提案的活性。

2.3.2 实例级秩一致性

在测试阶段的NMS过程中,属于同一动作实例的候选提案的相对分数对检测结果有显着影响。为了习得健壮性相对分数,设计了一个实例级秩一致性 (IRC) 损失来利用RGB和FLOW模式之间的互补性:

  1. 首先使用阈值 m e a n ( A ) mean(mathbf{A}) mean(A)来消除低置信度提案,保留的提案表示为 R R R
  2. 对于 R R R中的每个提案 r r r,那些与它重叠的候选提案被认为是一个簇 Ω r Omega_r Ωr,其中 ∣ ω r ∣ = N r |omega_r|=N_r ωr=Nr
  3. 对应于簇的分类分数 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个真实类别;
  4. 簇内的标准化相对分数记为:
    D r , c ∗ = softmax ( p r , c ∗ ) , ∀ ∗ ∈ { R G B , F L O W } . (5) ag{5} D^*_{r,c}= ext{softmax}(p^*_{r,c}),forall*in{ RGB,FLOW }. Dr,c=softmax(pr,c),{RGB,FLOW}.(5)
  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) ag{6--7} egin{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} ight) ight. \ & left.+operatorname{KL}left(D_{r, c}^{R G B} | D_{r, c}^{F L O W} ight) ight), \ operatorname{KL}left(D_{r, c}^t | D_{r, c}^s ight)= & -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=R1rRKL(Dr,ctDr,cs)=(KL(Dr,cFLOWDr,cRGB)+KL(Dr,cRGBDr,cFLOW)),i=1NrDr,ct(i)logDr,ct(i)Dr,cs(i)(6–7)利用IRC损失,我们可以抛弃低相关分数的提案,以实现可信检测。

2.4 网络训练和推理

2.4.1 网络训练

在训练阶段,损失函数定义为公式1。此外,在PCE模块,完备性损失定义为完备性伪标签 q oldsymbol{q} q和预测的完备性分数 q ^ hat{oldsymbol{q}} q^之间的均方误差 (MSE):
L c o m p = 1 M ∑ i = 1 M ( q ( i ) − q ^ ( i ) ) 2 . (9) ag{9} mathcal{L}_{comp}=frac{1}{M}sum_{i=1}^M(oldsymbol{q}(i)-hat{oldsymbol{q}}(i))^2. Lcomp=M1i=1M(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) ag{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{oldsymbol{y}}_{supp} y^supp使用阈值 θ c l s heta_{cls} θcls,以抛弃低于 θ c l s heta_{cls} θcls的类别。对于余下的类别 c c c,第 i i i个提案的得分记为:
s ( i ) = S s u p p ( i , c ) ∗ q ^ ( i ) . (11) ag{11} oldsymbol{s}(i)=oldsymbol{S}_{supp}(i,c)*hat{oldsymbol{q}}(i). s(i)=Ssupp(i,c)q^(i).(11)最后,使用按类别soft-NMS去除重复提案。

3 实验

3.1 数据集即评估标准

3.1.1 数据集:

  1. THUMOS14:包含来自20个类别的200验证视频和213个测试视频。基于已有工作,验证视频将作为训练集;
  2. ActivityNet:包含ActivityNet1.2和ActivityNet1.3两个版本,分别包含100类9682个视频和200类19994个视频。训练集、验证集、测试集的比例分别为2:1:1。基于已有工作,验证集用于评估而不使用测试集。

3.1.2 评估标准

定位性能通过在不同IoU阈值下的平均精度 (mAP) 来评估。

3.2 实现细节

3.2.1 网络架构

  1. 特征提取器:Kinetics-400上训练的I3D网络,提取每个片段为1024维向量;
  2. 光流帧:TV-L1算法从RGB帧上提取;
  3. 类别无关注意力分支:后接sigmoid函数的两个全连接层;
  4. 完备性分支:与类别无关注意力分支类似;
  5. 分类分支:两个全连接层。

3.2.2 超参数设置

  1. 优化器:Adam,器学习率为 5 × 1 0 − 5 5 imes10^{-5} 5×105
  2. 批次:10;
  3. 扩展率 α alpha α:0.25;
  4. RoI大小:左、内、右区域大小分别为2、8、2;
  5. 损失权重: λ c o m p = 20 lambda_{comp=20} λcomp=20 λ I R C = 2 lambda_{IRC}=2 λIRC=2
  6. 时间可变参数:早期的注意力权重缺乏可行度,因此损失权重乘以一个时间可变参数,其将被逐步增加至1;
  7. 阈值: θ a c t = [ 0.1 : 0.1 : 0.9 ] heta_{act}=[0.1:0.1:0.9] θact=[0.1:0.1:0.9] θ b k g = [ 0.3 : 0.2 : 0.7 ] heta_{bkg}=[0.3:0.2:0.7] θbkg=[0.3:0.2:0.7] θ c l s = 0.2 heta_{cls}=0.2 θcls=0.2
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。