【SPLT(ICCV2019)】论文阅读笔记

‘Skimming-Perusal’ Tracking: A Framework for Real-Time and Robust Long-term Tracking

论文地址 代码

写在前面

这是Huchuan Lu这个组做的一篇长程跟踪的文章,看起来应该他们投CVPR2019的那篇MBMD上做的,文章的精度已经比MBMD高了,而且做到了real-time,把MBMD中的MDNet部分换成了Siamese的结构,所以比较快把。

Motivation

  • 目前为止,大部分的跟踪算法都是针对短的视频序列的,现有的长程跟踪算法,还是很难满足robust和real-time的需求。

Contribution

  • 提出了一个基于深度神经网络的 novel的 Skimming-Perusal 模块去解决长程跟踪问题。 这两个模块都是offline训练好的并可以直接用在在线跟踪上,使得跟踪过程更高效;
  • Perusal模块是为了精细的在一个局部区域里定位到目标,该模块由一个bbox回归器(基于SiameseRPN)和一个验证器(基于deep feature embedding);
  • 提出了一个Skimming模块来用密集的滑动窗口来定位最有可能包含目标的局部区域,这个操作可以加速re-detection 过程。

Algorithm

【SPLT(ICCV2019)】论文阅读笔记_第1张图片
以上就是这篇文章算法的流程图,先是使用Perusal模块在local的search region里找到proposal,然后用验证网络去验证这些proposal的可靠性,如果结果是不可靠,则使用Skimming模块来在global的区域中找到一块有可能有target的local region,再用Perusal模块去找proposal。其实这个local-to-global的方式是DaSiamRPN里面有用到的,加了这个之后,DaSiamRPN确实在长程的数据集上也有很好的表现。

1 Perusal 模块

这个模块就是用SiameseRPN实现的, 通过SiameseRPN来得到一系列的bbox, 不过不用SiameseRPN的bbox评价方式,而是将得到的bbox都用一个验证网络来得到它们的置信度,下图就是本文中用到的Perusal模块:
【SPLT(ICCV2019)】论文阅读笔记_第2张图片

2 离线学习好的验证网络

这里使用的网络结构文中没画出来,不过有引用,感兴趣可以去看看。
这一块主要是学一个embedding function f ( ⋅ ) f(\cdot ) f() ,将template和proposal都弄到一个a discriminative Euclidean space里去,然后使用三元组损失来确保这个空间的判别力,也就是作为损失函数:
在这里插入图片描述
其中 Y i α \mathcal{Y}^{\alpha}_i Yiα 指的是一个target的第 i i i 个anchor, Y i p \mathcal{Y}^{p}_i Yip 是一个正样本, Y i n \mathcal{Y}^{n}_i Yin 代表负样本, α \alpha α 指的是margin。 在跟踪的过程中,一个bbox的置信度由其和第一帧的template Z \mathcal{Z} Z 的 cosine 距离算出:
在这里插入图片描述
如果这个score大于一个阈值,则认为找到了target,否则就需要重检测。

3 SKimming 模块

这个就是用来做重检测的,这边主要是使用滑动窗口的方式确定某个local region是否包含有target,这边也是用Siamese的结构实现的:
【SPLT(ICCV2019)】论文阅读笔记_第3张图片
主要的流程就是给定一个template Z \mathcal{Z} Z 和一个search region X \mathcal{X} X ,算一个 p = g ( Z , X ) p = g(\mathcal{Z}, \mathcal{X}) p=g(Z,X) , 其中 p p p 是指target是否在这个region中出现, g ( ⋅ , ⋅ ) g(\cdot,\cdot) g(,) 是用上面的网络实现的。
【SPLT(ICCV2019)】论文阅读笔记_第4张图片
这一段我有疑问,这个Skimming模块难道不是只用来定位region的嘛,为何又开始选candidates了?

Experiment

实验做的挺好的,ablation study 也挺完善的, 可以看出最管用的还是他的验证模块,长程的跟踪,若是能评价bbox的质量,应该就很有用。
【SPLT(ICCV2019)】论文阅读笔记_第5张图片
【SPLT(ICCV2019)】论文阅读笔记_第6张图片
【SPLT(ICCV2019)】论文阅读笔记_第7张图片
【SPLT(ICCV2019)】论文阅读笔记_第8张图片

Conclusion

还是比较典型的长程跟踪方法,先验证再重检测。文章写的也比较好懂,但是网络有点多,应该offline训起来挺麻烦的,长程确实是一个待解决的问题,但是目前能想到的框架也是这样,顶多换换baseline,暂时没有其他思路了。

你可能感兴趣的:(【SPLT(ICCV2019)】论文阅读笔记)