Fully-Convolutional Siamese Networks for Object Tracking

https://blog.csdn.net/sumangshang/article/details/79531921
https://blog.csdn.net/autocyz/article/details/53216786
https://blog.csdn.net/qq_29598161/article/details/106909091
基于全卷积孪生网络的目标跟踪算法SiameseFC
一、算法的总体框架

图中z代表的是模板图像,算法中使用的是第一帧的groundtruth;x代表的是search region,代表在后面的待跟踪帧中的候选框搜索区域;ϕ代表的是一种特征映射操作,将原始图像映射到特定的特征空间;6×6×128代表z经过ϕ后得到的特征,是一个128通道6×6大小feature,同理,22×22×128是x经过ϕ后的特征;后面的×代表卷积操作,让22×22×128的feature被6×6×128的卷积核卷积,得到一个17×17的score map,代表着search region中各个位置与模板相似度值。
算法本身是比较搜索区域与目标模板的相似度,最后得到搜索区域的score map。其实从原理上来说,这种方法和相关性滤波的方法很相似。其在搜索区域中逐点的目标模板进行匹配,将这种逐点平移匹配计算相似度的方法看成是一种卷积,然后在卷积结果中找到相似度值最大的点,作为新的目标的中心。
上图所画的ϕ其实是CNN中的一部分,并且两个ϕ的网络结构是一样的,这是一种典型的孪生神经网络。卷积层一共有5层,pooling层采用max-pooling,除了第5层之外,每个卷积层后面都有一个ReLU非线性激活层,在训练的时候,每个ReLU层前都使用了batch normalization,用于降低过拟合的风险。

二、具体实现

损失函数:
在训练模型的时候肯定需要损失函数,并通过最小化损失函数来获取最优模型。本文算法为了构造有效的损失函数,对搜索区域的位置点进行了正负样本的区分,即目标一定范围内的点作为正样本,这个范围外的点作为负样本,例如图1中最右侧生成的score map中,红色点即正样本,蓝色点为负样本,他们都对应于search region中的红色矩形区域和蓝色矩形区域。文章采用的是logistic loss,具体的损失函数形式如下:
对于score map中了每个点的损失:

其中v是score map中每个点真实值,y∈{+1,−1}是这个点所对应的标签。
上面的是score map中每个点的loss值,而对于score map整体的loss,则采用的是全部点的loss的均值。即:

这里的u∈D代表score map中的位置。
有了损失函数,就可以用SGD(随机梯度下降法)对模型进行训练了。

输入图像:
训练时数据输入网络前要先把图像固定到特定的尺寸,论文里使用的尺寸为:模板127×127,待搜索图像255×255。固定图像尺寸的目的是使得跟踪的目标始终处于视频的正中心。图片要进行归一化,但是不能破坏长宽比,而是用背景补充,在原有尺寸不变的前提下填充原图RGB各通道均值像素。
具体做法是,如果bounding box的尺寸为(w,h),填充的边缘为p,那么缩放系数s的选择依据是使得缩放后的框框的面积等于一个固定的常数,即:
s(w+2p)×s(h+2p)=A 文中使用的A是127×127,图像边缘的填充为p=(w+h)/4

另外,作者还在文中提到,对于待搜索图像,选取了多个尺度。其中初始的SiamFC采用了5种尺度,分别是1.025{-2,-1,0,1,2},针对这些尺度采用了以0.35为步长的线性函数作为抑制。SiamFC-3s则是采用了3种尺度。

具体得分计算公式:

孪生网络其实就是一个特征提取器,它提取z和x特征之后,送到相似度函数里计算一下相似度。本文的相似度函数是使用交叉相关。其实就是将z的特征作为一个卷积核,在上进行卷积,相似度大的地方,响应值就大,那自然也就可以当做是目标z在x中的位置了。然后把上一帧目标的位置作为中心,在下一帧附近计算响应图。
假设得到一个点的得分最高,如何确定其真实位置,具体做法是:取中心+中心偏移量x步长。为了应对尺度变化,作者在进行跟踪的时候也同时使用了多种尺寸来进行搜索。

是否随便找一个特征提取器,提取一个特征,然后再一卷积都可以了?也许可以,但是由于本文的孪生网络是以端到端的形式学习出来的,那么可以认为,它训练出来的这个特征提取器,提取的特征更适合做卷积来获得最后的相似度得分图。而其他的特征提取器提取到的特征可能就不太适合用卷积来获得相似度响应图。

posted @ 2021-01-07 22:33  keep&learning  阅读(126)  评论(0编辑  收藏  举报