基于不确定性估计的弱监督动作定位背景建模论文笔记
Background Modeling via Uncertainty Estimation for Weakly-supervised Action Localization
3 Method
3.1 Main pipeline
3.1.1 Feature extraction.
由于内存限制,我们首先将每个视频分割成多帧不重叠的片段, v n = { s n , l } l = 1 L n v_{n}=\left\{s_{n, l}\right\}_{l=1}^{L_{n}} vn={sn,l}l=1Ln,其中 L n {L_{n}} Ln表示第n个视频 v n v_{n} vn中的片段数。为了处理视频长度的巨大变化,从每个原始视频中采样一个fixednumberofT片段{属于 { s ~ n , t } t = 1 T \left\{\tilde{s}_{n, t}\right\}_{t=1}^{T} {s~n,t}t=1T。然后分别从采样后的RGB和flow段提取时空特征 x n , t R G B ∈ R D x_{n, t}^{\mathrm{RGB}} \in \mathbb{R}^{D} xn,tRGB∈RD和 x n , t flow ∈ R D x_{n, t}^{\text {flow }} \in \mathbb{R}^{D} xn,tflow ∈RD。请注意,可以使用任何特征提取器。然后,我们将RGB特征和flow特征拼接成完整的特征向量 x n , t ∈ R 2 D x_{n, t} \in \mathbb{R}^{2 D} xn,t∈R2D,然后对其进行堆叠,构建长度为t的特征映射,即 X n = [ x n , 1 , … , x n , T ] ∈ R 2 D × T X_{n}=\left[x_{n, 1}, \ldots, x_{n, T}\right] \in \mathbb{R}^{2 D \times T} Xn=[xn,1,…,xn,T]∈R2D×T。
3.1.2 Feature embedding.
为了嵌入提取的特征,我们将它们放入一个单一的1维卷积层,然后进行ReLU激活。形式化地, F n = g embed ( X n ; ϕ embed ) F_{n}=g_{\text {embed }}\left(X_{n} ; \phi_{\text {embed }}\right) Fn=gembed (Xn;ϕembed ),其中 g embed g_{\text {embed }} gembed 为带有激活函数的卷积算子, ϕ embed \phi_{\text {embed }} ϕembed 为卷积层的可学习参数。具体而言,嵌入特征的维数与输入特征的维数相同,即 F n = [ f n , 1 , … , f n , T ] ∈ R 2 D × T F_{n}=\left[f_{n, 1}, \ldots, f_{n, T}\right] \in \mathbb{R}^{2 D \times T} Fn=[fn,1,…,fn,T]∈R2D×T。
3.1.3 Segment-level classification.
根据嵌入的特征,我们预测分段级的类分数,这些分数随后用于动作定位。对于第n个视频vn,类分数由动作分类器派生,即 A n = g c l s ( F n ; ϕ c l s ) \mathcal{A}_{n}=g_{\mathrm{cls}}\left(F_{n} ; \phi_{\mathrm{cls}}\right) An=gcls(Fn;ϕcls),其中 g c l s g_{\mathrm{cls}} gcls表示参数 ϕ c l s \phi_{\mathrm{cls}} ϕcls的线性分类器, A n ∈ R C × T \mathcal{A}_{n} \in \mathbb{R}^{C \times T} An∈RC×T为分段级动作分数,C为动作类的个数。
3.1.4 Action score aggregation.
采用多实例学习,我们将每个动作类的所有部分的
k
act
k^{\text {act }}
kact 得分汇总起来,并将其取平均值,以构建一个视频级别的类得分:
a
c
(
v
n
)
=
1
k
act
max
A
^
n
;
c
⊂
A
n
[
c
,
:
]
∑
∣
A
^
n
;
c
∣
=
k
a
c
t
∑
∀
a
∈
A
^
n
;
c
a
a_{c}\left(v_{n}\right)=\frac{1}{k^{\text {act }}} \max _{\hat{\mathcal{A}}_{n ; c} \subset \mathcal{A}_{n}[c,:]} \sum_{\left|\hat{\mathcal{A}}_{n ; c}\right|=k^{\mathrm{act}}} \sum_{\forall a \in \hat{\mathcal{A}}_{n ; c}} a
ac(vn)=kact 1A^n;c⊂An[c,:]max∣A^n;c∣=kact∑∀a∈A^n;c∑a
其中
A
^
n
;
c
\hat{\mathcal{A}}_{n ; c}
A^n;c是包含类c的
k
act
k^{\text {act }}
kact 行为分数的子集,
k
act
k^{\text {act }}
kact 是控制聚合段数量的超参数。
随后,我们通过将softmax函数应用于总分数,获得每个行动类的视频级行动概率:
p
c
(
v
n
)
=
exp
(
a
c
(
v
n
)
)
∑
c
′
=
1
C
exp
(
a
c
′
(
v
n
)
)
p_{c}\left(v_{n}\right)=\frac{\exp \left(a_{c}\left(v_{n}\right)\right)}{\sum_{c^{\prime}=1}^{C} \exp \left(a_{c^{\prime}}\left(v_{n}\right)\right)}
pc(vn)=∑c′=1Cexp(ac′(vn))exp(ac(vn))
其中
p
c
(
v
n
)
p_{c}\left(v_{n}\right)
pc(vn)表示第n个视频的第c个动作的softmax分数。
3.2 Considering background as out-of-distribution
3.2.1 Decomposition of action localization.
从主管道中,我们得到了每个片段的动作概率,但没有仔细考虑动作定位的重要组成部分,即背景识别。考虑到背景帧的不约束和不一致性,我们将背景视为out- distribution。考虑到segment
s
~
n
,
t
\tilde{s}_{n, t}
s~n,t类标识的概率,利用链式规则将其分解为分布行为分类和背景识别两部分。设d∈{0,1}为背景识别变量。如果segment属于任何action类,则设d = 1,否则d = 0(属于background)。然后,标识符
s
~
n
,
t
\tilde{s}_{n, t}
s~n,t的c类后验概率为:
P
(
y
n
,
t
=
c
∣
s
~
n
,
t
)
=
P
(
y
n
,
t
=
c
,
d
=
1
∣
s
~
n
,
t
)
=
P
(
y
n
,
t
=
c
∣
d
=
1
,
s
~
n
,
t
)
P
(
d
=
1
∣
s
~
n
,
t
)
,
\begin{aligned} P\left(y_{n, t}=c \mid \tilde{s}_{n, t}\right) &=P\left(y_{n, t}=c, d=1 \mid \tilde{s}_{n, t}\right) \\ &=P\left(y_{n, t}=c \mid d=1, \tilde{s}_{n, t}\right) P\left(d=1 \mid \tilde{s}_{n, t}\right), \end{aligned}
P(yn,t=c∣s~n,t)=P(yn,t=c,d=1∣s~n,t)=P(yn,t=c∣d=1,s~n,t)P(d=1∣s~n,t),
其中
y
n
,
t
y_{n, t}
yn,t为对应段落的标签,即如果标识
s
~
n
,
t
\tilde{s}_{n, t}
s~n,t属于第c个动作类,则
y
n
,
t
y_{n, t}
yn,t= c,
y
n
,
t
y_{n, t}
yn,t= 0为背景段落。
3.2.2 Uncertainty modeling.
在Eq. 3中,分布中的动作分类的概率,即
P
(
y
n
,
t
=
c
∣
d
=
1
,
s
~
n
,
t
)
P\left(y_{n, t}=c \mid d=1, \tilde{s}_{n, t}\right)
P(yn,t=c∣d=1,s~n,t),与一般分类任务中的softmax函数一样进行估计。此外,有必要建模一个片段属于任何行动类,即
P
(
d
=
1
∣
s
~
n
,
t
)
P\left(d=1 \mid \tilde{s}_{n, t}\right)
P(d=1∣s~n,t),以解决背景识别问题。假设背景帧对所有动作类都产生较低的分数,我们用特征向量的大小来建模不确定性,即背景特征的大小较小,而动作特征的大小较大。那么第n个视频
s
~
n
,
t
\tilde{s}_{n, t}
s~n,t中的第t段为动作段的概率定义为:
P
(
d
=
1
∣
s
~
n
,
t
)
=
min
(
m
,
∥
f
n
,
t
∥
)
m
P\left(d=1 \mid \tilde{s}_{n, t}\right)=\frac{\min \left(m,\left\|f_{n, t}\right\|\right)}{m}
P(d=1∣s~n,t)=mmin(m,∥fn,t∥)
其中
f
n
,
t
f_{n, t}
fn,t是对应的特征向量
s
~
n
,
t
\tilde{s}_{n, t}
s~n,t,
∥
⋅
∥
\|\cdot\|
∥⋅∥是范数函数(这里我们使用L-2范数),m是预定义的最大特征幅。由式可知,可以保证概率在0 ~ 1之间,即
0
≤
P
(
d
=
1
∣
s
~
n
,
t
)
≤
1
0 \leq P\left(d=1 \mid \tilde{s}_{n, t}\right) \leq 1
0≤P(d=1∣s~n,t)≤1。
3.2.3 Multiple instance learning.
为了仅通过视频级别标签来学习不确定性,我们借用了多实例学习的概念,其中一个模型是用一个包(即未修剪的视频)来训练的,而不是用实例(即片段)。在这样的设置下,我们根据特征大小选择最上面的 k act k^{\text {act }} kact segments,将其作为伪动作片段 { s ~ n , i ∣ i ∈ S a c t } \left\{\tilde{s}_{n, i} \mid i \in \mathcal{S}^{\mathrm{act}}\right\} {s~n,i∣i∈Sact},其中 S a c t \mathcal{S}^{\mathrm{act}} Sact表示伪动作指标集。同时,将底部的kbkgsegment作为伪背景segment { s ~ n , j ∣ j ∈ S b k g } \left\{\tilde{s}_{n, j} \mid j \in \mathcal{S}^{\mathrm{bkg}}\right\} {s~n,j∣j∈Sbkg},其中 S bkg \mathcal{S}^{\text {bkg }} Sbkg 为伪背景指标集。 S a c t \mathcal{S}^{\mathrm{act}} Sact和 S bkg \mathcal{S}^{\text {bkg }} Sbkg 分别表示为动作和背景采样的段数。然后,伪动作/背景片段作为输入的未裁剪视频的代表,用于训练带有视频级标签的模型。
3.3 Training objectives
我们的模型优化和三个损失:1)视频级分类损失
L
c
l
s
\mathcal{L}_{\mathrm{cls}}
Lclsfor动作分类的每个输入视频,2)建模的不确定性损失
L
u
m
\mathcal{L}_{\mathrm{um}}
Lum操纵动作和背景特征向量的大小识别为背景,和3)背景熵损失
L
b
e
\mathcal{L}_{\mathrm{be}}
Lbe防止背景段从高概率的action类。总的损失函数如下:
L
total
=
L
c
l
s
+
α
L
u
m
+
β
L
b
e
\mathcal{L}_{\text {total }}=\mathcal{L}_{\mathrm{cls}}+\alpha \mathcal{L}_{\mathrm{um}}+\beta \mathcal{L}_{\mathrm{be}}
Ltotal =Lcls+αLum+βLbe
3.3.1 Video-level classification loss.
对于多标签动作分类,我们使用带有归一化视频级标签的二进制交叉熵损失,如下所示:
L
c
l
s
=
1
N
∑
∑
−
y
n
;
c
log
p
c
(
v
n
)
\mathcal{L}_{\mathrm{cls}}=\frac{1}{N} \sum \sum-y_{n ; c} \log p_{c}\left(v_{n}\right)
Lcls=N1∑∑−yn;clogpc(vn)
其中
p
c
(
v
n
)
p_{c}\left(v_{n}\right)
pc(vn)表示第n个视频的第c类(式2)的视频级softmax分数,
y
n
;
c
y_{n ; c}
yn;c表示第n个视频的第c类的归一化视频级标签。
3.3.2 Uncertainty modeling loss.
为了学习不确定性,我们训练模型生成伪动作片段的大幅度特征向量,伪背景片段的小幅度特征向量,如图2 (a)所示。形式上,不确定性建模损失的形式为:
L
u
m
=
1
N
∑
n
=
1
(
max
(
0
,
m
−
∥
f
n
a
c
t
∥
)
+
∥
f
n
b
k
g
∥
)
2
\mathcal{L}_{\mathrm{um}}=\frac{1}{N} \sum_{n=1}\left(\max \left(0, m-\left\|f_{n}^{\mathrm{act}}\right\|\right)+\left\|f_{n}^{\mathrm{bkg}}\right\|\right)^{2}
Lum=N1n=1∑(max(0,m−∥∥fnact∥∥)+∥∥fnbkg∥∥)2
其中,
f
n
act
=
1
k
act
∑
i
∈
S
act
f
n
,
i
f_{n}^{\text {act }}=\frac{1}{k^{\text {act }}} \sum_{i \in \mathcal{S}_{\text {act }}} f_{n, i}
fnact =kact 1∑i∈Sact fn,i 和
f
n
b
k
g
=
1
k
b
k
g
∑
j
∈
S
b
k
g
f
n
,
j
f_{n}^{\mathrm{bkg}}=\frac{1}{k^{\mathrm{bkg}}} \sum_{j \in \mathcal{S}^{\mathrm{bkg}}} f_{n, j}
fnbkg=kbkg1∑j∈Sbkgfn,j,分别是第n个视频的伪动作和背景段的平均特征。
∥
⋅
∥
\|\cdot\|
∥⋅∥为范数函数,m为预定义的最大特征量,与式4相同。
3.3.3 Background entropy loss.
尽管不确定性建模损失鼓励背景片段为所有动作产生低分数,但由于softmax函数的相对性,一些动作类的softmax分数可能会很高。防止背景段高softmax得分对任何操作类,我们定义了一个损失函数最大化熵的概率的背景部分,也就是说,背景部分被迫为action类均匀概率分布描述在背景图2 (b)。熵损失计算如下:
L
b
e
=
1
N
C
∑
n
=
1
N
∑
c
=
1
C
−
log
(
p
c
(
s
~
n
b
k
g
)
)
\mathcal{L}_{\mathrm{be}}=\frac{1}{N C} \sum_{n=1}^{N} \sum_{c=1}^{C}-\log \left(p_{c}\left(\tilde{s}_{n}^{\mathrm{bkg}}\right)\right)
Lbe=NC1n=1∑Nc=1∑C−log(pc(s~nbkg))
其中
p
c
(
s
~
n
b
k
g
)
=
1
k
bkg
∑
j
∈
S
bkg
p
c
(
s
~
n
,
j
)
p_{c}\left(\tilde{s}_{n}^{\mathrm{bkg}}\right)=\frac{1}{k^{\text {bkg }}} \sum_{j \in \mathcal{S}^{\text {bkg }}} p_{c}\left(\tilde{s}_{n, j}\right)
pc(s~nbkg)=kbkg 1∑j∈Sbkg pc(s~n,j)是伪背景段的第c类标识的平均作用概率.