孪生结构即为成对的结构,具体来说就是该结构有两个输入,一个是作为基准的模板,另一个则是要选择的候选样本。而在单目标跟踪任务中,作为基准的模板则是我们要跟踪的对象,通常选取的是视频序列第一帧中的目标对象,而候选样本则是之后每一帧中的图像搜索区域(search image),而孪生网络要做的就是找到之后每一帧中与第一帧中的范本最相似的候选区域,即为这一帧中的目标,这样我们就可以实现对一个目标的跟踪。本篇论文的孪生网络结构如下:

    image.png
    原文发表于2016年的cvpr上,这里的 基于深度学习的视觉跟踪:Siam-FC系列 - 图2 变换采用了当时主流的Alexnet进行特征提取,提取完成之后再对提取的特征进行互相关操作(即求卷积),生成响应图(heatmap),互相关操作如下:
    image.png
    其中, 基于深度学习的视觉跟踪:Siam-FC系列 - 图4 为每个位置对应的位置权重值,’ 基于深度学习的视觉跟踪:Siam-FC系列 - 图5 ‘为卷积运算,通过卷积运算提取x中与z最为相近的部分。

    SiamFC在图像预处理时固定了输入的尺寸,并对不和尺寸要求的图像进行了padding,后来的研究表明这一定程度上削弱了算法的鲁棒性:
    image.png

    在最终的17171的响应图上,我们假设计算出的响应为v,实际的ground truth为y,则可以定义出响应图的损失项:
    image.png
    其中y取值为+1或者-1.神经网络的总体损失可以由单个损失项叠加得到:
    image.png
    通过优化上面的损失函数即可以得到最终的SiamFC网络。

    SiamFC++针对SiamFC进行了一些改进。首先SiamFC只提取了单一的特征图,而SiamFC++将检测与分类二者进行分离,提升了追踪的鲁棒性;其次SiamFC++没有采用SiamRPN预设anchor的方式产生数据的先验分布,提升了模型的通用性。
    Screenshot from 2020-08-28 11-51-28.png
    SiamFC++采用深度学习提取特征并进行互相关操作,互相关之后网络分别采用分类、回归子网络进行参数输出,同时在分类子网络中添加了一个1*1卷积层进行检测质量评价,评价标准如下:
    Screenshot from 2020-08-28 11-52-01.png
    Screenshot from 2020-08-28 11-52-20.png
    回归网络输出的结果为向量t,0与1分别代表左上角与右下角坐标值:
    image.png
    在网络的最后采用argmax对回归与分类的分支进行结合,针对分类分值中最大输出值,得到其x、y坐标,并带入回归网络求取回归参数。这样便完成了分类与回归的分离,降低了背景噪声对回归框的影响。

    SiamFC++的最终损失函数结合了回归、分类与质量评价三部分组成:
    Screenshot from 2020-08-28 11-52-53.png