MOTR模型(Multi-Object Tracking and Segmentation)是一个基于transformer模型架构的多目标追踪模型,由旷视科技提出。MOTR模型通过使用transformer网络,实现了端到端的多目标追踪(Multi-Object Tracking, MOT)和分割(Segmentation),解决了传统多目标追踪方法在复杂场景下效果不佳的问题。
MOTR模型的核心概念和技术特点
- Track Query:MOTR模型在DETR目标检测模型的Detect Query基础上,根据引入了Track Query的概念,每个Track Query负责为一个目标进行完整的追踪建模,通过在帧与帧之间传输和更新,实现无缝的检测和追踪;
- 端到端学习:MOTR模型能够从数据中学习目标的长期时变特性,避免了传统方法中手动设计特征提取和关联策略的局限性。
- 时域聚合网络:MOTR模型使用时域聚合网络融合多帧训练,为长程时域依赖关系建模,提高了追踪的准确性和鲁棒性。
MOTR模型整体结构如下图所示
算法推理流程
视频流输入,经过MOTR模型推理,到输出目标轨迹,需要经过以下步骤:
-
视频流时刻图像,先经过Enc模块,进行图像特征提取和Transformer Encoder编码器,得到单帧图像特征;
-
图像特征与Detect Query 一起作为输入,经过Transformer Decoder解码器,得到Hidden States(隐状态);
-
Hidden States再经过QIM(查询交互模块)得到帧的Tracked Query .
-
Detect Query 与帧的Tracked Query 进行拼接,与帧的图像特征,一起输入到Transformer Decoder解码器,得到帧的Hidden States,进而进行帧的轨迹预测;
-
循环执行上述步骤,根据帧的状态信息,进行帧的轨迹预测,
Detect Query和Track Query
Detect Query是一个可学习的查询向量,维度为,为最大检测目标个数,长度固定,为负责每个目标的查询向量长度。它负责检测第一次出现的目标。
Track Query是一个可学习的查询向量,维度为,为当前存在目标轨迹个数,长度随着目标轨迹的产生和消失而变动,为负责每个目标轨迹的查询向量长度。它负责维护目标的轨迹信息。
Detect Query和Track Query拼接起来,一起作为查询向量,结合由图像特征产生的键和值,输入到Transformer Decoder模块,负责检测新出现的目标和维护已有目标的轨迹。
QIM(查询交互模块)
此模块负责目标轨迹的产生和消失,维护轨迹的生命周期。如图所示
训练阶段,通过匈牙利匹配算法,Detect Query与Ground Truth中第一次出现的目标,根据两者的IoU大小进行Bipartite matching配对,确定每个位置负责检测的目标框;Track Query与Ground Truth中对应轨迹ID的目标,根据两者IoU大小进行进行Bipartite matching配对。
推理阶段,Detect Query根据检测框的阈值大小来确定要保留的检测,而Track Query中,需某个目标轨迹的阈值持续低于某个值一段时间后,才进行删除。