文章目录

  • Introduction
  • Related Works
  • SiamFC++
  • Experiments
    • training phase
  • SiamCAR
  • SiamBAN

这是旷视(Megvii)2020年发表AAAI的一篇论文
论文地址: SiamFC++
代码地址: code

从题目看出此论文提出来鲁棒且精确跟踪的目标估计Guidelines,题眼就是Guidelines
视觉跟踪问题需要在给定目标下,同时有效的执行分类和精确的目标状态估计(也就是得到bbox),基于仔细的分析视觉跟踪问题的特性(one unique characteristic of generic object tracking is that no prior knowkedge(object class) about the object,as well as its surrounding environment),提出的Guidelines 如下:

G1:decompositon of classification and state estimation(needing classification and target state estimation branch)
G2:non-ambiguous scoring(classification score without ambiguity)也就是说分类的分数是目标存在的置信score,而不是预定义的设置,像anchor box
解释:In other words,our SiamFC++ directly views locations as training samples,while the anchor-based counterparts,which consider the location on the input image as the center of multiple anchor boxes,output multiple classification score at the same location and regress bounding box with respect to these anchor boxes,leading to ambiguous matching between anchor and object.we empirically show that the ambiguous matching could result in serious issues. In our per-pixel prediction fashion, only one prediction is made at each pixel on the final feature map. Hence it is clear that each classification score directly gives the confidence that the target is in the sub-window of the corresponding pixel and our design is free of ambiguity to this extent.
G3:prior knowledge-free(tracking without prior knowledge)依赖数据分布的先验信息(scale/ratio distribution)会降低泛化能力
G4:estimate quality score直接使用分类的置信度进行bbox选择会降低跟踪性能,因此需要一个独立于分离的估计质量分数,ATOM 、Dimp 的第二branch就是使用这个guideline

改进:

因此在siamfc的基础上加了一个用于精确目标估计的回归head,与分类head并列(G1),因为预先定义的achor设置被移除,所以matching ambiguity(G2)和目标scale/ratio分布(G3)被移除。最后增加了估计质量评估分支(G4)------这个开始不理解,你知道是什么吗?其实就是得到score , 也是目标位置,得到bbox,然后就是refine bbox,因为pss输入的是回归的值,从而refine目标位置。提高了跟踪和泛化能力,并且速度可以达到90FPS,是第一个在数据集TrackingNet中达到75.4,ATOM是70.3

Introduction

跟踪问题可以看出分类任务和估计任务的联合,分类任务提供一个鲁棒的粗略的目标位置,估计任务估计一个精确的目标状态(bbox)。尽管现在的跟踪器获得了显著的进步,但是他们的方法的第二个任务有很大的不同。

基于这个方面,以前的方法可以大体分为三个方面:

1.DCF、SiamFC使用粗暴的multi-scale test,它是不准确,效率也不高,先验假设是相邻帧以固定速率进行目标scale/ratio changes
2.ATOM,通过梯度下降迭代refine多个初始化的bbox来估计目标的bbox( 缺点:heavy computation burden 、additional hyperparameters)
3.SiamRPN 通过引入RPN进行准确和有效的目标状态估计,然而预定义的anchor设置不仅引入了模糊的相似性分数而且需要获得数据分布的先验信息(这违反了目标跟踪的spirit)。RPN回归预定义的anchor box和target location之间位置的偏移和大小(dx dy dw dh)

Related Works

Tracking Framework
Detection Framework(anchor-base,anchor-free

SiamFC++

框架图如下:


先用Siamese backbone进行特征提取
然后:

ψ c l s \psi_{cls} ψcls​ and ψ r e g \psi_{reg} ψreg​ after common feature extraction to adjust the common features into task-specific feature space.

那没有RPN怎么进行分类和回归呢?
classification:
feature map ψ c l s \psi_{cls} ψcls​ location (x,y)
input image corresponding location( ⌊ s 2 ⌋ \lfloor \frac{s}{2} \rfloor ⌊2s​⌋ +xs, ⌊ s 2 ⌋ \lfloor \frac{s}{2} \rfloor ⌊2s​⌋ +ys) s:stride
regression:(只考虑正样本)
feature map ψ r e g \psi_{reg} ψreg​ location (x,y)
最后一层预测从对应位置( ⌊ s 2 ⌋ \lfloor \frac{s}{2} \rfloor ⌊2s​⌋ +xs, ⌊ s 2 ⌋ \lfloor \frac{s}{2} \rfloor ⌊2s​⌋ +ys)到真值bbox四个点的距离,表示为: t ∗ \pmb{t}^\ast ttt∗=( l ∗ l^\ast l∗, t ∗ t^\ast t∗, r ∗ r^\ast r∗, b ∗ b^\ast b∗)
因此对于location(x,y)回归目标计算如下:

( x 0 x_0 x0​, y 0 y_0 y0​) and ( x 1 x_1 x1​, y 1 y_1 y1​) 是真值的左上和右下的坐标。

fully-convolutional siamese trackers,where each pixel of the feature map directly corresponds to each translated sub-window on the search image due to its fully convolutional nature。

以上方法就避免了G2,G3(没有使用anchor)
那最后一个呢?
我们并没有考虑目标状态估计质量,而是直接使用分类的score来挑选最后的box,这会导致定位精确度下降, classification confidence is not well correlated with the localization accuracy。
根据分析,一个sub-window中心的输入pixel对 对应的输出特征比其他位置重要,因此我们假设目标中心的特征pixel比其他有一个更好的估计质量。所以在1x1卷积分类head添加了1x1卷积,输出被支持估计PSS(Prior Spatial Score):

当然我们也可以用IOU来计算质量评估:


Training objective:

L c l s L_{cls} Lcls​表示focal loss用于分类的结果
L q u a l i t y L_{quality} Lquality​表示BCE(二进制交叉熵用于质量的评估
L r e g L_{reg} Lreg​表示IOU loss用于bbox result
assign c x , y ∗ c^\ast_{x,y} cx,y∗​ 1 to if (x, y) is considered as a positive sample, and 0 if as a negative sample.
如果这里的损失函数和标签不清楚,可以结合SiamCAR一起看

Experiments

实现了两个版本(不同的backbone architecture):
1.modified version of AlexNet
2.GoogleNet(和ResNet-50相当甚至更好)
Trainning data:
ILSVRC-VID/DET
COCO
Youtube-BB
LaSOT
GOT-10k( there is no class intersection between train and test subsets.)
对于视频数据集,我们从VID,LaSOT,GOT-10k,提取图像对,通过挑选间隔小于100的帧,5 for Youtube-BB。

training phase

for the AlexNet version:
600k image pairs for each epoch
冻结前三层卷积,fine-tune 后两层卷积,使用zero-centered 的高斯分布进行初始化。首先训练我们的模型5 warm up epochs ,学习率从 1 0 − 7 10^{-7} 10−7 to 2 x 1 0 − 3 10^{-3} 10−3 ,剩下的45个epochs使用余弦退火学习率。在vot2018上达到160FPS
for the GoogLeNet version:
20 epochs(5 for warming-up,and 15 for training),在vot2018上达到90FPS
300k images pairs per epoch

逐渐增加数据集,应用head structure,应用质量评估。
the regression branch(0.094),
data source diversity (0.063/0.010),
stronger backbone (0.026)
better head structure (0.020)

与其他方法在不同数据集上的比较:

SiamCAR

CVPR2020

与SiamFC++相比只是backbone的结构和计算score map 不一样,后面的两个分支都一样
这里贴一下回归分支,center-ness分支和分类分支的loss计算:
回归定义了一个网格


center-ness

分类
也是交叉熵损失函数(和siamrpn++ 一样)

SiamBAN

CVPR2020


这里也是用的是achor-free的思想,只不过使用了FCN 使用了multi-level的信息,计算不同层的一个分类和回归,分类的时候设置正负样本也是不一样的,它使用了椭圆的方法,并比较了与矩形、圆的区别。
分类和回归的操作如下:

SiamFC++ SiamCAR SiamBAN相关推荐

  1. SiamFC++与SiamBAN

    一 SiamFC++ 网络结构及处理流程如下: 注意 大多数算法对于分类损失都采用交叉熵损失,而SiamFC++在分类分支中计算cls_score与center-ness score采用了不同的损失函 ...

  2. Siamese系列文章

    说明 在学习目标追踪方面,慢慢读懂论文,记录论文的笔记,同时贴上一些别人写的非常优秀的帖子. 文章目录 说明 综述类型笔记 SiamFC 笔记 SiamRPN 笔记 DaSiamRPN 笔记 Siam ...

  3. SiamCAR: Siamese Fully Convolutional Classification and Regression for Visual Tracking

    本译文为了方便自我阅读,有能力请阅读原版:https://arxiv.org/abs/1911.07241 摘要 通过将视觉跟踪任务分解为两个子问题,分别是像素类别的分类和该像素处对象边界框的回归,提 ...

  4. anaconda能跑c语言哪,anaconda环境下实现SiamCAR

    [一]从github上下载代码 image.png [二]通过conda进入项目 image.png image.png image.png 根据官方提供步骤,使用命令配置环境. 由于大部分模块我已经 ...

  5. SiamBAN论文学习

    SiameseBAN 论文来源 论文背景 主要贡献 论文分析 网络框架 创新点一:Box Adaptive Head 创新点二:Ground-truth 创新点三:Anchor Free 论文流程 训 ...

  6. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamFC(2016)

    目标追踪任务是指在一个视频中给出第一帧图像的bbox的位置,在后续的帧中追踪该物体的任务. 目标追踪不同于目标检测的是: 1.需要给出首帧的标定框. 2.只需要给出标定框,后续的搜索范围往往在上一帧图 ...

  7. SiamFC++,90 fps的单目标跟踪SOTA

    点击我爱计算机视觉标星,更快获取CVML新技术 本文源自知乎,经作者授权转载. https://zhuanlan.zhihu.com/p/93888180 AAAI 2020的审稿刚刚出炉,本文讨论一 ...

  8. SiamFC代码配置复现 matlab版本

    原创 SiamFC代码配置复现 2019-04-29 22:18:06 ZZXin_ 阅读数 1603更多 分类专栏: 深度学习 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议 ...

  9. (一)Siamese目标跟踪——SiamFC训练和跟踪过程:从论文细节角度出发

    SiamFC 简单介绍 SiamFC基于深度学习的方法在速度上已经超过传统的相关滤波算法,实时性极强.SiamFC基于孪生网络,该网络有两个输入,一个是模板样本Z,另一个搜索样本X.而在单目标跟踪任务 ...

最新文章

  1. 物联网安全的后备计划是什么?
  2. 自己在CODING过程中遇到的问题以及解决(C/VC)
  3. 目标检测方法简介:RPN(Region Proposal Network) and SSD(Single Shot MultiBox Detector)
  4. apache lucene_Apache Lucene中的并发查询执行
  5. iOS vs. Android,应用设计该如何对症下药?
  6. 智能实验室服务器,阿里巴巴机器智能实验室线下智能团队三年工作总结
  7. 在UAP中如何通过WebView控件进行C#与JS的交互
  8. cass二次开发vba和lisp_CAD二次开发LISP视频_小懒人CAD工具箱_CAD插件_CASS插件_LISP代码...
  9. 三菱J4伺服驱动器拨码
  10. 图的遍历 (深度优先遍历和广度优先遍历)
  11. python 螺旋_用Python生成气候温度螺旋
  12. Java生成token的工具类(对称签名)
  13. 我发布在Steam的两款游戏
  14. 网球爱好者小程序的设计与实现
  15. 如何解决4G摄像头在智能巡检中掉线的方案
  16. Web 函数自定义镜像实战:构建图象处理函数
  17. php里面substr函数,PHP substr()函数
  18. 小程序手势返回以及手机自带返回功能问题解决思路
  19. android微信群聊功能,微信安卓内测更新,这个群聊功能等了8年
  20. 文件上传漏洞全面渗透姿势总结

热门文章

  1. 《中国高血压防治指南2010》学习笔记-完成
  2. HashSet 集合
  3. 条件随机场(2)——概率计算
  4. 视频行人重识别系统(UI界面,Python源码,可下载)
  5. Alpine-Linux:仅5MB的Linux
  6. 复数基础——复数的基本运算_2
  7. python招聘现状-python招聘现状
  8. 软件外包项目管理实务
  9. 关于阴影映射的那些事,shadow acne(阴影失真)和peter panning(阴影悬浮)
  10. Python 包管理工具:pip 用法详解 + 常用pip指令