多目标跟踪-FairMOT-IJCV2021

2023-10-18 08:47:48 浏览数 (1)

直接将ReID头加入检测网络会造成跟踪性能大的下降,从而造成过多IDSW。本文探究了失败的原因,并提出了一种简单有效的解决方案。

论文:FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking

代码: https://github.com/ifzhang/FairMOT

1. 动机

失败的原因:

  1. anchor不适合用来提取re-ID特征(anchor更偏好检测任务;训练re-ID时产生歧义,特别是拥挤场景一个anchor可能对应多个实例,一个实例可能对应多个anchor)
  2. 检测任务和re-ID任务需要的特征是冲突的
  3. 特征维度不同,re-ID任务的特征一般高达512甚至1024

2. FairMOT网络结构

Backbone: ResNet-34, DLA-34同CenterTrack, HRNet

检测分支: backbone提取的特征后接256x3x3的卷积 1x1的卷积。共三个头:heatmap(通道=类别数),中心点offset(通道数=2),框尺寸(通道数=2)。中心点offset是为了弥补四倍下采样造成的四个像素点的偏移不确定。

Re-ID分支: backbone提取的特征后接128x3x3卷积,然后接一个全连接层和softmax。全连接层输出维度为K,K是训练集的所有实例数。

heatmap损失为修改后的focal loss(原版是针对01离散输入的,改为0~1连续输入),如下式,hat{M}为预测ht图,M为ground truth按照高斯核映射成的heatmap label, alpha=2是原版focal loss的参数,beta=4.

L_{text {heat }}=-frac{1}{N} sum_{x y} begin{cases}left(1-hat{M}_{x y}right)^{alpha} log left(hat{M}_{x y}right), & M_{x y}=1 ; \ left(1-M_{x y}right)^{beta}left(hat{M}_{x y}right)^{alpha} log left(1-hat{M}_{x y}right) & text { otherwise }end{cases}

offset损失和hw损失都是L1 loss:

L_{mathrm{box}}=sum_{i=1}^{N}left|mathbf{o}^{i}-hat{mathbf{o}}^{i}right|_{1} lambda_{s}left|mathbf{s}^{i}-hat{mathbf{s}}^{i}right|_{1}

其中对于每个GT框 mathbf{b}^{i}=left( x_1^i,y_1^i,x_2^i,y_2^i right)mathbf{s}^{i}=left( x_2^i-x_1^i,y_2^i-y_1^i right), mathbf{o}^{i}=left(frac{c_{x}^{i}}{4}, frac{c_{y}^{i}}{4}right)-left(leftlfloorfrac{c_{x}^{i}}{4}rightrfloor,leftlfloorfrac{c_{y}^{i}}{4}rightrfloorright),超参数lambda_s=0.1

Re-ID损失为交叉熵损失,只计算中心点的损失:

L_{text {identity }}=-sum_{i=1}^{N} sum_{k=1}^{K} mathbf{L}^{i}(k) log (mathbf{p}(k))

其中

总损失如下,使用一篇多任务论文提出的不确定性损失来平衡多个任务:

其中 w_{1},w_{2}

3. 关联过程

首先用卡尔曼滤波预测轨迹,然后计算预测轨迹和检测结果的马氏距离D_m,马氏距离中大于阈值的部分置为无穷。与DeepSORT一样计算ReID距离D_r,总距离D=lambda D_r (1-lambda)D_m,lambda=0.98,使用匈牙利算法完成第一阶段的匹配。

对于第一阶段没匹配的检测和轨迹,以0.5的覆盖率阈值再次匹配。更新匹配到的轨迹的ReID特征。没匹配到的轨迹保留30帧,为没匹配到的检测初始化轨迹。

4. 实验

消融实验:

  • ReID特征的采样方法:ROI Align、 POS-Anchor(JDE)、Center、Center-BI(带双线性插值)、 two-stage;结果两个Center的方法最好
  • 多任务损失:fixed weights(grid search)、Uncertainty-task、Uncertainty-branch、GradNorm、MGDA-UB;结果fixed有最好的MOTA、AP和最差的IDs和TPR,MGDA-UB有最高的TPR和最低的MOTA和AP。GradNorm有最高的IDF1和次高的MOTA但是训练时间长。
  • 多层特征融合:(无)ResNet、RegNet;(有)FPN、HRNet、DLA、HarDNet、RegNet;结果多层特征融合可以涨0.8~2个点,而单纯用更大的模型涨点不明显。DLA34里的可变形卷积也很重要,如果用普通卷积会掉4个点。HRNet-W18小目标(小于7000像素)表现好,DLA-34中大目标表现好。
  • reID特征维度:64维比512维能有更高的MOTA。
  • 关联方法:IoU、re-ID特征、卡尔曼滤波。卡尔曼滤波最重要,累加别的能涨一点儿。

性能对比(private detector):

括号中的为最高的非官方实现达到的精度

MOT17-testset:

Method

MOTA

IDF1

Tracktor v2

56.5 (61.2)

55.1 (58.4)

CenterTrack

67.8

64.7

FairMOT

73.7

72.3

KITTI: 无

nuScenes: 无

0 人点赞