深圳Yolo 视觉
深圳
立即加入
词汇表

多目标跟踪 (MOT)

探索多目标跟踪(MOT):利用YOLO11、卡尔曼滤波器、外观匹配和现代数据关联技术track 和重新识别视频帧中的目标。

多目标跟踪 (MOT) 是计算机视觉领域的一项关键任务,它涉及到 多目标跟踪(MOT)是计算机视觉中的一项重要任务,涉及检测视频流中的多个 多目标跟踪(MOT)是计算机视觉领域的一项重要任务,它涉及在视频流中检测多个不同的实体,并在连续的帧中保持其独特的身份。虽然 标准的物体检测是识别 而 MOT 则引入了时间维度,回答了特定物体随时间在哪里移动的问题。 物体随时间移动的位置。通过为每个检测到的实例分配一个持久的识别码(ID),MOT 系统分析轨迹、了解互动情况并计算独特的项目,使其成为现代视频理解应用的基本组成部分。 使其成为现代视频理解应用的基本组成部分。

跟踪系统的原理

大多数最先进的 MOT 系统,包括由 YOLO11采用 "探测跟踪 "模式运行。 模式。这种工作流程将整个过程分为不同的阶段,每一帧视频都重复进行,以确保高精度和连续性。 准确性和连续性。

  1. 检测:系统首先利用高性能模型来定位感兴趣的物体、 生成边界框置信度分数
  2. 运动预测为了将各帧的检测结果联系起来,卡尔曼滤波器等算法可以 卡尔曼滤波器等算法,根据物体过去的速度和位置来估计其未来的位置。 根据物体过去的速度和位置来估计其未来位置。这就形成了 状态估计,从而缩小下一帧的搜索范围。 下一帧的搜索范围。
  3. 数据关联:系统将新的检测结果与现有轨迹进行匹配。优化技术 (如匈牙利算法)通过最小化匹配成本来解决分配问题。 通过最小化匹配成本来解决分配问题。 预测轨迹与新探测轨迹之间 通常是计算预测track 与新检测之间的联合交叉(IoU)。
  4. 重新识别(ReID):在物体与路径交叉或被暂时隐藏的情况下--这种现象被称为遮挡--先进的 现象时,先进的 跟踪器使用视觉嵌入技术,在物体再次出现时对其进行识别。 当物体再次出现时,先进的跟踪器会使用视觉嵌入来识别物体,从而防止 ID 切换。

MOT 与相关计算机视觉术语

必须将 MOT 与类似概念区分开来,以便为特定用例选择合适的技术。

  • 与对象检测对比:检测将每一帧都视为一个独立事件。如果一辆车出现在 检测器就会看到两个独立的 "汽车 "实例。相比之下 对象跟踪则将这些实例联系起来、 将它们识别为在时间中移动的同一辆车。
  • 与单目标跟踪(SOT):SOT 专注于跟踪由用户初始化的一个特定目标。 通常会忽略所有其他活动。MOT 则更为复杂,因为它必须自主detect、track和管理进入和离开场景的未知且不断变化的物体数量。 未知且不断变化的物体进出场景,这就需要强大的内存管理逻辑。 内存管理逻辑。

实际应用

同时track 多个物体的能力推动了各行各业的创新,将原始视频数据转化为可操作的 数据转化为可操作的 预测建模洞察力。

  • 智能交通:在汽车人工智能领域 人工智能在汽车领域的应用 自动驾驶和交通监控至关重要。它允许系统通过计算 通过计算车辆在一段时间内的行驶距离 通过监测行人和骑自行车者的轨迹,帮助预测潜在的碰撞。 骑自行车的人。
  • 零售分析:实体店利用 零售业中的人工智能来了解顾客行为。通过 应用 MOT 进行精确的物体计数、 零售商可以测量人流量、分析特定通道的停留时间并优化排队管理,从而改善购物体验。 排队管理,从而改善购物体验。 体验。
  • 体育分析:教练和分析师在比赛中使用 MOTtrack 球员和球。这些 数据有助于进行高级姿势估计 分析,帮助球队了解姿势估计 、球员疲劳和比赛动态。 在实时推理场景中,帮助球队了解阵型、球员疲劳度和比赛动态。 实时推理场景。

用Python实现跟踪

"(《世界人权宣言》) ultralytics 软件包通过集成功能强大的跟踪器(如 BoT-SORT字节跟踪 直接进入预测 管道。这些跟踪器可以通过参数轻松交换。

下面的示例演示了如何加载预训练的YOLO11 模型并对视频文件进行跟踪:

from ultralytics import YOLO

# Load an official YOLO11 model pretrained on COCO
model = YOLO("yolo11n.pt")

# Perform tracking on a video file
# 'persist=True' ensures IDs are maintained between frames
# 'tracker' allows selection of algorithms like 'bytetrack.yaml' or 'botsort.yaml'
results = model.track(source="traffic_analysis.mp4", persist=True, tracker="bytetrack.yaml")

# Visualize the results
for result in results:
    result.show()

该代码处理从检测到 ID 赋值的整个流水线,使开发人员能够专注于高级 逻辑,如区域计数或行为 分析等高级逻辑。如需进一步定制,请参阅 跟踪模式文档

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入