简介
paper:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
这篇论文基于CNN
提出了一个multi-domain learning framework
,并在OTB和VOT2014两个数据集上取得了SOTA的成绩。
论文的motivation
是:目标跟踪的关键是区分target
和background
,但是又不能将跟踪任务简单定义为分类任务,比如:在一个视频序列中,一个物体a是target
,而在另一个视频序列中,物体a可能是background
;因此,这篇论文将不同的视频帧序列视为不同的domain
,基于multi-domain
对模型进行训练。
主要内容
如上图所示,论文中的Multi-Domain Network
可以分为两部分:Shared Layers
和Domain-specific Layers
;其中Shared Layers
用于学习普遍的特征,而Domain-specific Layers
则学习特定domain
的特征。网络输出positive
和negative
的边界框。
这篇论文的network architecture
采用的是比较简单的AlexNet
和VGG-Nets
,论文给出的原因有:
- 目标跟踪任务不像其他图像分类任务,目标跟踪只需区分
target
和background
即可,不需要太复杂的模型; - 深层
CNN
对于精确目标定位的效果较差,因为随着网络的深入,空间信息往往会被稀释; - 跟踪任务中的目标普遍较小,导致输入的尺寸较小,则也限制了网络的深度;
- 采用这样简单的模型效率也比较高;
训练
论文采用SGD
优化模型,并且对于Domain-specific Layers
,每次迭代只要一个被激活
In the k t h k^{th} kth iteration, the network is updated based on a minibatch that consists of the training samples from the ( k m o d K ) t h (k\ mod\ K)^{th} (k mod K)th sequence, where only a single branch f c 6 ( k m o d K ) fc6^{(k\ mod\ K)} fc6(k mod K) is enabled.
跟踪
在跟踪时,对于Domain-specific Layers
用一个single branch(fc6)
替代,即使用一个新的全连接层。
跟踪时的算法流程如下所示:
对于首帧,随机初始化fc6
,并基于边框回归Bounding Box Regression
对训练好的模型进行pre-fine
. 对于接下来的帧,正常进行跟踪,同时采用Long-term updates
和short-term updates
两种策略对模型进行更新,Long-term updates
定时执行,使用的是最近一些帧的正样本;对于short-term updates
在检测到跟踪失败时执行。
Long-term updates are performed in regular intervals using the positive samples collected for a long period while short-term updates are conducted whenever potential tracking failures are detected
tricks
论文中采用了Hard Minibatch Mining
这样的trick
使模型生成的负样本越来越”有效“:在通常情况下,大部分训练过程中产生的negative samples
都是无效的,只有少部分有效。借助Hard Minibatch Mining
使得模型生成的negative samples
与positive samples
越来越难区分(如下图所示),从而使模型训练得更好。
实验结果
作者在OTB和VOT2014上进行了测评,均取得了当时SOTA.
小结
MDNet
借助CNN
进行目标跟踪的想法非常”优雅“,模型简单有效,值得借鉴。