用于视觉跟踪的多域卷积神经网络学习算法
目录
摘要
我们提出了一种新的基于判别训练卷积神经网络(CNN)表示的视觉跟踪算法。我们的算法使用一大组跟踪地面事实的视频对CNN进行预训练,以获得通用的目标表示。我们的网络由共享层和域特定层的多个分支组成,其中域对应于单独的训练序列,每个分支负责对每个域中的目标进行二进制分类。我们针对每个域迭代地训练网络,以获得共享层中的通用目标表示。在跟踪新序列中的目标时,我们通过将预先训练的CNN中的共享层与在线更新的新的二值分类层相结合来构建新的网络。通过评估在先前目标状态周围随机采样的候选窗口来执行在线跟踪。在现有的跟踪基准测试中,与最先进的方法相比,所提出的算法表现出了优异的性能。
1.引言
卷积神经网络(CNNs)最近已被应用于各种计算机视觉任务,例如图像分类[27,5,34]、语义分割[30]、对象检测[13]和许多其他任务[37,36]。CNN之所以取得如此巨大的成功,很大程度上归功于它在表示视觉数据方面的出色表现。然而,视觉跟踪受到这些流行趋势的影响较小,因为很难收集用于视频处理应用的大量训练数据,并且还没有专门用于视觉跟踪的训练算法,而基于低级手工特征的方法在实践中仍然工作良好[18,6,21,42]。最近的几种跟踪算法[20,39]已经通过在诸如ImageNet[33]的大规模分类数据集上传输预先训练的CNN来解决数据不足的问题。虽然这些方法可能足以获得通用的特征表示,但由于分类和跟踪问题之间的根本不一致,即预测对象类别标签与定位任意类别的目标,其在跟踪方面的有效性是有限的。
为了充分发挥CNN在视觉跟踪中的表征能力,人们希望在专门用于视觉跟踪的大规模数据上对其进行训练,这些数据涵盖了目标和背景组合中的各种变化。然而,学习基于具有完全不同特征的视频序列的统一表示确实是具有挑战性的。注意,各个序列涉及其类别标签、运动模式和外观不同的不同类型的目标,并且跟踪算法遭受序列特定的挑战,包括遮挡、变形、照明条件改变、运动模糊等。训练CNN甚至更加困难,因为相同类型的对象可以被认为是序列中的目标而被认为是另一个序列中的背景对象。由于序列之间的差异和不一致性,我们认为基于标准分类任务的普通学习方法是不合适的,应该结合另一种捕获序列无关信息的方法,以便更好地表示跟踪。
基于这一事实,我们提出了一种新的CNN结构,称为多域网络(MDNet),用于从多个标注视频序列中学习目标的共享表示以进行跟踪,其中每个视频被视为一个单独的域。该网络在网络末端具有单独的领域特定层分支,用于二进制分类,并共享从前面层中的所有序列捕获的公共信息,用于通用表示学习。MDNet中的每个域分别进行迭代训练,而共享层在每次迭代中更新。通过使用该策略,我们将独立于领域的信息从特定领域信息中分离出来,并学习用于视觉跟踪的通用特征表示。我们架构的另一个有趣的方面是,与用于分类任务的网络(如AlexNet[27]和VGG Net[5,34])相比,我们设计的CNN只有少量的层。
我们还提出了一个基于MDNet学习的表示法的有效在线跟踪框架。当给定一个测试序列,去除训练阶段使用的所有二类分类层的现有分支,并构造一个新的单个分支来计算测试序列中的目标分数。然后,在跟踪期间在线微调新分类层和共享层内的完全连接的层以适应新域。在线更新是为了分别对目标的长期外观变化和短期外观变化进行建模,以实现鲁棒性和自适应性,并在学习过程中引入了一种有效和高效的硬否定挖掘技术。
该算法由多领域表示学习和在线视觉跟踪两部分组成。我们工作的主要贡献概括如下:
- 我们提出了一种基于CNN的多域学习框架,该框架将域独立信息与域特定信息分开,以有效捕获共享表示。
- 我们的框架被成功地应用于视觉跟踪,通过多域学习预先训练的CNN在新序列的背景下在线更新,以自适应地学习特定领域的信息。
- 在两个公共基准测试中:目标跟踪基准[40]和VOT2014[25]中,我们的广泛实验证明了我们的跟踪算法相对于最先进的技术具有出色的性能。
论文的其余部分组织如下。我们首先回顾了第二节中的相关工作,并在第三节中讨论了我们的多域视觉跟踪学习方法。第四节介绍了我们的在线学习和跟踪算法,第五节展示了在两个跟踪基准数据集中的实验结果。
2.相关工作
2.1 视觉跟踪算法
视觉跟踪是计算机视觉的基本问题之一,几十年来一直是人们研究的热点。大多数跟踪算法要么属于生成性方法,要么属于判别性方法。生成式方法使用生成式模型描述目标的外观,并搜索最符合模型的目标区域。已经提出了各种生成性目标外观建模算法,包括稀疏表示[31,43]、密度估计[16,22]和增量子空间学习[32]。相比之下,判别方法的目标是建立一个将目标对象与背景区分开来的模型。这些跟踪算法通常基于多实例学习[2]、P-N学习[24]、在线提升[14,15]、结构化输出支持向量机[17]等来学习分类器。
近年来,由于相关滤波器的计算效率和竞争性能,相关滤波器在视觉跟踪领域得到了广泛的关注[3,18,6,21]。Bolme等人的研究成果提出了一种具有最小输出平方误差和(MOSSE)滤波器的快速相关跟踪器,其运算速度为数百帧/秒。Henrique[18]使用循环矩阵构造了核化相关滤波器(KCF),并在傅立叶域中有效地结合了多通道特征。随后对KCF跟踪器的几种变体进行了研究,以提高跟踪性能。例如,DSST[6]学习用于转换和缩放的单独过滤器,而MUSTER[21]采用受心理记忆模型启发的短期和长期记忆存储。虽然这些方法在受约束的环境中是令人满意的,但它们有一个固有的局限性,即它们求助于低级别的手工制作的特征,这些特征在动态情况下很容易受到攻击,包括光照变化、遮挡、变形等。
2.2 卷积神经网络
CNN已经在广泛的计算机视觉应用中展示了其出色的表示能力[27,5,34,13,30,37,36]。Krizhevsky等[27]通过训练具有大规模数据集和有效GPU实施的深度CNN,在图像分类方面带来了显着的性能改进。R-CNN[13]通过对大型辅助数据集进行预训练并对目标数据集进行微调,将CNN应用于训练数据稀缺的对象检测任务。
尽管CNN取得了如此巨大的成功,但到目前为止,使用CNN表示的跟踪算法只被提出了有限的数量[10,20,28,39]。基于CNN的早期跟踪算法只能处理预定义的目标对象类,例如人,因为CNN在跟踪之前被离线训练,并且在跟踪之后被修复[10]。文献[28]虽然提出了一种基于人工神经网络池的在线学习方法,但该方法训练深度网络缺乏训练数据,且与基于手工特征的方法相比,精度不是特别高。最近的一些方法[39,20]将预先训练好的CNN转移到为图像分类而构建的大规模数据集上,但由于分类和跟踪任务之间的根本差异,其表示可能不是很有效。与现有方法不同的是,该算法利用大规模的视觉跟踪数据对CNN进行预训练,并获得有效的表示。
2.3 多域学习
我们的深度CNN预训练方法属于多领域学习,是指训练数据来源于多个领域,并将领域信息融入到学习过程中的一种学习方法。多领域学习在自然语言处理方面很受欢迎(例如,具有多个产品的情感分类和具有多个用户的垃圾邮件过滤),并且已经提出了各种方法[7,8,23]。在计算机视觉领域,只有几种领域自适应方法讨论多领域学习。例如,段等人[9]提出了一种基于领域加权的支持向量机组合方法用于视频概念检测,Hoffman等人提出了一种基于领域加权的支持向量机方法。[19]提出了一种用于目标分类的混合变换模型。
3.多域网络(MDNet)
这一部分描述了我们的CNN体系结构和多域学习方法,以获得用于视觉跟踪的独立于域的表示。
3.1 网络结构
我们的网络架构如图1所示。它接收107×107RGB输入,并且具有五个隐藏层,包括三个卷积层(卷积1-3)和两个全连通层(fc4-5)。另外,网络具有对应于K个域(换言之,训练序列)的最后完全连接层(fc61-fc6K)的K个分支。卷积层与VGG-M网络[5]的相应部分相同,只是特征地图的大小由我们的输入大小调整。接下来的两个完全连接的层有512个输出单元,并与RELU和Dropout结合在一起。K个分支中的每个分支都包含一个具有Softmax交叉点丢失的二进制分类层,该层负责区分每个域中的目标和背景。请注意,我们将fc61fc6K称为特定于域的层,将所有前面的层称为共享层。
图1:我们的多域网络的架构,由共享层和K个域特定层分支组成。黄色和蓝色边界框分别表示每个域中的正样本和负样本。
我们的网络结构比AlexNet[27]和VGG-Nets[5,34]等典型识别任务中常用的网络结构要小得多。我们相信这样一个简单的结构由于以下原因,更适合视觉跟踪。首先,视觉跟踪的目标是只区分目标和背景两类,这比一般的视觉识别问题(如有1000个类别的ImageNet分类)需要的模型复杂度要低得多。其次,深度CNN对于精确的目标定位效果较差,因为随着网络的深入,空间信息往往会被稀释[20]。第三,由于视觉跟踪中的目标通常较小,因此希望使输入尺寸较小,这自然会降低网络的深度。最后,在视觉跟踪问题上,较小的网络显然更有效,在这种情况下,训练和测试都是在线进行的。当我们测试较大的网络时,算法的精确度较低,并且速度明显变慢。
3.2 学习算法
我们的学习算法的目标是训练一个多领域的CNN,在任意的领域内对目标和背景进行歧义识别,这并不简单,因为来自不同领域的训练数据对目标和背景有不同的概念。然而,仍然存在一些对于所有领域的目标表示都是理想的共同特性,例如对光照变化、运动模糊、尺度变化等的鲁棒性。为了提取满足这些共同特性的有用特征,我们通过结合多领域学习框架来分离与领域无关的信息和特定于领域的信息。
我们的CNN是由随机梯度下降(SGD)方法训练的,其中每个域在每次迭代中都是唯一处理的。在第k次迭代中,基于由来自第(K Mod K)个序列的训练样本组成的小批量来更新网络,其中仅启用单个分支fc6(K Mod K)。它会一直重复,直到网络收敛或达到预定义的迭代次数。通过这种学习过程,在共享层中对与领域无关的信息进行建模,从中获得有用的通用特征表示。
4.用MDNet在线跟踪
一旦我们完成了第3.2节中描述的多域学习,域特定层(fc61-fc6k)的多个分支将被新测试序列的单个分支(Fc6)替换。然后,我们同时在线微调新的域特定层和共享网络中的完全连接层。本节将讨论详细的跟踪过程。
4.1 跟踪控制和网络更新
通过长期和短期的更新,我们考虑了视觉跟踪的两个互补方面,健壮性和适应性。使用长时间段收集的正样本以规则的间隔执行长期更新,而无论何时检测到潜在的跟踪故障时-当估计的目标被分类为背景时-使用短期期间的正样本进行短期更新。在这两种情况下,我们都使用在短期内观察到的负样本,因为旧的负样本通常是多余的或与当前帧无关。请注意,我们在跟踪过程中维护单个网络,其中这两种更新是根据目标外观更改的速度执行的。
为了估计每一帧中的目标状态,使用该网络对在前一目标状态周围采样的N个目标候选x1;:;xN进行评估,并从网络中获得它们的正分f+(Xi)和负分f−(Xi)。最优目标状态x∗是通过寻找具有最大正分数的示例来给出的,如下所示
4.2 硬例挖掘
大多数负样本在检测跟踪方法中通常是琐碎的或冗余的,而只有少数分散注意力的负样本在训练分类器时是有效的。因此,普通的SGD方法,训练样本对学习的贡献相等,由于没有充分考虑干扰因素,容易出现漂移问题。对于这个问题,目标检测中一个流行的解决方案是硬性否定挖掘[35],其中训练和测试过程交替进行,以识别硬性否定示例,通常是假阳性,我们在在线学习过程中采用了这个想法。
我们将硬否定挖掘步骤融入到小批量选择中。在我们学习过程的每一次迭代中,一个小批次由M+阳性和Mh−硬阴性组成。通过检测M−(>>Mh−)阴性样本并选择Mh-−阳性分值最高的样本来识别硬阴性样本。随着学习的进行和网络变得更具鉴别力,小批量分类变得更具挑战性,如图2所示。这种方法检查预定义数量的样本,并有效地识别关键否定样本,而不需要像标准硬否定挖掘技术那样显式运行检测器来提取假阳性。
图2:通过在Bolt2(上)和Doll(下)序列中进行硬性负挖掘,确定了训练示例。红色和蓝色边界框分别表示每个小批次中的阳性和阴性样品。随着训练的进行,阴性样本变得很难分类。
4.3 边界框回归
由于基于CNN的特征的高层抽象,以及我们的数据增强策略对目标周围的多个正例进行采样(这将在下一小节中更详细地描述),我们的网络有时无法找到围绕目标的紧密边界框。我们应用目标检测中流行的包围盒回归技术[13,11]来提高目标定位精度。给定测试序列的第一帧,我们训练一个简单的线性回归模型,利用目标位置附近样本的Conv3特征来预测精确的目标位置。在随后的帧中,我们调整根据公式(1)估计的目标位置。如果估计的目标是可靠的(即f+(x)>0.5),则使用回归模型。由于在线更新费时费力,且考虑到回归模型的风险,增量学习可能不是很有帮助,因此只在第一帧训练包围盒回归算法。有关详细信息,请参阅[13],因为我们使用相同的公式和参数。
4.4 实验细节
我们的跟踪算法的整个过程在算法1中给出。CNN的第j层中的滤波器权重由wj表示,其中w1:5通过多域学习预训练,并且w6针对新序列随机初始化。只在线更新完全连接层W4:6中的权重,而卷积层W1:3中的权重在整个跟踪过程中是固定的;该策略不仅有利于计算效率,而且通过保留与域无关的信息来避免过拟合。TS和TL分别是短期(τs=20)和长期(τl=100)周期的帧索引集合。
下面描述进一步的实现细节。
目标候选框产生。为了在每一帧中生成目标候选,我们从高斯分布中提取N(=256)个平移和缩放维度的样本,xi t=(xi t, yti, si t),i=1;::;N,其平均值是前一目标状态x∗t−1,协方差是对角矩阵diag(0.09r2, 0.09r2,0.25),其中r是前一帧中目标的宽度和高度的平均值。通过将1.05si乘以初始目标比例来计算每个候选边界框的比例。
训练数据。对于离线多域学习,我们从每帧收集了50个正样本和200个负样本,其中正样本和负样本分别与地面真实边界框具有≥0:7和≤0:5的IOU重叠比率。同样,对于在线学习,我们收集了ST+(=50)阳性和ST−(=2 0 0)阴性样本,≥0:7和≤0:3 IOU与估计的目标边界框重叠,但S1+=5 0 0和S−1=5 0 0除外。对于包围盒回归,我们使用1000个训练样本,参数与[13]相同。
网络学习。对于具有K个训练序列的多域学习,我们训练网络100K迭代,卷积层2的学习率为0.0001,完全连接层的学习率为0.001。在一个测试序列的初始帧,我们以fc4-5的学习率0.0001和fc6的0.001的学习率训练完全连接层30次迭代。对于在线更新,我们训练完全连接的层进行10次迭代,学习速率是初始帧的三倍,以便快速适应。动量和重量衰减总是分别设定为0.9和0.0005。每个小批次由M+(=32)个阳性和M个−h(=96)个硬性负片组成,它们是从M个−(=1024)个负片中选择出来的。
5.实验
我们在两个公共基准数据集,对象跟踪基准(OTB)[40]和VOT2014[25]上对所提出的跟踪算法进行了评估,并将其性能与最先进的跟踪器进行了比较。我们的算法在MATLAB中使用MatConvNet工具箱实现[38],在8核2.20 GHz Intel Xeon E5-2660和NVIDIA Tesla K20M GPU的支持下,运行速度约为1fps。
5.1 在OTB100上评估
OTB[40]是一个很受欢迎的跟踪基准,它包含100个带有大量变化的带完整注释的视频。评价基于两个指标:中心定位误差和包围盒重叠率。使用一次通过评估(OPE)将我们的算法与包括MUSTER[21]、CNN-SVM[20]、MEEM[42]、TGPR[12]、DSST[6]和KCF[18]在内的六个最先进的跟踪器以及Benchmark-SCM[44]和Struck中的前两个跟踪器进行了比较。请注意,CNN-SVM是另一种基于CNN表示的跟踪算法,它为采用深度学习的跟踪算法提供了基线。除了[40](OTB100)中全部100个序列的结果外,我们还给出了包含50个序列[41](OTB50)的ITS早期版本的结果。对于MDNet的离线训练,我们使用从VOT2013[26]、VOT2014[25]和VOT2015[1]收集的58个训练序列,不包括OTB100中包含的视频。
图3分别说明了基于中心位置误差和边界框重叠率的精度图和成功图。它清楚地表明,我们的算法(由MDNet表示)在这两个指标上都明显优于最先进的跟踪器。温和阈值下的异常分数意味着我们的跟踪器几乎不会错过目标,而严格阈值下的竞争性分数意味着我们的算法也能找到与目标紧密的包围盒。为了进行详细的性能分析,我们还报告了OTB100中各种挑战属性的结果,如遮挡、旋转、运动模糊等。图4展示了我们的跟踪器有效地处理了通常需要高级语义理解的各种具有挑战性的情况。特别是,我们的跟踪器成功地跟踪了低分辨率的目标,而所有基于低层特征的跟踪器在挑战中都没有成功。
图3:OTB50[41]和OTB100[40]的精度和成功曲线图。图例中的数字表示精确绘图的代表性精度为20像素,以及成功绘图的曲线下面积分数。
图4:八个挑战属性的成功图表:快速运动、背景杂乱、照明变化、平坦旋转、低分辨率、遮挡、看不见和比例变化。
为了验证算法中每个组件的贡献,我们实现并评估了我们方法的几个变体。通过与单域学习方法(SDNet)的比较,测试了我们的多域预训练技术的有效性,单域学习方法使用来自多个序列的数据用单个分支来训练网络。我们还研究了我们的跟踪算法MDNet的两个附加版本,没有边界框回归(MDNet-BB),和无包围盒回归和硬负挖掘的MDNet(MDNet-BB-HM)。所有变种的性能都不如我们的完整算法(MDNet),跟踪算法中的每个组件都有助于提高性能。详细结果如图5所示。
图5:用于内部比较的OTB100上的精度和成功曲线图。
图6定性地展示了我们的算法相对于最先进的跟踪器的优势。图7显示了我们的算法的几个失败案例:轻微的目标外观变化会导致优惠券序列中的漂移问题,而剧烈的外观变化会使我们的跟踪器在跳跃序列中完全错过目标。
图6:所提出的方法在一些具有挑战性的序列(Bolt2、ClifBar、Diving、Freeman4、Human5、Ironman、Matrix和Skating2-1)上的定性结果。
图7:我们方法的失败案例(优惠券和跳跃)。绿色和红色边界框分别表示地面实况和我们的跟踪结果。
5.2 对VOT2014数据集的评估
为了完备性,我们还给出了在VOT2014数据集[25]上的评估结果,该数据集包含25个变化很大的序列。在VOT挑战协议中,每当跟踪失败时都重新初始化跟踪器,并且评估模块报告准确性和鲁棒性,这分别对应于包围盒重叠率和失败次数。这有两种实验设置:跟踪器使用地面真实边界框(基线)或随机扰动边界框(区域噪波)进行初始化。VOT评估还提供了基于跟踪器之间性能差距的统计和实际意义的排名分析。有关更多详细信息,请参阅[25]。我们将我们的算法与VOT2014 Challenges中排名前5位的跟踪器-DSST[6]、SAMF[29]、KCF[18]、DGT[4]和PLT 14[25]-以及另外两个最先进的跟踪器MASTER[21]和MEEM[42]进行了比较。我们的网络使用OTB100中的89个序列进行了预训练,这些序列不包括VOT2014数据集的常见序列。
如表1和图8所示,MDNet在总体上排名第一-在准确性方面排名第一,在稳健性方面排名第一或第二;即使在重新初始化较少的情况下,它也表现出比所有其他方法更好的准确性。此外,区域噪声实验结果表明,MDNet可以很好地处理不精确的重新初始化,这意味着它可以有效地与重新检测模块相结合,实现长期跟踪。我们还报告关于图9中的基线实验的几个视觉属性的结果,这表明我们的跟踪器在各种具有挑战性的情况下都是稳定的。
表1:VOT2014中两个实验的准确度和稳健性的平均得分和排名[25]。第一名和第二名的分数分别用红色和蓝色突出显示。
图8:VOT2014数据集中测试算法的稳健性-准确性排行图。较好的追踪器位于右上角。
图9:五个视觉属性的稳健性-准确性排行图:摄像机运动、光照变化、运动变化、遮挡和大小变化;以及一个空属性。
6.结论
我们提出了一种新的基于多领域学习框架训练的CNN的跟踪算法,称为MDNet。我们的跟踪算法从预训练中学习领域独立的表示,并在跟踪过程中通过在线学习获取特定领域的信息。与为图像分类任务设计的网络相比,所提出的网络具有简单的体系结构。整个网络是离线预训练的,而包括单个特定于域的层在内的完全连接的层是在线微调的。与最先进的跟踪算法相比,我们在两个大型公共跟踪基准OTB和VOT2014中取得了出色的性能。