赞
踩
目前对端到端可训练的计算机视觉系统的努力给视觉跟踪的任务带来了重大挑战。与大多数其他视觉问题相比,跟踪需要在推理阶段在线学习一个健壮的目标特定的外观模型。为了实现端到端可训练,因此目标模型的在线学习需要嵌入到跟踪体系结构本身中。由于所施加的挑战,流行的孪生(原文为Siamese,常规含义为:暹罗的。实际上在跟踪算法中,Siamese是特指了孪生网络)范式只是简单地预测了一个目标特征模板,而在推理过程中忽略了背景外观信息。
我们开发了一种端到端跟踪架构,能够充分利用目标和背景外观信息进行目标模型预测。我们的架构是通过一个有区别的学习损失设计一个专门的优化过程,该过程能够在几次迭代中预测一个强大的模型。本文提出的跟踪器在6个跟踪基准上获得了一个新的最先进的状态,在2018年的VOT上实现了0.440的EAO分数,同时运行的帧率超过40 FPS。这些代码和模型可以在算法源码链接上找到。
一般目标跟踪是在视频序列的每一帧中估计任意目标的状态的任务。在最一般的设置中,目标仅由其在序列中的初始状态来定义。目前大多数方法通过构建目标模型来解决跟踪问题,能够区分目标和背景外观。由于目标特定的信息仅在测试时可用,因此目标模型不能像目标检测任务中一样在帧间训练阶段学习。相反,目标模型必须在推理阶段本身通过利用给定的目标信息来构建。在追求端到端学习解决方案时,视觉跟踪问题的非传统性质带来了重大挑战。
上述问题已被孪生学习范式成功地解决。这些方法首先学习一个特征嵌入,其中两个图像区域之间的相似性是通过一个简单的互相关来计算的。然后,通过找到与目标模板最相似的图像区域来执行跟踪。在这种设置下,目标模型简单地对应于从目标区域提取的模板特征。因此,跟踪器可以很容易地使用标注的图像对进行端到端训练。
尽管最近取得了成功,孪生学习框架却遭受了严重的限制。首先,孪生跟踪器在推断模型时只利用目标外观。这完全忽略了背景外观信息,这对于区分目标和场景中的相似物体至关重要(见图1)。其次,学习到的相似度度量对于离线训练集中没有包含的对象不一定可靠,导致泛化性较差。第三,孪生公式没有提供一个强大的模型更新策略。相反,最先进的方法诉诸于简单的模板平均。与其他最先进的跟踪方法相比,这些限制导致了孪生跟踪网络的鲁棒性较差。
图1 目标对象的置信度图由目标模型提供(红框),使用i)孪生网络方法(中间)和ii)我们的方法(右)获得。以孪生网络的方式预测的模型,只使用目标的外观,很难区分目标和背景中的干扰物。相比之下,我们的模型预测架构也集成了背景外观,提供了优越的鉴别能力。
在这项工作中,我们引入了一种替代的跟踪体系结构,以端到端方式进行训练,它直接解决了上述所有限制。在我们的设计中,我们从已经在最近的追踪器中成功应用的区别性在线学习程序中获得灵感。我们的方法是基于一个目标模型预测网络,该网络是通过应用迭代优化过程的判别学习损失。该架构经过精心设计,以实现有效的端到端训练,同时最大限度地提高预测模型的鉴别能力。
我们的整个跟踪架构和主干特征提取器,使用有标注的跟踪序列,通过最小化未来帧的预测误差训练。我们在7个跟踪基准上进行了全面的实验: VOT2018、LaSOT 、TrackingNet、GOT10k、NFS、OTB-100和UAV123。我们的方法在所有7个数据集上都达到了最先进的结果,同时以超过40 FPS的速度运行。我们还提供了一个广泛的实验对提出的架构进行分析,显示了每个组件的影响。
随着各种方法的发展,通用目标跟踪取得了惊人的进展。近年来,基于孪生网络的方法因其端到端训练能力和高效而受到广泛关注。这个名称来源于孪生网络架构的部署,以便离线学习相似度度量。Bertinetto等人利用全卷积体系结构进行相似度预测,从而获得超过100 FPS的高跟踪速度。Wang等人学习了一种残差注意机制,使跟踪模型适应当前目标。Li等人采用区域建议网络来获得准确的边界盒。
孪生方法的一个关键限制是它们无法将来自背景区域或先前跟踪帧的信息合并到模型预测中。最近的一些尝试旨在解决这些问题,Guo等人学习一个特征变换来处理目标外观变化和抑制背景。Zhu等人的通过在线跟踪过程中从目标模板中减去相应的图像特征来处理背景干扰物。尽管进行了这些尝试,孪生追踪器还没有达到通过使用在线学习的最先进的追踪器所达到的高水平的鲁棒性。与孪生方法相比,另一类追踪器在线学习一个鉴别分类器,以区分目标对象和背景。这些方法可以有效地利用背景信息,从而在多个跟踪基准测试上实现令人印象深刻的鲁棒性。然而,这些方法依赖于更复杂的在线学习程序,不能轻易地在端到端学习框架中制定。因此,这些方法通常局限于从图像分类或手工制作的替代预先训练的深度网络中提取的特征。
最近的一些工作旨在将现有的基于区别性在线学习的跟踪器作为一个神经网络组件,以便从端到端训练中获益。Valmadre等人将相关滤波器(CF)的单样本封闭解集成到一个深度网络中。Yao等人在BACF跟踪器中展开ADMM迭代,在复杂的多阶段训练过程中学习特征提取器和一些跟踪超参数。然而,BACF模型的学习仅限于傅里叶域CF公式的单样本变体,它不能利用多个样本,需要滤波器的特殊线性组合来进行模型自适应。
仅使用少量图像学习预测目标模型的问题与元学习密切相关。一些作品已经开始了这个方向。Bertinetto等人通过元训练一个网络来预测跟踪模型的参数。Choi等人利用元学习器来预测特定于目标的特征空间,以补充用于在孪生跟踪器中估计相似性的一般目标无关特征空间。Park等人开发了一个使用初始目标独立模型的元学习框架,然后使用具有学习步长的梯度下降进行细化。然而,恒定的步长仅适用于模型的快速初始自适应,并且在迭代应用时不能提供最优的收敛性。
在这项工作中,我们开发了一个判别模型预测架构来跟踪。与孪生追踪器一样,我们的方法受益于端到端的训练。然而,与孪生方法不同的是,我们的架构可以充分利用背景信息,并提供了用新数据更新目标模型的自然和强大的方法。我们的模型预测网络有两个主要原则: (i)鉴别学习损失促进学习目标模型的鲁棒性;(ii)一个强大的优化策略,确保快速收敛。通过这样的精心设计,我们的体系结构可以在几次迭代中预测目标模型,而不影响其鉴别能力。
在我们的框架中,目标模型构成了一个卷积层的权值,并提供了目标分类化分数作为输出。我们的模型预测体系结构通过以一组边界框标注的图像样本作为输入来计算这些权值。模型预测器包括一个初始化网络,该网络仅使用目标外观可以有效地提供模型权重的初始估计。然后由优化器模块处理这些权重,同时考虑到目标和背景外观。通过设计,我们的优化器模块拥有很少的可学习的参数,以避免在离线训练过程中对某些类和场景的过拟合。因此,我们的模型预测器可以推广到没有见过的对象,这在一般的对象跟踪中是至关重要的。我们最终的跟踪架构由两个分支组成:一个是目标分类分支(见图2),用于区分目标和背景,另一个是边界盒估计分支,用于预测准确的目标盒。
图2 在我们的跟踪架构中的目标分类分支的概述。给定一个带注释的训练集(左上角),我们使用一个主干网络和附加一个卷积块(Cls Feat)来提取深度特征图。然后将特征映射输入到由初始化器和循环优化器模块组成的模型预测器D。该模型预测器输出卷积层的权值,并对从测试帧中提取的特征图进行目标分类。
在本节中,我们将描述用于推导我们的模型预测架构的判别学习损失。我们的模型预测器
D
D
D的输入由一个由特征提取器网络
F
F
F生成的深度特征
x
j
∈
χ
x_{j}\isin\chi
xj∈χ映射的训练集
S
t
r
a
i
n
=
{
(
x
j
,
c
j
)
}
j
=
1
n
S_{train}=\lbrace{(x_{j},c_{j})\rbrace}_{j=1}^{n}
Strain={(xj,cj)}j=1n组成。每个样本与对应的目标中心坐标
c
j
∈
R
2
c_{j} \isin R^{2}
cj∈R2配对。鉴于这些数据,我们的目标是预测的目标模型
f
=
D
(
S
t
r
a
i
n
)
f=D(S_{train})
f=D(Strain)。模型被定义为在特征空间中负责区分目标和背景外观的卷积层的滤波器权值。我们从今年来取得巨大成功的基于最小平方的跟踪问题的回归中获得灵感。在这项工作中,我们推广了传统的最小二乘损失应用于跟踪在多个方向,允许最终的跟踪网络从数据中学习最优损失。
一般来说,我们考虑一种形式的损失
L
(
f
)
=
1
∣
S
t
r
a
i
n
∣
∑
(
x
,
c
)
∈
S
t
r
a
i
n
∥
r
(
x
∗
f
,
c
)
∥
2
+
∥
λ
f
∥
2
−
−
−
−
−
−
−
−
−
−
−
(
1
)
.
L(f)=\cfrac{1}{|S_{train}|}\sum_{(x,c)\isin S_{train}}\|r(x*f,c)\|^{2}+\|\lambda f\|^2-----------(1).
L(f)=∣Strain∣1(x,c)∈Strain∑∥r(x∗f,c)∥2+∥λf∥2−−−−−−−−−−−(1).
这里,
∗
∗
∗表示卷积,
λ
\lambda
λ为正则化因子。函数
r
(
s
,
c
)
r(s,c)
r(s,c)根据目标置信度分数
s
=
x
∗
f
s=x∗f
s=x∗f和地面真实目标中心坐标
c
c
c计算每个空间位置的残差。最常见的选择是
r
(
s
,
c
)
=
s
−
y
c
r(s,c)=s−y_{c}
r(s,c)=s−yc,其中
y
c
y_{c}
yc是每个位置的期望目标得分,通常设置为以
c
c
c 为中心的高斯函数。然而,简单地取差异会迫使模型将回归所有负样本校准的置信度(通常为0)分数。这需要足够的模型能力,迫使学习专注于负数据样本,而不是获得最好的辨别能力。此外,采用朴素的差异并不能解决目标和背景之间的数据不平衡的问题。
为了缓解后一个数据不平衡的问题,我们使用了一个空间权重函数
v
c
v_{c}
vc。下标
c
c
c表示对目标中心位置的依赖关系,详见第3.4节。为了适应第一个问题,我们按照支持向量机的原理修改了损失。我们在r中使用一个类似铰链的损失,将背景区域的分数裁剪为
m
a
x
(
0
,
s
)
max(0,s)
max(0,s)。因此,该模型可以自由地为背景中容易出现的样本预测较大的负值,而不增加损失。另一方面,对于目标区域,我们发现添加一个类似的铰链损失
m
a
x
(
0
,
1
−
s
)
max(0,1−s)
max(0,1−s)是不利的。虽然乍一看是矛盾的,但这种行为可以归因于目标类和背景类之间的基本不对称,部分原因是由于数值上的不平衡。此外,精确校准的目标置信度确实有利于跟踪场景,例如检测目标损失。因此,我们希望损失函数在目标邻域具有标准最小二乘回归的性质。
为了适应最小二乘回归和铰链损失的优点,我们定义了残差函数,
r
(
s
,
c
)
=
v
c
.
[
m
c
s
+
(
1
−
m
c
)
m
a
x
(
0
,
s
)
−
y
c
]
−
−
−
−
−
−
−
−
−
−
−
(
2
)
.
r(s,c)=v_{c}\ldotp [m_{c}s+(1-m_{c})max(0,s)-y_{c}]-----------(2).
r(s,c)=vc.[mcs+(1−mc)max(0,s)−yc]−−−−−−−−−−−(2).
目标区域由掩模
m
c
m_{c}
mc定义,在每个空间位置
t
∈
R
2
t\isin R^2
t∈R2处具有间隔
m
c
(
t
)
∈
[
0
,
1
]
m_{c} (t)∈[0,1]
mc(t)∈[0,1]中的值。同样,下标
c
c
c表示对目标中心坐标的依赖性。上式中的公式能够根据相对于目标中心
c
c
c的图像位置,连续地改变损失的行为,从标准最小二乘回归到铰链损失。将
m
c
≈
1
m_{c}≈1
mc≈1设置在目标区域,将
m
c
≈
0
m_{c}≈0
mc≈0设置在背景区域,将产生上述期望的行为。然而,如何最优地设置
m
c
m_{c}
mc还不清楚,特别是在目标和背景之间的过渡区域。虽然经典的策略是使用技巧和试错的方式手动设置掩模参数,但我们的端到端公式允许我们以数据驱动的方式学习掩模。事实上,如第3.4节所述,我们的方法学习了损失中的所有自由参数:目标掩模
m
c
m_{c}
mc、空间权重
v
c
v_{c}
vc、正则化因子
λ
\lambda
λ,甚至是回归目标
y
c
y_{c}
yc本身。
在这里,我们推导出网络架构
D
D
D,它通过隐式最小化误差
L
(
f
)
L(f)
L(f)来预测滤波器
f
=
D
(
S
t
r
a
i
n
)
f = D(S_{train})
f=D(Strain)。通过制定一个优化程序来设计该网络。从等式(1)和(2)我们可以很容易地推导出损失
∇
L
∇L
∇L相对于滤波器f的梯度的一个封闭形式的表达式。直接的选择是使用步长
α
α
α的梯度下降如下式:
f
(
i
+
1
)
=
f
(
i
)
−
α
∇
L
(
f
(
i
)
)
−
−
−
−
−
−
−
−
−
−
−
(
3
)
.
f^{(i+1)}=f^{(i)}-α∇L(f^{(i)})-----------(3).
f(i+1)=f(i)−α∇L(f(i))−−−−−−−−−−−(3).
然而,我们发现这种简单的方法是不够的,即使学习率
α
α
α(一个标量或系数特定的)是由网络本身学习的(见第4.1节)。它经历了过滤器参数f的缓慢自适应,需要大量增加迭代次数。这损害了效率,并使离线学习复杂化。
梯度下降的缓慢收敛性很大程度上是由于恒定的步长
α
α
α,它不依赖于数据或当前的模型估计。我们通过推导一个更复杂的优化方法来解决这个问题,只需要少量的迭代来预测一个强鉴别滤波器
f
f
f。其核心思想是基于最陡下降法计算步长
α
α
α,这是一种常用的优化技术。我们首先用当前估计值
f
(
i
)
f ^{(i)}
f(i)处的二次函数来近似损失,
L
(
f
)
≈
L
~
(
f
)
=
1
2
(
f
−
f
(
i
)
)
T
Q
(
i
)
(
f
−
f
(
i
)
)
+
(
(
f
−
f
(
i
)
)
T
∇
L
(
f
(
i
)
)
+
L
(
f
(
i
)
)
−
(
4
)
.
L(f)≈\tilde L(f) = \frac{1}{2}(f-f^{(i)})^TQ^{(i)}(f-f^{(i)})+((f-f^{(i)})^T∇L(f^{(i)})+L(f^{(i)})-(4).
L(f)≈L~(f)=21(f−f(i))TQ(i)(f−f(i))+((f−f(i))T∇L(f(i))+L(f(i))−(4).
在这里,滤波器变量
f
f
f和
f
(
i
)
f^{(i)}
f(i)被视为向量,
Q
(
i
)
Q^{ (i)}
Q(i)是正定的方阵。然后,最陡的下降通过找到步长
α
α
α,使梯度方向(3)上的近似损失(4)最小的步长
α
α
α。.这是通过求解
d
d
α
L
~
(
f
(
i
)
−
α
∇
L
(
f
(
i
)
)
)
=
0
\frac{d}{dα}\tilde L(f^{(i)}-α∇L(f^{(i)}))=0
dαdL~(f(i)−α∇L(f(i)))=0得到如下的表达:
α
=
∇
L
(
f
(
i
)
)
)
T
∇
L
(
f
(
i
)
)
)
∇
L
(
f
(
i
)
)
)
T
Q
(
i
)
∇
L
(
f
(
i
)
)
)
−
−
−
−
−
−
(
5
)
α=\frac{∇L(f^{(i)}))^T∇L(f^{(i)}))}{∇L(f^{(i)}))^TQ^{(i)}∇L(f^{(i)}))}------(5)
α=∇L(f(i)))TQ(i)∇L(f(i)))∇L(f(i)))T∇L(f(i)))−−−−−−(5)
在最陡下降过程中,使用公式(5)来计算滤波器更新(3)的每次迭代中的标量步长
α
α
α。
二次模型(4),以及由此产生的步长(5),取决于
Q
(
i
)
Q^{(i)}
Q(i)的选择。例如,通过使用比例单位矩阵
Q
(
i
)
=
1
β
I
Q^{(i)}=\frac{1}{\beta}I
Q(i)=β1I,我们检索了具有固定步长
α
=
β
α = β
α=β的标准梯度下降算法。另一方面,我们现在可以将二阶信息集成到优化过程中。最明显的选择是将
Q
(
i
)
=
∂
2
L
∂
f
2
(
f
(
i
)
)
Q^{(i)}=\frac {\partial^2L}{\partial f^2}(f^{(i)})
Q(i)=∂f2∂2L(f(i))设置为损失(1)的Hessian矩阵,这对应于(4)的二阶Taylor近似。然而,对于我们的最小二乘公式(1),高斯-牛顿方法提供了一个强大的替代方案,由于它只涉及一阶导数,因此具有显著的计算效益拟合。因此,我们设置了
Q
(
i
)
=
(
J
(
i
)
)
T
J
(
i
)
Q^{(i)}=(J^{(i)})^TJ^{(i)}
Q(i)=(J(i))TJ(i),其中
J
(
i
)
J^{(i)}
J(i)是残差在
f
(
i
)
f^{(i)}
f(i)处的雅可比矩阵。事实上,矩阵
Q
(
i
)
Q^{(i)}
Q(i)或雅可比矩阵
J
(
i
)
J^{(i)}
J(i)都不需要显式地构造,而是作为一个神经网络操作序列来实现。详见补充材料(第S2节)。算法1描述了我们的目标模型预测器
D
D
D。请注意,我们的优化器模块也可以很容易地用于在线模型自适应。这是通过从先前跟踪的帧中使用新的样本不断扩展训练集
S
t
r
a
i
n
S_{train}
Strain应变来实现的。然后将优化器模块应用于这个扩展的训练集,使用当前的目标模型作为初始化
f
(
0
)
f^{(0)}
f(0)。
为了进一步减少 D D D中所需的优化递归的数量,我们引入了一个小的网络模块,用于预测初始模型估计值 f ( 0 ) f^{(0)} f(0)。我们的初始化器网络由一个卷积层和一个精确的ROI池组成。后者从目标区域提取特征,并将其池化到与目标模型f相同的大小。然后对 S t r a i n S_{train} Strain中所有样本的合并特征图进行平均,得到初始模型 f ( 0 ) f^{(0)} f(0)。与孪生追踪器一样,这种方法只利用了目标的外观。然而,我们的初始化器网络并不是预测最终的模型,而是只提供一个合理的初始估计,然后由优化器模块处理以提供最终的模型。
在这里,我们描述了如何学习残差函数(2)中的自由参数,它定义了损失(1)。我们的残差函数包括标签置信度分数
y
c
y_c
yc、空间权重函数
v
c
v_c
vc和目标掩模
m
c
m_c
mc。虽然这些变量在当前基于区别的在线学习跟踪器中是手工构建的,但我们的方法实际上是从数据中学习这些函数。我们根据到目标中心的距离来参数化它们。这是由问题的径向对称性引起的,其中样本位置相对于目标的方向没有什么意义。相比之下,到样本位置的距离起着至关重要的作用,特别是在从目标到背景的过渡过程中。因此,我们使用径向基函数
ρ
k
ρ_k
ρk来参数化
y
c
y_c
yc、
m
c
m_c
mc和
v
c
v_c
vc,并学习它们的系数
ϕ
k
\phi_k
ϕk。例如,在
t
∈
R
2
t \isin R^2
t∈R2位置的标签
y
c
y_c
yc是由下式给出的
y
c
(
t
)
=
∑
k
=
0
N
−
1
ϕ
k
y
ρ
k
(
∥
t
−
c
∥
)
−
−
−
(
6
)
.
y_c(t)=\sum_{k=0}^{N-1}{\phi_{k}^yρ_k(\|t-c\|)}--- (6).
yc(t)=k=0∑N−1ϕkyρk(∥t−c∥)−−−(6).
我们使用三角形基函数
ρ
k
ρ_k
ρk,定义为
ρ
k
(
d
)
=
{
m
a
x
(
0
,
1
−
∣
d
−
k
△
∣
△
)
,
k
<
N
−
1
m
a
x
(
0
,
m
i
n
(
1
,
1
+
d
−
k
△
△
,
k
=
N
−
1
−
−
−
(
7
)
ρ_k(d)=
上述公式对应于一个单位位移为
△
\bigtriangleup
△的连续分段线性函数。请注意,最后一种情况
k
=
N
−
1
k = N−1
k=N−1表示远离目标中心的所有位置,因此可以被相同地处理。我们使用一个小的
△
\bigtriangleup
△来实现在目标-背景转换时准确地表示回归标签。函数
v
c
v_c
vc和
m
c
m_c
mc分别用(6)中的系数
ϕ
k
v
\phi_{k}^v
ϕkv和
ϕ
m
y
\phi_{m}^y
ϕmy进行了类似的参数化。对于目标掩码
m
c
m_c
mc,我们通过一个Sigmoid函数传递来自(6)的输出,将这些值限制为区间
[
0
,
1
]
[0,1]
[0,1]。
我们使用
N
=
100
N = 100
N=100基函数,在深度特征空间
X
X
X的分辨率中将单位位移设置为
△
=
0.1
\bigtriangleup= 0.1
△=0.1。对于离线训练,回归标签
y
c
y_c
yc被初始化为在离线分类损失中使用的相同的高斯
z
c
z_c
zc,详见第3.6节。权值函数
v
c
v_c
vc被初始化为常数
v
c
(
t
)
=
1
v_c (t) = 1
vc(t)=1。最后,我们使用一个缩放的tanh函数初始化目标掩码
m
c
m_c
mc。将系数
ϕ
k
\phi_{k}
ϕk和
λ
λ
λ作为模型预测网络D的一部分进行学习(见第3.6节)。
y
c
y_c
yc、
m
c
m_c
mc和
v
c
v_c
vc的初始值和学习值如图3所示。值得注意的是,我们的网络学会了增加目标中心的权重
v
c
v_c
vc,并在模糊的过渡区减少它。
图3 学习到的回归标签(
y
c
y_c
yc)、目标掩码(
m
c
m_c
mc)和空间权重(
v
c
v_c
vc)的曲线图。这些标记显示了单位距离的位置。每个量的初始化用虚线表示。
我们引入的重叠最大化策略来进行精确的边界盒估计。如果给定一个参考目标的外观,则训练边界框估计分支来预测目标和测试图像上的一组候选框之间的IoU重叠。通过从目标的参考外观计算一个调制向量,将目标信息集成到IoU预测中。计算得到的向量用于调制测试图像的特征,然后用于IoU预测。IoU预测网络是可微的w.r.t.输入框协调(备注:这个w.r.t.没有明白什么含义),允许在跟踪期间通过最大化预测的IoU进行细化。
在这里,我们描述了我们的离线训练程序。在孪生方法中,网络是用图像对进行训练,使用一幅图像来预测目标模板,另一个图像用于评估跟踪器。相比之下,我们的模型预测网络
D
D
D从序列中输入多个数据样本的集合
S
t
r
a
i
n
S_{train}
Strain。为了更好地利用这一优势,我们在集合对
(
M
t
r
a
i
n
,
M
t
e
s
t
)
(M_{train},M_{test})
(Mtrain,Mtest)上训练我们的完整跟踪架构。每个集合
M
=
(
I
j
,
b
j
)
j
=
1
N
f
r
m
e
s
M={(I_j,b_j)}_{j=1}^{N_{frmes}}
M=(Ij,bj)j=1Nfrmes由图像
I
j
I_j
Ij与其对应的目标边界框bj配对组成。利用
M
t
r
a
i
n
M_{train}
Mtrain对目标模型进行预测,然后在测试框架
M
t
e
s
t
M_{test}
Mtest上进行评估。独特的是,我们的训练允许模型预测器D学习如何更好地利用多个样本。这些集合是通过采样序列中一个长度为
T
s
s
T_{ss}
Tss的随机片段来构造的。然后,我们通过分别从该段的前半部分和后半部分采样
N
f
r
m
e
s
N_{frmes}
Nfrmes帧来构建
M
t
r
a
i
n
M_{train}
Mtrain和
M
t
e
s
t
M_{test}
Mtest。
给定这一对
(
M
t
r
a
i
n
,
M
t
e
s
t
)
(M_{train},M_{test})
(Mtrain,Mtest),我们首先通过图像的主干特征提取器,构建目标模型的训练
S
t
r
a
i
n
S_{train}
Strain和测试
S
t
e
s
t
S_{test}
Stest样本。形式上,训练集得到为
S
t
r
a
i
n
=
(
F
(
I
j
)
,
c
j
)
:
(
I
j
,
b
j
)
∈
M
t
r
a
i
n
S_{train}= {(F(I_j),c_j):(I_j,b_j)\isin M_{train}}
Strain=(F(Ij),cj):(Ij,bj)∈Mtrain,其中
c
j
c_j
cj是盒子
b
j
b_j
bj的中心坐标。这是输入到目标预测器
f
=
D
(
S
t
r
a
i
n
)
f=D(S_{train})
f=D(Strain)。其目的是预测一个模型
f
f
f,它是可鉴别的,并且可以很好地推广到未来看不见的框架。因此,我们只用
M
t
e
s
t
M_test
Mtest得到对测试样本
S
t
e
s
t
S_{test}
Stest的预测模型f进行评估。根据第3.1节的讨论,我们使用背景样本的铰链来计算回归误差,
l
(
s
,
z
)
=
{
s
−
z
,
z
>
T
m
a
x
(
0
,
s
)
,
z
≤
T
−
−
−
(
8
)
.
l(s,z)=
在这里,阈值
T
T
T根据标签置信值
z
z
z来定义了目标区域和背景区域。对于目标区域
z
>
T
z > T
z>T,我们取预测的置信分数
s
s
s和标签
z
z
z之间的差值,而我们只惩罚背景
z
≤
T
z≤T
z≤T的正置信值。
总的目标分类损失计算为所有测试样本的均方误差(8)。然而,我们不是只评估最终的目标模型
f
f
f,而是平均了优化器在每次迭代
i
i
i中获得的估计值
f
(
i
)
f ^{(i)}
f(i)的损失(见算法1)。这为目标预测模块引入了中间监督,有利于训练的收敛性。此外,我们的目标并不是要训练特定数量的递归,而是可以自由地在线设置所需的优化递归数量。因此,平等地计算每个迭代
f
(
i
)
f ^{(i)}
f(i)是很自然的。离线训练中使用的目标分类损失为:
L
c
l
s
=
1
N
i
t
e
r
∑
i
=
0
N
i
t
e
r
∑
(
x
,
c
)
∈
S
t
e
s
t
∥
l
(
x
∗
f
(
i
)
,
z
c
∥
2
−
−
−
(
9
)
.
L_{cls}=\frac{1}{N_{iter}}\sum_{i=0}^{N_{iter}} \sum_{(x,c)\isin S_{test}}\|l(x*f^{(i)},z_c\|^2---(9).
Lcls=Niter1i=0∑Niter(x,c)∈Stest∑∥l(x∗f(i),zc∥2−−−(9).
在这里,回归标签
z
c
z_c
zc被设置为一个以目标
c
c
c为中心的高斯函数。请注意,滤波器初始化器(第3.3节)的输出
f
(
0
)
f ^{(0)}
f(0)也包含在上述损失中。虽然没有明确表示以避免杂波,但(9)中的
x
x
x和
f
(
i
)
f ^{(i)}
f(i)都依赖于特征提取网络
f
f
f的参数。模型迭代
f
(
i
)
f ^{(i)}
f(i)另外依赖于模型预测网络
D
D
D中的参数。
对于边界盒估计,我们将训练过程扩展到图像集,计算
M
t
r
a
i
n
M_{train}
Mtrain的第一帧上的调制向量,并从
M
t
e
s
t
M_{test}
Mtest的所有图像中对候选盒进行采样。边界盒估计损失
L
b
b
L_{bb}
Lbb计算为
M
t
e
s
t
M_{test}
Mtest中预测的IoU重叠与地面真实值之间的均方误差。我们通过将其与目标分类损失(9)相结合来训练作为
L
t
o
t
=
β
L
c
l
s
+
L
b
b
L_{tot} = βL_{cls} + L_{bb}
Ltot=βLcls+Lbb的完整跟踪架构。
训练过程的细节:我们使用TrackingNet、LaSOT、GOT10k和COCO数据集的训练分割。主干网络用ImageNet的权值进行初始化。我们通过每个时代采样20,000个视频来训练50个迭代,在一个Nvidia TITAN X GPU上的总训练时间少于24小时。我们使用ADAM,学习速率每隔15个迭代衰减
0.2
0.2
0.2。目标分类损失权重设置为
β
=
1
0
2
β = 10^2
β=102,我们在训练期间在(9)中使用
N
i
t
e
r
=
5
N_{iter} = 5
Niter=5优化器模块递归。
(
M
t
r
a
i
n
,
M
t
e
s
t
)
(M_{train},M_{test})
(Mtrain,Mtest)中的图像序列是通过相对于目标标签的随机平移和比例采样来提取的。我们将基本规模设置为目标规模的5倍,以纳入重要的背景信息。对于每个序列,我们使用
T
s
s
=
60
T_{ss} = 60
Tss=60的段长度来采样
N
f
r
a
m
e
s
=
3
N_{frames}=3
Nframes=3测试和训练帧。标签分数
z
c
z_c
zc使用相对于基本目标大小的
1
/
4
1/4
1/4的标准差来构建,我们使用
T
=
0.05
T = 0.05
T=0.05作为回归误差(8)。我们使用ResNet架构作为骨干。对于模型预测器
D
D
D,我们使用从第三个块中提取的特征,其空间步幅为16。我们将目标模型f的核大小设置为
4
×
4
4×4
4×4。
给定带注释的第一帧,我们采用数据增强策略构建一个包含15个样本的初始训练集 S t r a i n S_{train} Strain。然后利用我们的判别模型预测体系结构 f = D ( S t r a i n ) f=D(S_{train}) f=D(Strain)得到目标模型。对于第一帧,我们在初始化器模块之后使用了10个最陡的下降递归。我们的方法每当目标被预测有足够的可信度,通过添加一个新的训练样本到 S t r a i n S_{train} Strain,允许目标模型轻松地更新。我们通过丢弃最老的样本来确保最大内存大小为50。在跟踪过程中,我们通过每20帧执行两次优化器递归,或在检测到干扰物峰值时进行一次递归来细化目标模型f。边界框估计使用与参考文献中相同的设置来执行。
我们的方法是使用PyTorch用Pytohn实现的,在一个Nvidia GTX 1080 GPU上使用ResNet-18主干,使用ResNet-50运行43 FPS。详细的研究结果见补充材料(第S3-S6节)
在这里,我们对所提出的模型预测架构进行了广泛的分析。实验是在一个包含整个OTB-100、NFS(30 FPS版本)和UAV123数据集的组合数据集上进行的。这个合并的数据集包含323个不同的视频,以便进行彻底的分析。跟踪器使用AUC度量进行评估。由于跟踪器的随机性,我们总是统计了超过5次运行的平均AUC得分。我们使用ResNet-18作为骨干网络进行分析。**优化器模块的影响:**我们比较了我们提出的方法,使用基于最陡下降(SD)的架构,与两种替代方法。**初始化:**在这里,我们只使用初始化器模块来预测最终的目标模型,这对应于在我们的方法中删除优化器模块。因此,与孪生方法相似,模型预测只使用目标外观信息,而背景信息被丢弃。**梯度下降法:**在这种方法中,我们使用(3)中学习到的系数级阶梯次数α的梯度下降(GD)算法来代替最陡下降。所有的网络都使用相同的设置进行训练。该分析的结果如表1所示。
表1 对OTB-100、NFS和UAV123组合数据集上的不同模型预测架构的分析。仅使用目标信息进行模型预测(Init)的架构的AUC得为58.2%。所提出的基于最陡下降的架构(SD)提供了最好的结果,比梯度下降方法(GD)的AUC分数超过2.2%的AUC分数。
Init | GD | SD | |
---|---|---|---|
AUC | 58.2 | 61.6 | 63.2 |
由初始化器网络预测的模型,仅使用目标信息,其AUC得分为58.2%。梯度下降方法,可以利用背景信息,提供了一个实质性的改进,实现了AUC评分为61.6%。这就强调了在模型预测中使用区分性学习的重要性。我们的最陡下降方法获得了最好的结果,比GD高出2.2%。这是由于最陡下降的优越的收敛特性,对离线学习和快速在线跟踪很重要。
**模型预测体系结构分析:**在这里,我们分析了所提出的判别在线学习体系结构的关键方面的影响,通过一次逐步添加一个方面。结果如表2所示。基线SD构成了我们的基于最陡下降的优化器模块,以及在ImageNet上训练的固定ResNet-18网络。也就是说,类似于目前最先进的鉴别方法,我们没有调整主干。我们在优化器模块中使用回归误差(8),而不是学习鉴别损失。该基线方法的AUC评分为58.7%。通过添加模型初始化器模块(+Init),我们的AUC评分显著提高了1.3%。进一步训练整个网络,包括主干特征提取器(+FT),其AUC评分显著提高了2.6%。这证明了学习适合于通过端到端学习进行跟踪的专门特性的优势。使用一个额外的卷积块来提取分类化的特定特征(+Cls)可以进一步提高0.7%的AUC分数。最后,学习鉴别损失(2)本身(+Loss),如第3.4节所述,可以将AUC评分再提高0.5%。这表明了通过最大化模型对未来框架的泛化能力来学习内隐在线损失的好处。
表2 通过一次逐步添加一个,分析初始化器模块(+Init),训练骨干(+FT),使用额外的卷积模块、块(+Cls)和离线学习损失(+Loss)的影响。基线为以在ImageNet上训练的ResNet-18为骨干网,以SD构成了我们基于最陡下降的优化器模块。
SD | +Init | +FT | +CLs | +Loss | |
---|---|---|---|---|---|
AUC | 58.7 | 60.0 | 62.6 | 63.3 | 63.8 |
在线模型更新的影响:在这里,我们使用之前跟踪帧的信息,分析在线更新目标模型的影响。我们比较了三种不同的模型更新策略。i)无更新:跟踪期间模型未更新。相反,我们的模型预测器D在第一帧中预测的模型被用于整个序列。ii)模型平均:在每一帧中,使用当前模型和新预测模型的线性组合来更新目标模型。iii)我们的模型:目标模型是通过在线构建的训练集获得的,如第3.7节所述。在没有更新的情况下,基本模型平均不能超过基线方法(见表3)。相比之下,我们的方法在AUC评分上都显著提高了约2%,这表明我们的方法可以有效地在线适应目标模型。
表3 在OTB-100、NFS和UAV123组合数据集上的不同模型更新策略的比较。
No update | Model | averaging | Ours | |
---|---|---|---|---|
AUC | 61.7 | 61.7 | 63.8 |
我们在7个具有挑战性的跟踪基准上比较了我们提出的方法(DiMP)和最先进的方法。我们的两种方法的两个版本的结果显示: DiMP-18和DiMP-50,分别使用ResNet-18和ResNet-50作为骨干网络。
**VOT2018:**我们评估了2018年版本的视觉对象跟踪(VOT)挑战,包括60个具有挑战性的视频。跟踪器使用测量精度(在成功跟踪的帧上的平均重叠)和鲁棒性(故障率)进行评估。将这两种方法结合起来,可以得到用于对跟踪器进行排序的EAO(预期平均重叠)分数。结果如表4所示。在以往的方法中,SiamRPN++的精度和EAO效果最好。然而,与MFT和LADCF等基于鉴别学习的方法相比,它的鲁棒性要差得多。与上述方法类似,SiamRPN++使用ResNet-50进行特征提取。我们的方法DiMP-50,采用相同的主干网络,显著优于SiamRPN++,在EAO方面的相对增益为6.3%。此外,与SiamRPN++相比,我们的方法的失败率降低了34%,同时实现了类似的准确性。这表明,判别模型预测是鲁棒跟踪的关键。
表4 在VOT2018数据集的预期平均重叠(EAO)、准确性和鲁棒性方面的最新比较。
DRT | RCO | UPDT | Da SiamRPN | MFT | LADCF | ATOM | SiamRPN++ | DiMP-18 | DiMP-50 | |
---|---|---|---|---|---|---|---|---|---|---|
EAO | 0.356 | 0.376 | 0.378 | 0.383 | 0.385 | 0.389 | 0.401 | 0.414 \color{#0000FF}0.414 0.414 | 0.402 | 0.44 \color{#FF0000}0.44 0.44 |
Robustness | 0.201 | 0.155 | 0.184 | 0.276 | 0.14 \color{#FF0000}0.14 0.14 | 0.159 | 0.204 | 0.234 | 0.182 | 0.153 \color{#0000FF}0.153 0.153 |
Accuracy | 0.519 | 0.507 | 0.536 | 0.586 | 0.505 | 0.503 | 0.59 | 0.6 \color{#FF0000}0.6 0.6 | 0.594 | 0.597 \color{#0000FF}0.597 0.597 |
**LaSOT:**我们在由280个视频组成的测试集上评估了我们的方法。成功的曲线图如图4所示。与其他数据集相比,LaSOT具有更长的序列,平均每个序列有2500帧。因此,在线模型自适应对这个数据集是至关重要的。之前的最佳方法ATOM采用了具有预先训练过的ResNet-18特征的在线鉴别学习。之前的最佳方法ATOM采用了具有预先训练过的ResNet-18特征的在线鉴别学习。我们的端到端训练方法,使用相同的主干架构,优于ATOM,相对收益为3.3%,显示了端到端训练的影响。DiMP-50进一步改善了结果,AUC评分为56.9%。这些结果证明了我们的方法在长序列上具有强大的模型自适应能力。
图4 在LaSOT数据集上的成功绘图。
**TrackingNet:**我们在大规模跟踪网数据集的测试集上评估我们的方法。结果如表5所示。SiamRPN++的AUC评分为73.3%。我们的方法采用与SiamRPN++相同的ResNet- 50主干,通过AUC评分74.0%的AUC评分,优于之前所有方法。
表5 在精度、标准化精度和成功方面的跟踪网测试集的最先进的比较。
ECO | SiamFC | CFNet | MDNet | UPDT | DaSiam-RPN | ATOM | SiamRPN++ | DiMP-18 | DiMP-50 | |
---|---|---|---|---|---|---|---|---|---|---|
Precision (%) | 49.2 | 53.3 | 53.3 | 56.5 | 55.7 | 59.1 | 64.8 | 69.4 \color{#FF0000}69.4 69.4 | 66.6 | 68.7 \color{#0000FF}68.7 68.7 |
Norm. Prec. (%) | 61.8 | 66.6 | 65.4 | 70.5 | 70.2 | 73.3 | 77.1 | 80.0 \color{#0000FF}80.0 80.0 | 78.5 | 80.1 \color{#FF0000}80.1 80.1 |
Success (AUC) (%) | 55.4 | 57.1 | 57.8 | 60.6 | 61.1 | 63.8 | 70.3 | 73.3 \color{#0000FF}73.3 73.3 | 72.3 | 74.0 \color{#FF0000}74.0 74.0 |
GOT10k: 这是一个包含超过10,000个视频的大规模数据集,其中180个构成了用于评估的测试集。有趣的是,在训练集和测试集之间的对象类中没有重叠,这促进了泛化到不可见的对象类的重要性。为了保证公平的评价,禁止跟踪器使用外部数据集进行训练。我们遵循这个协议,只使用GOT10k训练部分来重新训练我们的跟踪器。结果见表6。ATOM的平均重叠(AO)得分为55.6%。我们的ResNet-18版本优于ATOM,相对收益为4.1%。我们的ResNet-50版本达到了61.1%的最佳AO分数,验证了我们的跟踪器的强泛化能力。
表6 在重叠阈值为0.5和0.75下,根据平均重叠(AO)和成功率(SR)对GOT10k测试集进行的最先进的比较。
MDNet | CF2 | ECO | CCOT | GOTURN | SiamFC | SiamFCv2 | ATOM | DiMP-18 | DiMP-50 | |
---|---|---|---|---|---|---|---|---|---|---|
SR0.50(%) | 30.3 | 29.7 | 30.9 | 32.8 | 37.5 | 35.3 | 40.4 | 63.4 | 67.2 \color{#0000FF}67.2 67.2 | 71.7 \color{#FF0000}71.7 71.7 |
SR0.75 (%) | 9.9 | 8.8 | 11.1 | 10.7 | 12.4 | 9.8 | 14.4 | 40.2 | 44.6 \color{#0000FF}44.6 44.6 | 49.2 \color{#FF0000}49.2 49.2 |
AO (%) | 29.9 | 31.5 | 31.6 | 32.5 | 34.7 | 34.8 | 37.4 | 55.6 | 57.9 \color{#0000FF}57.9 57.9 | 61.1 \color{#FF0000}61.1 61.1 |
**Need for Speed:**我们在30 FPS版本的数据集上评估我们的方法,包含具有快速移动对象的具有挑战性的视频。所有100个视频的AUC得分见表7。之前的最佳方法ATOM的AUC得分为58.4%。使用ResNet-18和ResNet-50,我们的方法优于ATOM,相对增益分别为4.4%和6.0%。
OTB-100:表7显示了数据集中所有100个视频的AUC得分。在比较方法中,UPDT的效果最好,AUC得分为70.4%。我们的DiMP-50达到了68.4%的AUC分数,可以与其他最先进的方法相竞争。
UAV123: 该数据集由从一架无人机上拍摄的123个低空空中视频组成。在AUC方面的结果见表7。在以往的方法中,ATOM的AUC得分为64.2%。DiMP-18和DiMP-50的表现均优于ATOM,AUC评分分别为64.3%和65.4%。
表7 在NFS、OTB-100和UAV123数据集的AUC评分方面的最新比较。
ECOhc | DaSiam-RPN | ATOM | CCOT | MDNet | ECO | SiamRPN++ | UPDT | DiMP-18 | DiMP-50 | |
---|---|---|---|---|---|---|---|---|---|---|
NFS | 58.4 | 48.8 | 41.9 | 46.6 | 53.6 | 61.0 \color{#0000FF}61.0 61.0 | 61.9 \color{#FF0000}61.9 61.9 | |||
OTB-100 | 64.3 | 65.8 | 66.3 | 68.2 | 67.8 | 69.1 | 69.6 \color{#0000FF}69.6 69.6 | 70.4 \color{#FF0000}70.4 70.4 | 66.0 | 68.4 |
UAV 123 | 51.2 | 57.7 | 64.2 | 51.3 | 53.2 | 54.5 | 64.3 \color{#0000FF}64.3 64.3 | 65.3 \color{#FF0000}65.3 65.3 |
我们提出了一种以端到端方式离线训练的跟踪架构。我们的方法是从一个鉴别学习损失通过应用迭代优化程序。通过采用基于最陡下降的优化器和有效的模型初始化器,我们的方法可以在几个优化步骤中预测一个强大的模型。此外,我们的方法通过最小化对不可见的测试帧的预测误差来学习离线训练过程中的鉴别损失。我们的方法在6个跟踪基准上设置了一个新的最先进的状态,同时运行在超过40 FPS。
DiMP算法发表于2020年,在思路上有机结合了传统的跟踪算法的思路和基于深度学习的方法的思路,在公开数据集和私有的数据集上都有突出的表现,值得我们深入研究,好好学习和借鉴。补充材料部分后续将逐渐分享给大家。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。