[目标跟踪]‘Skimming-Perusal’ Tracking: A Framework for Real-Time and Robust Long-term Tracking

今天整理一篇关于长时跟踪的论文——SPLT。

最后更新日期:20201207

论文链接:https://arxiv.org/pdf/1909.01840.pdf

代码链接:https://github.com/iiau-tracker/SPLT

摘要:

作者提出了一个长时跟踪框架,由skimming和perusal两个模块组成。perusal模块bounding box regressortarget verifier组成,前者负责生成候选proposal,后者负责基于置信度分数推理出最优的候选proposal。利用置信度分数,本文的跟踪器可以判断目标是否在视野中存在,并在下一帧中选择局部搜索或全局搜索策略。skimming模块用于加速全局搜索,负责从大量的滑动窗口中选择最可能的区域。

贡献:

1、提出‘Skimming-Perusal’框架,并且skimming和perusal模块都是离线训练的,直接用于在线跟踪的过程;

2、perusal模块负责在局部搜索区域内准确捕获跟踪目标,由基于SiameseRPN的bounding box regressor和基于deep feature embedding的离线训练的verifier构成;

3、skimming模块负责从稠密采样的滑动窗口中选择最可能的局部区域,并在目标丢失时,加速re-detection进程;

4、在VOT2018LT和OxUvA数据集上进行了实验,得到了最好地accuracy,并保证了实时性。

Skimming-Perusal跟踪框架:

1、利用perusal模块在局部搜索区域(四倍目标大小)内搜索目标;

2、在获得当前帧的最优候选proposal后,基于置信度分数判断目标存在与否,并决定下一帧采用局部搜索还是全局搜索策略。

      如果置信度分数比阈值高,目标是存在的,并在以目标位置为中心的搜索区域内继续跟踪目标。否则,目标是不存在的,在下一帧中采用全局搜索策略。全局搜索策略就是采用滑动窗口来剪裁一系列的局部搜索区域,然后利用perusal模块来处理这些区域。滑动窗口很慢,为了加速,设计skimming模块来选择最有可能的局部区域,然后由perusal处理。

带有离线学习的Regression和Verification网络的鲁棒局部Perusal:

由Fig1可知,perusal模块由离线训练的SiameseRPN和离线训练的verification模块组成,前者在局部搜索区域内生成候选proposals,后者选出最好的候选框。

  • SiameseRPN

SiameseRPN在SiamFC方法的基础上引入region proposal网络,使得跟踪器可以估计不同纵横比的bounding box,见Fig2。给定目标模板和局部搜索区域,SiameseRPN模型生成bounding boxes和相对应的相似度分数(表示候选的总数量)。

最简单的定位目标的方法是直接根据当前帧中有最高分数的bounding box来定位,即。然而,这种方式会让跟踪器不稳定,并且很容易偏移到干扰项上。联合学习bounding box预测和分类分数往往会生成准确的box proposals和不可靠的分数。因此,我们只利用SiameseRPN来生成候选proposals,然后利用额外的verifier计算置信度分数。

  • 离线学习的Verification网络

为了保证网络的高效性,我们利用基于深度特征嵌入的离线训练的verifier。我们学习embedding函数f\left ( \cdot \right )来将目标模板和候选proposals嵌入判别欧几里得空间。判别能力是由下述triplet损失来保证的,

其中,表示特定目标的第i个anchor,是正样本(即目标的其他图片 where??),是其他物体或背景的负样本,\alpha为margin value(本文设定为0.2)。\tau是训练集中所有可能的triplet对的集合,集合中的元素个数为M训练triplets和超参数的构建后面会讲到~

在跟踪的过程中,我们可以利用阈值余弦相似性度量来确定候选proposals的置信度分数

其中,是首帧中的目标模板,表示从图像中剪裁出第i个bounding box的图像。

因此,最优的候选可以被定义为是其对应的置信度分数。如果比预先定义的阈值\theta大,认定目标是存在的,并在下一帧中继续局部搜索。如果比预先定义的阈值\theta小,认定目标消失,并在下一帧中继续全局搜索。\theta设定为0.65。

级联训练:

1、单独训练SiameseRPN和verification网络;

2、将perusal模块用于训练集,并收集错误分类的样本为困难样本;

3、利用困难样本微调verification网络。

利用离线学习的Skimming模块进行高效的全局搜索:

由Fig3可以看出,skimming模块确实可以降低跟踪器全图重检测的运行时间(目标消失到目标重新出现的时间间隔)。

给定目标模板和搜索区域,skimming模块要学习函数,其中p表明目标是否出现在该区域。函数是利用深度卷积神经网络(CNN)来实现的,网络结构见Fig4。

目标模板和搜索区域被送入到CNN特征提取网络中,然后将其特征图融合并连接成一个长向量。最终全连接层和sigmoid函数计算二值分类。交叉熵损失被用于训练该网络。

当跟踪器进行全局搜索时,会采样稠密的滑动窗。我们首先将这些滑动窗区域输入skimming模块,然后基于分类结果选择top-K的候选区域,并把剩余的区域作为干扰项。只有被选中的区域才会送入perusal模块(SiameseRPN+Verifier)。此外,skimming模块增强了跟踪器的鲁棒性,因为它过滤掉一些干扰项,并可减轻跟踪漂移现象。K设定为3。

实现细节:

  • 网络结构和训练数据集:

regression(即SiameseRPN)和skimming模块有相似的结构。首先,特征提取网络为MobileNet(V1)。我们还利用平均池化下采样模板特征的空间分辨率为1\times 1。此外,Siamese分支不共享参数。verifier的主干网络为ResNet50。模板图片和候选proposals被缩放为127\times 127,搜索区域被缩放为300\times 300。上述网络的参数以ImageNet预训练模型来初始化,并在ImageNet DET和VID数据集上进行微调。

  • 训练数据的准备:

为了让regression模块能够在给定目标模板的情况下回归任何种类的目标,同时学习一个通用的匹配方程来减轻目标外观变化带来的影响,我们利用ImageNet DET和VID数据集和数据增强方法,如水平翻转和随机擦除。至于verification网络,理论上我们应该选择困难样本作为triplet对,从而加速收敛并增强判别能力。为此,我们做如下采样:

1、从训练集中随机选择一个视频,并选择它的初始图像块为anchor;

2、随机选择视频中的一帧为正样本;

3、随机选择视频中属于其他目标类别的一帧作为负样本。

此外我们还利用了级联训练的方法来挖掘困难样本并微调verification网络。

至于skimming模块,我们在目标周围随机剪裁搜索区域作为正样本。为了更方便的获得负样本,我们直接用平均像素值覆盖目标,然后采用相同的方法裁剪负样本。模板生成方式与SiamFC的一致

  • 训练策略:

regression、verification和skimming模块是以端到端的形式单独训练的,利用batch gradient descent优化器,momentum为0.9。regression和skimming网络的batchsize为32,verification网络的为64。以相同的学习率1e^{-3}分别训练regression和skimming网络。训练verification网络70个epoch,每个epoch60000个triplet对。初始学习率设置为1e^{-2},每20个epoch降低为它的1/10。

实验:

速度:25.7fps

详情见论文。。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值