多目标跟踪数据集概览

多目标跟踪是视频分析中的一个关键组成部分,它能识别物体并为每一帧视频中检测到的每个物体保持唯一 ID。Ultralytics YOLO 提供了强大的跟踪功能,可应用于各种领域,包括监控、体育分析和交通监测。

数据集格式(即将推出)

Ultralytics 跟踪目前复用检测、分割或 Pose 模型,无需进行特定于跟踪器的训练。原生跟踪器训练支持正在积极开发中。

可用追踪器

Ultralytics YOLO 支持以下跟踪算法:

  • BoT-SORT - 使用 botsort.yaml 启用此跟踪器(默认)
  • ByteTrack - 使用 bytetrack.yaml 启用此跟踪器

使用方法

示例
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

在帧之间持久化跟踪

若要实现跨视频帧的连续跟踪,你可以使用 persist=True 参数:

示例
import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo26n.pt")

# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, frame = cap.read()
    if success:
        # Run tracking with persistence between frames
        results = model.track(frame, persist=True)

        # Visualize the results
        annotated_frame = results[0].plot()
        cv2.imshow("Tracking", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

常见问题 (FAQ)

如何使用 Ultralytics YOLO 进行多目标跟踪?

要使用 Ultralytics YOLO 进行多目标跟踪,你可以从提供的 Python 或 CLI 示例开始。以下是你如何入门的方法:

示例
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # Load the YOLO26 model
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

这些命令会加载 YOLO26 模型,并使用它在给定的视频源中跟踪物体,同时设定特定的置信度 (conf) 和 Intersection over Union (iou) 阈值。欲了解更多详情,请参考 track 模式文档

Ultralytics 中用于训练跟踪器的即将推出的功能有哪些?

Ultralytics 正在持续增强其 AI 模型。一项即将推出的功能将支持独立跟踪器的训练。在此之前,多目标检测器利用预训练的检测、分割或 Pose 模型进行跟踪,而无需独立训练。请关注我们的 blog 或查看 即将推出的功能 以获取最新动态。

为什么你应该使用 Ultralytics YOLO 进行多目标跟踪?

Ultralytics YOLO 是一款先进的 object detection 模型,以其实时性能和高 accuracy 而闻名。使用 YOLO 进行多目标跟踪具有以下几个优势:

  • 实时跟踪: 实现高效、高速的跟踪,非常适合动态环境。
  • 预训练模型的灵活性: 无需从头开始训练;只需使用预训练的检测、分割或 Pose 模型即可。
  • 易用性: 简单的 Python 和 CLI API 集成使设置跟踪流程变得直观。
  • 广泛的文档和社区支持: Ultralytics 提供详尽的文档和一个活跃的社区论坛,用于解决问题并增强你的跟踪模型。

有关设置和使用 YOLO 进行跟踪的更多详情,请访问我们的 track 使用指南

我可以使用自定义数据集进行 Ultralytics YOLO 多目标跟踪吗?

是的,你可以使用自定义数据集进行 Ultralytics YOLO 多目标跟踪。虽然独立跟踪器训练支持是一项即将推出的功能,但你已经可以在自定义数据集上使用预训练模型了。按照与 YOLO 兼容的适当格式准备你的数据集,并按照文档进行集成。

我该如何解读 Ultralytics YOLO 跟踪模型的结果?

在使用 Ultralytics YOLO 运行跟踪任务后,结果包含各种数据点,例如被跟踪物体的 ID、它们的边界框以及置信度分数。以下是如何解读这些结果的简要概述:

  • 跟踪 ID: 每个物体都会被分配一个唯一 ID,这有助于在跨帧时跟踪它。
  • 边界框: 它们指示了被跟踪物体在帧内的位置。
  • 置信度分数: 它们反映了模型在检测被跟踪物体时的信心。

有关解读和可视化这些结果的详细指南,请参考 结果处理指南

我该如何自定义跟踪器配置?

你可以通过创建跟踪器配置文件的修改版本来自定义跟踪器。从 ultralytics/cfg/trackers 复制一个现有的跟踪器配置文件,根据需要修改参数,并在运行跟踪器时指定此文件:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.track(source="video.mp4", tracker="custom_tracker.yaml")

评论