DiMP tracker :learning discriminative model predicition for tracking

mac2024-10-21  55

MD大神的论文,一如既往的难懂,但是学习的道路总不是一帆风顺的,在此记录下来,以备以后之需。

以后像这种有难度的论文,更好坚持做好笔记,做好记录,查漏补缺,不定期的拿出来读一读,说不定会有好的思路启发的。

摘要:目标跟踪需要在线(在inference阶段)学习指定目标的外观模型,siamese类方法离线训练网络(在imagenet等数据集上),在线提取特征对比相似度进行跟踪,但在推理阶段忽略了背景信息,对target-background的判别性差。本文提出了一种端到端的跟踪结构,可以充分利用目标和背景信息进行目标模型预测,通过设计一种判别性学习loss,并利用迭代优化求解的方式,可以获得跟踪结构。

Motivation:解决siamese类方法的三个局限:

1. Siamese类方法缺少利用背景外貌信息,当目标和背景相似时,不能区分。

2. 相似性度量对于许多未见过的物体并不可靠。

3. Siamese方法缺少模型更新策略。

contribution:

解决上述3个问题,40fps,在6个benchmark上,均是state-of-the-art。

algorithm:

       

 网络模型如上所示,遵循规则:1,一个判别性强的loss可以增强学习的目标模型的鲁棒性,也就是一个需要重要的损失函数。

2,一个强大的优化策略可以加速收敛,增强模型学习的快速性。

Discriminative learning loss

像传统的岭回归问题,使用均方误差作为损失函数,会强迫模型关注大量负样本进行优化,而不是关注模型判别力,所以使用合页损失函数的思想,即当正负样本距离大于一定距离时损失才为0,从而更好的区别正负样本。所以,损失函数如下:

                                              

max(0,s)表示当样本为负时的得分。

optimization-Based architecture

常量α会导致较慢的收敛速度,且该常量不基于当前数据或者模型估计。基于梯度下降法求f的解。这里关键是求出model f,并不关注D,对于f=D(Strain),输入已知,求出f后,相当于隐含的知道了D,这里是直接对f求取的,并将f作为卷积层参数。具体对f的求解,可以看表格algorithm 1。

Initial Filter prediction

设计一个小的网络对f进行初始化,在利用model optimizer 对网络进行优化,(迭代N次)。

learning the discriminative learning loss

介绍了前面损失函数中的参数yc,mc,vc的自适应学习过程,yc表示标签置信得分,mc表示target mask,vc表示权值参数(为了平衡正负样本而设置的)。

offline training

给定图像对(Mtrain,Mtest)(在同一个序列中抽取的),将图像对通过backbone进行特征提取,得到(Strain,Stest),在Mtrain上预测出target model f 然后在Mtest上对该模型 f 进行测试,输出score prediction。

单个样本的损失如下:

这就是之前提到的Hinge-like损失函数,T表示前景和背景,所以这里只惩罚背景样本。

总体的目标分类损失函数如下:

Zc是高斯型mask中心在target bbox中心。

整个网路的总损失函数如上,Lbb表示bbox估计损失(用predicted IOU和groundtruth 来overlap)。

training and online tracking

训练数据集:trackingNet、Lasot、got10k,coco,backbone网络初始化参数取自于imagenet weights。在线跟踪时,对首帧样本进行数据增强,获得15个样本,在求解目标模型f 的优化过程中,使用10次梯度下降,在模型更新过程中始终保持50个样本,20帧更新 一次模型f。

使用pytorch,backbone 为resnet18, 57fps,resnet50 43fps, 1080 gpu。

最新回复(0)