论文阅读:基于transformer的目标跟踪MOTR的算法原理

909 阅读3分钟

MOTR模型‌(Multi-Object Tracking and Segmentation)是一个基于transformer模型架构的多目标追踪模型,由旷视科技提出。MOTR模型通过使用transformer网络,实现了端到端的多目标追踪(Multi-Object Tracking, MOT)和分割(Segmentation),解决了传统多目标追踪方法在复杂场景下效果不佳的问题‌。

MOTR模型的核心概念和技术特点

  1. Track Query‌:MOTR模型在DETR目标检测模型的Detect Query基础上,根据引入了Track Query的概念,每个Track Query负责为一个目标进行完整的追踪建模,通过在帧与帧之间传输和更新,实现无缝的检测和追踪‌;
  2. 端到端学习‌:MOTR模型能够从数据中学习目标的长期时变特性,避免了传统方法中手动设计特征提取和关联策略的局限性‌。
  3. 时域聚合网络‌:MOTR模型使用时域聚合网络融合多帧训练,为长程时域依赖关系建模,提高了追踪的准确性和鲁棒性‌。

MOTR模型整体结构如下图所示

motr.png

算法推理流程

视频流输入,经过MOTR模型推理,到输出目标轨迹,需要经过以下步骤:

  1. 视频流T1T_1时刻图像,先经过Enc模块,进行图像特征提取和Transformer Encoder编码器,得到单帧图像特征;

  2. 图像特征与Detect Query qdq_d一起作为输入,经过Transformer Decoder解码器,得到Hidden States(隐状态);

  3. Hidden States再经过QIM(查询交互模块)得到T2T_2帧的Tracked Query qtrq_{tr}.

  4. Detect Query qdq_dT2T_2帧的Tracked Query qtrq_{tr}进行拼接,与T2T_2帧的图像特征,一起输入到Transformer Decoder解码器,得到T2T_2帧的Hidden States,进而进行T2T_2帧的轨迹预测;

  5. 循环执行上述步骤,根据TiT_i帧的状态信息,进行Ti+1T_{i+1}帧的轨迹预测,i=2,3,4,i=2,3,4,\dots

Detect Query和Track Query

detect_query_and_track_query.png

Detect Query是一个可学习的查询向量,维度为NdetdN_{det}*dNdetN_{det}为最大检测目标个数,长度固定,dd为负责每个目标的查询向量长度。它负责检测第一次出现的目标。

Track Query是一个可学习的查询向量,维度为NtrdN_{tr}*dNtrN_{tr}为当前存在目标轨迹个数,长度随着目标轨迹的产生和消失而变动,dd为负责每个目标轨迹的查询向量长度。它负责维护目标的轨迹信息。

Detect Query和Track Query拼接起来,一起作为查询向量,结合由图像特征产生的键和值,输入到Transformer Decoder模块,负责检测新出现的目标和维护已有目标的轨迹。

QIM(查询交互模块)

此模块负责目标轨迹的产生和消失,维护轨迹的生命周期。如图所示

MOTR-QIM.png

训练阶段,通过匈牙利匹配算法,Detect Query与Ground Truth中第一次出现的目标,根据两者的IoU大小进行Bipartite matching配对,确定每个位置负责检测的目标框;Track Query与Ground Truth中对应轨迹ID的目标,根据两者IoU大小进行进行Bipartite matching配对。

推理阶段,Detect Query根据检测框的阈值大小来确定要保留的检测,而Track Query中,需某个目标轨迹的阈值持续低于某个值一段时间后,才进行删除。