简介
paper:High Performance Visual Tracking with Siamese Region Proposal Network
code:SiamRPN
这篇论文提出了SiamRPN
跟踪算法,论文最大的亮点就是将RPN
引入了跟踪任务中。
在当时,很多相关滤波加深度网络的跟踪算法虽然在精度上有了很大提升,但实时性很差。对此,siamfc
为代表的siamese network
跟踪算法兼顾了精度和速度。
这篇论文在SiamFc
的基础上,将RPN
加入到其中,取得了当时的速度的SOTA.
RPN简介
RPN
是目标检测领域中用于生成候选框的一种算法,相比于传统的候选域生成算法,该算法速度快且可以很好地融入到深度网络中进行训练,在Faster Rcnn
中首次提出并发挥了重要作用。
关于RPN
的介绍可以参考RPN 解析
主要思想
SiamRPN
的主要框架如上图所示,可以分为Siamese Network
和Region Proposal Network
两个部分,其中Siamese Network
部分共享网络参数,而Region Proposal Network
部分又分为Classification Branch
和Regression Branch
.
Classification Branch
输出的是一个17*17*2K
的向量,其中K
是预先设定的anchor
的数量;共有k
组score
,每组score
表示每个anchor
的positive
和negtive
概率。
Regression Branch
输出的是一个17*17*4K
的向量,也分为K
组position
,每组position
表示回归得到的dx
、dy
、dw
、dh
。
可以知道,每一个anchor
都对应一组{positive score
,negtive score
,dx
,dy
,dw
,dh
},最终跟踪的时候从所有由anchor
得到的目标框中分数最高的,并经过线性插值后得到当前帧的跟踪框.
整个跟踪模型需要优先下列函数:
min W 1 n ∑ i = 1 n L ( ζ ( φ ( x i ; W ) ; φ ( z i ; W ) ) , ℓ i ) \min _{W} \frac{1}{n} \sum_{i=1}^{n} \mathcal{L}\left(\zeta\left(\varphi\left(x_{i} ; W\right) ; \varphi\left(z_{i} ; W\right)\right), \ell_{i}\right) Wminn1i=1∑nL(ζ(φ(xi;W);φ(zi;W)),ℓi)
let z z z denote for the template patch, x x x for the detection patch, function φ φ φ for the Siamese feature extraction subnetwork and function ζ ζ ζ for the region proposal subnetwork.
训练
用数据集ILSVRC
和Youtube-BB
进行训练,采用梯度下降法(SGD)优化上诉损失函数来得到最优网络模型.
跟踪
跟踪时,将首帧图像作为Template Frame
,余下帧作为Detection Frame
. 由于Tempalte Frame
的特征只需要在首帧的时候计算一次,所以这也是SiamRPN
速度快的原因.
实验结果
The Siamese-RPN runs at 160 FPS while achieving leading performance in VOT2015, VOT2016 and VOT2017 real-time challenges
小结
RPN
的引入使得Siamese Network
系列的跟踪算法精度得到进一步提升,果然跟踪还是离不开检测!