探索计算机视觉中的多目标跟踪(MOT)技术。学习如何Ultralytics 进行track detect track ,应用于自动驾驶、零售等领域。
多目标跟踪(MOT)是计算机视觉(CV)领域的一项动态任务,涉及在视频流中检测多个独立实体,并随时间推移维持其身份识别。与将每帧视为独立快照的标准目标检测不同,MOT为人工智能(AI)引入了时间维度。 通过为每个检测到的实例(如人群中的特定行人或高速公路上的车辆)分配唯一标识号(ID),MOT算法使系统能够追踪轨迹、分析行为并理解交互关系。这种能力是现代视频理解的基础,使机器能够感知变化环境中的连续性。
大多数现代追踪系统采用"基于检测的追踪"范式。该方法将过程分为两个主要阶段:识别画面中的物体,然后将这些发现与过去已知的物体进行关联。
尽管术语相似,多目标跟踪(MOT)与单目标跟踪(SOT)存在显著差异。 SOT专注于追踪首个帧中初始化的特定目标,通常忽略其他所有实体。而MOT必须处理数量未知且不断变化的目标,这些目标可能随时进入或离开场景。这使得MOT在计算上要求更高,因为它需要强大的逻辑来处理track 、终止以及多个移动物体之间的复杂交互。
同时track 实体的能力正推动多个主要行业的创新发展。
Ultralytics 使用尖端模型实现追踪Ultralytics 简单明了。
track() 该方法无缝集成了检测与跟踪逻辑,支持诸如...等算法。
字节跟踪 和
BoT-SORT下面的示例演示了
如何在视频中使用推荐的
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 专用硬件设备。
为应对这些挑战,研究人员正探索端到端深度学习方法,将检测与追踪功能整合到单一网络中,同时借助Ultralytics 对高难度数据集进行标注,并训练出稳健的定制模型。