【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记

Target-Aware Deep Tracking 论文地址 Code

写在前面

又是有大牛Ming-Hsuan Yang的一篇论文,一作应该是哈工大的一个博士(只找到这个信息,欢迎大家来纠正),这篇文章的亮点就是他们提出的一个target-ware机制,他们认为对于同一个物体,他们对于最后分类的贡献应该是在相同的通道上的。因为跟踪目前都是将分类的网络迁移过来,然而分类的网络其实处理的是多类别的区分,而跟踪就只是处理前景和背景两类,所以直接迁移其实是浪费了很多类别资源,而同一类的物体所激活的通道应该是类似的,所以这篇文章就在通道上加了一个类似dropout的操作,只用到了属于当前跟踪目标所需要的通道。他们用了一个回归的loss去指导通道的选择,感觉很像是HART和DAT的结合之作,不过文章写的很厉害了。
【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第1张图片
用了他们的方法,实例之间的距离也变大了。

Motivation

  • 跟踪的任务是要将目标从背景中区分出来,而目标的可以是任意的,但是在分类任务上预训练的网络,它们不知道目标是啥,只要是它们见过的东西,它们都会割出来,所以不怎么适用于跟踪;
  • 即使跟踪的目标在训练集中出现过,分类的网络一般都很深,提取的都是深层的语义信息,不利于定位;
  • 分类网络注重于类之间的距离而忽略了类内距离,这使得跟踪任务很容易被cluster影响;
  • 分类的任务需要分多类,最后每个类的响应只会集中在某些channel上,但是跟踪任务只需要分前景和背景,只需要用到特定通道的信息,其他的都是冗余。

Contribution

  • 提出了回归loss和rank loss来选择最有效的表示当前目标的特征;
  • 将这些target-aware的特征与Siamese的框架相结合,并且减少了跟踪时使用的特征,加快了速度。

Algorithm

【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第2张图片
上图是这篇文章的网络结构,template分支和search分支都要过上面橙色和蓝色的网络,得到的结果concate在一起,然后再用类似SiamFC的方法来预测,上采样得到结果,下面讲一下两个分支。在讲这两个分支之前,文章提到了,通过对最终的feature方向求导,得到特定层的每个通道的梯度值,这个梯度值就代表这个通道对最终的分类的贡献,所以通过梯度来选择使用的通道就可以了,也就是对卷积核的一个加权过程:
在这里插入图片描述 在这里插入图片描述
其中 Δ i \Delta_i Δi 表示通道对通道 i i i上所有的值做一个grobal average pooling得到的,然后 ϕ \phi ϕ 是一个通道选择的函数,意思就是选响应高的通道了。

1 Target-active features via regression

这里他们通过一个逐像素的loss来指导通道的选择(HART用的bbox的ROU来做),他们先是在ground truth上加了一个高斯的mask,然后将预测出来的结果与这个mask做逐像素的损失,然后再把这个loss反传回去去指导通道的选择,loss的定义如下:
在这里插入图片描述
其实也是一个最小二乘法的loss,下图4c展示了用这个loss的好处(空间上的attention):
【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第3张图片

2 scale-sensitive features via ranking

作者认为,不仅是不同类的物体在不同channel上的表现是不一样的,不同尺度的物体在不同channel上的响应也是不同的,所以他们搞了一个scale的选择机制,只激活与第一帧尺度一样的channel。训练的时候就是把标记的数据中,bbox尺度一样的放在一起训练,使得这两个之间的loss小,也就是下面这个公式:
在这里插入图片描述
其实我觉得这个挺扯的(感觉会被打),但是从ablation实验中,可以看出还是有用的。他们为了适应只用这个尺度,就在跟踪的时候把找到的bbox resize成各个尺度,然后再来做,唔,这边还是有点麻烦了吧,不过这样就不用像SiamFC那样,连template都要resize了。不过既然这个可以,那以后是不是会出现,用遮挡的数据对训练?这个东西他们在AAAI2019那篇确实用到了,很厉害了。

Tracking

  • 模型初始化:在初始化的时候,回归的loss和ranking的loss是分开训练的,分别用第一帧的ground truth训练,直到网络收敛;
  • 在线跟踪:将回归分支和rank分支的特征concate一下,然后对比search region和template的相似度,找到最相似的就行了,为了适应尺度变化,他们还把search region做了不同的尺度变化,然后去找,文章里没有提到最终的bbox怎么来的,估计还是用到SiamFC中的上采样把。

Experiment

实验结果还是可以的。
【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第4张图片 【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第5张图片 【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第6张图片
【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第7张图片 【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记_第8张图片

总结

总的来说还是讲故事讲的很好的一篇论文,思路虽然是新的,但是感觉也是在前人方法上面做了启发,不过能训练出来还是很佩服啊,然后文章写的很好看,就是很好看懂的那种,喜欢~ 思路简单,效果好,时间 33.7FPS,还是很强了。

你可能感兴趣的:(【TADT(CVPR2019)】Target-Aware Deep Tracking目标跟踪论文笔记)