目标跟踪《四》--- SiameseRPN论文笔记

目标跟踪《四》--- SiameseRPN论文笔记

介绍

这个paper是商汤团队做出的,利用了faster-rcnn中的RPN的想法,达到了很好的效果,且速度是160fps.很多的跟踪器都有速度的限制,这个工作采用了end-to-end离线和大量的数据训练的方式得到了比较好的效果。网络结构也比较容易,就是siamese network用于去提特征,然后RPN部分用于前景背景分类以及bbox的回归对bbox进行一个refinement.有了RPN对bbox的refinement,就不需要像siameseFC中一样用multi-scale进行测试了,也不需要进行在线的fine-tuning了。

这个工作与siameseFC有很多相似之处,所以理解起来不是太难,gt的输入以及制作基本上都是一样的,包括前面提特征的层都几乎一样,不同的地方是在siameseFC中,提完特征之后,zx就直接做卷积输出响应map了,而这里采用了RPN,网络分成了两支,一支是z分别进行两次卷积得到ckernelrkernel,即一个是用于分类的卷积核,一个是用于回归的卷积核,同样地,x也分别进行了两次卷积,分别得到用于去分类的和用于去回归的(是不是考虑可以把这两个卷积弄成一个会更快一些呢?),在图上是这样的

avator

然后类似于siameseFC中的,各自去做卷积得到响应的得分。

图中的17=20-4+1,对应于p=0,s=1.k 代表anchors的个数,paper里面提到,在跟踪任务中不用像检测任务中anchors那么多,因为跟踪任务中,上一桢和下一桢之间的目标的位置差异应该不会太大,所以只需要在target的附近提anchors就应该差不多了,这正是这个paper中在推理的时候采用的第一种proposal selection的方式,这样也会加速。 RPN部分中bbox的gt,以及所用的loss都是沿用的faster-rcnn中的,没有做改变,但是要注意faster-rcnn中的RPN中的卷积(我记得是fc)的参数是需要学习的,而这里的卷积是不需要学习的,就是一个运算。

avator

bbox的类别的gt的制作也比较容易,就是根据IOU来判断的,较大的就是1(大于0.6),较小的就是0(小于0.3),中间的不要,然后总共会选择64个anchors进行训练,正的最多是16个。

  • one-shot

发现作者在paper里面提到最多的一个词就是one-shot.

这些概念的区别在网上看到一个很有趣的解释,各种shot的解释.

目标跟踪确实属于one-shot的范围内.

paper里面说To the best of out knowledge, this is the first work to formulate online tracking task as one-shot detection..

具体的推理的细节等看完了代码再来补充.

Thoughts

  • 这个paper也是基于siamese network来做的,说明siamese network确实是不错的,那么关键在于后面的部分如何在保证速度的同时得到比较好的效果是设计网络的关键,这个工作中用了RPN对anchor进行了分类和bbox回归,相当于是在效果方面进行了提升,同时因为其bbox的回归的加入,就不需要多个scales的images都送入网络了,从而节约了一些时间.

  • 这里面的一些层(比如用于回归和分类的那个shape为(20,20,256)的feature是否可以是同一个东西)是否可以共用,不知道作者有没有做过这方面的实验(应该是做过吧).

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦