TrackZone sử dụng Ultralytics YOLO26

Mở TrackZone trong Colab

TrackZone là gì?

TrackZone chuyên giám sát các đối tượng trong những khu vực được chỉ định của khung hình thay vì toàn bộ khung hình. Được xây dựng trên Ultralytics YOLO26, giải pháp này tích hợp phát hiện và theo dõi đối tượng cụ thể trong các vùng cho video và nguồn cấp dữ liệu camera trực tiếp. Các thuật toán tiên tiến của YOLO26 và công nghệ deep learning khiến nó trở thành lựa chọn hoàn hảo cho các trường hợp sử dụng thời gian thực, cung cấp khả năng theo dõi đối tượng chính xác và hiệu quả trong các ứng dụng như giám sát đám đông và an ninh.



Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀

Ưu điểm của theo dõi đối tượng trong các vùng (TrackZone)

  • Phân tích có mục tiêu: Theo dõi đối tượng trong các vùng cụ thể cho phép đưa ra thông tin chuyên sâu tập trung hơn, giúp giám sát và phân tích chính xác các khu vực quan tâm, chẳng hạn như điểm ra vào hoặc khu vực hạn chế.
  • Cải thiện hiệu suất: Bằng cách thu hẹp phạm vi theo dõi vào các vùng xác định, TrackZone giảm bớt chi phí tính toán, đảm bảo xử lý nhanh hơn và đạt hiệu suất tối ưu.
  • Tăng cường an ninh: Theo dõi theo vùng cải thiện giám sát bằng cách kiểm soát các khu vực quan trọng, hỗ trợ phát hiện sớm các hoạt động bất thường hoặc vi phạm an ninh.
  • Giải pháp có khả năng mở rộng: Khả năng tập trung vào các vùng cụ thể giúp TrackZone thích ứng với nhiều tình huống khác nhau, từ không gian bán lẻ đến môi trường công nghiệp, đảm bảo tích hợp liền mạch và khả năng mở rộng.

Ứng dụng trong thế giới thực

Nông nghiệpGiao thông
Theo dõi cây trồng trên đồng ruộng sử dụng Ultralytics YOLO26Theo dõi phương tiện trên đường sử dụng Ultralytics YOLO26
Theo dõi cây trồng trên đồng ruộng sử dụng Ultralytics YOLO26Theo dõi phương tiện trên đường sử dụng Ultralytics YOLO26
TrackZone sử dụng Ultralytics YOLO
# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True

# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

TrackZone dựa vào danh sách region để biết phần nào của khung hình cần giám sát. Xác định đa giác để khớp với vùng vật lý mà bạn quan tâm (cửa ra vào, cổng, v.v.) và giữ show=True được bật trong khi cấu hình để bạn có thể xác minh lớp phủ khớp với luồng video.

Các đối số của TrackZone

Dưới đây là bảng các đối số của TrackZone:

Đối sốLoạiMặc địnhMô tả
modelstrNoneĐường dẫn đến một file model Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Danh sách các điểm xác định vùng đếm.

Giải pháp TrackZone bao gồm hỗ trợ cho các tham số track:

Đối sốLoạiMặc địnhMô tả
trackerstr'botsort.yaml'Chỉ định thuật toán theo dõi cần sử dụng, ví dụ: bytetrack.yaml hoặc botsort.yaml.
conffloat0.1Đặt ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép theo dõi nhiều đối tượng hơn nhưng có thể bao gồm cả các kết quả dương tính giả.
ioufloat0.7Đặt ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp.
classeslistNoneLọc kết quả theo chỉ số lớp. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định.
verboseboolTrueKiểm soát việc hiển thị các kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi.
devicestrNoneChỉ định thiết bị thực hiện suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để chạy model.

Hơn nữa, các tùy chọn trực quan hóa sau đây cũng khả dụng:

Đối sốLoạiMặc địnhMô tả
showboolFalseNếu True, hiển thị các ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích để có phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc thử nghiệm.
line_widthint or NoneNoneChỉ định độ dày đường kẻ của khung bao. Nếu là None, độ dày đường kẻ sẽ tự động được điều chỉnh dựa trên kích thước ảnh. Cung cấp khả năng tùy chỉnh trực quan để đảm bảo độ rõ nét.
show_confboolTrueHiển thị điểm tin cậy cho mỗi kết quả phát hiện bên cạnh nhãn. Cung cấp cái nhìn sâu sắc về độ chắc chắn của model cho mỗi kết quả phát hiện.
show_labelsboolTrueHiển thị nhãn cho mỗi kết quả phát hiện trong đầu ra trực quan. Cung cấp hiểu biết ngay lập tức về các đối tượng được phát hiện.

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

Làm thế nào để theo dõi các đối tượng trong một khu vực hoặc vùng cụ thể của khung hình video bằng Ultralytics YOLO26?

Theo dõi các đối tượng trong một khu vực hoặc vùng xác định của khung hình video rất đơn giản với Ultralytics YOLO26. Chỉ cần sử dụng lệnh được cung cấp bên dưới để bắt đầu theo dõi. Phương pháp này đảm bảo phân tích hiệu quả và kết quả chính xác, khiến nó trở nên lý tưởng cho các ứng dụng như giám sát, quản lý đám đông hoặc bất kỳ tình huống nào yêu cầu theo dõi theo vùng.

yolo solutions trackzone source="path/to/video.mp4" show=True

Làm cách nào tôi có thể sử dụng TrackZone trong Python với Ultralytics YOLO26?

Chỉ với một vài dòng mã, bạn có thể thiết lập theo dõi đối tượng trong các vùng cụ thể, giúp việc tích hợp vào các dự án của bạn trở nên dễ dàng.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Làm thế nào để tôi cấu hình các điểm vùng cho xử lý video sử dụng Ultralytics TrackZone?

Việc cấu hình các điểm vùng để xử lý video với Ultralytics TrackZone rất đơn giản và có thể tùy chỉnh. Bạn có thể xác định và điều chỉnh trực tiếp các vùng thông qua tập lệnh Python, cho phép kiểm soát chính xác các khu vực bạn muốn giám sát.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Initialize trackzone
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
)

Bình luận