一、 介绍
之前的工作存在只利用IOU或者中心距离等其他像素级别的先验知识进行追踪,这表明确实只要目标间检测的空间信息足够精确,确实可以有好的结果。但是这些方法大多只适合一些简单的场景,当目标拥挤遮挡下,位置信息很容易产生误导。为此一些方法就会尝试引入运动估计或位移回归来精确位移估计。
但是机器不像人,人可以很清楚的通过外貌信息来分别人,但是对于计算机,只有外貌带来的特征往往不会被处理的有效,因此会对外貌信息做一些搜索区域的限制等处理。
过去工作,相似度学习知识是作为一个检测后的事后阶段,并且只是用稀疏GT框作为训练样本。事实上,如果目标的表示被尽可能的学到,那么就使用embedding的最近邻方法也可以关联和区别实例。
除了GT框,其实密集的检测框也是有监督价值的,接近GT框的检测框,可以提供类似正样本的参考。相反接近背景的可以作为负样本的参考。
作者提出的QDTrack密集匹配一对图片上的上百个感兴趣区域,通过对比损失进行学习参数,密集采样会覆盖图片上大多数的信息区域。通过对比学习,一个样本会被训练同时区分所有的Proposal,相较于只使用GT标签来训练监督,更加的强大且增强了实例的相似度学习。对于消失轨迹的处理,会将背景作为一类,从而进行双向softmax增强一致性。实验采用使用轻量级embedding提取器和残差网络的Faster R-CNN来构建QDTrack模型。
并且不同于其他工作依赖运动模型和位移预测,将外貌相似度作为第二补充,QDTrack直接从密集连接对比对中学习实例相似度,且最终关联步骤只是简单的最近邻搜索。
二、 方法
作者定义了数据关联时三种匹配:
- 密集匹配:匹配所有像素点的候选边界框
- 拟密集匹配:考虑信息丰富区域的可能目标候选间的匹配
- 稀疏匹配:只考虑GT标签作为匹配候选
1. 目标检测
论文中使用带有FPN的Faster R-CNN作为检测器。整个任务可以优化为一个多任务损失函数:
L
d
e
t
=
L
r
p
n
+
λ
1
L
c
l
s
+
λ
2
L
r
e
g
(1)
\mathcal{L}_{\mathrm{det}}=\mathcal{L}_{\mathrm{rpn}}+\lambda_{1} \mathcal{L}_{\mathrm{cls}}+\lambda_{2} \mathcal{L}_{\mathrm{reg}} \tag{1}
Ldet=Lrpn+λ1Lcls+λ2Lreg(1)
RPN loss为
L
r
p
n
\mathcal L_{rpn}
Lrpn,分类损失为
L
c
l
s
\mathcal L_{cls}
Lcls,回归损失为
L
r
e
g
\mathcal L_{reg}
Lreg和原论文相同,两个超参默认为1。
2. 拟密集对比学习
如上图,一张关键图
I
1
I_1
I1用于训练,随机选择一个时序邻域作为推理图片
I
2
I_2
I2,邻域距离限制为
k
∈
[
−
3
,
3
]
k\in [-3,3]
k∈[−3,3]个时间间隔。使用RPN从两张图片产生RoI,通过RoI Align从FPN来获得不同尺度的相应特征图。增加了一个轻量的embedding head,平行于原始的bounding box head,用于提取RoI的特征embedding。若RoI和某个ID的IoU大于
α
1
=
0.7
\alpha_1=0.7
α1=0.7,则定义为该ID的正样本。若小于
α
2
=
0.3
\alpha_2=0.3
α2=0.3则定义为负样本。不同帧上的RoI关联相同的ID则互相为正样本,否则互为负样本。
假设关键图上有
V
V
V个样本用于训练,推理图上有
K
K
K个样本用作对比目标。对于每个训练样本,使用带非参数softmax和交叉熵来优化特征embedding:
L
embed
=
−
log
exp
(
v
⋅
k
+
)
exp
(
v
⋅
k
+
)
+
∑
k
−
exp
(
v
⋅
k
−
)
(2)
\mathcal{L}_{\text {embed }}=-\log \frac{\exp \left(\mathbf{v} \cdot \mathbf{k}^{+}\right)}{\exp \left(\mathbf{v} \cdot \mathbf{k}^{+}\right)+\sum_{\mathbf{k}^{-}} \exp \left(\mathbf{v} \cdot \mathbf{k}^{-}\right)} \tag{2}
Lembed =−logexp(v⋅k+)+∑k−exp(v⋅k−)exp(v⋅k+)(2)
v
,
k
+
,
k
−
v,k^+,k^-
v,k+,k−为训练样本,正目标样本,负样本的特征embedding。总体损失为所有训练样本的损失的均值,上面只显示了一个样本的一般情况即只有一个相关的正样本情况下的损失。
不同于过去的只是用GT框来进行稀疏匹配学习实例相似性,这里要匹配这对图上的所有RoI,即
I
1
I_1
I1上的每个样本都要匹配
I
2
I_2
I2上的样本,如此,关键帧上的训练样本在推理帧上就不一定只有一个正目标,所以公式2可以改写为:
L
embed
=
−
∑
k
+
log
exp
(
v
⋅
k
+
)
exp
(
v
⋅
k
+
)
+
∑
k
−
exp
(
v
⋅
k
−
)
(3)
\mathcal{L}_{\text {embed }}=-\sum_{\mathbf{k}^{+}} \log \frac{\exp \left(\mathbf{v} \cdot \mathbf{k}^{+}\right)}{\exp \left(\mathbf{v} \cdot \mathbf{k}^{+}\right)+\sum_{\mathbf{k}^{-}} \exp \left(\mathbf{v} \cdot \mathbf{k}^{-}\right)} \tag{3}
Lembed =−k+∑logexp(v⋅k+)+∑k−exp(v⋅k−)exp(v⋅k+)(3)
但是上述公式,负样本会被考虑多次,而正样本只会考虑一次,将公式2重新修改为:
L
embed
=
log
[
1
+
∑
k
−
exp
(
v
⋅
k
−
−
v
⋅
k
+
)
]
(4)
\mathcal{L}_{\text {embed }}=\log \left[1+\sum_{\mathbf{k}^{-}} \exp \left(\mathbf{v} \cdot \mathbf{k}^{-}-\mathbf{v} \cdot \mathbf{k}^{+}\right)\right]\tag{4}
Lembed =log[1+k−∑exp(v⋅k−−v⋅k+)](4)
如此,多个正样本的情况下,可以将它拓展为: L embed = log [ 1 + ∑ k + ∑ k − exp ( v ⋅ k − − v ⋅ k + ) ] ) (5) \mathcal{L}_{\text {embed }}=\log \left[1+\sum_{\mathbf{k}^{+}} \sum_{\mathbf{k}^{-}} \exp \left(\mathbf{v} \cdot \mathbf{k}^{-}-\mathbf{v} \cdot \mathbf{k}^{+}\right)\right]\tag5) Lembed =log[1+k+∑k−∑exp(v⋅k−−v⋅k+)])(5)
进一步定义辅助的L2损失:
L
a
u
x
=
(
v
⋅
k
∥
v
∥
⋅
∥
k
∥
−
c
)
2
(6)
\mathcal{L}_{\mathrm{aux}}=\left(\frac{\mathbf{v} \cdot \mathbf{k}}{\|\mathbf{v}\| \cdot\|\mathbf{k}\|}-\mathrm{c}\right)^{2} \tag{6}
Laux=(∥v∥⋅∥k∥v⋅k−c)2(6)
整个网络的联合优化为:
L
=
L
d
e
t
+
γ
1
L
e
m
b
e
d
+
γ
2
L
a
u
x
(7)
\mathcal{L}=\mathcal{L}_{\mathrm{det}}+\gamma_{1} \mathcal{L}_{\mathrm{embed}}+\gamma_{2} \mathcal{L}_{\mathrm{aux}} \tag{7}
L=Ldet+γ1Lembed+γ2Laux(7)
实验中
γ
1
\gamma_{1}
γ1设为0.25,
γ
2
\gamma_{2}
γ2设为1.0 。采样所有正样本和三次的负样本计算辅助损失。
3. 目标关联
1.双向softmax
一个主要策略就是上图所示的双向匹配。假设
t
t
t帧存在
N
N
N个检测目标,特征embedding为n。过去
x
x
x帧存在的
M
M
M个匹配候选对象,特征embedding为m。通过双向softmax获得对象和候选匹配的相似度f:
f
(
i
,
j
)
=
[
exp
(
n
i
⋅
m
j
)
∑
k
=
0
M
−
1
exp
(
n
i
⋅
m
k
)
+
exp
(
n
i
⋅
m
j
)
∑
k
=
0
N
−
1
exp
(
n
k
⋅
m
j
)
]
/
2
(8)
\mathbf{f}(i, j)=\left[\frac{\exp \left(\mathbf{n}_{i} \cdot \mathbf{m}_{j}\right)}{\sum_{k=0}^{M-1} \exp \left(\mathbf{n}_{i} \cdot \mathbf{m}_{k}\right)}+\frac{\exp \left(\mathbf{n}_{i} \cdot \mathbf{m}_{j}\right)}{\sum_{k=0}^{N-1} \exp \left(\mathbf{n}_{k} \cdot \mathbf{m}_{j}\right)}\right] / 2 \tag{8}
f(i,j)=[∑k=0M−1exp(ni⋅mk)exp(ni⋅mj)+∑k=0N−1exp(nk⋅mj)exp(ni⋅mj)]/2(8)
由这个f,直接通过简单的最近邻搜索获得最终关联。
2.无目标情况
若特征空间无目标对象,则不应和任何候选进行匹配。包括新出现的目标,消失的轨迹,以及一些假正性情况。通过双向softmax,这类目标和任何匹配候选最终都会获得很低的相似度得分。
当检测置信度很高时,那就是新目标,作为新的轨迹开端。实验过程中,对于得分很低的目标,以往操作会直接丢弃,不参与匹配轨迹,这里作者认为尽管大多是都是假正性的,但是任然是有用的,因为可能会有未来的目标会和他们相匹配,因此会保留。实验表明这样的操作会减少假正的数量。
3.多目标情况
为了避免一个目标匹配上多个候选,会采用一个内间NMS进行去除后处理重复,对于检测置信度高于0.5的目标IoU上阈值设置为0.7保留,对应的,检测置信度低于0.5的,NMS下阈值设置为0.3直接丢弃。
三、 实验
MOT16、17数据集实验结果:
BDD100K数据集实验结果:
Waymo追踪验证集实验结果:
其实可以看到,在没有使用外部其他数据的情况下,QDTrack方法达到的数据结果以及很高了。
消融实验:
拟密集匹配和双向softmax的消融实验:
不同信息的消融实验:
可以看出,该方法也证明了外貌信息的embedding对于提升指标的重要性,知识如何充分的利用以及表示这个embedding就显得很重要,下面就展示了不同匹配所对应的embedding可视化,可以看出拟密集的方法,特征更加的独立。
BDD100K实例分割追踪实验结果:
-fix只训练mask head,其余的在BDD100K与训练后固定。
追踪过程的可视化: