Siam-fc论文阅读

Siam-fc论文阅读

  • 摘要
  • 论文核心
  • 总结

摘要

siam-fc论文运用了非常简单的方法实现了SOTA效果,是一种基于模板匹配的思想,思想非常简单,但是效果是出奇的好,论文给出源码时matlab版本,github上也是有相关的tensorflow和pytorch版本。

论文核心

相似度学习:基于siam系列的网络时基于模板匹配思想,所以我们的网络是有两个分支,孪生孪生,顾名思义就是有点双胞胎的那种味道
Siam-fc论文阅读_第1张图片
上图是siam-fc的网络结构图,首先对于原始图片,话不多说,
第一步:先进行特征提取。。
第二步:相似度学习:是用一个函数f去计算模板z和搜索图片x之间的相似性,得到相似的score,这也就是后面的互相关,本质就是z不断的在x上进行滑窗,互相关后得到score map,跟踪时以上一帧目标位置为中心的搜索图像来计算score map,将得分最大的位置乘以步长即可得到当前目标的位置。
训练阶段:
损失是怎么产生的?
score map中每一个点都会去产生一个损失,因为每一个点都是相当于进行了一次互相关,真值和预测值之间会有一个逻辑损失,论文中score map 是17×17大小,意味着有17×17=289个“损失”,再将损失相加起来再除以289,论文中公式如下:
Siam-fc论文阅读_第2张图片
问题:score map得到的真实值v是离散值还是连续值?也可以这样问:互相关后得到的是离散值还是连续值?
连续值,互相关后得到的score要经过sigmoid函数生成-1到1的概率值。
问题:怎么给特征图打打标签(+1,-1)呢?
Siam-fc论文阅读_第3张图片
每个样本对经过孪生网络生成响应图v[u]后,u∈D(u表示响应图中的每个位置),响应图每个位置对应的标签为y[u],表示当响应图中某位置u和响应图中目标位置c的距离乘以比例因子k后小于R则为正样本,就是通过score map中的点和目标点的距离,再给个约束k,将其相乘,值越小说明离的越近,在小于R的情况我们就认为该点为+1。

问题:什么途径把我的loss变的最小?
输入一个image pair 经过网络真实值和预测值产生了损失,有了损失我们就得减小损失,使用SGD优化,再经过反向传播更新参数,这里的参数就是backbone中网络的参数。

总结

.z是模板,也是视频的第一帧中的target,我们从头到尾的target都是这一个,不进行更新,但这样也会导致一个问题:由于z一直不更新,只要和第一帧中的target类似,那么就会使score map中的值特别高,这样就会在多个类似的目标之间跟丢。
有几个小问题:
off-line learning和online learing之间的区别?
怎么通过score map然后返回到原始图片框住目标?

你可能感兴趣的:(论文,深度学习,目标跟踪,人工智能,python)