其他分享
首页 > 其他分享> > Siamese目标跟踪:PG-Net(ECCV2020)

Siamese目标跟踪:PG-Net(ECCV2020)

作者:互联网

论文 PG-Net: Pixel to Global Matching Network for Visual Tracking
参考文章 [Note24] PG-Net 超越互相关的Pixel to Global Matching

1.Motivation

跟踪任务中给定的模板通常较大,无法提取稳健的目标特征。直观看上去将这个模板特征区域映射回原图刚好对应目标大小(图3(a)中绿色方框),但是如果考虑感受野,实际映射在原图的区域更大(图3(a)红色方框),网络越深对应区域越大。这样就会在匹配区域中引入大量背景信息。

如图3(b),当搜索目标时会产生一系列匹配区域(即模板在搜索区域滑动时与模板大小相同的那一块搜索区域)。匹配区域太大,包含目标的匹配区域可能就不止一个,红色框应该是最佳匹配位置,但是因为匹配区域过大,周围的两个黄色框同样包含了目标,从而产生多个响应点,不管对分类还是回归都不友好。
图3

图3 较大的匹配区域对跟踪结果的影响

2.Contribution

为了解决上述问题,关键是减小匹配区域。因此,只要减小模板大小,匹配区域就会变小。最简单的方法是直接对模板进行采样,但是这样会丢失很多特征导致性能大幅下降。

作者提出PG-Net,将模板特征分解为大小为1*1的空间核和通道来减少匹配区域,同时实现了抑制背景干扰和准确采集目标区域上的响应点,即图2。

3.Method

3.1 Pixel to Global matching Module

图2

图2 模板特征分解和相似度匹配的过程。
(a)表示模板特征分别在空间维度和通道维度上进行分解。(b)解释分解核的匹配过程。

首先将模板特征按空间维度分成大小 1 ∗ 1 ∗ c 1*1*c 1∗1∗c的kernels,共 n z n_z nz​个, n z = w z ∗ h z n_z=w_z*h_z nz​=wz​∗hz​(1), w z w_z wz​、 h z h_z hz​表示模板特征的宽和高。这组kernels用 Z f S = { z f S 1 , z f S 2 , … , z f S n z } {Z_{{f_S}}} = \left\{ {z_{{f_S}}^1,z_{{f_S}}^2, \ldots ,z_{{f_S}}^{{n_z}}} \right\} ZfS​​={zfS​1​,zfS​2​,…,zfS​nz​​}, Z f s ∈ Z n z ∗ 1 ∗ 1 ∗ c {Z_{fs}} \in {\Bbb Z^{{n_z}*1*1*c}} Zfs​∈Znz​∗1∗1∗c表示,对应图2(a)中蓝色部分。另外将模板特征按通道分成 1 ∗ 1 ∗ n z 1*1*n_z 1∗1∗nz​的kernels,共c个,用 Z f C = { z f C 1 , z f C 2 , … , z f C c } {Z_{{f_C}}} = \left\{ {z_{{f_C}}^1,z_{{f_C}}^2, \ldots ,z_{{f_C}}^c} \right\} ZfC​​={zfC​1​,zfC​2​,…,zfC​c​}, Z f c ∈ Z c ∗ 1 ∗ 1 ∗ n z {Z_{fc}} \in {{\Bbb Z}^{c*1*1*{n_z}}} Zfc​∈Zc∗1∗1∗nz​表示,对应图2(a)中绿色部分。

图2 (b)中 w x {w_x} wx​、 h z {h_z} hz​表示搜索特征 X f X_f Xf​的宽和高, X f ( i , j ) {X_f}\left( {i,j} \right) Xf​(i,j)表示第j行i列的位置。首先计算其与空间核 Z f s Z_{fs} Zfs​的相似度,得到相似度图 S 1 S_1 S1​,即计算搜索特征每个像素点与空间维度模板特征的相似度。

响应值 S 1 ( i , j ) S_1^{(i,j)} S1(i,j)​中的第m个值表示 X f ( i , j ) {X_f}\left( {i,j} \right) Xf​(i,j)与 Z f Z_f Zf​的空间维度中的第m个位置之间的相似度: S 1 ( i , j ) [ m ] = x f ( i , j ) ⋅ z f S m m = 1 , 2 , … , n z , ( 2 ) S_1^{(i,j)}[m] = x_f^{(i,j)} \cdot z_{{f_S}}^m\quad m = 1,2, \ldots ,{n_z}{,(2)} S1(i,j)​[m]=xf(i,j)​⋅zfS​m​m=1,2,…,nz​,(2)然后计算与通道核 Z f c Z_{fc} Zfc​之间的相似度,相似度图 S 2 S_2 S2​由下式表示: S 2 ( i , j ) [ n ] = S 1 ( i , j ) ⋅ z f C n n = 1 , 2 , … , c , ( 3 ) S_2^{(i,j)}[n] = S_1^{(i,j)} \cdot z_{{f_C}}^n\quad n = 1,2, \ldots ,c{,(3)} S2(i,j)​[n]=S1(i,j)​⋅zfC​n​n=1,2,…,c,(3)为方便计算,将PG-Corr运算 S 2 = P G ( X f , Z f ) {S_2} = PG\left( {{X_f},{Z_f}} \right) S2​=PG(Xf​,Zf​)定义为: S 2 [ i , j , n ] = ∑ p , q , k X f [ i , j , k ] Z f [ p , q , k ] Z f [ p , q , n ] , ( 4 ) {S_2}[i,j,n] = \sum\limits_{p,q,k} {{X_f}} [i,j,k]{Z_f}[p,q,k]{Z_f}[p,q,n]{,(4)} S2​[i,j,n]=p,q,k∑​Xf​[i,j,k]Zf​[p,q,k]Zf​[p,q,n],(4)其中, S 2 S_2 S2​是PG-Corr的输出特征,大小与 X f X_f Xf​相同。

图5

图5 不同序列PGM(上面一行)和DW-Corr(下面一行)分类响应图。
a、b展示出了在复杂背景下PG-corr可以只关注目标本身而不受背景干扰,c、d展示了其对相似物的鲁棒性。

3.2 Architecture of proposed network

作者使用PG模块在SiamRPN++的基础上构建了一个跟踪器
图2

图2 跟踪器结构 ResNet50作为特征提取网络,3个PGM组成定位子网络,每个PGM输出一组分类和回归结果。PGM由PG-Corr和用于生成bbox的检测头组成。

3.3 Shared correlation architecture

图6

图6 互相关层和两个预测分支之间的不同连接方式

(a)显示了现有跟踪网络中使用的连接方法,回归和分类分支具有单独的互相关。(b)是PGM中使用的共享连接方法。回归分支和分类分支共享相同的PG-Corr,分类和回归分别从相似度图中得出。首先通过 1 ∗ 1 1*1 1∗1卷积降维,然后将搜索特征 X f X_f Xf​和模板特征 Z f Z_f Zf​输入PG-Corr,之后使用相似度特征图预测目标框。

有博主实验[Note24] PG-Net 超越互相关的Pixel to Global Matching,这样做能大幅提高速度并且精度几乎没有损失,有些模型甚至能更高。

我的理解 :
SiamCAR操作和本文类似,模板图像和搜索图像经过主干网络提取特征,提取的特征先进行DW-Corr,再进入分类回归子网。我认为分类分支、回归分支不分别进行互相关(如上图b),是因为互相关这一步骤只是利用模板特征和搜索特征,没有引入额外的参数,前面的adj层主要作用是降维,同时也不影响后续分类回归子网的参数,所以只进行一次互相关对精度影响不大。SiamRPN++互相关操作就是上图a的情况。

3.4 Multiple losses mechanism

现有的大多数方法只用相应的损失函数来约束最终特征。然而,通过融合多层特征,只有一种优化的特征很难得到完美的表现。本文提出了多重损失机制来提高跟踪性能。

如图2所示,作者将损失函数应用于骨干网络的不同阶段。每个损失函数使相应特征更加稳健,并输出更准确的回归边界框和分类分数。每个stage i的损失函数定义为: L stag e i = L c l s ( P i , P ∗ ) + λ L r e g ( B i , B ∗ ) , ( 5 ) {{\mathcal L}_{{\text{stag}}{{\text{e}}_i}}} = {{\mathcal L}_{cls}}\left( {{P_i},{P^*}} \right) + \lambda {{\mathcal L}_{reg}}\left( {{B_i},{B^*}} \right){,(5)} Lstagei​​=Lcls​(Pi​,P∗)+λLreg​(Bi​,B∗),(5)其中, P i P_i Pi​、 B i B_i Bi​分别表示对应stage i的分类可能性和预测框。 P ∗ P^* P∗and B ∗ B^* B∗ are the ground truth of classification and bounding box.
将初步跟踪结果作为最终输出并进行优化: L f u s i o n = L cls  ( P f u s i o n , P ∗ ) + λ L reg  ( B f u s i o n , B ∗ ) , ( 6 ) {\mathcal{L}_{fusion}} = {\mathcal{L}_{{\text{cls }}}}\left( {{P_{fusion}},{P^*}} \right) + \lambda {\mathcal{L}_{{\text{reg }}}}\left( {{B_{fusion}},{B^*}} \right){,(6)} Lfusion​=Lcls ​(Pfusion​,P∗)+λLreg ​(Bfusion​,B∗),(6) P f u s i o n = ∑ i δ i P i , ( 7 ) {P_{fusion}} = \sum\limits_i {{\delta _i}{P_i}}{,(7)} Pfusion​=i∑​δi​Pi​,(7) B f u s i o n = ∑ i γ i B i , ( 8 ) {B_{fusion}} = \sum\limits_i {{\gamma _i}{B_i}}{,(8)} Bfusion​=i∑​γi​Bi​,(8)其中, δ i {\delta _i} δi​、 γ i \gamma_i γi​是训练阶段自动优化的超参数。
最终损失函数如下: l o s s = L f u s i o n + ∑ i L stag e i , ( 9 ) loss = {\mathcal{L}_{fusion}} + \sum\limits_i {{\mathcal{L}_{{\text{stag}}{{\text{e}}_i}}}},(9) loss=Lfusion​+i∑​Lstagei​​,(9)

4.Experiments

消融实验

表1 不同相似度计算方法在VOT2108上的EAO

表1
实验结果表明,PG-Net更有效。多损失训练表明,在对每一阶段stage进行约束后,每一阶段的跟踪结果都有明显的提高,进一步提高了最终跟踪结果的准确性。Output指使用融合特征进行目标跟踪。

对比实验

表2 VOT2018

表2

表3 VOT2018-LT

表3

图8 LaSOT

图8

图9 OTB2015

图9

5.Conclusion

PG-corr之所以有效就是因为把模板特征变成了 1 ∗ 1 1*1 1∗1的核,这样匹配区域也就只有一个 1 ∗ 1 1*1 1∗1大小,包含的背景信息大大减少。空间核关注模板每个区域的信息,而通道核更关注模板整体的信息。

标签:right,匹配,Siamese,ECCV2020,特征,PG,模板,left
来源: https://blog.csdn.net/cheetah_buyu/article/details/117078815