简介
SiamMOT是一个online的多目标跟踪(MOT)算法,SiamMOT: Siamese Multi-Object Tracking作者来自亚马逊团队,SiamMOT是ACM2020 Hieve竞赛行人多目标跟踪赛道的第一名,同时是ICCV2021 airmot竞赛的baseline。 顾名思义,SiamMOT将SOT中siamese的思想引入MOT中,文中把这个过程叫做instance-level motion model。
原理
这种图可以比较清晰的呈现出SiamMOT的原理,首先 I t I^t It帧的图像带检测结果,过SiamMOT的backbone之后,输出feature map,检测结果会在feature map上扣取SOT的模板, I t δ I^{t delta} It δ同样过SiamMOT的backbone之后输出feature map,根据上一帧的检测结果位置扩大,作为SOT的搜索区域,然后模板在搜索区域上进行卷积,确认 I t I^t It帧的目标在 I t δ I^{t delta} It δ帧的位置。这个位置是motion model的预测,同时 I t δ I^{t delta} It δ帧是一个完整的检测过程,所以也会输出检测结果,这个是检测的预测,二者做个简单的空间匹配,就完成了跟踪过程。 由于前后两帧都过相同的backbone,所以也就有了siamese结构。
motion model
所以SiamMOT的运动建模过程其实就是靠着SOT完成的,这种上一帧预测与当前帧检测的匹配在MOT中也很常见,比如Sort,DeepSort都是这样,只是它们上一帧预测是靠卡尔曼滤波。
region-base detection network
为什么SiamMOT要选择Faster RCNN结果,起码论文中是这样,猜测原因有两个:
- SiamMOT定位是public检测,所以需要一个有public检测结果的检测器,Faster RCNN可以满足这点
- SiamMOT中的目标和搜索区域都需要在输出的特征图上完成,region-base 的检测器,这个特征图保留了更多的信息,有利于SOT去做motion model。因为这个特征图在检测器中本身就是要预期位置和类别的。
IMM and EMM
SiamMOT中SOT的建模就是EMM,此外它还有一个更简单的建模方式,就是纯靠空间信息,类似于卡尔曼滤波。
总结
它把自己定位成一个public的多目标跟踪方法(在mot challenge上),但是其实和Tracktor相似,这种定位带了取巧的成分。 从SOT for MOT的角度看,SiamMOT和DeepMOT都是将SOT引入到MOT中,但是二者有比较大的区别
- SiamMOT会重新训练SOT模型,而DeepMOT中SOT的使用更原始,它直接引入了off-the-shelf的SOT模型,重新提取整图的特征,而不是像SiamMOT联合训练
- SiamMOT需要当前帧的检测结果,而不是只用SOT预测出的当前帧的结果
- SiamMOT的匹配过程也没有DeepMOT那么复杂,DeepMOT强调可训练优化的匹配算法,深度匈牙利网络,而SiamMOT的匹配过程非常简单。
在其他MOT方法中,和SiamMOT最像的一个是CenterTrack,可以理解为二者的区别在于如何构建两帧间的关联,前者使用SOT,后者使用center的offset,这个offset本质上靠特征,没有使用空间信息。