0 摘要
我们提出了一种基于CNN的视觉跟踪算法。算法从多个标注的videos中,来学习物体的共享的表示,协助进行跟踪。
网络的结构:shared layers + multiple branches of domain-specific layers
训练的时候,利用一些video来共同训练一个shared layers,每个video看做是一个单独的 domain,单独训练一个domain-specific的layer。
测试的时候(当有新的video的时候),利用训练好的shared layers + 新的二分类层构建新的网络。这个二分类层是online更新的,用来判定一些candidate windows (随机的从上一帧target附近采样出来的) 是否为目标。
所提出的算法在现有的跟踪基准中表现出优异的性能。
1 介绍
最近,卷积神经网络(CNN)被用于各种计算机视觉任务,如图像分类,语义分割,物体检测等等。CNNs取得的巨大成功主要归因于其在可视化数据的出色表现。然而,视觉跟踪受这些流行趋势的影响较小,因为很难为视频处理应用收集大量训练数据,而且专门用于视觉跟踪的训练算法尚不可用,基于低级手工提取特征的方法在实践中效果很好。最近的几种跟踪算法通过迁移在大规模分类数据集(如ImageNet)上预训练的CNNs来解决数据不足问题。虽然这些方法可能足以获得一般特征表示,但由于分类和跟踪问题之间的基本不一致性,即预测对象类标签与定位任意类的目标,跟踪有效性受到一些限制。
为了充分利用CNN在视觉跟踪中的表现能力,最好对大规模的视觉跟踪数据进行训练,这些数据涵盖了目标和背景组合的各种变化。然而,基于具有不同特性的视频序列,来学习统一表示是真正具有挑战性的。注意到,单个序列涉及不同类型的目标,其类别标签,移动模式和外观不同,并且跟踪算法在每一个特定序列上的挑战也不同,包括遮挡,变形,照明条件改变,运动模糊等。训练 CNNs 也是非常困难的,因为相同类型的对象一个视频序列中可以被认为是目标,在另一个视频序列中可以被认为是背景。由于这些视频序列之间的差异和不一致性,我们认为基于标准分类任务的普通学习方法是不恰当的,应该采用另一种捕获和序列无关信息的方法来提供更好地表示。
基于此事实,我们提出了一种称为多领域网络(MDNet)的新型CNN体系结构,从多个标注的视频序列中,来学习物体的共享的表示,协助进行跟踪,其中每一个视频看做是一个单独的 domain。所提出的网络具有单独的分支,即特定领域的二分类层。它和前一层共享特征,这些特征是从所有视频序列中提取到的。MDNet 上的每一个 domain 都是单独训练的,并且每次迭代都更新共享层。 利用该策略,我们从 domain-specific 得到独立于 domain 的信息,学习普遍的特征表示用来跟踪。另一个有意思的方面是,我们的 CNN 是非常“浅”的,只有 3层 Conv 和 2层 fc。
我们还提出了一个基于MDNet的在线跟踪框架。 当给出一个测试视频序列时,所有在训练阶段使用的二分类层的分支被删除,然后构造一个新的单分支来计算测试序列中的目标分数。 然后在跟踪过程中对共享层内的新分类层和全连接层进行微调,以适应新的领域。 在线更新是为了模拟目标的长期和短期外观变化以分别提高鲁棒性和适应性,在进行学习的过程中,采用了 hard negative mining techique。
文章主要的贡献可以列为如下三点:
1. 我们提出了一个基于CNN的 multi-domain 的学习框架,从 domain-specific 中分离出 domain-independent 的信息,来得到共享的表示。
2. 我们的框架成功的应用于视觉跟踪,multi-domain预训练的CNN在新的视频序列中online的进行更新适应学习特定领域的信息。
3. 在两个公共数据集 Object Tracking Benchmark 和 VOT2014上面得到了充分的验证,精度达到 90+%。
这个方法能够达到 state-of-art 的效果。我认为之所以能取得这么好的原因是因为:
- Pretrained CNN 特征具有很好的区分特性(Naiyan Wang 在他的iccv15的 论文中指出,tracking中最重要的就是特征的表达能力,好的特征甚至配一个很一般的分类器都能达到很好的效果)
- Online fine-tuning 能够解决target的形变、遮挡、光照变化等等问题,可以使tracking更加robust
- Hard minibatch Mining 的使用,使得网络的训练更加成功,特征更加优秀
2 相关工作
2.1 视觉跟踪算法
视觉跟踪是计算机视觉中的基本问题之一,并且已经研究了数十年。大多数跟踪算法都属于生成式算法或判别式算法。 生成式算法使用生成模型描述目标外观,并搜索最适合模型的目标区域。现已经提出了多种生成目标外观建模算法,包括稀疏表示,密度估计和增量子空间学习。相反,判别式算法的目的是建立一个模型能够从背景中找出目标物体。 这些跟踪算法通常基于多实例学习,P-N学习,在线增强,结构化输出SVM 等学习分类器。
近年来,由于计算效率高和算法性能好,相关滤波器在视觉跟踪领域受到关注。Bolme等人文献[2]提出了一种快速相关跟踪器,其最小输出和平方误差(MOSSE)滤波器,以每秒数百帧的速度运行。Henriques等人[17]使用循环矩阵制定核化相关滤波器(KCF),并有效地将多通道特征合并到傅立叶域中。随后研究了几种KCF跟踪器的变体以改善跟踪性能。例如,DSST [5]学习单独的过滤器进行翻译和缩放,MUSTer [21]使用受心理记忆模型启发的短期和长期记忆库。这些方法在受限环境中能取得令人满意的结果,但它们具有固有的局限性,即它们是基于手工提取的特征,这些特征在光照变化,遮挡,变形等动态情况下容易变得不稳定。
2.2 CNN
CNN在计算机视觉应用中已经展示出其杰出的性能。 Krizhevsky通过训练具有大规模数据集和高效GPU实现的深度CNN,在图像分类方面带来了显着的性能改进。 RCNN通过对大型辅助数据集进行预训练并对目标数据集进行微调,将CNN应用于训练数据稀缺的物体检测任务。
尽管CNN取得了巨大的成功,但迄今为止仅提出了有限数量的使用CNN的跟踪算法。基于CNN的早期跟踪算法只能处理预定义的目标对象类,例如人类,因为CNN是离线训练的。尽管[29]提出了一种基于CNN的在线学习方法,但缺乏训练深度网络的训练数据,与基于手工特征的方法相比,其准确性并不是特别好。最近的一些方法[44,20]通过迁移在大规模分类数据集(如ImageNet)上预训练的CNNs,但由于分类和跟踪任务之间的根本区别,特征表示可能不是非常有效。与现有方法相反,我们的算法利用大规模视觉跟踪数据来预训练CNN并获得有效的特征表示。
2.3 多领域学习
我们的深度CNN预训练方法属于多领域学习,它指的是一种学习方法,它的训练数据来源于多个领域,通过整合领域信息的学习过程。 多领域学习在自然语言处理中很流行(例如,多产品的情感分类和多用户的垃圾邮件过滤),并且已经提出了各种方法。 在计算机视觉中,只有少数领域适应多领域学习。
3 MDNet
此部分介绍CNN结构以及多领域学习方法。多领域学习方法将获得基于视觉跟踪的领域无关的特征表示。
3.1 网络结构
网络接收107×107 RGB输入,并具有五个隐藏层,包括三个卷积层(conv1-3)和两个全连接层(fc4-5)。输入大小107的设置是为了能在conv3中得到3 × × 3大小的特征图,107 = 75(感受野)+2 ×