《ATOM:Accurate Tracking by Overlap Maximization》论文笔记

参考代码:pytracking

1. 概述

导读:现有的跟踪网络很多都着力于将目标从背景中区分开来,也就是提升前景背景的分辨能力,但是对目标位置估计的准确性(跟踪框于实际目标的重合度)却被低估了,这也就导致了下图1中出现的目标定位位置并不准确的问题。对此文章提出了一个新的跟踪方法ATOM,它由两部分组成:目标位置估计和目标辨别。目标位置估计参考了IoU-Net的位置回归思路(因而在读这篇文章之前需要先搞懂IoU-Net的工作原理),将其移植到了跟踪网络中,因为该任务需要高层级的语义信息用以预测IoU值,因而并不适合在线训练,从而文章使用现有的跟踪数据集和COCO数据集一起进行离线训练。对于目标的分辨,由于需要提供鲁棒的目标分辨能力和较小的计算开销,文章使用在线学习(优化方法为:Conjugate-Gradient-based)的方式进行训练,由两层卷积网络构成。文章的方法使用ResNet-18为backbone能在1080 GPU上跑到30FPS。

图1:
在这里插入图片描述

2. 方法设计

2.1 整体pipline组成

文章的方法大体由两个部分组成:负责跟踪框位置的估计模块和前景背景的分类模块,其整体pipeline见下图所示:
在这里插入图片描述

  • 1)目标位置估计:这部分采用在ImageNet上预训练的ResNet-18作为backbone,之后整个网络在跟踪数据集和检测数据集上进行训练,之后在进行在线跟踪的时候这部分参数是固化的。其输入有4个部分:参考帧的backbone特征和目标框以及当前的帧的backbone特征和目标框估计,之后输出这个目标框估计的IoU得分;
  • 2)前景背景区分:这部分是完全在线训练的方式实现的,在backbone特征的基础上得到目标的置信度,从而将目标与其它区域区分开;

2.2 目标边界框估计

这里的估计方式参考自IoU-Net,文中将IoU-Net的边界框优化方式引入到跟踪网络中,但是对其做了任务适应的更改。对于采用什么样的feature进行预测可以很好结合参考帧和当前帧,文章指出使用文章提出的modulation-based方法比直接特征融合和Siamese方式要好(具体的比较细节请参见原文),从而提出了下图中的特征融合方式:
在这里插入图片描述
对于参考帧抽取backbone的block3和block4的特征,之后在参考帧目标框的指引下进行PrPool操作,之后经过全链接得到一组正数组成的系数向量 c ( x 0 , B 0 ) ∈ R 1 ∗ 1 ∗ D z c(x_0,B_0)\in R^{1*1*D_z} c(x0,B0)R11Dz,可看作为权重。

对于当前帧经过backbone之后也是抽取相同block处的特征但是处理的方式不太一样,具体见图3所示,其得到的是当前帧的特征表达 z ( x , B ) ∈ R K ∗ K ∗ D z z(x,B)\in R^{K*K*D_z} z(x,B)RKKDz,其中 K K K是特征的空间分辨率。

之后将当前帧的特征表达和参考帧的系数向量进行channel-wise的组合,之后经过IoU预测模块 g g g得到当前当前提取边界框的IoU预测值:
I o U ( B ) = g ( c ( x 0 , B 0 ) ⋅ z ( x , B ) ) IoU(B)=g(c(x_0,B_0)\cdot z(x,B)) IoU(B)=g(c(x0,B0)z(x,B))

不同的特征融合方式对于最后性能的影响见下表所示(文章使用的是modulation):
在这里插入图片描述

训练过程:
这里使用LaSOT(Large-scale Single Object Tracking)/TrackingNet跟踪数据集,一个视频中的最大采样间隔为50。此外,还引入COCO数据集用以提供更多样化的训练素材。对于参考图像截取的是以目标为中心长宽5倍的区域。对于测试帧也是采样类似的区域,但是在目标位置和尺度上引入扰动去模拟跟踪的场景。之后将这些区域进行剪裁并resize到固定的大小。参考IoU-Net这里也在GT box的基础上使用高斯噪声引入扰动生成16个候选bounding boxes,但是它们与GT box的IoU最小为0.1。

2.3 目标区域的判别

通过目标区域位置估计得到了目标的精确位置,但是单单靠定位的结果是很难鲁棒对目标进行区分的,因而这里引入了目标判别分支,从而为跟踪提供2D维度下的目标位置确定。

文章的目标区域判别由两个卷积组成,可以描述为:
f ( x ; w ) = ϕ 2 ( w 2 ∗ ϕ 1 ( w 1 ∗ x ) ) f(x;w)=\phi_2(w_2*\phi_1(w_1*x)) f(x;w)=ϕ2(w2ϕ1(w1x))
其中, w 1 , w 2 w_1,w_2 w1,w2代表卷积核为 1 ∗ 1 , 4 ∗ 4 1*1,4*4 11,44,输出channel为64/1的卷积, ϕ 2 , ϕ 1 \phi_2,\phi_1 ϕ2,ϕ1代表激活函数PELU和Identity(空)。参考之前的回归方法,其在整幅特征图上的监督损失函数定义为:
L ( w ) = ∑ j = 1 m γ j ∣ ∣ f ( x j ; w ) − y j ∣ ∣ 2 + ∑ k λ k ∣ ∣ w k ∣ ∣ 2 L(w)=\sum_{j=1}^m\gamma_j||f(x_j;w)-y_j||^2+\sum_k\lambda_k||w_k||^2 L(w)=j=1mγjf(xj;w)yj2+kλkwk2
由于文章采用的是在线学习的方式,因而使用传统的梯度下降算法是并不适合的,对此文章提出使用一种简化的优化算法。

首先,文章对目标函数进行了简化,对于目标区域置信度的回归被描述为了:
L 1 = ∑ j = 1 m γ j ( f ( x j ; w ) − y j ) L1=\sum_{j=1}^m\sqrt{\gamma_j}(f(x_j;w)-y_j) L1=j=1mγj (f(xj;w)yj)
对于正则化约束项简化为:
L 2 = ∑ k λ k w k L2=\sum_k\sqrt{\lambda_k}w_k L2=kλk wk
则新的损失函数描述为:
L ( w ) = ∣ ∣ L 1 + L 2 ∣ ∣ 2 L(w)=||L1+L2||^2 L(w)=L1+L22
这里使用二次高斯牛顿近似得到:
L ˉ w = ( Δ w ) ≈ L ( w + Δ w ) \bar{L}_w=(\Delta w)\approx L(w+\Delta w) Lˉw=(Δw)L(w+Δw)
之后一阶泰勒展开 r ( w Δ w ) ≈ r w + J w Δ w r(w\Delta w)\approx r_w+J_w\Delta w r(wΔw)rw+JwΔw,因而
L ˉ w ( Δ w ) = Δ w T J w T J w Δ w + 2 Δ w T J w T r w + r w T r w \bar{L}_w(\Delta w)=\Delta w^TJ_w^TJ_w\Delta w+2\Delta w^TJ_w^Tr_w+r_w^Tr_w Lˉw(Δw)=ΔwTJwTJwΔw+2ΔwTJwTrw+rwTrw
具体的推导可以参考原文,这里给出其优化过程:
在这里插入图片描述

2.4 在线的跟踪方法

文章backbone中block4的输出作为分类模块的输入。对于第一帧,题哦你给过不同程度的平移/旋转/滤波/dropout等增广出30个训练样本 x j x_j xj,之后使用上面提到的算法1进行在线训练,设置优化参数 N G N = 6 , N C G = 10 N_{GN}=6,N_{CG}=10 NGN=6,NCG=10去训练参数 w w w,每10帧使用优化参数 N G N = 1 , N C G = 5 N_{GN}=1,N_{CG}=5 NGN=1,NCG=5去训练参数 w 2 w_2 w2

目标的估计:
利用之前预测得到的目标位置和尺度在backbone上进行特征抽取,之后使用分类模块去寻找2D空间下的最大值响应,结合之前得到目标位置和尺度信息得到目标的跟踪框 B B B,之后为了排除局部最大值带来的影响文章在 B B B的基础上添加均匀随机分布噪声得到10个初始的proposal,之后对它们进行5次梯度上升优化(step=1),之后取3个IOU得分最大的结果平均得到最后的结果。

3. 实验结果

TrackingNet test set:
在这里插入图片描述
LaSOT:
在这里插入图片描述
VOT2018:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m_buddy/article/details/114877334