SiameseBAN
- 论文来源
- 论文背景
- 主要贡献
- 论文分析
- 网络框架
- 创新点一:Box Adaptive Head
- 创新点二:Ground-truth
- 创新点三:Anchor Free
- 论文流程
- 训练部分:
- 跟踪部分
- 论文翻译
- Abstract
- 1. Introduction
- 2. Related Works
- 2.1. Siamese Network Based Visual Trackers
- 2.2. Anchor-free Object Detectors
- 3. SiamBAN Framework
- 3.1. Siamese Network Backbone
- 3.2. Box Adaptive Head
- 3.3. Multi-level Prediction
- 3.4. Ground-truth and Loss
- 3.5. Training and Inference
- 4. Experiments
- 4.1. Implementation Details
- 4.2. Comparison with State-of-the-art Trackers
- 4.3. Ablation Study
- 5. Conclusions
论文来源
论文来源:http://xxx.itp.ac.cn/pdf/2003.06761v2.pdf
开源项目:https://github.com/hqucv/siamban
参考文献:
SiamBAN详细分析,一看就懂!
[阅读笔记][CVPR2020][SiamBAN] Siamese Box Adaptive Network for Visua
论文背景
SiamBAN是今年CVPR中效果最好的跟踪器之一,研究它的原理更加能够很好的帮助我们掌握目前跟踪器发展的趋势。
SIamBAN,按照意思分析是孪生自适应框。“孪生”,说明该跟踪使用了Siamese网络架构;而“自适应框”,则是该跟踪器采用了anchor-free的策略,不预先设定anchor框的尺寸,使得框拥有更大强大的自由度。
通过分析论文和代码,我认为SiamBAN就是一个优化版的SiamRPN++,最大的创新点在于anchor-free的引用,去掉了预定义的anchor,从而使得模型整体的参数下降,使得速度得到进一步的提升。
对于SiamBAN的原理分析,我准备采用三个方面:网络框架、训练、跟踪。
主要贡献
- 新的框架:SiamBAN,实现使用深度卷积神经网络的end-to-end的离线训练
- anchor-free的架构,no-prior box的设计避免了与候选框相关的超参数,使跟踪器更加灵活和通用。
- 不仅达到了最先进的效果,并且在多个数据集达到40FPS(VOT2018,VOT2019,OTB100,NFS,UAV123,和 LaSOT)。
论文分析
网络框架
与SIamRPN++相似,或者说网络框架基本相同。不过不同点在于SiamBAN中引入了空洞卷积的原理,经过实验证明,空洞卷积能够增大感受野,提升跟踪性能。
SIamBAN的网络框架如下图所示:
创新点一:Box Adaptive Head
对于每一个分类图P cls w×h×2或回归图P reg w×h×4上的每个位置,我们可以将其映射到输入搜索patch。例如,与搜索片上的位置相对应的位置(i,j)为[⌊wim2⌋+(i-⌊w 2⌋)×s,他2⌋+(j−h 2⌋)× s](表示为(pi,pj)。wim和他代表输入搜索补丁的宽度和高度,s代表网络的总跨度),它是位置(i,j )。对于回归,基于锚的跟踪器[21、52、20]将位置(pi,pj)作为锚框的中心,然后回归位置(pi,pj),宽度aw和高度ah。也就是说,对于位置(i,j),回归可以调整其所有偏移值,但是分类仍然在原始位置执行,这可能导致分类和回归中的不一致性。因此,我们不调整位置(pi,pj),仅计算其到边界框的偏移值。另外,由于我们的回归目标是正实数,因此我们在回归模块的最后一级应用exp(x)将任何实数映射到(0,+∞)。
大概的理解是anchor-base的方法中对于特征图上的每一个位置(i,j),将其映射到搜索patch上为(pi,pj),回归分支中将这个位置作为anchor的中心去预测偏移量,这时候回归出来的结果已经改变了其中心位置,而分类分支依然在原始的中心位置进行,可能会导致分类和回归的不一致。
创新点二:Ground-truth
如果位置(pi,pj)落在椭圆E2内,则用正号标记,如果它落在椭圆E1以外,则为其分配负号,并且落在椭圆之间。 E2和E1,请忽略它。
创新点三:Anchor Free
论文流程
训练部分:
- 将搜索补丁和模板补丁输入对应的网络分支,在第4、5个卷积模块中添加空洞卷积,膨胀因子分别设置为2和4。
- 分别取出搜索分支和模板分支中第3、4、5卷积模块的卷积结果。为了减少计算量,作者只选取了模板分支卷积结果的7 × 7 区域。因为当输入补丁的尺寸为127 × 127,输出的特征图的尺寸为15 × 15,这时候选取[4:11]的区域,完全可以代表模板中选定的物体。
- 将相对应的卷积结果进行互相关操作。比如,搜索分支第3卷积模块的卷积结果应该与模板分支第3卷积模块的卷积结果进行互相关,其中模板分支的卷积结果作为卷积核。那么,最后获得了三份互相关的特征图。
- 将这三份互相关特征图合并为一张。SiamBAN在代码中使用的方法是取平均,即一个位置的三个值相加除以三。最后得到了一份互相关特征图。
- 实际上,当运行到第4步的时候,就可以发现其实网络运行就可以结束了。但是作者为了能够减少计算量, 将互相关图的维度减少到256.(neck)
跟踪部分
- 输入跟踪视频
- 划定需要跟踪的目标
- 跟踪器初始化(第一帧的处理)
- 截取模板补丁(方法与SiamRPN相同)
- 将模板补丁输入网络,得到第3、4、5层的卷积结果,并且对卷积结果进行处理(降维和模板特征图截取7x7区域)
- 进行跟踪
- 截取搜索补丁(方法与SiamRPN相同)
- 将搜索补丁输入网络,得到第3、4、5层的卷积结果
- 与模板补丁的三个卷积结果进行相关卷积,并且将得到的三个互相关特征图进行加权平均,得到分类特征图和偏差坐标图。
- 利用上述公式(回归训练中),将得到的偏差坐标图转换成多个预测框
- 施加平移惩罚和尺度惩罚,从多个预测框中获得最佳跟踪框,从而实现跟踪。