基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)

End-to-end Flow Correlation Tracking with Spatial-temporal Attention(CVPR2018)
作者认为目前的算法大都只考虑了目标在当前帧的表观特征,对帧间信息利用太少,而tracking本身是基于视频序列做的——这无疑是一种浪费,同时也会降低跟踪器的性能。所以作者提出了一种flow correlation tracker 的思想,用光流来利用时序信息。
主要贡献:
1 提出FlowTrack(main contribution)
2 提出一种空间&时间的注意力策略
基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)_第1张图片
主要的网络还是比较简单的,上面的蓝色part是histroical branch(相当于模版分支),前若干帧 i 都和t-1帧做光流,然后用光流warp 第 i 帧的feature,最后把这些warp之后的特征merge到一起,得到一个比较好的特征。
作者这样做的目的是:能够用前 i 帧的特征修补t-1帧的特征。比如,当t-1帧的目标在发生形变或部分遮挡时,t-1的特征可能并不能很好的表征当前的目标,而对前i帧先做一个光流的warp(可以解释为做一个特征对齐)再merge,一定程度上能弥补t-1帧的不足,得到一个更robust的特征。
下面黄色的分支就是对当前帧的research region 提一个特征。最后通过一个CF layer找到相应最大的点,就是目标中心点的位置。
在融合阶段,设计了一种Spatial-temporal Attention的机制。在Spatial Attention中,是对空间位置上每一个待融合的点分配权重,具体采用余弦距离衡量(公式可以参见paper),结果就是和当前帧越相似分配的权重越大,反之越小。
这么做的问题是当前帧的权重永远最大,所以作者借鉴SENet的思想进而设计了temporal attention,即把每一帧看做一个channel,设计一个质量判断网络。网络输出的结果是每一帧的质量打分,质量高的帧分数高,质量低(比如部分遮挡)的帧分数低。
Temporal Attention和前面的Spatial Attention结合起来,就可以对warp之后的feature map和当前帧本身的feature map进行融合。

A Twofold Siamese Network for Real-Time Object Tracking(CVPR2018)
基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)_第2张图片
受SiamFC的启发,作者把SiamFC作为外观分支(A-Net),增加一个语义分支(S-Net)来增加模型的鲁棒性。
主要特点:
1 外观分支与SiamFC完全一样,
2 语义分支是AlexNet的部分+fuse(Attention机制只有target分支有),Alex部分不用训练,
3 Channel-Attention就是给每个通道一个权值,
4 fuse是在同一层进行的(网络中包含了AlexNet的Conv4和Conv5),
5 S-Net的输入是z’不是z,z’包含周围环境信息,Attention机制给通道权值的时候需要这些信息,
6 两个分支单独训练,test是对两分支的结果加权求和。

RFL:Recurrent Filter Learning for Visual Tracking(ICCV2017)
基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)_第3张图片
本文加入LSTM既保留了目标空间位置信息,也保留了时序信息。offline训练结束后,在线过程不再需要微调,降低了时间复杂度,速度快。
Exemplar image是一直在变化的,LSTM的状态也是实时更新的,相对于SiamFC(全程都是以第一帧作为模板)来讲有更好的适应性。
注意:
(1)conv LSTM的初始状态是使用第一帧图像计算得到的,而不是直接置零(实验证明了该tips将成功率提高了8-10%)
(2)SCNN和ECNN的参数不共享(实验证明了共享参数后效果很差)
(3)normal LSTM中filter的尺寸是11,本文将其改成了331024(除了output layer仍是11*256)。
(4)目标位置的确定:取了前k个高分的response map做平均,作为最终的目标位置。
目标尺度的确定:
采用缩放搜索图像金字塔,SCNN划过它产生三个不同尺度的response map,取效果最好的那个尺度作为最终尺度,而且response map还加了余弦窗处理。
离线训练:
从训练序列中采样N+1帧,其中1~N帧作为object exemplars,2~N+1帧作为搜索图像,样例图像和搜索图像都是以目标为中心进行中心裁剪后的图像,但是裁剪比例不一样(样例图像是目标大小的2倍,搜索图像是目标大小的4倍)。
由于使用的全卷积网络,具有平移不变性,所以以中心目标图像进行训练就已经足够了(不需要再对图像进行平移等操作扩充数据量了)。
在线跟踪:
不需要微调,直接使用双三次插值对response map进行上采样,选择value最大的地方作为目标中心位置。
为了考虑到不同尺度变化,使用图像金字塔生成三个尺度的response map,再把他们resize到相同的尺寸(和输入图像一样大的尺寸),计算每个response map的值(R^m),选择值最大的那个响应图作为最终预测的目标尺度。
最终预测目标的位置:对值最大的前k个response map的位置做平均。
更新:
对预测的目标进行裁剪,然后更新LSTM的状态,产生新的object filter,用来和下一帧的特征图做卷积,以产生新的响应图

DSiam:Learning Dynamic Siamese Network for Visual Object Tracking(ICCV2017)
基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)_第4张图片
如何有效的学习跟踪目标的外观变化、排除嘈杂的背景干扰、同时保持实时性,是视觉目标跟踪的重要问题。最近孪生网络在基于匹配的跟踪器上已经表现出了很好的潜力,获得了精度和实时跟踪的平衡。然而,它们的精度依然与经典的基于更新的跟踪器有很大的差距。
①作者提出了动态孪生网络(dynamic Siamese network),通过一个快速的学习模型,这个模型能够有效的利用前几帧在线学习目标的外观变化和背景抑制(target appearance variation and background suppression)。
②作者提出元素多层融合用来适应性的整合多层深度特征。
③与别的优秀的跟踪器不一样,作者提出的方法可以利用任何一般或特别的训练好的特征,比如SiamFC和VGG,更重要是作者的提出的网络能够直接输入整个带标签的视频序列,用来联合训练,因此可以充分利用运动目标的丰富的时空信息。
④作者提出的方法在OTB2013和VOT2015上都取得了优秀的性能,同时表现出比别的跟踪器好的性能。
作者总结了目前深度学习解决目标跟踪有两种思路:
(1)基于经典分类&更新的方法,这类方法充分利用深度特征,可以在线更新分类器或目标外观模型,跟踪性能优越,但是大多数这类算法的速度都很慢,大概在1~2fps; 比如MDNet, DeepSRDCF;
(2)基于匹配的跟踪方法,用目标模板来匹配候选样本,这类方法不需要在线更新,所以特点是速度快,但是精度往往不是很高。比如SiameseFC和GOTURN。
主要贡献:
①提出动态孪生网络,可以在线学习目标外观变化和背景抑制,提高跟踪性能。
②元素多层融合,即将多层特征元素融合
③相比于别的跟踪器是用一对图像训练,本文的方法用连续的视频序列训练

BranchOut: Regularization for Online Ensemble Tracking with Convolutional Neural Networks(CVPR2017)
基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)_第5张图片
主要贡献:
(1)提出了一种简单有效的正则化技术branchout,减少了集成学习方法在模型多样化和训练样本中噪声标签较少的限制。
(2)网络中每个独立的branch有不同数量的FC,并保留了多层级特征。
(3)验证了方法的有效性,并在没有pretraining的情况下也取得了start-of-the-art的成果。
D = {(xi,yi)| i = 1,2,…,M }为更新模型的训练样本集。其中xi表示image patch,yi表示xi对应的二进制标签,其中(1,0)表示positive,(0,1)表示negative。
从图中可以看出输入图片大小为3107107,之后经过三层卷积层,得到51233的特征图,之后进入branches。每个独立的branch中有多个fc层,论文在实验阶段采用了1层或两层。之后进入average pool,最后再经过fc6层,计算softmax得到最后的结果。
当训练网络时,用伯努利分布来选择一个branches子集,假设有K个branches,则有下面的分布 ak ~ Bernoulli(Pk),其中ak表示第k个branch被选中更新的二进制结果,Pk是分布的一个参数。Loss如下:
在这里插入图片描述
Mb是mni-batch的size,F是softmax输出的结果。梯度是直接对theta求导。只对FC层更新,而且只更新一到两个FC层。理由是很难在有限训练样本的情况下在线学习两个以上的全连接层。
对第一帧首先标出正负样本,也就是前景和后景,之后开始跟踪第一帧标出的目标。从上一帧中获取目标中心的xi高斯分布,改变维度,计算所有branches的softmax结果。目标状态由下面的公式得到:
在这里插入图片描述
为了提高定位的精确度,采用bounding box regression,用1000个训练样例训练 (at the first frame only),由第一帧进行数据增大得到的,然后应用model到所有后续帧。因为学习目标框很耗时,而且因为没有gt,使用其他帧学习到的特征不一定可靠。
另外一个在线学习的要素是如何构造训练样例。由于没有gt,只能依靠预测得到的目标位置。从第t帧得到的正样本要包含IoU值高于0.7的bounding box。
更新策略:
(1)每10帧整个model更新一次,
(2)当xt*的值小于0.5时更新一次。
寻找每帧的目标时,以上一帧的目标为中心,高斯密采样提取256个样本用于观察。如果连续10帧从CNN获得的分类结果低于阈值就扩大搜索空间。当模型需要更新时,基于ak(Pk = 0.5)选择一个branches子集。每个mini-batch的大小是128.包含36个正样本和92个负样本。在线学习时,学习率设置为0.0001,迭代30次,momentum为0.9,weight decay为0.0005。

RASNet:Learning Attentions: Residual Attentional Siamese Network for High Performance Online Visual Tracking(CVPR2018)
基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)_第6张图片
主要贡献:
1 针对对象跟踪问题设计了端对端的深度架构,
2 RASNet探索了不同的注意力机制,
3 提出了高效的跟踪算法,80FPS。
将full Attention分解后效果更好:
分解前:
在这里插入图片描述
full Attention,参数数目为mnd。
分解后:
在这里插入图片描述
由dual Attention和Channel Attention组成,参数数目减少为m*n+d。
dual Attention又由general Attention和residual Attention组成,general Attention相当于高斯分布,residual Attention学习目标特征(作为鉴别器)。
使用Channel Attention是为了适应目标变化
在这里插入图片描述基于深度学习的目标跟踪论文阅读笔记(基于SiamFC改进)_第7张图片
增加了一个权重函数,让相近的图片队权重高,以避免遮挡带来的过拟合。

你可能感兴趣的:(目标跟踪)