本文只是记录笔者关于这篇论文的解读,并不是文章翻译,所以想看关于introduction或者related的可以去直接看文章或者其他的笔记。
论文地址
代码地址
简述
FairMot是一个把检测和跟踪结合在一起的模型,模型的输出同时有检测信息以及re-id的信息,根据re-id的feature的信息把前后帧检测出的目标进行关联起来。
网络结构
网络结构如图所示,输出的同时用detection和re-id部分,其中网络的backbone采用的DLA-34,在检测方面采用的是anchor-free的检测思路,输出的heatmap的中心点是行人的概率,heatmap与groundtruth的中心点的距离center-offset,以及bbox的大小box-size。
假设backbone的输出大小为C * W * H,则heatmap的Size为1 * W * H,center-offset的Size为2 * W * H,box-size的Size为2 * W * H.
re-id部分的Size为128 * W * H.
损失函数
包括detection和re-id,损失函数一共有4部分,
heatmap损失函数:
groundtruth的定义:对于任意object,其box为
b
i
=
(
x
1
i
,
y
1
i
,
x
2
i
,
y
2
i
)
b^i=(x^i_1,y^i_1,x^i_2,y^i_2)
bi=(x1i,y1i,x2i,y2i),可以得到其中心点坐标
b
c
i
=
(
x
c
i
,
y
c
i
)
b^i_c=(x^i_c, y^i_c)
bci=(xci,yci)。由网络结构可知,stride为4。所以box在heatmap上的位置为
(
x
c
i
~
,
y
c
i
~
)
=
(
⌊
x
c
i
4
⌋
,
⌊
y
c
i
4
⌋
)
(\tilde{x^i_c},\tilde{y^i_c})=(\lfloor{\frac{x^i_c}{4}}\rfloor, \lfloor{\frac{y^i_c}{4}}\rfloor)
(xci~,yci~)=(⌊4xci⌋,⌊4yci⌋)
heatmap中每个位置映射为
M
x
y
=
∑
i
=
1
N
e
x
p
−
(
x
−
x
c
i
)
2
+
(
y
−
y
c
i
~
)
2
~
2
σ
c
2
M_{xy}=\sum^N_{i=1}exp-\frac{(x-\tilde{x^i_c)^2+(y-\tilde{y^i_c})^2}}{2\sigma^2_c}
Mxy=∑i=1Nexp−2σc2(x−xci)2+(y−yci~)2~,其中N为图片中object的个数,对于某个object而言,当heatmap离中心点越近
M
x
y
M_{xy}
Mxy的值就越高。heatmap的损失函数如下所示
这里有点问题,笔者认为如果按照以上的loss,作者是希望当heatmap和groundtruth的中心点重合的时候M为1,但是若是多个目标在一张图片中,当heatmap的坐标和groundtruth的坐标重合的时候,因为用的sum反而导致了M不为1,所以笔者认为这里应该用MAX而不是sum,这样就可以保证在一张图片中有多个目标的时候,当heatmap和groundtruth重合时,M的值为1。
offset和box损失函数:
我们在已知box为
b
i
=
(
x
1
i
,
y
1
i
,
x
2
i
,
y
2
i
)
b^i=(x^i_1,y^i_1,x^i_2,y^i_2)
bi=(x1i,y1i,x2i,y2i)时,可以计算到box的size
s
i
=
(
x
2
i
−
x
1
i
,
y
2
i
−
y
1
i
)
s^i=(x^i_2-x^i_1, y^i_2-y^i_1)
si=(x2i−x1i,y2i−y1i),而中心点的偏差主要就是heatmap的坐标和实际中心点坐标的差异
o
f
f
s
e
t
=
(
x
c
i
4
,
y
c
i
4
)
−
(
⌊
x
c
i
4
⌋
,
⌊
y
c
i
4
⌋
)
offset=(\frac{x^i_c}{4},\frac{y^i_c}{4})-(\lfloor{\frac{x^i_c}{4}}\rfloor, \lfloor{\frac{y^i_c}{4}}\rfloor)
offset=(4xci,4yci)−(⌊4xci⌋,⌊4yci⌋)
Loss如下所示
存疑,为什么大多数关于回归的loss都是1范式的,而不是欧式距离的,如果有读者知道的可以告诉我。
re-id损失函数
根据heatmap,我们可以得到每个object的box所对应在feature map的位置在re-id分支上为
E
x
y
E_{xy}
Exy。文中说的得到其概率分布p(k)和groundtruth的one-hot的表达形式L(k)
这里与人脸识别中的应用方式一致,即在训练集中有多少个人,则设置多少类。在实际应用的时候,只使用其feature,而不需要进行softmax。
Online Tracking
这里在网络前向之后,其实与大部分的跟踪方法是一致的,只是在判断检测框和跟踪器的关系时,用的是re-id的信息和IOU。
实验结果
附上论文中实验结果