0. 摘要
基于CNN的一个跟踪算法,达到了state-of-art水平,意味着深度学习又占领了一个山头。本文中使用的网络由共享层(shared layers)和许多特定目标分支层组成。每一个分支层对应一个二分类的任务:确定输入样本是不是该分支对应的跟踪目标。当在一个新的图像序列中跟踪一个目标时,用一个新的二分类层连接共享层,作为新的跟踪网络,并实时在线微调。这个网络取名MDNet,具体细节看下文。
1. Multi-Domain Network (MDNet)
1.1 网络结构
相比于AlexNet和VGG-Nets,作者使用了一个相对较小的网络来做跟踪,并解释了理由:
-
跟踪问题本质上只是个二分类的任务,对模型复杂度要求相对更低。
-
随着网络越来越深,空间信息越来越稀释,所以:对于图像中精准的目标定位,CNN并不是那么有效。
-
在跟踪任务中通常目标较小,所以输入大小(input size)也就小,网络结构自然也就更浅。
-
跟踪通常是一个实时任务,小网络显然更有效率。
下图即MDNet网络结构,由共享层和K个特定目标分支层组成,黄色和蓝色的bounding boxes分别对应每个特定分支层的正样本和负样本。
1.2 Learning Algorithm
SGD迭代,每一次迭代中只涉及一个特定类别。在第i次迭代中,mini-batch中只包含来自第(i mod K)个序列的样本,特定目标分支网络中也只激活第(i mod K)个分支。
通过这个学习过程,类别无关的信息就被学习到并保存在共享层中,这些信息是非常有用的泛化特征表示。
2. Online Tracking using MDNet
完成上述训练过程之后,在测试阶段中用一个新的分支层代替训练阶段的K个分支层连接共享层。测试的时候实时微调共享层和分支层。
2.1 Tracking Control and Network Update
为了兼顾跟踪的鲁棒性和自适应性,采用两种策略更新模型参数:long-term和short-term。
long-term策略:定期微调,使用一段时间内收集到的正样本。
short-term策略:当检测到可能有跟踪失败的情况时执行,使用短期内收集到的正样本。
两种策略中都使用短期内检测到的新鲜负样本,因为旧的负样本对于当前帧通常是多余、不相关的。 为了确定每一帧中目标的状态,在上一帧目标的位置附近sample N个候选目标,用网络模型对这N个候选目标估计,取得分最高的为最佳目标。
2.2 Hard Minibatch Mining
在训练阶段的每一次迭代中,一个mini-batch包含n个正样本和p个困难负样本。如何选择困难负样本?用模型测试M(M >> p)个负样本,取top p个困难负样本。
2.3 Bounding Box Regression
根据给定的第一帧,训练一个线性回归模型(使用目标附近的样本的conv3特征)。在接下来的序列帧中,使用训练好的回归模型在估计好的可靠的候选目标中调整目标位置。