目标跟踪:MDNet深度网络

论文全名:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking(MDNet)

论文摘自CVPR 2016,由Hyeonseob Nam、Bohyung Han撰写。

摘要

训练:(1)使用大量视频训练CNN;(2)网络由共享层域特定层二分类)组成。通过迭代训练网络中的每个域,获得共享层中的通用目标表示。

测试:(1)在一个视频序列中,作者将预训练CNN中的共享层新的二分类层(在线更新)组合来构建新网络。(2)对于在线更新,对之前目标位置周围进行随机采样获得候选窗,通过评估来跟踪。

1 前言

挑战

具有完全不同特征的视频序列来学习一个统一的CNN算法表示。其中:(1)单个序列的目标类型不同;(2)算法受到序列中特定的变化:遮挡,变形,光照条件变化,运动模糊等;(3)相同类型的对象在一个序列中视为目标,而在另一个中可能就是背景。

作者提出:Multi-Domain Network(MDNet)

训练:(1)每个序列作为单独的Domain(单独训练)

(2)在网络的最后,有一个Domain-specific层(也用于共享学习)的分支进行二分类,

(3)共享从之前层中的所有序列信息用于学习,共享层在每次迭代中都会更新

特点:MDNet与分类任务的网络(AlexNet、VGG)相比,网络层数很少。

测试:(1)删掉在训练阶段中使用的二分类层的所有分支,构建新的分支计算其目标分数。

(2)在线微调共享层中的新的分类层全连接层

(3)对目标长期和短期变化进行建模,并且在学习过程中结合了难分样本挖掘(hard negative mining)思想

主要贡献

•训练:提出了一个基于CNN的多领域学习框架,它将域无关的与Domain-specific域的信息分开,以有效地捕获共享表示。

•测试:预训练的CNN在序列的上下文中在线更新,并自适应地学习Domain-specific域的信息。

•评估:在OTB2015VOT2014表现出色。

本文的其余部分安排如下。我们首先回顾第2节中的相关工作,并在第3节讨论我们用于视觉跟踪的多领域学习方法。第4节描述了我们的在线学习和跟踪算法,第5节展示了两个跟踪基准数据集中的实验结果。

2.相关工作

2.1  跟踪算法

(1)生成方法(生成目标外观建模):稀疏表示,密度估计和增量子空间学习

(2)判别方法(区分目标和背景建模):MILTLD检测跟踪学习,在线提升,结构化输出SVM 等。

(3)相关滤波算法:MOSSEKCFDSSTMUSTer

2.2  卷积神经网络

(1)AlexNet:通过使用大规模数据集和高效的GPU实现训练深度CNN;(2)R-CNN:将CNN应用于训练数据稀缺的目标检测任务。(3)CNN在跟踪之前已经进行了离线训练并且之后被修复。(4)DeepTrack提出了一种基于CNN池的在线学习方法,但缺乏训练数据导致准确性不好。(5)最近的一些方法[39,20]在大规模数据集上预训练CNN,但分类和跟踪之间存在差异,该表示不是很有效。

作者提出的算法用大规模跟踪数据来预训练CNN,结果很好。

2.3  Multi-Domain学习

MDNet的预训练CNN属于Multi-domain学习:训练数据源自多个域,且域信息被并入学习过程中。

3.MDNet训练

本节描述了我们的CNN架构和多域学习方法,以获得视觉跟踪的与域无关的表示。

3.1  网络架构

MDNet由共享层和K个Domain-specific层组成。 黄色表示正样本,蓝色表示负样本

网络架构如上图所示:

输入:107×107×3

架构

        三个卷积层(conv1-3)                  两个全连接层(fc4-5)               一个(K分支)全连接层(fc61-fc6K)
            与VGG-M架构                  (data:ImageNet)相同              与ReLU相同,防止过拟合                   softmax交叉熵损失的二分类层
                                        隐藏层(共享层)              Domain-specific层(区分目标与背景)

特点

(1)视觉跟踪仅区分目标和背景两个类,模型复杂性小。

(2)选择的网络层数较少,原因:随着网络的深入,空间信息会逐渐消失

(3)视觉跟踪中的目标通常很小,从而减小了网络的深度

(4)训练和测试是在线进行的,当使用更大的网络时,算法不太准确并且变得更慢。

3.2  学习算法

目标:在任意域中训练Multi-domain CNN来消除对目标和背景变化

域的共同特征:对照明变化、运动模糊、尺度变化的鲁棒性等

实施方式(将与域无关的信息与Domain-specific层分离出):CNN由随机梯度下降(SGD)方法训练。(1)对于Domain-specific层,在第k次迭代中,由第(kmod K)序列的一小批量训练样本来更新全连接层网络,直到网络收敛或达到预定义的迭代数;(2)对于共享层,对与域无关的信息进行建模,获得通用特征表示。

4.MDNet测试

测试阶段,将训练阶段的Domain-specific层(fc61-fc6K)替换为单个层(fc6),在线调整共享层和Domain-specific层。

4.1  在线更新

算法更新Long-term update(长时间收集的目标的正样本)+Short-term update(检测到潜在目标跟踪失败【目标被误认为背景】时使用短期的正样本)。对于负样本:用Short-term时的负样本。注意:通过目标外观变化速度执行更新。

跟踪:在之前目标周围采N个候选:,用网络来评估,得到正分数和负分数。找到x*满足:(1)。

4.2  提取负样本

在测试时,检测出目标的方法为:难分负样本挖掘(hard negative mining)思想

在序列Bolt2(第一行)和Doll(第二行)中采用 难分负样本挖掘算法来识别训练示例。
红色框代表正样本,蓝色框代表负样本

实施方式:在小批量(包括正样本与难分负样本)选取中,采用难分负样本挖掘思想,其中,M^{-}_{h}样本是由测试中的负样本M^{-} (=1024)\left ( \gg M^{-}_{h} \right )产生,并选择M^{-}_{h}中分数最大的作为难分负样本

特点:能有效地识别关键的负样本,而无需明确地运行检测器来提取误报。

4.3  边界框回归

问题:基于CNN的特征的高抽象+数据增强策略(在目标周围采取多个正样本),导致网络有时无法找到目标

办法:用检测算法的边界框回归方法,提高目标定位精度。

实施方式(1)通过第一帧目标位置附近样本的conv3特征,训练一个简单的线性回归模型使定位精确;(2)在随后的帧中,如果通过回归模型计算出的目标可靠(比如,其中x*满足式(1)),则调整目标位置。

特点:(1)该回归器仅在第一帧中训练;(2)该回归器与RCNN具有相同的参数(1000个训练样本)与方法。

4.4  细节

我们的跟踪算法的整个过程在算法1中给出,设分别为短期和长期的帧大小。

初始化:(表示第j层的权重)为MDNet预训练的结果,为随机初始化的结果。

跟踪测试阶段固定不变,在线更新

具体细节:

(1)生成目标候选:从前一帧中选择服从高斯分布个样本:,对应的协方差是对角阵,其中r是帧中目标的宽高的平均。每个候选框都将以倍的尺度放大。

(2)训练数据:

训练:在每个帧有50个正样本(IOU\geq0.7)和200个负样本(IOU\leq0.5);

测试:对第一帧有个正样本和个负样本,对后续每一帧个正样本(IOU\geq0.7)和个负样本(IOU\leq0.3)。

(3)网络:

训练:对于K个序列,网络需要进行100K次迭代训练,其中层的学习率为0.0001,层的学习率为0.001。

测试:【1】初始帧:全连接层进行30次迭代训练,W_{4,5}的学习率为0.0001,层的学习率为0.001。【2】后续帧:全连接层10次迭代,W_{4,5}的学习率为0.0003,层的学习率为0.003。动量(0.9)和权重衰减(0.0005)。

5.实验

评估数据集:OTB2015和VOT2014

平台:MatConvNet工具箱,八核2.20GHz Intel Xeon E5-2660,一个NVIDIA Tesla K20m GPU

速度:约为1fps

5.1  OTB2015

评估指标:中心位置误差和边界框重叠率。

评估标准:OPE

算法比较:MDNet(训练集:VOT2013、2014、2015的58个序列),MUSTER,CNN-SVM,MEEM,TGPR,DSST,KCF,SCM和Struck

5.2  VOT2014

测试数据:VOT2014的25个序列

评估指标:精度(平均IOU)与鲁棒性(跟踪失败次数)

算法比较:MDNet(训练集:OTB100的89个序列),MUSTER,SAMF,MEEM,DSST,KCF,DGT和PLT_14。

猜你喜欢

转载自blog.csdn.net/weixin_39467358/article/details/84568474
今日推荐