跳转至内容

多物体追踪数据集概览

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

数据集格式(即将推出)

多目标检测器不需要单独训练,可以直接支持预训练的检测、分割或姿势估计模型。对单独训练跟踪器的支持即将推出。

可用跟踪器

Ultralytics YOLO 支持以下跟踪算法:

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

用法

示例

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
yolo track model=yolo11n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show

在帧之间保持追踪

为了在视频帧中进行连续跟踪,您可以使用 persist=True 参数训练 YOLO11 时,可以控制缓存:

示例

import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo11n.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()

常见问题

如何将多目标跟踪与Ultralytics YOLO结合使用?

要将多目标跟踪与Ultralytics YOLO结合使用,您可以从提供的python或CLI示例开始。以下是您可以开始使用的方法:

示例

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # Load the YOLO11 model
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
yolo track model=yolo11n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3 iou=0.5 show

这些命令加载YOLO11模型,并使用它来跟踪给定视频源中的对象,具有特定的置信度(conf)和 交并比 (iou)阈值。有关更多详细信息,请参阅 跟踪模式文档.

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

Ultralytics 不断增强其 AI 模型。即将推出的功能将支持独立跟踪器的训练。在此之前,多目标检测器利用预训练的检测、分割或姿势估计模型进行跟踪,而无需单独训练。请关注我们的博客或查看即将推出的功能,以获取最新信息。

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

Ultralytics YOLO是一种先进的目标检测模型,以其卓越的实时性能和高精度而闻名。使用YOLO进行多目标跟踪具有以下几个优势:

  • 实时跟踪: 实现高效和高速的跟踪,非常适合动态环境。
  • 预训练模型的灵活性: 无需从头开始训练;只需使用预训练的检测、分割或姿势估计模型即可。
  • 易于使用: 通过python和CLI的简单API集成使设置跟踪管道变得简单直接。
  • 广泛的文档和社区支持: Ultralytics提供全面的文档和一个活跃的社区论坛,以解决问题并增强您的跟踪模型。

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

我可以将自定义数据集用于Ultralytics YOLO的多目标跟踪吗?

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

如何解释Ultralytics YOLO跟踪模型的结果?

在使用Ultralytics YOLO运行跟踪任务后,结果包括各种数据点,例如跟踪对象的ID、其边界框和置信度分数。以下是如何解释这些结果的简要概述:

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

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

如何自定义跟踪器配置?

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

from ultralytics import YOLO

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


📅 创建于 1 年前 ✏️ 更新于 2 个月前

评论