Object Tracking
Tìm hiểu cách theo dõi đối tượng hoạt động trong thị giác máy tính. Khám phá cách sử dụng Ultralytics YOLO26 để xác định và giám sát các đối tượng có ID duy nhất để phân tích thời gian thực.
Object tracking là một quá trình động trong computer vision (CV) liên quan đến việc xác định các thực thể cụ thể trong video và theo dõi chuyển động của chúng qua một chuỗi các khung hình. Không giống như phân tích hình ảnh tĩnh, vốn xử lý từng ảnh chụp một cách độc lập, tracking bổ sung thêm khía cạnh thời gian. Điều này cho phép các hệ thống artificial intelligence (AI) gán một mã định danh (ID) duy nhất cho mỗi mục được phát hiện—chẳng hạn như ô tô, con người hoặc động vật—và duy trì danh tính đó khi vật thể di chuyển, thay đổi hướng hoặc bị che khuất tạm thời. Khả năng này là nền tảng của video understanding tiên tiến, cho phép máy tính phân tích hành vi, tính toán quỹ đạo và rút ra thông tin chi tiết có thể hành động được từ dữ liệu video thô.
Link to this sectionCách thức hoạt động của Object Tracking#
Các hệ thống tracking hiện đại thường sử dụng mô hình "tracking-by-detection". Quy trình này kết hợp các mô hình phát hiện mạnh mẽ với các thuật toán chuyên dụng để liên kết các kết quả phát hiện theo thời gian. Quá trình này thường bao gồm ba giai đoạn chính:
-
Detection: Trong mỗi khung hình, một mô hình object detection, chẳng hạn như YOLO26 tiên tiến, sẽ quét hình ảnh để định vị các đối tượng cần quan tâm. Mô hình xuất ra các bounding boxes xác định phạm vi không gian của từng đối tượng.
-
Motion Prediction: Các thuật toán như Kalman Filter ước tính vị trí tương lai của một đối tượng dựa trên vận tốc và quỹ đạo hiện tại của nó. Dự đoán này giúp giảm không gian tìm kiếm cho khung hình tiếp theo, giúp hệ thống hiệu quả hơn.
-
Data Association: Hệ thống khớp các phát hiện mới với các track hiện có bằng các phương pháp tối ưu hóa như Hungarian algorithm. Bước này thường dựa trên các số liệu như Intersection over Union (IoU) để đo lường mức độ chồng lấp của box dự đoán với một phát hiện mới. Các trình theo dõi nâng cao cũng có thể sử dụng feature extraction trực quan để tái định danh các đối tượng có vẻ ngoài tương tự.
Link to this sectionObject Tracking so với Object Detection#
Mặc dù các thuật ngữ này có liên quan chặt chẽ, chúng phục vụ các chức năng riêng biệt trong quy trình machine learning (ML).
- Object Detection trả lời câu hỏi, "Có những gì trong hình ảnh này và chúng ở đâu?" Nó không lưu trạng thái (stateless), nghĩa là nó không có bộ nhớ về các khung hình trước đó. Nếu một chiếc ô tô chạy qua video, trình phát hiện sẽ thấy một "ô tô" ở khung hình 1 và một "ô tô" ở khung hình 2, nhưng không biết đó là cùng một phương tiện.
- Object Tracking trả lời câu hỏi, "Đối tượng cụ thể này đang đi đâu?" Nó có lưu trạng thái (stateful). Nó kết nối "ô tô" trong khung hình 1 với "ô tô" trong khung hình 2, cho phép hệ thống ghi lại rằng "Car ID #42" đang di chuyển từ trái sang phải. Điều này rất cần thiết cho các tác vụ như predictive modeling và đếm đối tượng.
Link to this sectionCác ứng dụng trong thực tế#
Khả năng duy trì danh tính đối tượng cho phép thực hiện các ứng dụng real-time inference phức tạp trong nhiều ngành công nghiệp khác nhau.
- Hệ thống Giao thông Thông minh: Tracking là yếu tố sống còn để autonomous vehicles di chuyển an toàn. Bằng cách theo dõi người đi bộ và các phương tiện khác, ô tô có thể dự đoán các va chạm tiềm ẩn. Hơn nữa, các kỹ sư giao thông sử dụng các hệ thống này để speed estimation nhằm thực thi các quy định an toàn và tối ưu hóa luồng giao thông.
- Phân tích Bán lẻ: Các cửa hàng truyền thống sử dụng AI in retail để hiểu hành vi của khách hàng. Tracking cho phép quản lý cửa hàng thực hiện object counting để đo lưu lượng khách hàng, phân tích thời gian lưu lại trước các kệ trưng bày bằng heatmaps, và tối ưu hóa queue management để giảm thời gian chờ đợi.
- Phân tích Thể thao: Trong thể thao chuyên nghiệp, các huấn luyện viên sử dụng tracking kết hợp với pose estimation để phân tích cơ sinh học của vận động viên và đội hình thi đấu. Dữ liệu này mang lại lợi thế cạnh tranh bằng cách tiết lộ các khuôn mẫu mà mắt thường không nhìn thấy được.
Link to this sectionTriển khai Tracking với Python#
Ultralytics giúp việc triển khai tracking hiệu năng cao trở nên đơn giản. Chế độ track trong thư viện tự động xử lý việc phát hiện, dự đoán chuyển động và gán ID. Ví dụ dưới đây cho thấy cách sử dụng mô hình YOLO26 tương thích với Ultralytics Platform để theo dõi đối tượng trong video.
from ultralytics import YOLO
# Load the official YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video file or webcam (source=0)
# 'show=True' displays the video with bounding boxes and unique IDs
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=True)
# Access the unique tracking IDs from the results
if results[0].boxes.id is not None:
print(f"Detected Track IDs: {results[0].boxes.id.cpu().numpy()}")Link to this sectionCác khái niệm liên quan#
Để hiểu rõ hơn về hệ sinh thái theo dõi, sẽ rất hữu ích khi khám phá instance segmentation, kỹ thuật này theo dõi các đường viền chính xác ở cấp độ pixel của đối tượng thay vì chỉ là một khung hộp. Ngoài ra, các thách thức về Multi-Object Tracking (MOT) thường sử dụng các benchmark phổ biến như MOTChallenge để đánh giá khả năng xử lý các cảnh quay đông đúc và tình trạng bị che khuất của các thuật toán. Đối với việc triển khai trong môi trường production, các nhà phát triển thường tận dụng những công cụ như NVIDIA DeepStream hoặc OpenCV để tích hợp các model này vào các pipeline hiệu quả.






