Meet YOLO26: next-gen vision AI.

Link to this sectionTổng quan về các tập 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, giúp 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 qua các khung hình video. Ultralytics YOLO cung cấp các khả năng theo dõi mạnh mẽ có thể á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.

Link to this sectionĐịnh dạng tập dữ liệu (Sắp ra mắt)#

Tính năng theo dõi của Ultralytics hiện tái sử dụng các model phát hiện, phân đoạn hoặc pose mà không yêu cầu huấn luyện chuyên biệt cho trình theo dõi. Hỗ trợ huấn luyện trình theo dõi gốc đang được tích cực phát triển.

Link to this sectionCác trình theo dõi khả dụng#

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
  • OC-SORT - Sử dụng ocsort.yaml để kích hoạt trình theo dõi này
  • Deep OC-SORT - Sử dụng deepocsort.yaml để kích hoạt trình theo dõi này
  • FastTracker - Sử dụng fasttrack.yaml để kích hoạt trình theo dõi này
  • TrackTrack - Sử dụng tracktrack.yaml để kích hoạt trình theo dõi này

Link to this sectionCá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)

Link to this sectionDuy trì các đường theo dõi giữa các khung hình#

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

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

Link to this sectionCâu hỏi thường gặp#

Link to this sectionLàm thế 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. Dưới đâ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)

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

Link to this sectionNhững tính năng sắp tới cho việc huấn luyện trình theo dõi trong Ultralytics là gì?#

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

Link to this sectionTại sao tôi nên sử dụng Ultralytics YOLO để theo dõi đa đối tượng?#

Ultralytics YOLO là model 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 ích:

  • Theo dõi thời gian thực: Đạt được khả năng theo dõi hiệu quả và tốc độ cao, lý tưởng cho các môi trường động.
  • Tính linh hoạt với các model đã huấn luyện sẵn: Không cần huấn luyện từ đầu; chỉ cần sử dụng các model phát hiện, phân đoạn hoặc Pose đã được huấn luyện sẵn.
  • Dễ sử dụng: Tích hợp API đơn giản với cả Python và CLI giúp việc thiết lập các pipeline theo dõi trở nên dễ dàng.
  • Tài liệu phong phú và hỗ trợ cộng đồng: Ultralytics cung cấp tài liệu toàn diện và diễn đàn cộng đồng tích cực để giải quyết các vấn đề và nâng cao các model 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 để theo dõi, hãy truy cập hướng dẫn sử dụng track.

Link to this sectionTôi có thể sử dụng tập 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 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 trình theo dõi độc lập là một tính năng sắp tới, bạn đã có thể sử dụng các model đã được huấn luyện sẵn trên tập dữ liệu tùy chỉnh của mình. Hãy chuẩn bị tập dữ liệu của bạn theo đúng định dạng tương thích với YOLO và làm theo tài liệu để tích hợp chúng.

Link to this sectionLàm thế nào để diễn giải kết quả từ model 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 bao (bounding box) của chúng và điểm số độ tin cậy. Dưới đây là tóm tắt 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 ích cho việc theo dõi qua các khung hình.
  • Hộp bao (Bounding boxes): Những thông tin này chỉ ra vị trí của các đối tượng được theo dõi trong khung hình.
  • Điểm số độ tin cậy (Confidence scores): Những thông tin này phản ánh độ tin cậy của model trong việc phát hiện đối tượng được theo dõi.

Để biết 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ả.

Link to this sectionLàm thế nào để tôi có thể tùy chỉnh cấu hình trình theo dõi?#

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

from ultralytics import YOLO

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

Bình luận