目标跟踪《十八》--- D3S(A Discriminative Single Shot Segmentation Tracker)

目标跟踪《十八》--- D3S(A Discriminative Single Shot Segmentation Tracker)

url: https://arxiv.org/pdf/1911.08862.pdf

Abstract

由于robustness 比较好,基于模板的discriminative trackers 目前用的非常多,但是这些trackers 的精度方面还需要提升。 而且由于物体可能会发生很大的变化,也可能与最初的模板已经差别很大, 所以一个好的tracker也需要对目标发生不同的变换时应该有一定的鲁棒性。但是之前在这方面的工作并不多. D3S通过分割来做tracking, 在效果上超过了SiamMask,其主要想法是希望网络对于目标的变化仍具有很好的鲁棒性,而且同时利用分割的mask来提高bbox的精度.

切入点

作者认为基于模板的tracker对于低维度的变换,比如平移或者scale上的变化鲁棒性还可以,但是对于像 aspect ratio和rotation这种高维的变化的鲁棒性并不好. 而当前的tracker在之面的解决办法是做复杂的搜索和对bbox进行回归和较正, 但是这些方法中bbox都是与坐标轴平行的矩形框.

当一个目标发生很大的变动,比如旋转,变形,拉伸,或者人把手展开. 在这些情况下,由于目标与模板之间发生了很大变化,所以基于模板的方法做的并不太好。但是这个时候应用mask却是合理的。(从这个角度似乎可以将定位和框的位置这两个任务给分离,定位任务需要模板,而框的位置就当成是一个回归任务,或者分割任务,而不需要模板信息).

做法

整个网络结构如下: (感觉这个图是tracking时候的图,不是训练时候的图)

avator

  • 概括

整个网络主要包括, backbone, GEM, GIM, 和refinement.

  • GIM (geometrically invariant model)

GIM分支的目的是学到适应目标发生的变化,这里用的方法主要是videoMatch那里的想法, 其过程如下

avator

即先从backbone中得到features, 然后经过降维, 之后去和XB, XF做match, (个人理解这里的XB和XF应该是第一桢的,而不是用当前的features得到的), match 完了之后得到了 matching scores B 和F 然后将两个concat之后经过softmax得到一个响应的score map P. 这个score map 卡一个阈值之后就会出一个二值的mask作为输出.(但是还不是最终的结果,其实这个是可以作为最终的输出的,可能结果不太好,所以作者又做了refinement的操作)

  • GEM (geometrically constrained model)

个人理解,这里和ATOM里的在线classifier是一个作用,其目的是得到一个目标的一个大致的位置,

avator

猜测是因为correlation filter 得到的响应可能比较极端(ATOM里面这个响应只有少数像素点量级在0.1以上,其它都是可以认为是0), 所以做了处理之后对应了一个比较平滑的阶梯分明的热力图L.

  • Refinement

当L,F,P得到之后,这三个会concat 一起作为refinement的输入,经过上采样,和前层feature相加(类似于FPN)最终变换成和原图同样大小的shape, 并做了softmax作为输出. 这个输出应该是比P要好的.

avator

  • Bounding box fitting module

ATOM中得到初始的框之后,会用SGD来优化iou, 从而得到使得iou尽可能大的bbox, 这里也用了类似的操作,只是这里计算iou的方式和直框时候的不太一样,这里需要数mask中的对应的像素点的个数,或者是斜框下的iou.

avator

个人理解,训练的时候应该也是有iou的监督的, 否则在测试的时候因为没有gt, 就不知道iou的大小.

tracking with D3S

  • GEM 的初始化

GEM的初始化本质上需要框, 如果不是框就要先处理成框,然后类似于ATOM中的做法,利用第一桢先进行学习.

  • GIM 的初始化

GIM的初始化的本质需要mask, 如果给的不是mask就把框当成mask来处理.XF的选择就是目标的mask点,而XB的选择是在4倍区域内非目标的点.

  • 结果展示

avator

在vot2018上的结果也很好,精度很高.

avator

thoughts

  1. 有一些不理解的地方, 训练的过程是怎么样的? loss是mask的loss和iou 的loss相结合吗

  2. GEM 应该没有参与离线训练?

  3. GIM 模块是单独训的吗?

  4. (atom, dimp)+mask估计效果能做的很好.

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦