论文地址:https://arxiv.org/abs/2105.04322
RelationTrack
介绍和相关工作
为了应对联合检测和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} It∈RH×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} bt∈Rk×4, e t ∈ R k × D e_t\in R^{k\times D} et∈Rk×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=1∑Np∑m=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'}
I∈RB′×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=H′W′C′11∑H′1∑W′1∑C′Ibhwc(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=H′W′C′11∑H′1∑W′1∑C′(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
k∈Ωk)生成相关图。然后,将得到的关系图重新归一化并与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=1∑NheadWi⎝⎛j∈Ωk∑AijWi′kj⎠⎞⎠⎞(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}
Aij∝exp(ρ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 q∈I,可以获得其坐标 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=1∑NkVqi∙Fci(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=1∑Nexp(−2(σp)2(x−cxi)2+(y−pyi)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=⎩⎨⎧(1−Rxy)αlogRxy,R^xy=1(1−R^xy)β(Rxy)αlog(1−Rxy),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=1∑Hx=1∑WLxyh
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=1∑N∥∥oi−o^i∥∥1+∣si−s^i∥1
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=1∑Ki=1∑Kqjlog(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数据集。
消融实验: