Meet YOLO26: next-gen vision AI.

Link to this section多目标跟踪数据集概览#

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

Link to this section数据集格式(即将推出)#

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

Link to this section可用追踪器#

Ultralytics YOLO 支持以下跟踪算法:

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

Link to this section使用方法#

示例
from ultralytics import YOLO

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

Link to this section在帧之间持久化跟踪#

若要实现跨视频帧的连续跟踪,你可以使用 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()

Link to this section常见问题 (FAQ)#

Link to this section如何使用 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 模式文档

Link to this sectionUltralytics 中用于训练跟踪器的即将推出的功能有哪些?#

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

Link to this section为什么你应该使用 Ultralytics YOLO 进行多目标跟踪?#

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

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

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

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

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

Link to this section我该如何解读 Ultralytics YOLO 跟踪模型的结果?#

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

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

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

Link to this section我该如何自定义跟踪器配置?#

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

from ultralytics import YOLO

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

评论