研究论文——Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
摘要
- 文章中的视觉跟踪实现的思路也是基于利用CNN训练大量的视频,来获得一个通用的框架,类似于java语言中的接口。
- CNN由共享层和指定域层的多个分支组成。域对应单独的训练序列,每个分支负责对每个域中的目标二分类识别。
- 迭代训练CNN中的每个域,为了得到共享层的目标通用表示形式。
- 当用新序列跟踪目标时,使用预训练好的CNN中的共享层和在线更新的二分类层相结合,来创建新的CNN。
- 通过评估目标在上一个状态时,周围的随机采样的候选窗口,实现在线跟踪。
引言
- 以往CNN都是训练小数据集,最多也就是图像库,对于视频库的训练还没有成熟的算法。这篇文章试图解决这个问题。
- 训练视频面临组成视频的图片集是无序的,除了视频中的目标识别物一直存在,其他的背景都是未知和变化中的。那,我们的CNN怎么脱离这种障碍,判断出干扰区域,是这篇文章的重点。
- 新的CNN结构:多域神经网络(MDNet)。MDNet具有独立的特定领域层的分支,可以在网络末端进行分类,并共享前一层中所有捕获到的公共信息,进行通用特征学习。
- MDNet中的每个域分别进行迭代训练,共享层就在每次迭代中更新。通过在线更新,分别对目标的长期和短期外观变化进行建模,获得鲁棒性和适应性,并在学习过程中加入高效的硬负面挖掘技术。
- 网络效果:MDNet中经过多域学习的预训练的CNN,在新序列中在线更新,自适应地学习领域特定信息。并且可以将领域中无关信息和特定信息分离,进而有效捕获共享的表征。
视觉跟踪算法
- 跟踪算法分两种:生成式、区别式。生成式使用生成模型建立目标外观来搜索最适合模型的目标区域,区别式通过建立模型区分目标对象和背景。常用于:多实例化的学习分类器、P-N学习、在线增强、结构化输出向量机。
- 滤波器的计算效率和竞争性强。都可以用在分类上。但是都依赖于低级手工特征,而类似光照、遮挡、变形在动态情况下很脆弱。
卷积神经网络
- CNN通过大量数据集和高效GPU来实现对深度网络的训练。对图像处理性能带来大幅提升。
- R-CNN对大型辅助数据集进行预训练、对目标数据集进行微调,应用在数据稀缺的对象检测中。
- 早期CNN都是离线训练的,后期追踪目标固化。
- 现有的CNN在线学习方法,缺乏训练深度网络需要的训练数据。准确性低于手工特征的数据集。
- 图像分类与追踪不同,本算法利用大规模视觉跟踪数据对CNN预处理,得到有效结果。
多域学习
MDNet由共享层和域指定层的K个分支构成。黄框和蓝框分别代表每个域中的正负样本。
计算机视觉中,多域学习用于域适应方法上。Duan提出域加权的向量机组合用于视频概念检测。Hoffman提出混合转换模型用于对象分类。
多域网络(MDNet)
通过描述CNN结构和多域的学习方法,来获取视觉跟踪的独立于域的方法。
网络结构
- 107×107 RGB输入,5隐藏层(3卷积计算层、2全连接层)。最后一个全连接层,有K个分支对应在K个域(训练序列。)
- 卷积层和VGG-M神经网络对应的部分都相同,但是feature map的大小根据输入尺寸调节。
- 2全连接层有输出单元512个,与ReLUs、dropout相结合。
- 每个分支包含一个具有softmax交叉熵损失的二元分类层,负责在每个域里分出目标和背景。
- 全连接层里的指定域层和前面所有层 均为 共享层。
- 此网络结构适用典型识别任务,一般是在卷积层中获得3×3的feature map。107=75(接受域)+2×16(步长)
- 视觉跟踪优选简单结构。因为任务只是区分目标和背景,没必要识别那么精细,深度太深会导致运行速度变慢,且稀释空间信息,降低算法准确性。
学习算法
- 目标:训练一个多域CNN,在任意域消除目标和背景的二义性。
- 变化中有通性:对光照变化的鲁棒性、运动模糊、尺度变化。通过合成一个多域学习框架把域里无关的信息和特定信息分离。
- MDNet的CNN采用 随机梯度下降(SGD) 方法训练,每个域在每次迭代中均单独处理。
- 在K次迭代中,网络对一个有序列的训练样本集组成的minibatch进行更新。只启用了分支fc6。不断重复直到网络收敛或达到预定迭代次数。
- 通过学习过程,对共享层中域独立的信息建模,来获取有用的特征表示。
红框:正样本 蓝框:负样本 负样本难以归类为训练过程。
MDNet在线跟踪
构建完多域学习后,域指定层的多分支就会被新的测试序列的单个分支取代。然后在线微调共享网络中新的域指定层和全连接层。
控制跟踪和网络更新
- 长期收集的正样本定期进行长期更新;短期收集的正样本在估计目标的正得分<0.5时,进行短期更新。负样本均采用短期更新。
- 利用网络对前一个目标状态周围的采样值评估,得出正分数和负分数,来估计每一帧的目标状态和N个候选目标。
- 通过寻找正极值如下的算例,给出最优目标状态。
小批量硬挖掘
- 只有少数分散注意力的负样本对训练分类器有效。正常的SGD中训练样本易遭受漂移问题,通过硬负挖掘解决,交替使用训练和测试流程识别硬负样本。
- 在线学习过程也采用上述思想。
- 在小批量选择中使用硬负挖掘,学习过程的每次迭代,都产生由M多个正和M个硬负组成的小批量。找出硬负样本。
- 学习越深入,网络识别能力越强,小批处理中做分类越来越难,只识别关键的负样本。
边界框回归
- 为了提升目标的定位精度,找到目标的最小边界框,采用边界框回归技术。
- 利用目标位置附近的样本的卷积层窗口在测试序列中的第一帧中的情况,来训练一个简单的线性回归模型预测精确的目标位置。
- 后续帧继续这样训练耗时,放弃在线更新。
实现细节
ωj:CNN第 j 层的滤波器权值。
ω 1:5通过多域学习进行预训练,ω 6对新序列进行随机初始化。
全连接层的ω 4:6的权值在线更新,卷积层ω 1:3的权值固定不变。
利于提高计算效率,保留域独立信息避免过拟合。
Ts=20是短时间的帧索引集;Tl=100是长时间的帧索引集。
下图是算法1的流程
候选目标集: 为在每帧生成候选目标,通过变形和缩放获取N个样本,来自高斯分布的Xt i代表前一个目标状态和协方差是一个对角矩阵。r代表前一帧目标的长和宽。每一候选边界框的规模的计算与原始目标规模成比例。
训练数据: 为了离线多域学习,从每帧收集50个正样本和200个负样本。正样本 和 标准边界框 重叠比率高于0.7,负样本低于0.5。在线多域学习也是这样。正样本 和 预计目标边界框 重叠比率高于0.7,负样本低于0.3。通过相同的参数使用1000个训练样本进行边界框回归。
网络学习: 为了K训练序列的多域学习,需要使用学习率0.0001的卷积计算层和0.001的全连接层来进行100K次迭代训练网络。
测试序列的第一帧,使用学习率0.0001的全连接层4-5和0.001的全连接层6迭代30次训练全连接层。
为了在线更新,使用学习率三倍于初始帧 十次迭代来训练全连接层,从而最快适应。
动量设为0.9,权重为0.0005。从1024个负样本中选出32个正样本和96个硬负样本。
实验
使用对象跟踪基准和视觉在线跟踪来测试MDNet。使用MATLAB的卷积网络工具盒实现算法,闪屏1fps和八核处理器配置。
对OTB测试
OTB是一个流行的包含100个完全注释视频和大量变化的跟踪基准。基于 中心定位误差 和 边界框重合率 两个指标进行评估。使用OPE将算法和六个最先进的跟踪器比较,MUSTer、CNN-SVM、MEEM、TGPR、DSST、KCF,两个最高级的跟踪器,SCM、Struck。
图3表明在温和阈值下的异常分数说明 跟踪器几乎不会错过目标,严格阈值下的竞争分数说明算法能找到与目标贴合的边界框。
为了进行详细的性能分析,汇报OTB100中各种挑战属性的结果:遮挡、旋转、运动模糊。
图4说明我们的跟踪器可以在需要高级语义理解情况下对有挑战性的情况处理。并且跟踪器可以在低分辨率下跟踪目标。
图5对方法的几个变体进行评估,验证算法中每个组件的贡献。证明单域学习效果不行,边界框回归和硬负挖掘也不可少。
图6说明算法和最先进的跟踪器相比的优越性。
图7展示算法的失败情况:漂移问题。正常情况目标在跳跃序列中外观变化不大,突然的外观变化就会使跟踪器完全偏离目标。
对VOT2014数据集测试
VOT2014数据集包含25个有大量变化的序列。在VOT挑战协议中,当追踪失败目标被重初始化,评估模块报告准确性和鲁棒性,对应于边界框重叠率和失败次数。实验分两类:跟踪器对基准边界框和随机扰动边界框进行初始化。
VOT评估提供了基于跟踪器之间统计意义和实际意义的性能差距的排名分析。
把算法和5种VOT2014挑战的先进跟踪器比较,DSST、SAMF、KCF、DGT、PLT_14,两种顶级跟踪器:MUSTer、MEEM。
表1和图8表明算法表现最好(准确性、鲁棒性)。
图9报告了几个可视属性的结果,表明跟踪器在一些挑战性情况下表现稳定。
结论
MDNet是一种基于多域学习框架下训练的CNN跟踪算法。
跟踪算法在预训练时学习域独立的表现,跟踪过程中通过在线学习捕获指定域信息。
网络的结构比对图像分类的网络简单。预训练时整个网络离线,包括单指定域层的全连接层在线微调。
在两个大型公开追踪基准OTB和VOT2014中,比其他先进跟踪算法表现好。
致谢
部分工作得到了韩国政府资助的IITP的拨款支持。