SiamFC

SiamFC论文精读笔记

前言

SiamFC网络结构就是全卷积的孪生网络,那么什么是孪生网络(Siamese Network)?
孪生网络的结构如下图:
SiamFC_第1张图片
狭义的孪生神经网络由两个结构相同,且共享权重的神经网络组成。即Network1和Network2为相同的神经网络且权重值相同。
广义的孪生神经网络,也称为伪孪生神经网络,它的Network1和Network2可以是任意两个神经网络(可以不同)。
孪生神经网络衡量两个输入的相似性程度。如上图,两个输入input1和input2分别进入Network1和Network2,经过神经网络提取特征,然后再通过损失函数(即Loss)的计算,输出两个输入的相似度。
而SiamFC就是使用取得了2012年ImageNet竞赛的第一名的AlexNet作为骨干网络

研究背景

问题

监督数据集的稀缺性和算法的实时运行阻止了深度学习在每个视频学习一个检测器的天真应用。对此,有些研究利用预先训练好的深度卷积网络来克服。比如:使用网络内部表示作为特征的“浅(shallow)”方法(例如相关滤波器),执行SGD(随机梯度下降)来微调多层网络。但是,“浅”方法没有充分利用端到端学习的好处,使用SGD微调,虽然可以获得最优结果,但无法实时运行。

作者提出的方法

在初始离线阶段训练深度转换网络以解决更一般的相似性学习问题,然后在跟踪过程中简单评估该函数。研究表明,这种方法在现代跟踪基准中以远远超过实时要求的速度取得了具有竞争力的性能。具体来说,我们训练孪生网络在更大的搜索图像中定位样本图像。SiamFC对搜索图像是完全卷积的:通过计算两个输入的互相关的双线性层实现了密集而高效的滑动窗口评估。

模型结构

SiamFC_第2张图片
在SiamFC的网络结构中,具有两个权值共享的分支。
z为127×127的样本图像(即跟踪目标模板)
x为256×256的待搜索图像,需要在x中找到 z   \ z, z的位置。
SiamFC有两个分支对应两个输入为z和x,将输入同时进行φ变换,作用就是特征提取,分别生成6×6×128和22×22×128的特征图。
两个特征图进行互相关运算操作(这里的互相关其实就是卷积操作),相当于, z在x上以滑动平移方式进行内积运算(通过卷积提取在 x中与z 最相似的部分),得到 x  中各个位置的匹配程度值图(得分图)。
最后选取得分最大的为当前帧目标,来确定目标的位置。

数据处理

search image和exemplar image是从物体中心提取出的,需要在训练时通过ground-truth提取出图像中的目标。此网络是为了得到两张图片的相似情况,因此目标类别可以忽视。

exemplar image为[127, 127, 3]大小,search image为[255, 255, 3]大小。

如何crop出exemplar imagecrop目标前,我们有目标当前帧image和bounding box。

  1. 根据bounding box得到目标中心cx,cy,长宽w,h
  2. 依据公式s ( w + 2 p ) × s ( h + 2 p ) = A , p = ( w + h ) / 4
  3. 从cx,cy处中心裁剪,其中A = 127², ( w + 2 p ) ( h + 2 p ) \sqrt{(w+2p)(h+2p)} (w+2p)(h+2p) 表示目标crop出的size
  4. 将crop出的图像resize到127*127的大小,那么s表示缩放因子, s = ( w + 2 p ) ( h + 2 p ) A s=\cfrac{\sqrt{(w+2p)(h+2p)}}{\sqrt{A}} s=A (w+2p)(h+2p)
  5. 先计算,后crop,再resize,若超出图像边界,填充各通道平均值

如何crop出search imagecrop目标前,我们有目标当前帧image和bounding box,以及缩放因子s

1.search image最终需要resize到255*255,为了保持缩放比例一致,因此有 c r o p s i z e 255 = s = ( w + 2 p ) ( h + 2 p ) 127 \cfrac{cropsize}{255}=s=\cfrac{\sqrt{(w+2p)(h+2p)}}{127} 255cropsize=s=127(w+2p)(h+2p) ,那么search image需要crop的size为255 × s
2. 先计算,后crop,再resize,若超出图像边界,填充各通道平均值

优缺点

优点

该网络把跟踪任务转换成一个模板匹配的问题而不是一个常见的二分类问题,整个跟踪过程中不需要更新模板,使得算法的速度大幅度提高。这也是深度学习领域神经网络在目标跟踪一直以来难以到达的一个关键点,直到孪生网络应用于目标跟踪使得在跟踪精度较高的条件下还达到了实时性,在深度学习领域不愧为重大的突破,继此网络后,基于此网络为基本框架的目标跟踪算法层出不尽并且精度、速度能达到一个兼顾,占据深度学习应用在目标跟踪中的主流方向

缺点

SiameseFC是一个模板匹配的任务,在跟踪过程中并不更新目标模板和网络权值,这造成如下问题:

(1)当目标发生较大的形变时,会造成目标候选框与目标模板出现较大差异,从而导致跟踪失败。网络权值不更新导致要使用同一套网络结构和网络参数适应所有的跟踪场景,这是很难做到的。

(2)对于没有处于复杂背景下的跟踪来说,该算法能基本平衡实时性与准确性要求,但是跟踪目标一旦发生遮挡、快速运动、相似外观,搜索图像的大小可能就覆盖不了目标,通过最后的相似性度量函数得出来的结果就是错误的,随着跟踪过程中发生的错误累加,导致跟踪不可恢复,所以孪生结构网络的跟踪性能在背景复杂的情况下会下降

总结

偏离了传统的在线学习方法用于跟踪,并展示了另一种方法,专注于在离线阶段学习强嵌入。与它们在分类设置中的使用不同,我们证明了对于跟踪应用,孪生全卷积深度网络能够更有效地利用可用的数据。这既体现在测试时,通过执行有效的空间搜索,也反映在训练时,每个子窗口有效地表示一个有用的样本,而几乎没有额外的成本。实验表明,深度嵌入为在线跟踪器提供了自然丰富的特征来源,并使简单的测试时间策略表现良好。我们认为,这种方法是对更复杂的在线跟踪方法的补充,并期待未来的工作能够更彻底地探索这种关系。

你可能感兴趣的:(SiamFC)