1. 论文标题及来源

Multiple Object Tracking by Flowing and Fusing, arxiv, 2020

2. 拟解决问题

大多数MOT方法分为估计目标运动和reid两个子任务,由于待跟踪目标的不确定性,因此很难进行端到端融合,本文解决了这个问题

3. 解决方法

3.1 算法流程

论文笔记Multiple Object Tracking by Flowing and Fusing
上图是算法的网络结构图,它由两个分支组成,上分支是光流模块分支,下分支是检测和融合分支。它的流程如下
a. 将上一帧和当前帧输入FlowNet中提取光流信息
b. 将光流信息和GT框输入FlowTracker,预测所有跟踪目标的回归框,记为B
c. 将当前帧输入检测网络(Faster RCNN + FPN),生成回归框,记为D
d. 通过FuseTracker融合B和D,得到最终的回归框

3.2 FlowTracker

论文笔记Multiple Object Tracking by Flowing and Fusing
上图是FlowTracker的网络结构图,它的流程如下
a. 将GT框和FlowNet预测的光流图片输入网络
b. 通过GT框裁剪目标
c. 将它们输入网络(一些卷积层和FC层)中预测回归框,得到所有跟踪目标的回归框

此处的损失函数
L1(ΔBt,ΔBt)=ΔBtΔBtF2L_1(\Delta B_t, \Delta B^*_t) = ||\Delta B_t - \Delta B^*_t||^2_F
ΔBt=BtBt1\Delta B_t^* = B_t - B_{t - 1}表示GT框的运动向量
ΔBt\Delta B_t表示网络预测的运动向量
此处的损失函数应该是L1 loss

3.3 FuseTracker

论文笔记Multiple Object Tracking by Flowing and Fusing
上图是FuseTracker的网络结构图,它的流程如下
a. 将当前帧输入检测网络(Resnet + FPN)提取回归框,记为DtD_t
b.FlowTracker输出的回归框 ,记为BtB_t
c. 将BtB_tDtD_t以及当前帧输入FuseTracker中,其中BtB_tDtD_t作为proposal
d. 对于每个proposal,FuseTracker预测其回归偏移和置信度
e. 使用双层的NMS合并回归框

第一个NMS用来处理目标遮挡问题,第二个NMS通过IoU匹配对应的目标,并且选出置信度最高的回归框作为其最终回归框

该模块损失函数
L2(c,c,b,b)=Lcls(c,c)+λ[c1]Lreg(b,b)L_2(c, c^*, b, b^*) = L_{cls}(c, c^*) + \lambda [c^* \ge 1] L_{reg}(b, b^*)
c是预测的分类得分,b是预测的回归偏移
这个公式感觉和RPN的公式几乎一样

4. 实验结果

4.1 消融实验

论文笔记Multiple Object Tracking by Flowing and Fusing

论文笔记Multiple Object Tracking by Flowing and Fusing
论文笔记Multiple Object Tracking by Flowing and Fusing
论文笔记Multiple Object Tracking by Flowing and Fusing

4.2 MOT

论文笔记Multiple Object Tracking by Flowing and Fusing
论文笔记Multiple Object Tracking by Flowing and Fusing
论文笔记Multiple Object Tracking by Flowing and Fusing

5. 总结

该论文使用检测网络检测出所有目标,然后使用光流预测回归框,最终将光流预测的回归框与检测框进行匹配和融合,得到所有目标最终的融合框。但是当目标很小或者遮挡非常严重时,会丢失目标,并且会存在光流的错误累积效应(个人感觉跟踪过程都会出现错误累积效应,即第i帧不准确之后,若用不准确的框继续回归,就会累积误差,从而丢失目标),该问题在消融实验中其实也可以体现出来。

可供参考
https://www..com/article/19471163876/,感觉这个博客基本上是对原文进行翻译(没有攻击的意思)

相关文章: