Chuyển đến nội dung

Tổng quan về bộ dữ liệu theo dõi đa đối tượng

Theo dõi đa đối tượng là một thành phần quan trọng trong phân tích video, xác định các đối tượng và duy trì ID duy nhất cho từng đối tượng được phát hiện trên các khung hình video. Ultralytics YOLO cung cấp các khả năng theo dõi mạnh mẽ có thể được áp dụng cho nhiều lĩnh vực khác nhau, bao gồm giám sát, phân tích thể thao và giám sát giao thông.

Định dạng bộ dữ liệu (Sắp ra mắt)

Tính năng track của Ultralytics hiện đang tái sử dụng các mô hình detect, segment hoặc tư thế mà không yêu cầu huấn luyện dành riêng cho trình track. Hỗ trợ huấn luyện trình track gốc đang được phát triển tích cực.

Các trình theo dõi hiện có

Ultralytics YOLO hỗ trợ các thuật toán theo dõi sau:

  • BoT-SORT - Sử dụng botsort.yaml để kích hoạt trình theo dõi này (mặc định)
  • ByteTrack - Sử dụng bytetrack.yaml để kích hoạt trình theo dõi này

Cách sử dụng

Ví dụ

from ultralytics import YOLO

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

Duy trì theo dõi giữa các khung hình

Để theo dõi liên tục trên các khung hình video, bạn có thể sử dụng persist=True tham số:

Ví dụ

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()

Câu hỏi thường gặp

Làm cách nào để sử dụng Theo dõi đa đối tượng với Ultralytics YOLO?

Để sử dụng Theo dõi Đa đối tượng với Ultralytics YOLO, bạn có thể bắt đầu bằng cách sử dụng các ví dụ Python hoặc CLI được cung cấp. Đây là cách bạn có thể bắt đầu:

Ví dụ

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)
yolo track model=yolo26n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.1 iou=0.7 show=True

Các lệnh này tải mô hình YOLO26 và sử dụng nó để track các đối tượng trong nguồn video đã cho với độ tin cậy cụ thể (conf) và Intersection over Union (iou) ngưỡng. Để biết thêm chi tiết, tham khảo tài liệu về chế độ track.

Các tính năng sắp tới để huấn luyện trình theo dõi trong Ultralytics là gì?

Ultralytics liên tục cải tiến các mô hình AI của mình. Một tính năng sắp ra mắt sẽ cho phép huấn luyện các bộ theo dõi độc lập. Cho đến lúc đó, Bộ phát hiện đa đối tượng tận dụng các mô hình phát hiện, phân đoạn hoặc ước tính tư thế đã được huấn luyện trước để theo dõi mà không cần huấn luyện độc lập. Hãy cập nhật thông tin bằng cách theo dõi blog của chúng tôi hoặc kiểm tra các tính năng sắp ra mắt.

Tại sao tôi nên sử dụng Ultralytics YOLO để theo dõi đa đối tượng?

Ultralytics YOLO là một mô hình phát hiện đối tượng hiện đại, nổi tiếng với hiệu suất thời gian thực và độ chính xác cao. Sử dụng YOLO để theo dõi đa đối tượng mang lại một số lợi thế:

  • Theo dõi thời gian thực: Đạt được hiệu quả và tốc độ theo dõi cao, lý tưởng cho môi trường động.
  • Tính linh hoạt với các mô hình đã được huấn luyện trước: Không cần huấn luyện từ đầu; chỉ cần sử dụng các mô hình phát hiện, phân đoạn hoặc ước tính tư thế đã được huấn luyện trước.
  • Dễ sử dụng: Tích hợp API đơn giản với cả Python và CLI giúp thiết lập các pipeline theo dõi một cách dễ dàng.
  • Tài liệu phong phú và hỗ trợ từ cộng đồng: Ultralytics cung cấp tài liệu toàn diện và một diễn đàn cộng đồng tích cực để khắc phục sự cố và nâng cao các mô hình theo dõi của bạn.

Để biết thêm chi tiết về cách thiết lập và sử dụng YOLO để track, hãy truy cập hướng dẫn sử dụng track của chúng tôi.

Tôi có thể sử dụng bộ dữ liệu tùy chỉnh để theo dõi đa đối tượng với Ultralytics YOLO không?

Có, bạn có thể sử dụng các tập dữ liệu tùy chỉnh để theo dõi đa đối tượng với Ultralytics YOLO. Mặc dù hỗ trợ huấn luyện bộ theo dõi độc lập là một tính năng sắp ra mắt, bạn đã có thể sử dụng các mô hình đã được huấn luyện trước trên tập dữ liệu tùy chỉnh của mình. Chuẩn bị tập dữ liệu của bạn theo định dạng phù hợp với YOLO và làm theo tài liệu hướng dẫn để tích hợp chúng.

Làm cách nào để diễn giải kết quả từ mô hình theo dõi Ultralytics YOLO?

Sau khi chạy một tác vụ theo dõi với Ultralytics YOLO, kết quả bao gồm nhiều điểm dữ liệu khác nhau như ID đối tượng được theo dõi, hộp giới hạn của chúng và điểm tin cậy. Dưới đây là tổng quan ngắn gọn về cách diễn giải các kết quả này:

  • ID được theo dõi: Mỗi đối tượng được gán một ID duy nhất, giúp theo dõi nó trên các khung hình.
  • Hộp giới hạn: Chúng cho biết vị trí của các đối tượng được theo dõi trong khung hình.
  • Điểm tin cậy: Phản ánh độ tin cậy của mô hình trong việc phát hiện đối tượng được theo dõi.

Để được hướng dẫn chi tiết về cách diễn giải và trực quan hóa các kết quả này, hãy tham khảo hướng dẫn xử lý kết quả.

Làm cách nào để tùy chỉnh cấu hình tracker?

Bạn có thể tùy chỉnh tracker bằng cách tạo một phiên bản đã sửa đổi của tệp cấu hình tracker. Sao chép một tệp cấu hình tracker hiện có từ ultralytics\/cfg\/trackers, sửa đổi các tham số khi cần và chỉ định tệp này khi chạy tracker:

from ultralytics import YOLO

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


📅 Được tạo 2 năm trước ✏️ Cập nhật 13 ngày trước
glenn-jocherpderrengerUltralyticsAssistantMatthewNoyceambitious-octopus

Bình luận