SiamMOT
论文标题:Siamese Multi-Object Tracking
论文地址:http://arxiv.org/abs/2105.11595
论文源码:https://github.com/amazon-research/siam-mot
来自亚马逊团队,是ACM2020 hieve竞赛行人多目标跟踪赛道第一,同时是ICCV2021 airmot竞赛的baseline。
出处:CVPR2021.5.25
Abstract
通过引入一个基于区域的孪生多目标跟踪网络,设计了一个新的online多目标跟踪框架,名为SiamMOT。SiamMOT包含一个运动模型来估计两帧之间目标的移动从而关联两帧上检测到的目标。为了探索运动建模如何影响其跟踪能力,作者提出了孪生跟踪器的两种变体,一种隐式建模运动,另一种显式建模运动。在三个MOT数据集上进行实验,作者证明了运动建模对于多目标跟踪的重要性并验证了SiamMOT达到SOTA的能力。而且,SiamMOT是非常高效的,它可以在单个GPU上720P视频上达到17的FPS。
Introduction
主要贡献:
- 提出SiamMOT模型,使用基于区域的特征开发(显式)模板匹配来估计实例运动能够对跟踪场景(快速运动)更加鲁棒。
- 在Faster R-CNN的基础上进行改进,提出EMM的方法证明在密集光流估计建模和实例级运动估计SOT中的有效性。
- 消融分析表明实例级运动级建模对鲁棒的在线运动估计非常重要,尤其在有挑战性的跟踪场景中。
Siamese结构的网络通常在第二帧的搜索区域内跟踪第一帧中的目标对象。而且Siamese网络通常学习两个检测到的实例之间的相似性函数,Siamese跟踪器是用于用于在更大的上下文区域内搜索检测到的实例的匹配函数。
SiamMOT
原理:首先 I t I^{t} It帧的图像经过backbone后,输出featrue map,检测结果detection会在feature map上扣去单个目标的SOT模板, I t + δ I^{t+\delta} It+δ同样经过backbone后输出feature map,根据上一帧的检测结果扩大region,作为SOT的搜寻区域,随后在模板在搜索区域上进行卷积,确定 I t I^t It帧中的目标在 I t + δ I^{t+\delta} It+δ帧的位置,这个位置是motion model的预测,同时 I t + δ I^{t+\delta} It+δ帧也是一个完整的检测过程,会产生detection,根据上一帧的detection box做空间匹配。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-77dpgCry-1640485334616)(image/
Motion modelling with Siamese tracker
给定第$t$帧的单个目标$i$,根据在$t$帧中的位置在$t+\delta$帧的局部窗口搜索对应的目标,在公式上表现为:
( v i t + δ , R ^ i t + δ ) = T ( f R i t , f S i t + δ , Θ ) (v_{i}^{t+\delta},\hat R_{i}^{t+\delta})=\mathcal {T}(\mathbf f_{{R}_{i}}^{t},\mathbf f_{S_{i}}^{t+\delta},\Theta) (vit+δ,R^it+δ)=T(fRit,fSit+δ,Θ)
这里的 T \mathcal {T} T表示参数为 Θ \Theta Θ的孪生跟踪器, f R i t \mathbf f_{{R}_{i}}^{t} fRit则是根据检测框 R i t R_{i}^{t} Rit在 t + δ t+\delta t+δ帧上获得搜索区域 S i t + δ S_{i}^{t+\delta} Sit+δ提取的特征图。而搜索区域 S i t + δ S_{i}^{t+\delta} Sit+δ是按照一定的比例 r ( r > 1 ) r(r>1) r(r>1)扩展检测框 R i t R_{i}^{t} Rit获得的,扩展前后的区域具有相同的集合中心,如上图的如上图中的黄色实线框到黄色虚线框所示。当然,不管是原来的检测框还是拓展后的预测框,获得其特征 f R i t \mathbf f_{{R}_{i}}^{t} fRit和 f S i t + δ \mathbf f_{S_{i}}^{t+\delta} fSit+δ的方式都是不受大小影响的RoIAlign层。孪生跟踪器输出的结果有两个,其中 R ~ i t + δ \tilde{R}_{i}^{t+\delta} R~it+δ 为预测框,而 v i t + δ v_{i}^{t+\delta} vit+δ 则是预测框的可见置信度,若该实例在区域 S i t + δ S_{i}^{t+\delta} Sit+δ是可见的,那么 T \mathcal{T} T将会产生一个较高的置信度得分$ v_{i}^{t+\varepsilon}$,否则得分会较低。
多目标跟踪情况下,多次使用上面的特征,对于每一个检测到的目标都是用一次,SiamMOT框架允许这些操作并行运行,只需要计算一次主干特征就可以使推理更加高效。
如果发生以下两种情况,前后两帧的匹配失败:
- R ~ i t + δ \tilde{R}_{i}^{t+\delta} R~it+δ 和 R t t + δ {R}_{t}^{t+\delta} Rtt+δ 中的正例不匹配
- v i t + δ v_{i}^{t+\delta} vit+δ对于在 t + δ t+\delta t+δ处的行人可见值偏低。
Implicit motion model (IMM)
隐式运动模型是通过MLP来估计目标两帧之间的运动,它先将特征
f
R
i
t
\mathbf f_{{R}_{i}}^{t}
fRit和
f
S
i
t
+
δ
\mathbf f_{S_{i}}^{t+\delta}
fSit+δ按照通道连接在一起,然年送入到MLP中预测行人可见置信度
v
i
v_{i}
vi、相对位置和尺度偏移量,如下公式所示,
m
i
=
[
x
i
t
+
δ
−
x
i
t
w
i
t
,
y
i
t
+
δ
−
y
i
t
h
i
t
,
l
o
g
w
t
t
+
δ
w
i
t
,
l
o
g
h
t
t
+
δ
h
i
t
]
m_{i}=[\frac {x_{i}^{t+\delta}-x_{i}^{t}}{w_{i}^{t}},\frac {y_{i}^{t+\delta}-y_{i}^{t}}{h_{i}^{t}},log \frac {w_{t}^{t+\delta}}{w_{i}^{t}},log \frac {h_{t}^{t+\delta}}{h_{i}^{t}}]
mi=[witxit+δ−xit,hityit+δ−yit,logwitwtt+δ,loghithtt+δ]
其中
(
x
i
t
,
y
i
t
,
w
i
t
,
h
i
t
)
(x_{i}^{t},y_{i}^{t},w_{i}^{t},h_{i}^{t})
(xit,yit,wit,hit)为目标框的四个值,通过
R
i
t
R_{i}^{t}
Rit和
m
i
m_{i}
mi可以解出
R
~
i
t
+
δ
\tilde{R}_{i}^{t+\delta}
R~it+δ 。给定的
(
R
i
t
,
S
i
t
+
δ
,
R
i
t
+
δ
)
(R_{i}^{t},S_{i}^{t+\delta},R_{i}^{t+\delta})
(Rit,Sit+δ,Rit+δ),可以采用三元组损失来计算,其中
v
i
∗
v_{i}^{\ast}
vi∗和
m
i
∗
m_{i}^{\ast}
mi∗是根据
R
i
t
+
δ
R_{i}^{t+\delta}
Rit+δ计算的真实的GT标签,
L
f
o
c
a
l
\mathcal {L}_{focal}
Lfocal为分类损失,
L
r
e
g
\mathcal {L}_{reg}
Lreg为常用的smooth L1回归损失。
L
=
L
f
o
c
a
l
(
v
i
,
v
i
∗
)
+
1
[
v
i
∗
]
L
r
e
g
(
m
i
,
m
i
∗
)
L = \mathcal {L}_{focal}(v_{i},v_{i}^{\ast})+ \mathbf {1}[v_{i}^{\ast}]\mathcal {L}_{reg}(m_{i},m_{i}^{\ast})
L=Lfocal(vi,vi∗)+1[vi∗]Lreg(mi,mi∗)
Explicit motion model(EMM)
显示运动模型。如上图所示,它通过逐通道的互相关操作(*)来生成像素级别的响应图
r
i
\mathbf{r}_{i}
ri。在SiamMOT中,这个操作用目标特征图
f
R
i
t
\mathbf {f}_{R_{i}}^{t}
fRit和搜索图像特征图
f
S
i
t
+
δ
\mathbf{f}_{S_{i}}^{t+\delta}
fSit+δ 的每个位置计算相关性,得到
r
i
=
f
S
i
t
+
δ
∗
f
R
i
t
r_{i}=f_{S_{i}}^{t+δ} \ast f_{R_{i}}^{t}
ri=fSit+δ∗fRit,每个
r
i
[
k
,
:
,
:
]
\mathbf{r}_{i}[k,:,:]
ri[k,:,:]表示一个相似程度。
EMM使用全卷积网络 ψ \psi ψ来检测 r i \mathbf {r}_{i} ri中匹配的目标。详细来看, ψ \psi ψ预测一个密集的可见置信度图 v i \mathbf {v}_{i} vi来表示每个像素包含目标图像的可能性,再预测一个密集的定位图 p i \mathbf{p}_{i} pi来编码该像素位置到框的左上角和右下角的偏移量。
因此,处在
(
x
,
y
)
(x,y)
(x,y)的目标可以通过
R
(
p
(
x
,
y
)
)
=
[
x
−
l
,
y
−
t
,
x
+
r
,
y
+
b
]
\mathcal{R}(\mathbf{p}(x, y))=[x-l, y-t, x+r, y+b]
R(p(x,y))=[x−l,y−t,x+r,y+b]解出边界框,其中
p
(
x
,
y
)
=
[
l
,
t
,
r
,
b
]
\mathbf{p}(x, y)=[l, t, r, b]
p(x,y)=[l,t,r,b](两个角点的偏移)。最终,特征图可以通过下面的式子解码,此处的
⊙
\odot
⊙表示逐元素相乘,
η
i
\boldsymbol{\eta}_{i}
ηi是一个惩罚图,为每一个候选区域设置非负的惩罚得分。
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{aligned…
惩罚得分的计算公式如下:
η
i
(
x
,
y
)
=
λ
C
+
(
1
−
λ
)
S
(
R
(
p
(
x
,
y
)
)
,
R
i
t
)
\boldsymbol{\eta}_{i}(x,y) = \lambda \mathbf {C} +(1-\lambda)\mathbf {S}(\mathcal{R}(\mathbf{p}(x, y)),R_{i}^{t})
ηi(x,y)=λC+(1−λ)S(R(p(x,y)),Rit)
其中
λ
\lambda
λ是一个加权系数(0 ≤ λ ≤ 1),$ \mathcal{C}
则
是
关
于
目
标
区
域
则是关于目标区域
则是关于目标区域 \mathcal{R}{i}^{t}
几
何
中
心
的
余
弦
窗
口
函
数
,
几何中心的余弦窗口函数,
几何中心的余弦窗口函数,\mathcal{S}
是
关
于
候
选
区
域
是关于候选区域
是关于候选区域 \mathbf{p}(x, y)
和
和
和 R{i}^{t}$ 之间的相对尺度变化的高斯函数。惩罚图$ \boldsymbol{\eta}_{i}$ 的引入是为了阻止跟踪过程中剧烈的运动。
考虑 ( R i t , S i t + δ , R i t + δ ) \left(R_{i}^{t}, S_{i}^{t+\delta}, R_{i}^{t+\delta}\right) (Rit,Sit+δ,Rit+δ),EMM的训练损失如下式子所示。其中$ (x,y) 表 示 表示 表示S_{i}^{t+\delta} 中 的 所 有 有 效 位 置 , 中的所有有效位置, 中的所有有效位置,\ell_{r e q} 是 用 于 回 归 的 I o U 损 失 , 是用于回归的IoU损失, 是用于回归的IoU损失,\ell_{\text {focal}} 是 用 于 分 类 的 损 失 。 是用于分类的损失。 是用于分类的损失。\mathbf{v}{i}^{*}$ 和$\mathbf{p}{i}^{} 是 像 素 级 的 G T 图 。 如 果 是像素级的GT图。如果 是像素级的GT图。如果 (x,y) 在 在 在R_{i}^{ t+\delta} 的 范 围 内 那 么 的范围内那么 的范围内那么\mathbf{v}_{i}^{*}(x, y)=1$,否则为0;
p
i
∗
(
x
,
y
)
=
[
x
−
x
0
∗
,
y
−
y
0
∗
,
x
1
∗
−
x
,
y
1
∗
−
y
]
\mathbf{p}_{i}^{*}(x, y)=\left[x-x_{0}^{*}, y-y_{0}^{*}, x_{1}^{*}-\right. \left.x, y_{1}^{*}-y\right]
pi∗(x,y)=[x−x0∗,y−y0∗,x1∗−x,y1∗−y],其中的
(
x
0
∗
,
y
0
∗
)
\left(x_{0}^{*}, y_{0}^{*}\right)
(x0∗,y0∗)和
(
x
1
∗
,
y
1
∗
)
\left(x_{1}^{*}, y_{1}^{*}\right)
(x1∗,y1∗)表示GT框的两个角点的坐标。此外,作者还修改了回归任务,添加了一个
w
(
x
,
y
)
w(x, y)
w(x,y)表示中心度,有
w
(
x
,
y
)
=
min
(
x
−
x
0
,
x
1
−
x
)
max
(
x
−
x
0
,
x
1
−
x
)
⋅
min
(
y
−
y
0
,
y
1
−
y
)
max
(
y
−
y
0
,
y
1
−
y
)
w(x, y)=\sqrt{\frac{\min \left(x-x_{0}, x_{1}-x\right)}{\max \left(x-x_{0}, x_{1}-x\right)} \cdot \frac{\min \left(y-y_{0}, y_{1}-y\right)}{\max \left(y-y_{0}, y_{1}-y\right)}}
w(x,y)=max(x−x0,x1−x)min(x−x0,x1−x)⋅max(y−y0,y1−y)min(y−y0,y1−y).
L
=
∑
x
,
y
ℓ
focal
(
v
i
(
x
,
y
)
,
v
i
∗
(
x
,
y
)
)
+
∑
x
,
y
1
[
v
i
∗
(
x
,
y
)
]
(
w
(
x
,
y
)
⋅
ℓ
reg
(
p
i
(
x
,
y
)
,
p
i
∗
(
x
,
y
)
)
)
L = \sum_{x,y} \ell_{\text {focal}}(v_{i}(x,y),v_{i}^{\ast}(x,y))+\sum_{x,y}1[v_{i}^{\ast}(x,y)](w(x,y)\cdot \ell_{\text {reg}} (p_{i}(x,y),p_{i}^{\ast}(x,y)))
L=x,y∑ℓfocal(vi(x,y),vi∗(x,y))+x,y∑1[vi∗(x,y)](w(x,y)⋅ℓreg(pi(x,y),pi∗(x,y)))
相比于IMM,EMM有两点改进。第一,它使用通道分离的相关性操作来允许网络显式学习相邻帧上同一个目标的相似性;第二,它采用一个细粒度的像素级监督,这有效减少了错误匹配.
Traing and Interence
主要就是在Faster R-CNN的基础上添加了一个运动预测损失.
ℓ
=
ℓ
r
p
n
+
ℓ
detect
+
ℓ
motion
\ell=\ell_{r p n}+\ell_{\text {detect }}+\ell_{\text {motion }}
ℓ=ℓrpn+ℓdetect +ℓmotion
- 首先就是对检测子网络中输出的 R i t + δ R_{i}^{t+\delta} Rit+δ和siamese跟踪器输出的 R ~ i t + δ \tilde{R}_{i}^{t+\delta} R~it+δ独立的使用标准的基于IOU的NMS运算。
- 使用空间匹配特征将 R i t + δ R_{i}^{t+\delta} Rit+δ, R ~ i t + δ \tilde{R}_{i}^{t+\delta} R~it+δ合并。检测在空间上匹配IOU>0.5到任何跟踪的目标框将会被移除
- 若轨迹可见置信度 v i t > α v_{i}^{t}>\alpha vit>α,则轨迹就是连续的。如果存在非匹配检测,并且置信度高于 β \beta β,则产生新的轨迹,若连续的KaTeX parse error: Undefined control sequence: \matchcal at position 1: \̲m̲a̲t̲c̲h̲c̲a̲l̲ ̲{T}帧的可信度小于 α \alpha α,该轨迹就会被删除。
Experiment