OC-SORT(Observation-Centric SORT)是一种以观测为中心的多目标跟踪算法,旨在解决传统 SORT 算法在目标遮挡、外观变化和复杂交互场景下关联准确性不足的问题。以下是其详细介绍:
核心创新点
- 以观测为中心的在线平滑(OOS):该策略旨在缓解卡尔曼滤波器(KF)在长时间遮挡或非线性运动时因缺乏观测数据导致的误差累积问题。当目标被遮挡时,OOS 通过引入历史观测数据建立虚拟轨迹,在目标重新出现时反向修正 KF 的状态参数,从而减少累积误差。例如,当目标短暂消失后,OOS 利用其消失前的观测值生成虚拟轨迹,并基于新观测值对轨迹进行平滑校准,避免因预测偏差导致的跟踪漂移。
- 以观测为中心的恢复(ORU):ORU 专门处理因短时遮挡导致的轨迹中断问题。当目标重新出现时,ORU 尝试将目标的最后一次有效观测值与新到达的检测框进行关联,而非依赖 KF 的预测结果。例如,若目标在第 t 帧丢失并在第 t+k 帧重新出现,ORU 会直接比较第 t 帧的观测位置与第 t+k 帧的检测位置,通过几何相似性(如 IoU)判断是否为同一目标。这种方法减少了对预测的依赖,尤其适用于遮挡频繁或运动突变的场景。
- 以观测为中心的动量(OCM):OCM 通过将轨迹的方向一致性融入数据关联的代价矩阵,优化目标匹配的准确性。传统方法仅依赖位置或速度的相似性,而 OCM 额外考虑轨迹运动方向的连续性。具体而言,OCM 计算轨迹与当前检测框的速度方向差异,并将此差异作为关联代价的一部分。例如,若某轨迹历史运动方向与新检测框的速度方向一致,则关联代价更低,从而优先匹配。这一设计有效解决了线性运动假设下因方向突变(如转弯)导致的误匹配问题。
算法原理
- 运动一致性约束:利用轨迹历史运动模式提高关联鲁棒性,通过计算轨迹与检测之间的运动方向相似性,来度量运动相似性。
- 轨迹恢复机制:解决短期遮挡导致的轨迹中断。维护一个候选轨迹池,对未匹配的检测进行逆向关联,使用滑动窗口匹配历史观测,当 ReID_score > τ_app 且 IoU > τ_geo 时,认为是同一目标。
状态向量设计
采用 8 维状态向量,其中(xc,yc)为中心坐标,w,h为宽高,x˙c等为对应速度。当检测丢失时,采用虚拟观测更新。
性能评估
在 MOT17 数据集上,OC-SORT 的典型指标表现出色,如 MOTA 达到 63.2%,IDF1 达到 68.5%,ID Switches 为 534,相比 SORT 和 DeepSORT 有显著提升。
应用建议
检测器选择推荐 YOLOv5 或 Faster R - CNN,同时需要根据场景调整 λ 系数、卡尔曼噪声参数等进行参数调优,可集成 OpenCV 或 Supervisely 进行可视化展示。a