论文地址:https://arxiv.org/abs/2105.04322

介绍和相关工作

为了应对联合检测和ReID分支的MOT任务的优化弊端,作者提出了GCD模块用于解耦具体检测和具体ReID embedding任务的特征表示,如下图所示,并且实验证明了其有效性。

并且作者注意到过去的方法大多只是使用局部信息,作者认为全局信息同样重要,需要捕获长范围的关系。作者未使用了计算复杂的全局的注意力,而是认为不是所有的像素都影响查询节点的语义内容,只有周围少量的主要关键点起作用,基于此假设,作者使用了一个更轻量的可变形注意力来整合结构关系。不同于基于图的方法从固定的周围像素聚合信息,可变形注意力选择整个图片最具价值的采样点进行聚合信息。再组合Transformer的编码器,形成GTE模块,在拥有全局感受野的情况下探索像素间丰富内容。

方法

问题阐述

RelationTrack旨在检测关系目标,并将把不同帧中的对应ID相互连接形成轨迹。主要由三个部分组成,一个检测器 φ ( ⋅ ) φ(·) φ()用于定位目标,一个特征提取器 ψ ( ⋅ ) ψ(·) ψ()用于获得目标embedding表示,以及一个关联器 ϕ ( ⋅ ) ϕ(·) ϕ()来生成轨迹。

具体的,输入一张图片 I t ∈ R H × W × C I_t \in R^{H\times W\times C} ItRH×W×C,定义 φ ( I t ) φ(I_t) φ(It) ψ ( I t ) ψ(I_t) ψ(It) b t b_t bt e t e_t et,其中 b t ∈ R k × 4 b_t\in R^{k\times 4} btRk×4 e t ∈ R k × D e_t\in R^{k\times D} etRk×D H , W , C H,W,C H,W,C分别代表输入图片高宽和通道数, k , t , D k,t,D k,t,D分别代表检测到的目标数, I t I_t It索引,以及embedding向量的维度。 b t b_t bt e t e_t et分别代表边界框的坐标和相应的embedding向量。在检测了目标以及提取了相应的embedding向量后, ϕ ( ⋅ ) ϕ(·) ϕ()会基于 e t e_t et连接不同帧的 b t b_t bt产生最终轨迹。

总体框架

如下图所示,RelationTrack由五部分组成,如特征提取器、特征解耦、检测、表示提取和关联。

第一部分,给定一个 N N N帧的视频 I t ( t = 1 , 2 , … , N ) I_t(t=1,2,\dots,N) It(t=1,2,,N),通过backbone(DLA_34)将每一帧变为相应的特征图,然后在特征解耦部分(GCD),学习到的特征分解为检测和ReID信息,从而解决之前提到的特征矛盾问题。然后检测分支基于具体的检测信息定位目标,
同时GTE将ReID信息编码为辨别性特征。

获得相应的边界框和特征表示,将所有的检测目标和轨迹片段使用匈牙利算法连接起来。

Global Context Disentangling (GCD)

GCD包含两个阶段,生成全局上下文向量并利用该向量分解输入特征映射。设 x = { x i } i = 1 N p x=\left\{x_{i}\right\}_{i=1}^{N_{p}} x={ xi}i=1Np为输入特征图 N p = H ′ × W ′ N_p = H'\times W' Np=H×W,则计算全局上下文向量 z z z表示为: z = ∑ j = 1 N p exp ⁡ ( W k x j ) ∑ m = 1 N p exp ⁡ ( W k x m ) x j (1) z=\sum_{j=1}^{N_{p}} \frac{\exp \left(W_{k} x_{j}\right)}{\sum_{m=1}^{N_{p}} \exp \left(W_{k} x_{m}\right)} x_{j} \tag{1} z=j=1Npm=1Npexp(Wkxm)exp(Wkxj)xj(1)

W k W_k Wk表示为一个可学习的线性乘积,建模为 1 × 1 1\times 1 1×1卷积层。

第二阶段设计两个转变,将 z z z变为两个具体的向量,通过将 z z z通过元素级别相加到 x x x上。然后分别获得检测任务embedding d = { d i } i = 1 N p d=\left\{d_{i}\right\}_{i=1}^{N_{p}} d={ di}i=1Np和ReID任务embedding r = { r i } i = 1 N p r=\left\{r_{i}\right\}_{i=1}^{N_{p}} r={ ri}i=1Np。过程公式化为:
d i = x i + W d 2 ReLU ⁡ ( Ψ ln ⁡ ( W d 1 z ) ) (2) d_{i}=x_{i}+W_{d 2} \operatorname{ReLU}\left(\Psi_{\ln }\left(W_{d 1} z\right)\right) \tag{2} di=xi+Wd2ReLU(Ψln(Wd1z))(2)

r i = x i + W r 2 ReLU ⁡ ( Ψ ln ⁡ ( W r 1 z ) ) (3) r_{i}=x_{i}+W_{r 2} \operatorname{ReLU}\left(\Psi_{\ln }\left(W_{r 1} z\right)\right) \tag{3} ri=xi+Wr2ReLU(Ψln(Wr1z))(3)
所有 W W W表示可学习参数, R e L U ( ⋅ ) ReLU(·) ReLU() Ψ l n ( ⋅ ) Ψ_l{n}(·) Ψln()表示线性单元和层标准化操作。对于一批数据 I ∈ R B ′ × H ′ × W ′ × C ′ I \in R^{B'\times H' \times W'\times C'} IRB×H×W×C Ψ l n ( ⋅ ) Ψ_{ln}(·) Ψln()可以表示为:
μ b = 1 H ′ W ′ C ′ ∑ 1 H ′ ∑ 1 W ′ ∑ 1 C ′ I b h w c (4) \mu_{b}=\frac{1}{H^{\prime} W^{\prime} C^{\prime}} \sum_{1}^{H^{\prime}} \sum_{1}^{W^{\prime}} \sum_{1}^{C^{\prime}} I_{b h w c}\tag{4} μb=HWC11H1W1CIbhwc(4) σ b 2 = 1 H ′ W ′ C ′ ∑ 1 H ′ ∑ 1 W ′ ∑ 1 C ′ ( I b h w c − μ b ) 2 (5) \sigma_{b}^{2}=\frac{1}{H^{\prime} W^{\prime} C^{\prime}} \sum_{1}^{H^{\prime}} \sum_{1}^{W^{\prime}} \sum_{1}^{C^{\prime}}\left(I_{b h w c}-\mu_{b}\right)^{2} \tag{5} σb2=HWC11H1W1C(Ibhwcμb)2(5)
I ~ b h w c = I b h w c − μ b σ b 2 + ϵ (6) \tilde{I}_{b h w c}=\frac{I_{b h w c}-\mu_{b}}{\sqrt{\sigma_{b}^{2}+\epsilon}} \tag{6} I~bhwc=σb2+ϵ Ibhwcμb(6)

I b h w c I_{bhwc} Ibhwc I ~ b h w c \tilde{I}_{b h w c} I~bhwc表示输入和输出((b, h,w, c)), ϵ \epsilon ϵ表示一个极小的预定义值。

公式1可以在聚集全局上下文信息的时候, z z z对于 i i i的选择是不变的。所有的 d d d r r r可以使用相同的 z z z来计算,因此 G C D GCD GCD的计算复杂度为 O C 2 O_{C^2} OC2,相较于前面提到的全局注意力的复杂度 O H W C 2 O_{HWC^2} OHWC2更高效。

Guided Transformer Encoder (GTE)

结构如下图所示,组合了Transformer编码器和可变形注意力的优点。组合了Transformer出色的推理能力以及可变形注意力的自适应感受野,GTE生成嵌入表示。

Transformer编码器:
GTE,中,使用了一个类似于Transformer编码器的结构,用于获得更好的embedding,如图3所示,由一个多头注意力块的transformer编码器和一个前馈网络组成(FFN)组成。给定一个query q和一个关键元素集合 Ω k Ω_k k作为输入,Transformer首先通过点积q和k( k ∈ Ω k k\in Ω_k kk)生成相关图。然后,将得到的关系图重新归一化并与k再相关联,生成具有代表性的嵌入。然后,利用FFN进一步提取嵌入中的信息。
Φ T ( q , k ) = Γ ( ∑ i = 1 N h e a d W i ( ∑ j ∈ Ω k A i j W i ′ k j ) ) (7) \Phi_{T}(q, k)=\Gamma\left(\sum_{i=1}^{N_{h e a d}} W_{i}\left(\sum_{j \in \Omega_{k}} A_{i j} W_{i}^{\prime} k_{j}\right)\right)\tag{7} ΦT(q,k)=Γi=1NheadWijΩkAijWikj(7)

A i j ∝ exp ⁡ ( q T U i T V i k j ρ ) (8) A_{i j} \propto \exp \left(\frac{q^{T} U_{i}^{T} V_{i} k_{j}}{\rho}\right) \tag{8} Aijexp(ρqTUiTVikj)(8)
W , U , V W,U,V W,U,V为可学习参数, Φ T ( ⋅ ) Φ_T(·) ΦT(), Γ ( ⋅ ) Γ(·) Γ(), N h e a d N_{head} Nhead, ρ ρ ρ分别代表Transformer,FFN,注意力头的数量和标准化因子。

Deformable attention

下图就代表的可变形注意力的基础思想。对于图(4a)中感兴趣的检测区域,变形注意力自适应地在整个图像中选择有价值的关键样本(4b),然后,通过query节点与对应的关键样本之间的信息交互产生判别表示(图4©)。详细细节在图3表示出来。

输入一张特征 I I I,三个独立的解码器, Φ a ( ⋅ ) , Φ b ( ⋅ ) , Φ c ( ⋅ ) Φ_a(·),Φ_b(·),Φ_c(·) Φa(),Φb(),Φc()分别解码输入为偏移图 F a F_a Fa,关键图 F b F_b Fb,和query注意力图 F c F_c Fc,如果我们为每个query节点选择 N k N_k Nk个关键采用, F a F_a Fa会包含 2 N k 2N_k 2Nk个通道,包含关于相应query节点的 N k N_k Nk个关键采样。因此对于每个query 节点 q ∈ I q\in I qI,可以获得其坐标 Z q Z_q Zq和基于 F a F_a Fa的关键采样 Z q Z_q Zq的偏移 △ Z k = { △ Z k i } i = 1 N k \triangle Z_{k}=\left\{\triangle Z_{k}^{i}\right\}_{i=1}^{N_{k}} Zk={ Zki}i=1Nk。然后关键采样 △ Z k = { △ Z k i } i = 1 N k \triangle Z_{k}=\left\{\triangle Z_{k}^{i}\right\}_{i=1}^{N_{k}} Zk={ Zki}i=1Nk的坐标可以如下计算: Z k i = Z q + △ Z k i (9) Z_{k}^{i}=Z_{q}+\triangle Z_{k}^{i} \tag{9} Zki=Zq+Zki(9)

根据选择的关键采样 △ Z k = { △ Z k i } i = 1 N k \triangle Z_{k}=\left\{\triangle Z_{k}^{i}\right\}_{i=1}^{N_{k}} Zk={ Zki}i=1Nk和关键图 F b F_b Fb,可以获得关键采样向量 V k = { V k i } i = 1 N k V_{k}=\left\{V_{k}^{i}\right\}_{i=1}^{N_{k}} Vk={ Vki}i=1Nk,然后通过编码器 Φ d ( ⋅ ) Φ_d(·) Φd()进一步变化为 V ~ k \tilde V_k V~k,然后从 F c F_c Fc中裁剪出关于 Z k Z_k Zk的query注意力向量 V q = { V q i } i = 1 N k V_{q}=\left\{V_{q}^{i}\right\}_{i=1}^{N_{k}} Vq={ Vqi}i=1Nk。最终输出特征图 F o F_o Fo计算为: F o = W m ∑ i = 1 N k V q i ∙ F c i (10) F_{o}=W_{m} \sum_{i=1}^{N_{k}} V_{q}^{i} \bullet F_{c}^{i} \tag{10} Fo=Wmi=1NkVqiFci(10)
W m W_m Wm为可训练参数, ∙ \bullet 为Hadamard乘法。

Loss

总体的损失分为三部分,heatmap的定义以及相似度评估损失:
R ^ x y = ∑ i = 1 N exp ⁡ ( − ( x − c x i ) 2 + ( y − p y i ) 2 2 ( σ p ) 2 ) \hat{R}_{x y}=\sum_{i=1}^{N} \exp \left(-\frac{\left(x-c_{x}^{i}\right)^{2}+\left(y-p_{y}^{i}\right)^{2}}{2\left(\sigma_{p}\right)^{2}}\right) R^xy=i=1Nexp(2(σp)2(xcxi)2+(ypyi)2)
L x y h = { ( 1 − R x y ) α log ⁡ R x y , R ^ x y = 1 ( 1 − R ^ x y ) β ( R x y ) α log ⁡ ( 1 − R x y ) , R ^ x y ≠ 1 L_{x y}^{h}=\left\{\begin{array}{l} \left(1-R_{x y}\right)^{\alpha} \log R_{x y}, \hat{R}_{x y}=1 \\ \left(1-\hat{R}_{x y}\right)^{\beta}\left(R_{x y}\right)^{\alpha} \log \left(1-R_{x y}\right), \hat{R}_{x y} \neq 1 \end{array}\right. Lxyh=(1Rxy)αlogRxy,R^xy=1(1R^xy)β(Rxy)αlog(1Rxy),R^xy=1

L h = − 1 N ∑ y = 1 H ∑ x = 1 W L x y h L^{h}=-\frac{1}{N} \sum_{y=1}^{H} \sum_{x=1}^{W} L_{x y}^{h} Lh=N1y=1Hx=1WLxyh

bbox预测损失:
L b = ∑ i = 1 N ∥ o i − o ^ i ∥ 1 + ∣ s i − s ^ i ∥ 1 L^{b}=\sum_{i=1}^{N}\left\|o^{i}-\hat{o}^{i}\right\|_{1}+\mid s^{i}-\hat{s}^{i} \|_{1} Lb=i=1Noio^i1+sis^i1
o o o为预测偏移, s s s为预测大小。

ReID分支损失:
L r = − ∑ j = 1 K ∑ i = 1 K q j log ⁡ ( p i ) L^{r}=-\sum_{j=1}^{K} \sum_{i=1}^{K} q_{j} \log \left(p_{i}\right) Lr=j=1Ki=1Kqjlog(pi)
q q q为one-hot的GT类别标签集合, p i p_i pi为预测分类的概率。

总体损失为:
L d = L h + L b L = 1 2 ( 1 e ω 1 L d + 1 e ω 2 L r + ω 1 + ω 2 ) \begin{array}{c} L^{d}=L^{h}+L^{b} \\ L=\frac{1}{2}\left(\frac{1}{e^{\omega_{1}}} L^{d}+\frac{1}{e^{\omega_{2}}} L^{r}+\omega_{1}+\omega_{2}\right) \end{array} Ld=Lh+LbL=21(eω11Ld+eω21Lr+ω1+ω2)

实验

采用了FairMOT相同的MIX数据集。


消融实验: