📝论文下载地址
DaSiamRPN论文地址
DaSiamRPN论文百度网盘下载地址 ❗提取码:fj7s
❗
🔨代码下载地址
👨🎓论文作者
📦模型讲解
[模型创新]
DaSiamRPN网络的全称为Distractor-aware SiamRPN,主要就是针对跟踪过程的干扰物,是SiamRPN基础上的改进。对于模型的结构作者在论文中没有提到,应该还是采用了SiamRPN相同的结构,这里就直接从模型的创新开始讲起。
作者分析了孪生网络的特点和缺陷,孪生网络实际上就是学习一个嵌入函数,能够最大限度地提高不同物体之间的不同,并最小化相同物体间的差距。孪生网络在精度和速度上都有不错的性能使其在近几年十分成功。
如下图所示,几种网络的最终相应图。可以看出当目标和背景差异较大时,目标的相应得分会很高,但是一些不是目标的物体,比如SiamRPN中,很多人都能得到高的响应值。对于SiamFC和SiamRPN,只是在搜索图像中找到和模板图像相似的目标,训练时只是将同一视频的不同帧进行训练,这中不均衡的训练方式会导致网络学习到目标和背景的差异。所以作者针对这种问题,在离线训练过程中主动生成更多的图像对,并在在线跟踪中抑制干扰。
![](https://i-blog.csdnimg.cn/blog_migrate/e9bddf05417d701f96819475592f6209.png)
[干扰意识训练]
对孪生网络进行高质量的训练是成功的关键,作者针对训练数据的不均衡引入一系列的策略来改善学习特征的泛化。
首先,不同类型的正样本对可以提高泛化能力。在SiamFC和SiamRPN的训练过程中,训练数据是来自于一个视频中的不同帧,并且数据集中包含的类别很少,例如VID数据集包含20类别、YOUTUBE-BB数据集包含30类别,这些不足以使孪生网络获得高质量的性能。当网络遇到新的类别时,回归分支得到bounding box的结果会很差。作者采用COCO目标检测和ImageNet检测数据集,并通过数据增强(平移、resize、灰度等)来生成更多的正样本对数量,如下图(a)所示。
![](https://i-blog.csdnimg.cn/blog_migrate/1d618bf1c9e43680af438345d6180a1a.png)
其次,语义负样本对可以提高辨别能力。作者对训练数据的负样本对归为两个级别。①罕见语义负样本对。例如目标和背景,这样的语义负样本对占训练数据的大多数,但是这样的负样本对很容易进行分类。这里,目标对应语义的,背景为非语义的。②类内干扰的负样本对。顾名思义,在搜索图像中有和目标同类的物体,在之前孪生网络中基本是当作背景来训练的。作者针对这一问题,在训练数据中加入了很多的语义负样本对:在罕见负样本对上,来自不同类别的负样本对可以使网络避免在遮挡或出视野的情况下跳变到其他物体;在类内干扰的负样本对上,来自相同类别的负样本对则使跟踪器专注于细粒度的特征。如上图(b)为类内干扰的负样本对,©为罕见语义负样本对。
最后,作者还提到为视觉跟踪定制有效的数据增强。除了普通的平移、尺度变化和光照变化之外,作者还引入了运动模糊,具体怎样增强的并没有提及。下图展示了普通孪生网络和DaSiamRPN在训练后的响应图对比。从下图可以看出,普通的孪生网络在同类干扰下效果很差,而改进的DaSiamRPN对同类干扰鲁棒性很好。
![](https://i-blog.csdnimg.cn/blog_migrate/b0779aaca07330bd3735df0ff3b4d56f.png)
[干扰意识增量学习]
作者仍然针对上图(a)中的类内干扰导致的运动跳变现象,提出了干扰意识模块,来将训练结果转到视频域。在SiamFC和SiamRPN中,都是采用了余弦窗来抑制干扰,这其实是一个惩罚措施,让跟踪物体尽可能与上一帧的唯一变化不大,这样来消除类内干扰。孪生网络的互相关公式:
f
(
z
,
x
)
=
φ
(
z
)
⋆
φ
(
x
)
+
b
⋅
1
f(z, x)=\varphi(z) \star \varphi(x)+b \cdot \mathbb{1}
f(z,x)=φ(z)⋆φ(x)+b⋅1此公式在[SiamFC]中是相同的。作者采用NMS选择每一帧中的类内干扰
d
i
d_{i}
di,将所有干扰构建一个集合,集合满足
D
:
=
{
∀
d
i
∈
D
,
f
(
z
,
d
i
)
>
h
∩
d
i
≠
z
t
}
\mathcal{D}:=\left\{\forall d_{i} \in \mathcal{D}, f\left(z, d_{i}\right)>h \cap d_{i} \neq z_{t}\right\}
D:={∀di∈D,f(z,di)>h∩di=zt}其中
h
h
h是一个阈值,
z
t
z_{t}
zt是在第
t
t
t帧中选择的目标。具体来说,网络会生成17×17×5的相应图(应该是每个区域上生成5个anchors),利用NMS减少多余的anchos,其中得分最高的认为是
z
t
z_{t}
zt,剩下的大于阈值的anchos都会选为类内干扰,组成
D
\mathcal{D}
D。
作者引入新的干扰意识目标函数:
q
=
argmax
p
k
∈
P
{
f
(
z
,
p
k
)
−
α
^
∑
i
=
1
n
α
i
f
(
d
i
,
p
k
)
∑
i
=
1
n
α
i
}
q=\underset{p_{k} \in \mathcal{P}}{\operatorname{argmax}} \{f\left(z, p_{k}\right)-\frac{\hat{\alpha} \sum_{i=1}^{n} \alpha_{i} f\left(d_{i}, p_{k}\right)}{\sum_{i=1}^{n} \alpha_{i}}\}
q=pk∈Pargmax{f(z,pk)−∑i=1nαiα^∑i=1nαif(di,pk)}在计算
z
z
z与
p
k
p_{k}
pk的相似度
f
(
z
,
p
k
)
f(z, p_{k})
f(z,pk)再减去所有
d
i
d_{i}
di和
p
k
p_{k}
pk的相似度的加权求和。通过这个函数可以将相似度最高的
k
k
k个区域进行重新排序生成
P
\mathcal{P}
P,在集合
P
\mathcal{P}
P中选则最高的
q
q
q。可以对这个公式进行加速:
q
=
argmax
p
k
∈
P
(
φ
(
z
)
−
α
^
∑
i
=
1
n
α
i
φ
(
d
i
)
∑
i
=
1
n
α
i
)
⋆
φ
(
p
k
)
q=\underset{p_{k} \in \mathcal{P}}{\operatorname{argmax}}\left(\varphi(z)-\frac{\hat{\alpha} \sum_{i=1}^{n} \alpha_{i} \varphi\left(d_{i}\right)}{\sum_{i=1}^{n} \alpha_{i}}\right) \star \varphi\left(p_{k}\right)
q=pk∈Pargmax(φ(z)−∑i=1nαiα^∑i=1nαiφ(di))⋆φ(pk)如果跟踪过程进行增量学习可以写成:
q
T
+
1
=
argmax
p
k
∈
P
(
∑
t
=
1
T
β
t
φ
(
z
t
)
∑
t
=
1
T
β
t
−
∑
t
=
1
T
β
t
α
^
∑
i
=
1
n
α
i
φ
(
d
i
,
t
)
∑
t
=
1
T
β
t
∑
i
=
1
n
α
i
)
⋆
φ
(
p
k
)
q_{T+1}=\underset{p_{k} \in \mathcal{P}}{\operatorname{argmax}}\left(\frac{\sum_{t=1}^{T} \beta_{t} \varphi\left(z_{t}\right)}{\sum_{t=1}^{T} \beta_{t}}-\frac{\sum_{t=1}^{T} \beta_{t} \hat{\alpha} \sum_{i=1}^{n} \alpha_{i} \varphi\left(d_{i, t}\right)}{\sum_{t=1}^{T} \beta_{t} \sum_{i=1}^{n} \alpha_{i}}\right) \star \varphi\left(p_{k}\right)
qT+1=pk∈Pargmax(∑t=1Tβt∑t=1Tβtφ(zt)−∑t=1Tβt∑i=1nαi∑t=1Tβtα^∑i=1nαiφ(di,t))⋆φ(pk)其中
β
t
\beta_{t}
βt代表增量学习/在线学习的学习率。
β
t
=
∑
i
=
0
t
−
1
(
η
1
−
η
)
i
,
η
=
0.01
\beta_{t}=\sum_{i=0}^{t-1}\left(\frac{\eta}{1-\eta}\right)^{i}, \quad \eta=0.01
βt=i=0∑t−1(1−ηη)i,η=0.01
[长时跟踪的DaSiamRPN]
作者考虑了将DaSiamRPN扩展到长时跟踪领域中,针对目标出视野或者是遮挡后重现后,跟踪不到的问题。下图展示了这种情况下,得分和交并比的变化过程:
![](https://i-blog.csdnimg.cn/blog_migrate/0d8adf80f57ecc205befbd42e52dfeff.png)
上图中蓝色是搜索区域,红色是标签,绿色是跟踪结果。
可以看出,SiamRPN这种短时跟踪器,在物体消失后仍然有很高的得分。而在DaSiamRPN中跟踪过程中得分与交并比变化基本相同。作者采取的就是搜索区域的大小会根据一个恒定的步长来增大,在跟踪失败后,搜索区域的大小会随失败帧数的增长而增大。这里作者设定跟踪失败阈值为0.8和重新跟踪阈值为0.95,正常的搜索图像大小为255×255,跟踪失败时搜索图像大小可以达到767×767。
[训练过程]
训练属性 | 参数取值 |
---|---|
环境 | Pytorch |
迭代次数 | 50 |
配置 | i7, 48G RAM, NVIDIA TITAN X |
学习率 | 1 0 − 2 − 1 0 − 4 10^{-2}-{10^{-4}} 10−2−10−4 |
[结果分析]
下图中红色时最好的,蓝色时第二好的。其中OP是阈值为0.5时的平均重叠率,DP是20像素的平均距离精度。
![](https://i-blog.csdnimg.cn/blog_migrate/e7bdcae44251415fbe07bfef08635fb5.png)
🚪传送门
视频跟踪
视频跟踪数据集指标分析
SiamFC:利用全卷积孪生网络进行视频跟踪
SiamRPN:利用区域建议孪生网络进行视频跟踪
DaSiamRPN:用于视觉跟踪的干扰意识的孪生网络
SiamRPN++: 基于深度网络的孪生视觉跟踪的进化
SiamMask: 快速在线目标跟踪与分割的统一方法