【ATOM(CVPR2019 oral)】论文阅读笔记

ATOM: Accurate Tracking by Overlap Maximization 论文地址 代码地址

写在前面

这是MD大神19年新作,按照传统,还是有高深的数学推导和什么Gauss-Newton,总之是看不懂的东西,理论很强了,然后他们用的还是SIamese的框架,说明现在Siamese框架确实很promising的,用了IoUNet来提精度,也引入了很多机制,比如尺度变化、Hard negative mining等,感觉人家都已经封装的很厉害了,loss也加了权重,没有做的余地了hhh

Motivation

  • 现在很多tracker都致力于优化分类的精度而忽略了对目标的准确定位,他们一般多尺度的搜索来实现bbox的选择,但是因为目标是一个复杂的任务,所以这些方式具有局限性。

Contribution

  • 提出了一个有两个部分的框架,分别对应与目标的分类和估计;
  • 用Conjugate-Gradient-based策略来加快在线学习的收敛;
  • 使用IoUNet来选择bbox,而不是像以前一样用置信度来选。

Algorithm

算法分为两个部分,1)目标估计模块是offline训练的;2)目标分类模块是在线学习的。
【ATOM(CVPR2019 oral)】论文阅读笔记_第1张图片
上图就是本文算法流程图,上下两个分支用的resnet参数是一样的,然后上面那个分支得到的结果作为下面分支的一个参数来得到最终预测的结果,这个图也很直观可以看出来,接下来说一下里面的各个部分。

1 Target Estimation by Overlap Maximization

这个地方他们也用了级联的方式,用了两个block来做。这里用的是IoUNet,引入了一个PrPool来做ROI Pooling(这里的ROI是ground truth的框),因为这个结构但是连续的,所以就可导,可训练,这样得到的bbox就可以用梯度来更新。最后得到的IoU由下面公式得到:
在这里插入图片描述
其中c表示reference branch的结果,z表示当前得到的结果B,网络通过最大化上面这个公式来实现。训练的时候ResNet的参数是不变的,只训练后面的结构。

2 Target Classification by Fast Online Learning

虽然上面的过程能够准确定位了,但是却没办法区分真的target和distractor,所以他们用了两个全连接层来选择结果,这个模块主要负责得到一个粗糙的2D的位置,最后选择的函数如下:
在这里插入图片描述
x表示从backbone网络得到的特征,w是网络参数,然后用DCF的方式来算loss:
在这里插入图片描述
这里他们用了Gauss-Newton的方式来做梯度下降过程,这边实在看不懂,感兴趣的建议看论文。

3 Online Tracking

这里他们对第一帧还做了预处理,包括遮挡、尺度变化、几何变化等,最终得到30个训练样本来那两层分类分支。在跟踪的时候,先是跟踪响应度最高位置,他们先是根据上一帧得到的尺度来割出来一个B,然后给B上加随机噪声,一共有10个初始的bbox,然后再不断迭代最大化IoU,最后的bbox是通过前三个IoU最大的进行平均得到的,整个过程中没有用到任何的反向传播。另外他们还加了hard negative mining来做,而且模型是有在线更新的。

Experiment

终于写到这里了???不知道自己在写什么,看实验结果很强了。
【ATOM(CVPR2019 oral)】论文阅读笔记_第2张图片
【ATOM(CVPR2019 oral)】论文阅读笔记_第3张图片
【ATOM(CVPR2019 oral)】论文阅读笔记_第4张图片
【ATOM(CVPR2019 oral)】论文阅读笔记_第5张图片

总结

emmmm,厉害是厉害,但是MD文章,真的都是用来被我这种菜鸡来膜的,实在看不懂,数学基础真的很重要的了,然后他们也用了很多机制,用了很大的训练集,真是无法超越了。

你可能感兴趣的:(【ATOM(CVPR2019 oral)】论文阅读笔记)