多目标追踪——【两阶段】BoT-SORT: Robust Associations Multi-Pedestrian Tracking
目录
- 文章侧重点
- 流程框架
- 运动模型
-
- 卡尔曼滤波模型
- 相机建模
文章链接:BoT-SORT: Robust Associations Multi-Pedestrian Tracking提取码:qqzd
代码链接:https://github.com/NirAharon/BOT-SORT
文章侧重点
- 本篇文章的工作是基于ByteTrack改进。主要贡献在于将卡尔曼滤波+相机修正作为目标重识别的运动信息,在用匈牙利匹配过程中,同时加入了外观相似度和运动相似度。
- 与ByteTrack区别:相似之处:都是两次关联目标框,这点在代码中尤为明显。不同之处:Bytetrack主要比较的是目标检测器输出的目标候选框IoU相似度,没有考虑目标的运动信息。
- 本篇文章针对ByteTrack有两个改进之处:
- 运动模型估计【在卡尔曼滤波的基础上加入相机运动补偿】
- IoU相似度与特征余弦距离的相似度融合
- 该文章的主要亮点应该就是将相机运动与卡尔曼滤波结合,并且将基于匀速假设的卡尔曼滤波中的状态变量修正为边界框点之间相关的状态变量,并且将相机运动整合到了卡尔曼滤波的经典更新公式中。
流程框架
运动模型
卡尔曼滤波模型
- 状态变量修改如下:
xkx_kxk表示目标的真实状态变量(不可得到,是根据预测变量(x˙k\\dot{x}_kx˙k)来逼近),zkz_kzk表示目标的观测向量(检测器输出的候选目标的边界框) - 根据状态变量的修改,传递过程噪声QkQ_kQk和预测过程噪声 RkR_kRk的修改随之如下:
相机建模
应用相邻两帧的全局的相机补偿建模相机运动。
- 提取图片中特征点,应用稀疏光流,生成仿射变换Ak−1kA_{k-1}^kAk−1k矩阵。该仿射矩阵用于将k−1k-1k−1帧中的预测的边界框映射到kkk帧,补偿相机运动造成的全局偏移。
- 卡尔曼滤波的参数预测步骤如下:
- 卡尔曼滤波的参数更新步骤如下: