论文地址:Improving Multiple Object Tracking with Single Object Tracking
介绍和相关工作
传统的基于ReID特征的MOT方法,难以应对复杂的环境,并且作者认为轨迹之间的关联,不一定非要通过ReID特征,将不同帧的相同目标进行关联。
SOT和MOT相似的是都是时序任务,旨在视频序列中,在面对遮挡等问题的情况下,顺利评估目标对象的轨迹信息。也就是,MOT任务可以被多个SOT的组合实现。MOT的关键步骤被认为是目标关联,如果在MOT任务中,目标类已知,且检测器在目标搜索的区域中具有较高召回率,SOT就可以被认为是一个proposal的关联问题,因此SOT中的一些技术也可以被运用到MOT中来提高关联鲁棒性。
如果如图2(a),直接将MOT中的每个目标对象的坐标看作是一个SOT任务,并且使用一个SOT模型来进行直接追踪,则会存在以下问题:
- 不恰当的辨别性:对于SOT而言,需要的是获得将目标从其背景出辨别出的能力,即泛化辨别性,而MOT任务由于背景信息可以被检测器所过滤,所以一般需要更多的是将目标和其周围目标进行区分,即具体辨别性。
- 尽管先进的SOT方法可以高速运行(40FPS),但是相同时间内使用SOT追踪MOT中的数十个目标还是很耗时的。
为了解决以上问题,作者提出了一个新颖的端到端的MOT训练结构,使得MOT任务可以受益于SOT的强大辨别能力,如图1。通过拓展CenterNet检测器,在其基础上增加一个SOT分支,和已存在结构并存。为了获得具体的辨别性,不同于传统SOT方法,增加的SOT分支对每个目标在线训练一个单独的SOT模型,来从当前帧中从周围目标中区分出该目标(图2b)。
训练完毕的SOT用于后续帧的目标关联,如此,MOT任务就拥有了强大的辨别能力和在线学习和追踪(关联)能力。如同检测分支相同,SOT分支将目标看为点,目标有特征向量表示,如此SOT可以效率的同时追踪数十个目标。
离线训练时,网络保存两帧图片作为输入,SOT分支中,SOT模型使用一张图片训练,另一张图片测试。在线追踪时,不同于CenterTrack利用ReID特征进行追踪,而是基于SOT模型进行追踪。
SOTMOT
SOTMOT,基于CenterNet检测器基础上构建。在原本CenterNet三个分支的基础上增加了一个SOT分支,构建了SOTMOT网络。SOT分支每一帧单独为每个目标训练一个单独的SOT模型用于另一帧的定位,和其他分支一样,SOT分支将目标看为点,结构如下图。
Backbone网络
采用FairMOT的变体DLA-34作为Backbone,拥有更多的跳跃连接以及可变卷积。输出尺寸为输入图像的1/4大小。
CenterNet这里就不介绍了,CenterNet检测网络主要有三个分支输出,用于定位的Heatmap,用于矫正的偏移Offset以及目标框大小Size。
SOT Branch
基于Center的特征提取
对于一个输入图片的Backbone特征图,将其传入到三个卷积网络层中获得SOT特征图
F
∈
R
C
s
o
t
×
H
×
W
F\in R^{C_{sot}\times H \times W}
F∈RCsot×H×W,卷积核为3x3,stride为1x1,紧跟BN和Relu层。进一步,对于目标中心点
c
=
{
x
c
,
y
c
}
c = \{x^c,y^c\}
c={xc,yc}对应于特征图,其可以通过特征向量表示为
x
=
F
(
c
)
x = F(c)
x=F(c),直接在特征图中提取,不需要其他操作,即
x
∈
R
C
s
o
t
x \in R^{C_{sot}}
x∈RCsot。如此提取数十个目标的特征不会浪费太多时间。
SOT模型训练
给定一张训练图片,和目标中心集合
N
=
{
(
x
i
c
,
y
i
c
)
}
i
=
1
N
N = \{(x_i^c,y_i^c)\}^N_{i=1}
N={(xic,yic)}i=1N,所有目标的提取的特征向量为
X
≡
[
x
1
T
;
.
.
.
;
X
N
T
]
∈
R
N
×
C
s
o
t
X≡ [x_1^T;...;X_N^T] \in R^{N \times C_{sot}}
X≡[x1T;...;XNT]∈RN×Csot。进一步,一个领接矩阵
A
∈
{
0
,
1
}
N
×
N
A\in \{0,1\}^{N\times N}
A∈{0,1}N×N,表示是否中心集合
N
N
N中两个中心是否相邻:
A
i
,
j
=
{
1
if
min
(
∣
x
i
c
−
x
j
c
∣
,
∣
y
i
c
−
y
j
c
∣
)
⩽
r
0
otherwise
(1)
\mathbf{A}_{i, j}=\left\{\begin{array}{lc} 1 & \text { if } \min \left(\left|x_{i}^{c}-x_{j}^{c}\right|,\left|y_{i}^{c}-y_{j}^{c}\right|\right) \leqslant r \\ 0 & \text { otherwise } \end{array}\right. \tag{1}
Ai,j={10 if min(∣∣xic−xjc∣∣,∣∣yic−yjc∣∣)⩽r otherwise (1)
r r r为距离阈值。
对于每个目标对象
x
i
x_i
xi,其相邻采样矩阵
X
i
X_i
Xi和标签向量
y
i
y_i
yi被构建,
X
i
X_i
Xi由目标中心
(
x
i
c
,
y
i
c
)
(x_i^c,y_i^c)
(xic,yic)的相邻节点的特征向量组成,
{
x
j
∣
∀
j
:
A
i
,
j
=
1
}
\{x_j | ∀_j : A_{i,j} = 1\}
{xj∣∀j:Ai,j=1}。
y
i
y_i
yi标签除了
x
i
x_i
xi处为1,外全为0。训练基于回归的判别模型
w
i
∗
w^*_i
wi∗来从其邻居目标中区分目标
x
i
x_i
xi,具体点:
min
w
i
∥
X
i
w
i
−
y
i
∥
2
2
+
λ
∥
w
i
∥
2
2
(2)
\min _{\mathbf{w}_{i}}\left\|\mathbf{X}_{i} \mathbf{w}_{i}-\mathbf{y}_{i}\right\|_{2}^{2}+\lambda\left\|\mathbf{w}_{i}\right\|_{2}^{2} \tag{2}
wimin∥Xiwi−yi∥22+λ∥wi∥22(2)
λ
λ
λ是规则化参数,公式(2)的优化可以表示为:
w
i
∗
=
(
X
i
⊤
X
i
+
λ
I
)
−
1
X
i
⊤
y
i
(3)
\mathbf{w}_{i}^{*}=\left(\mathbf{X}_{i}^{\top} \mathbf{X}_{i}+\lambda \mathbf{I}\right)^{-1} \mathbf{X}_{i}^{\top} \mathbf{y}_{i} \tag{3}
wi∗=(Xi⊤Xi+λI)−1Xi⊤yi(3)
值得注意的是, X i X_i Xi的行数依赖于中心点的邻居数, ∑ j A i , j \sum_jA_{i,j} ∑jAi,j,不论 ∑ j A i , j \sum_jA_{i,j} ∑jAi,j多大, X i T X i X_i^TX_i XiTXi和 X i T y i X_i^Ty_i XiTyi一直属于 R C s o t × C s o t R^{C_{sot}\times C_{sot}} RCsot×Csot和 R C s o t × 1 R^{C_{sot}\times 1} RCsot×1,给定 ( X i T X i ) s , ( X i T y i ) s (X_i^TX_i)s,(X_i^Ty_i)s (XiTXi)s,(XiTyi)s, w ∗ s w^*s w∗s就可以被同时注册。
离线训练
如图3,网络保存一对RGB图像,一个用于训练,一个用于测试,以双流共享参数的方式训练。对于训练图片, { w i ∗ } i = 1 N \{w_i^*\}^N_{i=1} {wi∗}i=1N可以通过公式(3)获得,对于测试图片,给定中心集合 M = { ( x j c , y j c ) } j = 1 M M = \{(x_j^c,y_j^c)\}^M_{j=1} M={(xjc,yjc)}j=1M,test采样矩阵 Z = [ z 1 T ; . . . ; z M T ] ∈ R M × C s o t Z = [z_1^T;...;z_M^T]\in R^{M\times C_{sot}} Z=[z1T;...;zMT]∈RM×Csot,邻接采样矩阵 Z j s Z_js Zjs及其GT标签向量 v j s v_js vjs可以相似的获得。
总之,将 { w i ∗ } i = 1 N \{w_i^*\}^N_{i=1} {wi∗}i=1N和 { Z j ∗ } j = 1 M \{Z_j^*\}^M_{j=1} {Zj∗}j=1M重新排列为 { w i ∗ , . . . , w k ∗ , . . . w N ∗ } \{w_i^*,...,w_k^*,...w_N^*\} {wi∗,...,wk∗,...wN∗}和 { Z 1 , . . . , Z k , . . . , Z M } \{Z_1,...,Z_k,...,Z_M\} {Z1,...,Zk,...,ZM},即 ( w i ∗ , Z i ) (w_i^*,Z_i) (wi∗,Zi)的前 k k k对,产生 w i ∗ w_i^* wi∗的正例 x i x_i xi与其对应的 z i z_i zi是 Z i Z_i Zi中唯一的正样本,表示相同的目标对象。训练损失为: L s o t = ∑ i = 1 k L r e g ( v i , v ^ i ) (4) \mathcal{L}_{\mathrm{sot}}=\sum_{i=1}^{k} \mathcal{L}_{\mathrm{reg}}\left(\mathbf{v}_{i}, \hat{\mathbf{v}}_{i}\right) \tag{4} Lsot=i=1∑kLreg(vi,v^i)(4)
L
r
e
g
(
⋅
,
⋅
)
L_{reg} (·, ·)
Lreg(⋅,⋅)为收缩损失,用于缓解采样不平衡,表示为:
L
r
e
g
(
v
,
v
^
)
=
∥
exp
(
v
)
⊙
(
v
−
v
^
)
1
+
exp
(
a
⋅
(
c
−
∣
v
−
v
^
∣
)
)
∥
2
2
(5)
\mathcal{L}_{\mathrm{reg}}(\mathbf{v}, \hat{\mathbf{v}})=\left\|\frac{\exp (\mathbf{v}) \odot(\mathbf{v}-\hat{\mathbf{v}})}{1+\exp (a \cdot(c-|\mathbf{v}-\hat{\mathbf{v}}|))}\right\|_{2}^{2} \tag{5}
Lreg(v,v^)=∥∥∥∥1+exp(a⋅(c−∣v−v^∣))exp(v)⊙(v−v^)∥∥∥∥22(5)
v
i
v_i
vi为
Z
i
Z_i
Zi的标签向量,
v
^
i
=
Z
i
w
i
∗
\hat v_i = Z_iw_i^*
v^i=Ziwi∗为其预测值。
由于回归模型是可微分的,并且(Eq.3)可以被整合进离线训练CNNs训练。SOT分支可以按照上述方法进行端到端训练,学习基于岭回归模型的单目标跟踪器的最优特征嵌入,该跟踪器通过将目标对象与周围的相似对象区分开来来跟踪目标对象。
在线推理
整个在线追踪机制基于DeepSORT和FairMOT。SOT分支用于初始化新轨迹和通过SOT模型在线更新已存在轨迹,并且通过计算匹配得分关联检测目标对象和已存在轨迹。