探索计算机视觉中的多目标 tracking (MOT)。了解如何使用 Ultralytics YOLO26 detect 和 track 实体,应用于自动驾驶、零售等领域。
多目标跟踪 (MOT) 是计算机视觉 (CV)中的一项动态任务,它涉及在视频流中检测多个不同的实体并随时间保持其身份。与将每一帧视为独立快照的标准目标检测不同,MOT为人工智能 (AI)引入了时间维度。通过为每个检测到的实例(例如人群中的特定行人或高速公路上的车辆)分配唯一的识别号 (ID),MOT算法使系统能够追踪轨迹、分析行为并理解交互。这种能力是现代视频理解的基础,并使机器能够在不断变化的环境中感知连续性。
大多数当代 track 系统都采用“先检测后跟踪”范式。这种方法将过程分为两个主要阶段:识别帧中存在的内容,然后将这些发现与过去已知的对象关联起来。
尽管术语相似,但多目标跟踪 (MOT)与单目标跟踪 (SOT)显著不同。SOT专注于跟踪在第一帧中初始化的一个特定目标,通常忽略所有其他实体。相比之下,MOT必须处理数量未知且不断变化的目标,这些目标可能随时进入或离开场景。这使得MOT在计算上要求更高,因为它需要强大的逻辑来处理轨迹的启动、终止以及多个移动物体之间的复杂交互。
同时track多个实体的能力,正在推动多个主要行业的创新。
Ultralytics 使利用最先进模型实现 track 变得简单直接。该
track() 该方法无缝集成了检测和跟踪逻辑,支持以下算法
字节跟踪 和
BoT-SORT。以下示例演示了如何
使用推荐的方法在视频中 track 车辆。
YOLO26模型.
from ultralytics import YOLO
# Load the official YOLO26 small model
model = YOLO("yolo26s.pt")
# Track objects in a video file (or use '0' for webcam)
# The 'persist=True' argument keeps track IDs consistent between frames
results = model.track(source="traffic_analysis.mp4", show=True, persist=True)
# Print the IDs of objects tracked in the first frame
if results[0].boxes.id is not None:
print(f"Tracked IDs: {results[0].boxes.id.int().tolist()}")
尽管取得了进展,MOT仍然是一个充满挑战的领域。遮挡是一个主要难题;当物体交叉路径或隐藏在障碍物后面时,保持身份识别变得复杂。拥挤场景,例如繁忙的马拉松或鸟群,考验着数据关联算法的极限。此外,在处理高分辨率视频流时保持实时推理速度需要高效的模型架构,并且通常需要NVIDIA Jetson设备等专用硬件。
为了应对这些挑战,研究人员正在探索将 detect 和 track 统一到单个网络中的端到端深度学习方法,以及利用Ultralytics Platform 标注具有挑战性的数据集并训练强大的自定义模型。

开启您的机器学习未来之旅