SORT(简单在线实时跟踪)

SORT 就是用卡尔曼滤波预测位置、再用匈牙利算法配对检测框,从而给每个目标分配唯一 ID 的在线多目标跟踪器

亦作、亦称:简单在线实时跟踪 · Simple Online and Realtime Tracking · DeepSORT

SORT 是 2016 年提出的经典轻量多目标跟踪算法,以卡尔曼滤波 + 匈牙利算法为核心,在极低计算开销下实现在线实时跟踪。它是 DeepSORT、ByteTrack 等现代跟踪器的重要基线与前身。

概述

SORT 是 2016 年提出的经典轻量多目标跟踪算法,以卡尔曼滤波 + 匈牙利算法为核心,在极低计算开销下实现在线实时跟踪。它是 DeepSORT、ByteTrack 等现代跟踪器的重要基线与前身。

算法概述

SORT 将多目标跟踪(MOT)问题拆解为 检测预测关联 三步流水线,追求最小化算法复杂度。

  • 检测阶段:依赖外部检测器(如 Faster R-CNN)对每帧输出目标边界框,SORT 本身不训练检测模型
  • 预测阶段:用卡尔曼滤波器对每条已有轨迹预测当前帧的位置与尺寸
  • 关联阶段:以预测框与检测框的 IoU 为代价矩阵,运行匈牙利算法求全局最优匹配
  • 轨迹管理:匹配成功则更新轨迹;超出最大丢失帧数则删除;新检测框创建新轨迹
  • 全流程纯 CPU 可运行,速度可达 260 Hz 以上

工作原理

SORT 的运动模型假设目标做匀速直线运动,状态向量为 [x, y, w, h, ẋ, ẏ, ẇ, ḣ],其中 (x,y) 为中心坐标,(w,h) 为宽高。

  • 卡尔曼预测:根据上一帧状态向量与协方差矩阵,预测当前帧目标位置,处理观测噪声与过程噪声
  • IoU 代价矩阵:计算所有预测框与检测框两两之间的 交并比(IoU),取 1−IoU 为代价
  • 匈牙利算法:在代价矩阵上求最小代价匹配,IoU 低于阈值的配对直接剔除(通常 IoU_min=0.3)
  • 卡尔曼更新:匹配成功的轨迹用检测框坐标做观测更新,修正状态估计
  • 匹配失败的轨迹进入「丢失」状态,保留至多 max_age 帧后销毁

主要变体与扩展

SORT 作为基线催生了多条重要改进方向,形成多目标跟踪的主要技术分支。

  • DeepSORT(2017):在 SORT 基础上引入深度外观网络(ReID),额外计算余弦外观距离,ID Switch 减少约 45%
  • ByteTrack(2022):创新性地利用低置信度检测框进行两阶段关联,显著降低漏跟率
  • StrongSORT:结合更强的卡尔曼运动模型、ECC 相机补偿与 OSNet 外观模型
  • OC-SORT(2022):引入「观测中心」重关联机制,改善遮挡后的 ID 保持
  • BoT-SORT(2022):融合相机运动补偿与 ReID,在多个基准上取得 SOTA

应用场景

SORT 及其变体广泛应用于需要实时多目标跟踪的视觉任务,尤其在对计算资源敏感的场景中优势突出。

  • 自动驾驶感知:对行人、车辆进行跨帧关联,为轨迹预测和路径规划提供输入
  • 视频监控:在闭路电视场景下统计人流、检测异常行为,需稳定 ID 关联
  • 体育视频分析:跟踪球员、运动员位置,辅助战术分析与赛事转播
  • 无人机巡检:边缘设备上轻量部署,实时跟踪地面目标
  • 机器人导航:感知动态障碍物,为避障决策提供轨迹信息

与相邻概念的区别

SORT 在多目标跟踪技术栈中处于核心位置,了解其与相关概念的边界有助于选型。

  • SORT vs DeepSORT:SORT 仅用运动(IoU),DeepSORT 额外引入深度外观特征;前者更快,后者遮挡鲁棒性更强
  • SORT vs ByteTrack:ByteTrack 利用低置信度检测框做二阶段关联,减少 SORT 中因漏检导致的轨迹断裂
  • 在线 vs 离线跟踪:SORT 是典型在线跟踪器,仅依赖当前及历史帧;离线跟踪器(如 MHT)可使用未来帧信息,精度更高但延迟大
  • 跟踪 vs 检测:SORT 本身不做检测,只做「检测结果的时序关联」,需配合 YOLO 等检测器使用
  • 单目标 vs 多目标:SORT 专为 MOT(多目标跟踪)设计,维护多条轨迹并行更新

局限与常见误区

SORT 因其极简设计而存在若干固有局限,使用前需充分了解。

  • ID Switch 频繁:无外观特征,遮挡或交叉后极易换 ID,在拥挤场景表现差
  • 依赖检测质量:检测器漏检或误检直接导致轨迹断裂或虚假轨迹,对检测器要求较高
  • 线性运动假设:卡尔曼模型假设匀速运动,对急加速、转向等非线性运动预测偏差大
  • 误区——DeepSORT 就是 SORT 的官方升级版:两者由不同团队发布(ICIP 2016 vs arXiv 2017),DeepSORT 是基于 SORT 框架的社区扩展
  • 误区——SORT 只能跟行人:SORT 是通用框架,行人是常见测评对象,但可跟踪车辆、动物等任意目标

发展脉络

多目标跟踪领域经历了从传统滤波到深度学习驱动的范式迁移,SORT 是其中的重要转折点。

  • 2016 年:Bewley 等提出 SORT,以极简 Kalman+Hungarian 框架在 MOT 基准上实现实时跟踪,MOTA 达 59.8
  • 2017 年:Wojke 等提出 DeepSORT(arXiv:1703.07402),引入深度外观网络,ID Switch 减少 45%
  • 2020 年:CenterTrack、FairMOT 等将检测与 ReID 融合到单网络,实现联合优化
  • 2022 年ByteTrack 提出低置信度框二阶段关联,HOTA 达 63.1,成为新基线
  • 2022-2024 年:OC-SORT、BoT-SORT、StrongSORT 等在 SORT 框架上持续改进运动模型与外观融合策略
  • 2024 年至今:基于 Transformer 的端到端跟踪器(如 MOTR、TrackFormer)开始挑战传统 tracking-by-detection 范式

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「SORT 就是用卡尔曼滤波预测位置、再用匈牙利算法配对检测框,从而给每个目标分配唯一 ID 的在线多目标跟踪器」
  • 「SORT 只靠位置和面积匹配,没有外观信息,遮挡一下就换 ID,所以才有了后来加外观特征的 DeepSORT」
  • 「DeepSORT 可以理解为 SORT 加了一个 ReID 网络,用余弦距离辅助匈牙利配对,大幅减少了 ID 切换」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

延伸阅读

从知识库精选 2 篇文章,帮助深入理解该术语。

  1. 1

    目标跟踪:SORT, DeepSORT, ByteTrack

    从卡尔曼滤波到字节级关联,掌握视频目标跟踪技术

  2. 2

    模型监控与漂移检测

    从数据漂移到性能监控,掌握生产环境中的模型运维

外部参考

维基百科:查看「SORT」词条

本页内容为本站原创撰写;维基百科链接仅作延伸参考。