ECO: Efficient Convolution Operators for Tracking
这篇论文是 visual track 领域大牛 Martin Danelljan 继 C-COT 之后的又一个优秀作品,值得一读。
论文地址:http://openaccess.thecvf.com/content_cvpr_2017/papers/Danelljan_ECO_Efficient_Convolution_CVPR_2017_paper.pdf
Abstract
近年来,基于 Discriminative Correlation Filter(DCF) 的方法极大地提升了目标跟踪领域 state-of-the-art 的结果。但是,随着追踪性能的提升,它们的速度和实时性在不断地下降。而且,模型变得越来越复杂,参数越来越多,导致了严重的过拟合。这篇论文要解决的就是计算复杂度过高和过拟合的问题,希望既能提升速度,也能提升性能。
作者再次研究了DCF,并介绍了:
因式分解的卷积算子(factorized convolution operator),极大地降低模型的参数个数;
一个紧凑的生成模型,满足训练样本分布,极大地降低内存和时间复杂度,但能提供更好的样本多样性;
一个模型更新策略,能提升鲁棒性,降低复杂度。
作者在四个 benchmarks 上进行了充分的实验,VOT2016, UAV123, OTB-2015, Template-Color。当我们使用计算成本昂贵的深度特征时,与 VOT2016 挑战赛中的顶尖方法比较,本文的跟踪器能提供加速20倍,在 Expected Average Overlap 上获得了 13% 的提升。而且,跟踪器的另一个变体的速度很快,它使用人工选择的特征,利用单个 60Hz 的 CPU,在 OTB-2015 上能获得 65.0% 的AUC。
1. Introduction
视觉追踪是计算机视觉领域最基本的任务。只给定目标的初始状态,在一系列的图片中估计目标的轨迹。在众多的实时视觉应用中,online 视觉追踪扮演着重要的角色,如智能监控系统,自动驾驶,交通管控,人机接口等。在实时的视觉系统中,完美的跟踪器应该是精确的,鲁棒的,尽管有着各种计算上的限制。
近些年,基于 DCF 的方法不断地在提升追踪 benchmarks 上的准确率和鲁棒性。基于 DCF 的方法之所以能带来性能的提升,主要是使用了多维特征,鲁棒的比例预估(scale estimation),非线性核,long-term memory components, 高效的学习模型,以及降低边界的影响 。但是,它们带来了准确率,却牺牲了追踪速度。例如,MOSSE tracker 比排名最高的 DCF tracker — (C-COT) 要快1000倍,但是只能获得一半的准确率。
DCF 的性能提升主要是因为特征强大,学习模型高效。这导致了模型很大,需要上千个训练参数,这么复杂的模型也有可能造成过拟合。
1.1 Motivation
作者在 DCF 跟踪器中,找到了3个造成计算复杂度增加和过拟合的关键因素:
模型大小: 加入了高维度特征导致模型参数个数的急剧上升,经常会超过输入图片的维度。例如在训练过程中, C-COT 会持续更新约80万个参数。这么高维度的参数空间很容易导致过拟合。而且,它会带来计算复杂度上升,降低追踪速度。
训练集大小: 因为依赖于迭代优化算法,State of art 的 DCF 方法都需要存储一个很大的训练样本集。但是实际中,内存资源是有限的,尤其是使用高维度特征时。常见手法是丢弃时间久的样本,以保持合理的内存占用。但是,这会造成模型对最近出现的变化过拟合,导致模型漂移 (model drift,如图一)。而且,大训练集合会增加计算成本。
模型更新: 大多数 DCF 方法都使用一个连续的学习方式,在每一帧都需要更新模型。但是,最近的工作显示,Siamese 网络不需要更新模型,也能表现出优异的效果。作者认为,DCF中连续更新模型的策略对突然的变化,如比例变动, 变形, 平面外的旋转都非常敏感和过度反应 。这导致了追踪速度的下降,以及鲁棒性的下降。
1.2 Contributions
针对以上 DCF 跟踪器存在的问题,作者提出了一个新的方法。首先,提出了因式分解卷积算子(factorized convolution operator),降低 DCF 模型中参数个数。第二个贡献,提出了一个简洁的样本空间内的生成模型,降低训练样本数量。最后,介绍了一个高效的模型更新策略,同时改进追踪速度和鲁棒性 。
实验表明与基线网络比较,本文方法能降低 80% 的模型参数个数,90% 的训练样本,以及 80% 的优化迭代次数。作者进一步提出了一个快速版本的跟踪器,在 CPU 上速度能达到 60 FPS,可以用于计算资源受限的平台。
2. Baseline Approach: C-COT
作者使用Continuous Convolution Operator Tracker (C-COT) 作为基线模型。C-COT 模型在 VOT2016 上获得了 state of art 的成绩。与标准的 DCF 不同,Danelljan 将滤波器的学习问题放置于一个连续的空间域内。这有两个好处:
可以将不同分辨率的特征图自然地整合起来,在连续域内进行卷积操作;它可以灵活地,独立地选取每个视觉特征 cell 大小 (resolution),而不需要显式地再采样。
目标的预测得分通过连续函数直接获取,能够精准地定位子网格。
作者简单地描述了下 C-COT 的构成。C-COT 基于一个包含
M
M
M 个训练样本的集合
{
x
j
}
1
M
⊂
χ
\{x_j\}^M_1 \subset \chi
{ x j } 1 M ⊂ χ ,学习卷积滤波器。与标准 DCF 不同,每个特征层
x
j
d
∈
R
N
d
x_j^d \in \mathbb{R}^{N_d}
x j d ∈ R N d 都有个单独的分辨率
N
d
N_d
N d 。通过引入一个插值模型,特征图被转移到一个连续空间域
t
∈
[
0
,
T
]
t\in [0,T]
t ∈ [ 0 , T ] ,这个插值模型
J
d
J_d
J d 如下:
J
d
{
x
d
}
(
t
)
=
∑
n
=
0
N
d
−
1
x
d
[
n
]
b
d
(
t
−
T
N
d
n
)
J_d \{x^d\}(t) = \sum_{n=0}^{N_d - 1} x^d [n]b_d (t-\frac{T}{N_d} n)
J d { x d } ( t ) = n = 0 ∑ N d − 1 x d [ n ] b d ( t − N d T n )
d
d
d 是通道,
b
d
b_d
b d 是插值核,其周期是
T
>
0
T>0
T > 0 。
J
d
{
x
d
}
J_d \{x^d\}
J d { x d } 是插入的特征层,它是一个连续的
T
−
周
期
T-周期
T − 周 期 函数。用
J
{
x
}
J\{x\}
J { x } 表示整个插入的特征图,
J
{
x
}
(
t
)
∈
R
D
.
J\{x\}(t)\in \mathbb{R}^D.
J { x } ( t ) ∈ R D .
在 C-COT中,训练一个连续的
T
−
周
期
T-周期
T − 周 期 多通道卷积滤波器
f
=
(
f
1
,
⋯
 
,
f
D
)
f=(f^1,\cdots,f^D)
f = ( f 1 , ⋯ , f D ) 来预测检测结果的得分
S
f
{
x
}
(
t
)
S_f\{x\}(t)
S f { x } ( t )
S
f
{
x
}
=
f
∗
J
{
x
}
=
∑
d
=
1
D
f
d
∗
J
d
{
x
d
}
(
2
)
S_f\{x\} = f \ast J\{x\} = \sum_{d=1}^D f^d \ast J_d\{x^d\} \quad \quad \quad (2)
S f { x } = f ∗ J { x } = d = 1 ∑ D f d ∗ J d { x d } ( 2 )
得分定义于特征图 (
x
∈
χ
x\in \chi
x ∈ χ ) 上对应的图片区域
t
∈
[
0
,
T
]
t\in[0,T]
t ∈ [ 0 , T ] 。在 (2) 中,单通道
T
−
周
期
T-周期
T − 周 期 函数的卷积定义如下:
f
⋅
g
(
t
)
=
1
T
∫
0
T
f
(
t
−
τ
)
g
(
τ
)
d
τ
f\cdot g(t) = \frac{1}{T} \int_0^T f(t-\tau)g(\tau) {\rm d}\tau
f ⋅ g ( t ) = T 1 ∫ 0 T f ( t − τ ) g ( τ ) d τ
多通道卷积
f
⋅
J
{
x
}
f\cdot J\{x\}
f ⋅ J { x } 通过将所有通道的结果加起来得到,如 (2) 中定义。通过最小化下方目标函数 来学习滤波器:
E
(
f
)
=
∑
j
=
1
M
α
j
∣
∣
S
f
{
x
j
}
−
y
j
∣
∣
L
2
2
+
∑
d
=
1
D
∣
∣
ω
f
d
∣
∣
L
2
2
(
3
)
E(f) = \sum_{j=1}^M \alpha_j ||S_f\{x_j\} - y_j||^2_{L^2} + \sum_{d=1}^D ||\omega f^d||^2_{L^2} \quad \quad \quad (3)
E ( f ) = j = 1 ∑ M α j ∣ ∣ S f { x j } − y j ∣ ∣ L 2 2 + d = 1 ∑ D ∣ ∣ ω f d ∣ ∣ L 2 2 ( 3 )
y
j
y_j
y j 是
x
j
x_j
x j 样本的标注好的检测得分。第一项 — 数据项由加权了的分类误差构成,由
L
2
−
n
o
r
m
L^2-norm
L 2 − n o r m 表示,
α
j
≥
0
\alpha_j\geq 0
α j ≥ 0 是样本
x
j
x_j
x j 的权重,
∣
∣
g
∣
∣
L
2
2
=
1
T
∫
0
T
∣
g
(
t
)
∣
2
d
t
||g||^2_{L^2} = \frac{1}{T} \int_0^T |g(t)|^2 {\rm d}t
∣ ∣ g ∣ ∣ L 2 2 = T 1 ∫ 0 T ∣ g ( t ) ∣ 2 d t
正则项 — 第二项加入了空间惩罚
ω
\omega
ω 来弥补周期假设的缺陷。
与之前的 DCF 方法一样,通过改成傅里叶,我们能得到了一个更简单的优化问题:
E
(
f
)
=
∑
j
=
1
M
α
j
∣
∣
S
f
{
x
j
}
^
−
y
^
j
∣
∣
l
2
2
+
∑
d
=
1
D
∣
∣
w
^
f
^
d
∣
∣
l
2
2
(
4
)
E(f) = \sum_{j=1}^M \alpha_j ||\widehat {S_f\{x_j\}} - \hat y_j||^2_{l^2} + \sum_{d=1}^D ||\hat w \hat f^d||^2_{l^2} \quad \quad \quad (4)
E ( f ) = j = 1 ∑ M α j ∣ ∣ S f { x j }
− y ^ j ∣ ∣ l 2 2 + d = 1 ∑ D ∣ ∣ w ^ f ^ d ∣ ∣ l 2 2 ( 4 )
这里,
T
−
周
期
T-周期
T − 周 期 函数
g
g
g 的
g
^
\hat g
g ^ 表示傅里叶级数的系数
g
^
[
k
]
=
1
T
∫
0
T
g
(
t
)
e
−
i
2
π
T
k
t
d
t
\hat g[k] = \frac{1}{T} \int_0^T g(t)e^{-i \frac{2\pi}{T}kt} {\rm d}t
g ^ [ k ] = T 1 ∫ 0 T g ( t ) e − i T 2 π k t d t
l
2
−
n
o
r
m
l^2-norm
l 2 − n o r m 定义为:
∣
∣
g
^
∣
∣
l
2
2
=
∑
−
∞
+
∞
∣
g
^
[
k
]
∣
2
||\hat g||^2_{l^2} = \sum_{-\infin}^{+\infin} |\hat g[k]|^2
∣ ∣ g ^ ∣ ∣ l 2 2 = − ∞ ∑ + ∞ ∣ g ^ [ k ] ∣ 2
等式 (2) 中的检测得分
S
f
{
x
}
S_f\{x\}
S f { x } 的傅里叶系数如下:
S
f
{
x
}
^
=
∑
d
=
1
D
f
^
d
X
d
b
^
d
\widehat {S_f\{x\}} = \sum_{d=1}^D \hat f^d X^d \hat b_d
S f { x }
= d = 1 ∑ D f ^ d X d b ^ d
X
d
X^d
X d 是
x
d
x^d
x d 的离散傅里叶变换。
在实际操作中,滤波器
f
d
f^d
f d 被假定拥有有限多个非零的傅里叶系数
{
f
^
d
[
k
]
}
−
K
d
K
d
,
K
d
=
⌊
N
d
2
⌋
\{\hat f^d[k]\}^{K_d}_{-K_d}, K_d=\lfloor \frac{N_d}{2} \rfloor
{ f ^ d [ k ] } − K d K d , K d = ⌊ 2 N d ⌋ 。等式 (4) 就变成了一个 quadratic problem,通过解决下方等式来优化:
(
A
H
Γ
A
+
W
H
W
)
f
^
=
A
H
Γ
y
^
(
5
)
(A^H \Gamma A + W^H W)\hat f = A^H\Gamma \hat y \quad\quad\quad (5)
( A H Γ A + W H W ) f ^ = A H Γ y ^ ( 5 )
这里,
f
^
\hat f
f ^ 和
y
^
\hat y
y ^ 分别是
f
d
f^d
f d 和
y
j
y_j
y j 的傅里叶系数。矩阵
A
A
A 有着稀疏的结构,对角线方块包含
X
j
d
[
k
]
b
^
d
[
k
]
X^d_j[k]\hat b_d[k]
X j d [ k ] b ^ d [ k ] 样子的元素。进一步,
Γ
\Gamma
Γ 是权值
α
j
\alpha_j
α j 的对角矩阵,
W
W
W 是卷积矩阵,卷积核是
w
^
[
k
]
\hat w[k]
w ^ [ k ] 。C-COT 使用共轭梯度方法迭代式地解决问题,它能有效地利用该问题的稀疏结构。
3. Our Approach
作者通过一系列方法来解决 DCF 中存在的问题,提升性能和速度。
Robust learning :由于训练数据有限,等式 (3) 中大量的参数优化会造成过拟合。作者引入了一个 因式分解卷积 (factorized convolution formulation) 来缓解此问题。这个策略能降低深度特征中 80% 的模型参数,并能增加追踪准确性。而且作者提出了一个 满足样本分布的简洁的生成模型 ,提升数据的多样性,而不需要存储大量的数据集。最终,作者探索了模型更新策略,并总结出,较少频率的更新滤波器能稳定住训练 ,使追踪更加的鲁棒。
计算复杂度 :在基于优化的 DCF 跟踪器中,学习阶段是算力上的瓶颈。计算复杂度可表示为
O
(
N
C
G
D
M
K
‾
)
2
\Omicron(N_{CG}DM \overline K)^2
O ( N C G D M K ) 2 ,其中
N
C
G
N_{CG}
N C G 是共轭梯度迭代的次数,
K
‾
=
1
D
∑
d
K
d
\overline K=\frac{1}{D}\sum_d K_d
K = D 1 ∑ d K d 是每个滤波器通道中的平均傅里叶系数的个数。作者在下面的章节中分别提出方法来降低
D
,
M
,
N
C
G
D,M,N_{CG}
D , M , N C G 。
3.1 Factorized Convolution Operator
首先介绍了一个分解卷积的方法,目的是降低模型中参数的个数。作者发现在 C-COT 中, 滤波器
f
d
f^d
f d 中的很多个都存在可忽略的 “energy”,在高维度深度特征中尤其明显,如图2。
这些滤波器对目标定位几乎不产生任何作用,但会影响训练时间。与对每个特征通道
d
d
d 学习一个单独的滤波器不同,我们用一个较小的集合,由基础滤波器 (
f
1
,
⋯
 
,
f
C
,
C
<
D
f^1, \cdots,f^C, C<D
f 1 , ⋯ , f C , C < D ) 组成。对于特征层
d
d
d 的滤波器,将之构建为一个由
f
c
f^c
f c 和一个系数集合
p
d
,
c
p_{d,c}
p d , c 的线性组合,
∑
c
=
1
C
p
d
,
c
f
c
\sum_{c=1}^C p_{d,c} f^c
∑ c = 1 C p d , c f c 。系数可以被紧凑地表示为一个
D
×
C
D\times C
D × C 的矩阵
P
=
(
p
d
,
c
)
P=(p_{d,c})
P = ( p d , c ) 。新的多通道滤波器可以被写成矩阵-向量乘积
P
f
Pf
P f 。因式分解的卷积算子如下表示:
S
P
f
{
x
}
=
P
f
⋅
J
{
x
}
=
∑
c
,
d
p
d
,
c
f
c
⋅
J
d
{
x
d
}
=
f
⋅
P
T
J
{
x
}
.
(
6
)
S_{Pf}\{x\} = Pf \cdot J\{x\} = \sum_{c,d}p_{d,c}f^c \cdot J_d \{x^d\} = f\cdot P^TJ\{x\}.\quad\quad\quad (6)
S P f { x } = P f ⋅ J { x } = c , d ∑ p d , c f c ⋅ J d { x d } = f ⋅ P T J { x } . ( 6 )
该等式遵循了卷积的线性要求。(6)式中的卷积分解可被看作一个双阶段操作,首先在位置
t
t
t 的特征向量
J
{
x
}
(
t
)
J\{x\}(t)
J { x } ( t ) 乘以矩阵
P
T
P^T
P T 。然后
C
−
维
C-维
C − 维 特征图与滤波器
f
f
f 进行卷积。矩阵
P
T
P^T
P T 与论文 “Adaptive color attributes for real-time visual tracking” 中的线性降维算子类似,主要区别是我们是共同地学习滤波器
f
f
f 和矩阵
P
P
P ,最小化(3)式中的分类损失函数。
为了简洁性,我们只在单个样本
x
x
x 上考虑学习(6)中的分解算子。用
z
^
d
[
k
]
=
X
d
[
k
]
b
^
d
[
k
]
\hat z^d[k]=X^d[k] \hat b_d [k]
z ^ d [ k ] = X d [ k ] b ^ d [ k ] 来表示插值后的特征图
z
=
J
{
x
}
z=J\{x\}
z = J { x } 的傅里叶系数。傅里叶域中对应的损失函数 (4) 则变成:
E
(
f
,
P
)
=
∣
∣
z
^
T
P
f
^
−
y
^
∣
∣
l
2
2
+
∑
c
=
1
C
∣
∣
ω
^
∗
f
^
c
∣
∣
l
2
2
+
λ
∣
∣
P
∣
∣
F
2
(
7
)
E(f,P) = ||\hat z^T P \hat f - \hat y||^2_{l^2} + \sum_{c=1}^C ||\hat \omega \ast \hat f^c||^2_{l^2} + \lambda ||P||_F^2 \quad\quad\quad (7)
E ( f , P ) = ∣ ∣ z ^ T P f ^ − y ^ ∣ ∣ l 2 2 + c = 1 ∑ C ∣ ∣ ω ^ ∗ f ^ c ∣ ∣ l 2 2 + λ ∣ ∣ P ∣ ∣ F 2 ( 7 )
这里,我们增加了
P
P
P 的 Frobenius 范数,作为正则化,用权值参数
λ
\lambda
λ 控制。
和(4)中原来的方程不同,新的损失函数(7)是非线性最小二乘问题。由于参数太多和我们要求的 online 更新,主流的优化策略都没法用于该问题上,如交替最小二乘法 (alternating least squares)。相反,我们使用了 Gauss-Newton 以及共轭梯度方法来优化这个二次问题。在 Gauss-Newton 方法中,我们用一阶泰勒级数展开,线性化(7)式中的余项。这就对应着在当前位置
(
f
^
i
,
P
i
)
(\hat f_i, P_i)
( f ^ i , P i ) 处,去近似
z
^
T
P
f
^
\hat z^T P \hat f
z ^ T P f ^ :
z
^
T
(
P
i
+
Δ
P
)
(
f
^
i
+
Δ
f
^
)
≈
z
^
T
P
i
f
^
i
,
Δ
+
z
^
T
Δ
P
f
^
i
=
z
^
T
P
i
f
^
i
,
Δ
+
(
f
^
i
⊗
z
^
)
T
v
e
c
(
Δ
P
)
.
(
8
)
\hat z^T (P_i + \Delta P)(\hat f_i + \Delta \hat f) \approx \hat z^T P_i \hat f_{i,\Delta} + \hat z^T \Delta P \hat f_i = \hat z^T P_i \hat f_{i,\Delta} + (\hat f_i \otimes \hat z)^T vec(\Delta P). \quad \quad \quad (8)
z ^ T ( P i + Δ P ) ( f ^ i + Δ f ^ ) ≈ z ^ T P i f ^ i , Δ + z ^ T Δ P f ^ i = z ^ T P i f ^ i , Δ + ( f ^ i ⊗ z ^ ) T v e c ( Δ P ) . ( 8 )
这里,我们设
f
^
i
,
Δ
=
f
^
i
+
Δ
f
^
\hat f_{i,\Delta} = \hat f_i + \Delta \hat f
f ^ i , Δ = f ^ i + Δ f ^ 。Kronecker product
⊗
\otimes
⊗ 用于向量化
Δ
P
\Delta P
Δ P 。
在第
i
i
i 次迭代时,可用一阶近似(8)式替换(7)式:
E
~
(
f
^
i
,
Δ
,
Δ
P
)
=
∥
z
^
T
P
i
f
^
i
,
Δ
+
(
f
^
i
⊗
z
^
)
T
v
e
c
(
Δ
P
)
−
y
^
∥
l
2
2
+
∑
c
=
1
C
∥
ω
^
∗
f
^
i
,
Δ
c
∥
l
2
2
+
μ
∥
P
i
+
Δ
P
∥
F
2
(
9
)
\tilde E(\hat f_{i,\Delta},\Delta P) = \left \| \hat z^T P_i \hat f_{i,\Delta} + (\hat f_i \otimes \hat z)^T vec(\Delta P) - \hat y\right \| ^2_{l^2} + \sum_{c=1}^C \left \| \hat \omega \ast \hat f_{i,\Delta}^c\right \| ^2_{l^2} + \mu \left \| P_i + \Delta P\right \| ^2_F\quad\quad\quad (9)
E ~ ( f ^ i , Δ , Δ P ) = ∥ ∥ ∥ z ^ T P i f ^ i , Δ + ( f ^ i ⊗ z ^ ) T v e c ( Δ P ) − y ^ ∥ ∥ ∥ l 2 2 + c = 1 ∑ C ∥ ∥ ∥ ω ^ ∗ f ^ i , Δ c ∥ ∥ ∥ l 2 2 + μ ∥ P i + Δ P ∥ F 2 ( 9 )
因为滤波器
f
f
f 只能有有限个非零傅里叶系数,等式 (9) 就成了线性的最小二乘问题。对应的等式和(5)部分类似,除了要有一个部分对应矩阵增量
Δ
P
\Delta P
Δ P 。我们使用共轭梯度方法来优化每个 Gauss-Newton 子问题,来获得新的滤波器
f
^
i
,
Δ
∗
\hat f^*_{i,\Delta}
f ^ i , Δ ∗ 以及矩阵增量
Δ
P
∗
\Delta P^*
Δ P ∗ 。滤波器和矩阵然后用
f
^
i
+
1
=
f
^
i
,
Δ
∗
\hat f_{i+1} = \hat f^*_{i,\Delta}
f ^ i + 1 = f ^ i , Δ ∗ 和
P
i
+
1
=
P
i
+
Δ
P
∗
P_{i+1}=P_i + \Delta P^*
P i + 1 = P i + Δ P ∗ 来更新。
分解卷积操作的主要目的是降低跟踪器的时间和空间复杂度。由于滤波器的自适应能力,矩阵
P
P
P 可以从第一帧开始学习。这有两层含义,首先,只有特征图
P
T
J
{
x
j
}
P^T J\{x_j\}
P T J { x j } 需要内存空间,节省了很多的内存。其次,滤波器可以利用
P
T
J
{
x
j
}
P^T J\{x_j\}
P T J { x j } 在随后的每一帧中更新参数。这将特征维度
D
D
D 里的线性复杂度降低至滤波器维度
C
,
i
.
e
.
O
(
N
C
G
C
M
K
ˉ
)
C, i.e. O(N_{CG}CM \bar K)
C , i . e . O ( N C G C M K ˉ ) 。
3.2 生成样本空间模型
我们提出了一个紧凑的样本集生成模型,它能避免前面提到的需要存储大量的最近训练的样本的问题。大多数的 DCF 追踪器,如 SRDCF 和 C-COT,在每一帧
j
j
j 增加一个训练样本
x
j
x_j
x j 。权值通常以指数级进行退火,
α
j
∼
(
1
−
γ
)
M
−
j
\alpha_j \sim (1-\gamma)^{M-j}
α j ∼ ( 1 − γ ) M − j ,通过学习率
γ
\gamma
γ 控制。如果样本数达到了上限
M
m
a
x
M_{max}
M m a x ,最小权值
α
j
\alpha_j
α j 的样本就会被替换掉。但是,这个方法需要一个很大的样本上限
M
m
a
x
M_{max}
M m a x 来足够地代表该样本集。
我们观察到,在每一帧都收集一个新样本会导致样本集的冗余,如图3所示。传统的采样策略(底端行)用相似的样本
x
j
x_j
x j 生成整个训练集,它们包含的信息几乎是一样的。相反,我们提出使用概率生成模型,它可以获取足够精炼的样本信息,去除了冗余成分,并增强多样性。
我们的方法基于样本特征图
x
x
x 和相应的期望输出得分
y
y
y 之间的联合概率分布
p
(
x
,
y
)
p(x,y)
p ( x , y ) 。给定
p
(
x
,
y
)
p(x,y)
p ( x , y ) ,直觉上,目标函数应该是去找到一个滤波器,它能最小化期望关联误差。我们替换(3)式为:
E
(
f
)
=
E
{
∥
S
f
{
x
}
−
y
∥
L
2
2
}
+
∑
d
=
1
D
∥
ω
f
d
∥
L
2
2
(
10
)
E(f) = \mathbb{E} \{\left \| S_f\{x\} - y\right\|^2_{L^2} \} + \sum_{d=1}^D \left \| \omega f^d \right \|^2_{L^2} \quad\quad\quad(10)
E ( f ) = E { ∥ S f { x } − y ∥ L 2 2 } + d = 1 ∑ D ∥ ∥ ω f d ∥ ∥ L 2 2 ( 1 0 )
期望
E
\mathbb{E}
E 在联合样本分布
p
(
x
,
y
)
p(x,y)
p ( x , y ) 上进行评价。记住原来的损失函数(3)是一个特例,通过估计样本的分布
p
(
x
,
y
)
=
∑
j
=
1
M
α
j
δ
x
j
,
y
j
(
x
,
y
)
p(x,y) = \sum_{j=1}^M \alpha_j \delta_{x_j, y_j}(x,y)
p ( x , y ) = ∑ j = 1 M α j δ x j , y j ( x , y ) 计算,
δ
x
j
,
y
j
\delta_{x_j,y_j}
δ x j , y j 表示在训练样本
(
x
j
,
y
j
)
(x_j,y_j)
( x j , y j ) 处的 Dirac impulse。而在这里,我们提出了一个更加紧凑的,满足样本分布
p
(
x
,
y
)
p(x,y)
p ( x , y ) 的模型,进而更加高效地趋近(10)中的期望损失。
我们观察到,样本
x
x
x 的期望关联输出
y
y
y 的形状是预先决定好了的,在这就是高斯函数。它和(3)式中的标签函数
y
j
y_j
y j 唯一的不同就是进行了 translation,这样 peak 和目标中心位置就对齐了。这种对齐方式和平移特征图
x
x
x 是等价的。我们因此可以假设目标位于图像区域的中心,所有的
y
=
y
0
y=y_0
y = y 0 都是一样的。这样样本分布可以被分解为
p
(
x
,
y
)
=
p
(
x
)
δ
y
0
(
y
)
p(x,y) = p(x) \delta_{y_0} (y)
p ( x , y ) = p ( x ) δ y 0 ( y ) ,我们只需估计
p
(
x
)
p(x)
p ( x ) 。为此,我们使用高斯混合模型(GMM),
p
(
x
)
=
∑
l
=
1
L
π
l
N
(
x
;
μ
l
;
I
)
p(x) = \sum_{l=1}^L \pi_l N(x;\mu_l; I)
p ( x ) = ∑ l = 1 L π l N ( x ; μ l ; I ) 。
L
L
L 是高斯函数
N
(
x
;
μ
l
;
I
)
N(x;\mu_l; I)
N ( x ; μ l ; I ) components 的个数;
π
l
\pi_l
π l 是 component
l
l
l 的先验权重,
μ
l
∈
χ
\mu_l \in \chi
μ l ∈ χ 是它的均值。协方差矩阵设为单位矩阵
I
I
I ,避免在高维样本空间中进行推理的成本过高。
对于 GMM 的更新,我们使用简化版本的 online 算法。给定一个新样本
x
j
x_j
x j ,我们首先初始化一个新的 component
m
,
π
m
=
γ
,
μ
m
=
x
j
m, \pi_m = \gamma, \mu_m = x_j
m , π m = γ , μ m = x j 。如果 components 的个数大于上限
L
L
L ,我们就简化 GMM。如果一个 component 的权值
π
l
\pi_l
π l 小于某阈值,我们就去掉它。否则,我们合并两个最接近的 components
k
k
k 和
l
l
l ,组成一个 common component
n
n
n :
π
n
=
π
k
+
π
l
,
μ
n
=
π
k
μ
k
+
π
l
μ
l
π
k
+
π
l
(
11
)
\pi_n = \pi_k + \pi_l, \quad \quad \quad \mu_n = \frac{\pi_k \mu_k + \pi_l \mu_l}{\pi_k+\pi_l}\quad \quad \quad (11)
π n = π k + π l , μ n = π k + π l π k μ k + π l μ l ( 1 1 )
距离
∥
μ
k
−
μ
l
∥
\left \| \mu_k - \mu_l \right \|
∥ μ k − μ l ∥ 是在傅里叶域中利用 Parseval’s 公式计算。最终,(10)中的期望损失函数由下式近似表示:
E
(
f
)
=
∑
l
=
1
L
π
l
∥
S
f
{
μ
l
}
−
y
0
∥
L
2
2
+
∑
d
=
1
D
∥
ω
f
d
∥
L
2
2
(
12
)
E(f) = \sum_{l=1}^L \pi_l \left\| S_f\{\mu_l\} - y_0 \right \|^2_{L^2} + \sum_{d=1}^D \left \| \omega f^d \right \|^2_{L^2} \quad\quad\quad(12)
E ( f ) = l = 1 ∑ L π l ∥ S f { μ l } − y 0 ∥ L 2 2 + d = 1 ∑ D ∥ ∥ ω f d ∥ ∥ L 2 2 ( 1 2 )
注意,高斯均值
μ
l
\mu_l
μ l 和先验权值
π
l
\pi_l
π l 直接替换(3)式中的
x
j
x_j
x j 和
α
j
\alpha_j
α j 。
与(3)相比,(12)最主要的不同就是样本个数从
M
M
M 降至
L
L
L 。在实验中,我们证明在还能提升精度的情况下,components 的个数
L
L
L 可以被设为
M
8
\frac{M}{8}
8 M 。此样本分布模型
p
(
x
,
y
)
p(x,y)
p ( x , y ) 与3.1节中的分解卷积合起来用,通过将样本
x
x
x 替换为映射后的
P
T
J
x
P^T J x
P T J x 。该映射不会影响我们的方程,因为矩阵
P
P
P 在第一帧后就是个常量。
3.3 模型更新策略
DCF 中的传统方法是在每一帧都更新模型。在C-COT中,这就意味着在每个新样本添加进来后,迭代解决(5)来达到优化的目的。基于 DCF 的迭代优化方法会利用连续帧之间损失函数逐渐变化这一性质。但是,在每一帧都更新滤波器会在算力上带来严重的负担。
所以,我们提出了一个稀疏的更新方案,它在非-DCF 追踪器的操作中是很常见的。直觉告诉我们,只有当量变积累到一定程度时,优化过程才可以开始。但是,找到这样的条件是很困难的。而且在实践中,评价基于损失梯度(3)的优化条件,成本是很高的。我们因此不直接去识别那些变动,而每
N
s
t
h
N_sth
N s t h 个帧才开始优化过程,更新滤波器。
N
s
N_s
N s 决定滤波器更新的频率,
N
s
=
1
N_s=1
N s = 1 就是每一帧都更新滤波器。每隔
N
s
N_s
N s 个帧,我们就执行
N
C
G
N_{CG}
N C G 个共轭梯度迭代,来优化模型。最后,每一帧的 CG 迭代次数降低到了
N
C
G
/
N
S
N_{CG}/N_S
N C G / N S ,极大地降低了计算的复杂度。
我们注意到,
N
S
≈
5
N_S \approx 5
N S ≈ 5 通常就可以提升追踪结果。这主要是因为对最近训练的样本的过拟合下降了。我们将模型的更新延后了几帧,通过往训练样本中增加一个新的 mini-batch 来更新损失函数,而不是像之前一样只增加一个样本。这能稳定住学习过程,尤其当新的样本受到突然变化影响的时候,如平面外旋转,变形,遮挡等。