SiamRPN论文笔记

本文参考了几篇知乎上的回答写的都很好对理解总结很有帮助,链接如下:
https://zhuanlan.zhihu.com/p/101494393
https://zhuanlan.zhihu.com/p/96631118

摘要

SiamRPN包含用于特征提取的Siamese子网络(Siamese subnetwork)和候选区域生成网络(region proposal subnetwork),其中候选区域生成网络包含分类和回归两条支路。 在跟踪阶段,SiamRPN将跟踪视作单样本检测任务(one-shot detection task),就是把第一帧的目标视为检测的模板,在后续帧里面检测与它相似的目标。得益于这些改良,传统的多尺度测试和在线微调可以被舍弃,同时大大提高了速度。

整体的网络结构如图:
SiamRPN论文笔记_第1张图片

(在这里只总结最重要的网络架构部分其他的省略)

3. Siamese-RPN framework

3.1. Siamese feature extraction subnetwork

SiamRPN论文笔记_第2张图片
这一部分的网络结构如图,与SiamFC相似,分为模板分支和检测分支。使用全卷积孪生网络,两个分支共享权重。使用的是修改过的Alexnet。

3.2. Region proposal subnetwork

SiamRPN论文笔记_第3张图片
RPN部分,分类分支(Classification Branch),模板支路(Template Frame)的feature map是4×4×(2k×256),检测支路(Detection Frame)的feature map是4×4×256。两个支路通道数不同,通过分组实现互相关操作。设有k个anchor,每个anchor输出的是目标–背景的二分类结果,因此将 (2k×256)个通道拆成 2k组卷积核,分别与检测支路的feature map做互相关,得到的就是 17×17×2k 。

回归分支同理。输出为17×17×4k。回归的四个坐标分别为 dx,dy,dw,dh (anchor相比于groundtruth的偏移量)。

损失函数为:
在这里插入图片描述
分类分支的损失函数为交叉熵损失,而回归分支的损失是使用标准坐标的L1平滑损失表示的,具体看公式:
L1平滑损失为:
SiamRPN论文笔记_第4张图片
在这里我们定义bbox和真值之间的标准坐标距离为:
SiamRPN论文笔记_第5张图片
所以回归分支的损失为:
SiamRPN论文笔记_第6张图片

3.3. Training phase: End-to-end train SiameseRPN

训练样本对是从ILSVRC [29] with a random interval and from Youtube-BB [25] continuously。使用SGD优化算法。孪生特征提取网络是使用Imagenet预先训练好的。每一点上anchor数量共五个,1个尺度5个比例([0.33, 0.5, 1, 2, 3])。正负样本选择策略:设置高低两个阈值,IoU大于0.6的为正样本,小于0.3的为负样本,一个训练对中有64个样本,其中正样本最多16个。

4. Tracking as one-shot detection

SiamRPN将跟踪视作单样本检测任务(one-shot detection task),就是把第一帧的目标视为检测的模板,在后续帧里面检测与它相似的目标。

4.1. Formulation

4.2. Inference phase: Perform one-shot detection

第一帧的目标作为模板送入模板分支,提前计算好 detection kernel,再送入其他帧与kernel卷积,将跟踪视为一次性局部检测任务。
SiamRPN论文笔记_第7张图片

如上图所示,当后续帧检测图像送入网络后,将生成17×17×k个proposal,输出视为点集,将表示为:
SiamRPN论文笔记_第8张图片
因为在classification feature maps中,奇数通道表示的是对应anchor为正样本的概率。我们在所有的proposal中根据正样本概率挑选前K个,作为新的点集:
在这里插入图片描述
i,j表示anchor中心所在的位置,l(为奇数,代表哪个通道)表示对应的ratio。继而我们可以得到对应的anchor的点集,以及该anchor的bbox regression值,进而得到回归后的proposal的表示:
SiamRPN论文笔记_第9张图片

4.3. Proposal selection

对4.2中选出的K个proposal将进行再次选择:

  • 丢弃远离中心的proposal(认为相邻帧的目标位置不会发生很大的变化,而模板帧的目标是在中间的)
  • 使用余弦窗和尺度变化惩罚因子对proposal进行重新排序(余弦窗和尺度变化惩罚因子是沿用了SiamFC的做法)
  • 使用NMS对最后预测输出的bounding box进行筛选。

你可能感兴趣的:(论文笔记)