ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  理解出错之处望不吝指正。

  本文模型叫做DSLT,将跟踪任务视为回归问题去解决。主要贡献包括:①.提出一种收缩损失函数,降低背景信息中的那些简单负样本对损失函数的贡献;②.使用残差连接,融合多个卷积层和特征图。具体的网络结构如下图所示:

ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  在上图中,红色虚线左侧是特征提取层,文中采用的是VGG-16。右侧是回归网络,使用第一帧进行训练,并逐帧更新。

 

  • 收缩损失函数

  传统的回归跟踪问题可视为下式所示的优化问题:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  其中ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记代表卷积操作,ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记代表卷积的权重,ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记是使用高斯函数生成的样本的软标签。将其写成损失函数的形式如下:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  观察上图我们可以看出,对于一个输入的patch,输出的响应图ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记和软标签ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记中,其实背景信息的差别并不大,但是由于这种简单的背景信息(负样本)较多,导致对于整张图的损失函数来说,简单负样本的贡献较大,这就是文中所说的数据不平衡问题。

  我们使用ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记表示每次迭代得到的响应图,ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记代表响应图中的一个位置的值(区间[0,1]中的一个值),ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记代表该位置的标签(1或者0),可以定义“不相似度”为ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记,写成均方误差形式,可定义损失函数:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  最近有一篇文献中指出,在损失函数中增加一个调节项可以减轻数据不平衡的问题。构造出如下所示的损失函数:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  为啥上式可以减轻数据不平衡问题?说说个人理解,不知道对不对。比如现在有两个位置,ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记(我们将ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记视为简单样本,ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记视为困难样本),使用ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记损失时,前者的损失是0.09,后者的损失是0.64。若使用ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记损失,前者的损失是0.027,后者的损失是0.512。而我们可以算出0.64/0.09大约为7.1,0.512/0.027约为19。这样,从比例上看,使用ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记损失时,简单负样本的贡献程度变得较小。

  为了简便,文中使用ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记的情况举例。作者的意思是,我们使用ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记损失,既使简单样本的损失变小了,但同时也使困难样本的损失变小了,这样不好。于是,作者提出了一个函数来代替ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记,形如下式:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  式中ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记分别是超参数,而这个函数绘制出来如下图所示:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  我们可以看出,当ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记的时候,函数的输出接近1,而ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记的时候,函数的输出小于1。这样就可以只对简单样本添加惩罚,使其损失变小,而对困难样本不造成影响。于是,损失函数就变成了:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  使用其重写损失函数:

    ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  文中设置ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  作者说,这个损失函数可以提高跟踪效果,加速训练,加快收敛。

 

  • 残差连接

ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  文中说,ECO是基于多个卷积层独立学习了一个CF,CREST是基于一个单独的卷积层学习一个基础的残差连接网络,而本文的模型先使用残差连接融合多个卷积层,然后再进行回归学习。作者说,本文的模型对不同层级的语义信息进行了充分的利用,而不是像ECO和CREST仅仅用于响应图的融合。

 

  • 实验

  OTB

ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  Temple Color 128

ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  VOT2016

ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记

  不同的损失函数

ECCV 2018 DSLT:《Deep Regression Tracking with Shrinkage Loss》论文笔记