美文网首页
SiamFC阅读理解

SiamFC阅读理解

作者: 橙子潘潘 | 来源:发表于2019-03-11 09:19 被阅读0次

    摘要:

    传统的解决任意目标跟踪的方法是,使用单个视频数据本身,在线学习目标外观特征。这样的方法限制了模型的丰富度。有些方法探索深度卷积网络的特征表达能力,但是需要使用SGD在线调整参数,限制了系统的速度。
    本文中作者提出将全卷积Siamese网络用于跟踪,在目标检测数据集ILSVRC15上训练,速度超过实时帧率。

    1. Introduction

    场景:跟踪视频中的任意目标。
    问题:没有足够的数据集训练一个检测器。
    现有成功做法:使用来自视频中的样例,在线提取目标的外观特征。

    缺陷:1. 使用外观特征的方式,从当前视频里抽取的唯一数据,只能学习到相对简单的模型。2. 深度卷积网络需要大量的数据,并且做不到实时性操作,所以通过深度学习学习每一个视频的到检测器这种方法难以应用。

    解决上述问题:有些方法使用预训练的的网络,用SGD进行微调,效果好但是不能做到实时检测;有的方法使用相关滤波这种比较浅层的方法,没有利用端到端学习的优势。

    基于以上讨论,作者提出了一种方法,在最初的离线阶段,使用训练好的深度卷积网络解决相似度学习问题,在跟踪阶段在线对这个功能作出评估。

    贡献:
    1. 提倡一种新的方法,有突出的表现,速度在benchmark中超过帧率要求。
    2. 训练了一个Siamese网络,在一个较大的搜索图像中定位模版。
    3. 通过计算输入的的交叉相关性,来对滑动窗口做评估,应用到整张图片。

    作者使用了ILSVRC目标检测数据集来进行相似度学习的训练,在ALOV/OTB/VOT等跟踪数据集上验证了该模型有较好泛化能力。

    2. 用于跟踪的相似度学习

    作者提出使用相似度学习来解决任意目标追踪问题。

    函数f(z,x)将模版图像z和相同大小的候选图像x中做比较,如果两张图像描绘的是一个目标,就得到高分,否则就是低分。测试新图像中目标所有可能的位置,选择与目标过去外观有最大相似度的候选区域,作为新图像中的目标位置。
    f通过一组带标签的视频数据训练。

    基于深度卷积网络的相似度学习通过孪生结构实现。这种结构对于两个输入都有相同的转换\psi,再通过函数g将两个输出结合。f(z,x)=g(\varphi (z), \varphi (x))。当函数g是简单的距离或者相似度度量时,\varphi可以认为是一个嵌入式,理解为特征提取,一种数据转换。

    2.1 全卷积孪生结构

    作者提出的孪生结构,对与候选图像x是全卷积的。
    全卷积网络的优点是,输入中的搜索图像大小可以是任意的,我们可以使用更大的搜索图像,即图像x。它可以用滑动窗口再一次评估中计算出相似度矩阵。为了实现这个目标,使用嵌入式函数\varphi\,和互相关操作结合特征图。
    f(z,x) = \varphi(z) \ast \varphi(x) +b 1
    b1是一个信号,表示了每个位置取b\in R

    网络架构

    这个网络的输出不是一个信号得分,而是一张定义在有限网格D \subset Z^2上的得分图。嵌入函数的输出是一张带有空间支持的特征图。

    一张Exemplar imagez和 一张candidate image x,在embedding space 网络的输出是一个分数图,用有限的网格表示。维度取决于搜索图像的大小。在一次评估中计算搜索图中所有转换子窗口的相似性。输出图中,红点对应红色区域的相似性。

    跟踪:作者使用以目标的前一个位置为中心的搜索图像。最大分数相对于分数图中心的位置乘以网络的步幅,得出目标在帧与帧之间的位移。

    互相关操作,在数学上就是内积运算。每一个窗口都是独立评估。

    2.2 Training with large search images

    使用判别式方法,用正负样本对来训练网络,使用逻辑损失函数:
    \rho(y,v) = log(1+exp(-yv))

    • v是样本–搜索图像的实际得分;
    • y\in(-1,1)表示真值

    在训练时这样样本对由搜索图像和模版图像组成,这会产生一张分数图v:D,每一对会有很多个实例(因为一张搜索图有很多次比较)。定义一张得分图的损失,是所有个体的平均损失。
    L(y,v)=\frac{1}{|D|} \sum_{u \in D} \rho (y[u],v[u])

    • 真实标签y[u] \in \{+1,-1\}
    • u \in D代表得分图中每一个位置;
    • 使用随机梯度下降法得到卷积网络中的参数\theta
      优化目标:
      arg\min_{\theta} E_{(z,x,y)}L(y,f(z,x;\theta))
    训练样本对模版图像和搜索图像来自同一个视频。当子窗口延伸超出图像范围时,缺失部分用平均RGB值填充。
    样本对来自带有标注的视频视频数据,以目标为中心提取模版和搜索图像,如图2。
    训练数据:从视频的两个帧中提取图像,这两个帧都包含对象并且最多相隔T帧。训练时忽略目标的类别。在不破坏图像的纵横比的情况下对每个图像内的对象的比例进行归一化。

    如果得分图中的元素距离中心半径在R(根据网络步长k决定)以内,就认为是正样本。
    y[u]=\begin{cases} +1 & \mbox{if} & k||u-c|| \le R\\ -1 & otherwise. \end{cases}

    • k是网络的步长;
    • c是目标中心;
    • u是分数图中的位置;
    • R是设定的半径,用来确定正负样本。

    作者认为考虑以目标为中心的搜索图像是有效的,因为最困难的子窗口以及对跟踪器性能影响最大的子窗口可能是与目标相邻的子窗口。

    2.4 Practical considerations

    数据策划:

    • 输入模版大小:127 x 127
    • 输入搜索图像大小:255 x 255
    • 图像缩放:s(w+2p) \times s(h+2p)=A, A = 127^2, p = (w+h)/4(w,h)是bounding box 大小。

    跟踪算法:跟踪算法简单。因为本文的目的是证明全卷积孪生网络的有效性和在ImagetNet video上训练的泛化能力。

    • 没有更新模型
    • 没有维护过去的外观特征
    • 没有加入光流或者颜色直方图等特征
      在线跟踪:
    • 只搜索比原来大四倍的区域中的对象,并且给得分图增加一个余弦窗口对较大位移做出惩罚。
    • 通过处理多个尺度的搜索图像,来实现尺度空间的跟踪。

    3. Experiment

    3.1 Implementation details

    Training:
    1. 梯度下降采用SGD
    2. 用高斯分布初始化参数
    3. 训练50个epoch,每个epoch有50,000个样本对
    4. mini-batch等于8
    5. 学习率从10^{-2}衰减到10^{-8}

    Tracking:

    1. 初始目标的特征提取φ(z),φ(z) 只计算一次
    2. 用双三次插值将score map从17×17 上采样到 272×272
    3. 对目标进行5种尺度来搜索(1.025^{(−2,−1,0,1,2)})
    4. 目标图像在线不更新,因为对于CNN提取的是高层语义特征,不会像HOG或CN这些浅层特征苛求纹理相似度。(如跟踪目标是人,不论躺着或站着,CNN都能“认出来”这是人,而纹理特征如HOG或conv1可能完全无法匹配)
    5. 跟踪效率:3尺度86fps,5尺度58fps (NVIDIA GeForce GTX Titan X and an Intel Core i7-4790K at 4.0GHz)

    参考文献:[1]SiamFC:基于全卷积孪生网络的目标跟踪算法
    [2]SiamFC:Fully-Convolutional Siamese Networks for Object Tracking
    [3]Paper:http://www.robots.ox.ac.uk/~vedaldi/assets/pubs/bertinetto16fully.pdf%C2%A0%C2%A0
    Code:http://www.cnblogs.com/%C2%A0https://github.com/rafellerc/Pytorch-SiamFC

    相关文章

      网友评论

          本文标题:SiamFC阅读理解

          本文链接:https://www.haomeiwen.com/subject/jofupqtx.html