Multi-Object Tracking (MOT)
Khám phá Multi-Object Tracking (MOT) trong computer vision. Tìm hiểu cách phát hiện và tracking các thực thể bằng Ultralytics YOLO26 cho xe tự hành, bán lẻ và nhiều lĩnh vực khác.
Theo dõi đa đối tượng (MOT) là một tác vụ động trong thị giác máy tính (CV), bao gồm việc phát hiện nhiều thực thể riêng biệt trong một luồng video và duy trì danh tính của chúng theo thời gian. Không giống phát hiện đối tượng tiêu chuẩn, vốn xem mỗi khung hình như một ảnh chụp riêng biệt, MOT bổ sung chiều thời gian cho trí tuệ nhân tạo (AI). Bằng cách gán một số nhận dạng (ID) duy nhất cho mỗi instance được phát hiện—chẳng hạn như một người đi bộ cụ thể trong đám đông hoặc một phương tiện trên đường cao tốc—các thuật toán MOT cho phép hệ thống theo dõi quỹ đạo, phân tích hành vi và hiểu các tương tác. Khả năng này là nền tảng của khả năng hiểu video hiện đại và cho phép máy móc nhận thức tính liên tục trong một môi trường luôn thay đổi.
Cách MOT hoạt động#
Hầu hết các hệ thống tracking hiện đại vận hành theo mô hình "tracking-by-detection". Phương pháp này chia quy trình thành hai giai đoạn chính: xác định nội dung trong khung hình, sau đó liên kết các phát hiện đó với những đối tượng đã biết từ trước.
-
Phát hiện: Trong mỗi khung hình, một model hiệu năng cao như YOLO26 quét ảnh để xác định vị trí các đối tượng, tạo ra các bounding box và xác suất lớp.
-
Dự đoán chuyển động: Để dự đoán vị trí tiếp theo của một đối tượng, các thuật toán thường sử dụng Bộ lọc Kalman. Công cụ toán học này ước tính trạng thái của một hệ thống động—chẳng hạn như vận tốc và vị trí—giúp thu hẹp khu vực tìm kiếm trong khung hình tiếp theo.
-
Liên kết dữ liệu: Hệ thống ghép các phát hiện mới với những track hiện có. Các phương pháp tối ưu hóa như thuật toán Hungarian giải bài toán gán này bằng cách tối thiểu hóa chi phí ghép nối, thường dựa vào Giao trên hợp (IoU) để đo mức độ chồng lấn không gian.
-
Tái nhận dạng (ReID): Khi xảy ra các vật cản trong tầm nhìn—được gọi là occlusion—các tracker nâng cao sử dụng embedding trực quan để nhận diện đối tượng khi đối tượng xuất hiện trở lại. Điều này giúp ngăn hiện tượng "đổi ID", đảm bảo hệ thống biết rằng chiếc xe đi ra khỏi đường hầm chính là chiếc xe đã đi vào đường hầm đó.
Phân biệt MOT với Theo dõi một đối tượng#
Mặc dù thuật ngữ tương tự nhau, Theo dõi đa đối tượng (MOT) khác đáng kể so với Theo dõi một đối tượng (SOT). SOT tập trung theo dõi một target cụ thể được khởi tạo trong khung hình đầu tiên và thường bỏ qua tất cả các thực thể khác. Ngược lại, MOT phải xử lý số lượng target chưa biết và thay đổi theo thời gian, trong đó các target có thể đi vào hoặc rời khỏi cảnh bất kỳ lúc nào. Điều này khiến MOT đòi hỏi nhiều tài nguyên tính toán hơn, vì cần logic mạnh mẽ để xử lý việc khởi tạo và kết thúc track, cũng như các tương tác phức tạp giữa nhiều vật thể chuyển động.
Các ứng dụng trong thực tế#
Khả năng theo dõi đồng thời nhiều thực thể đang thúc đẩy đổi mới trong một số ngành công nghiệp lớn.
- Lái xe tự động: Xe tự lái phụ thuộc rất nhiều vào MOT để di chuyển an toàn. Bằng cách theo dõi người đi bộ, người đi xe đạp và các phương tiện khác, các hệ thống tự hành có thể dự đoán vị trí trong tương lai để tránh va chạm. Quy trình này thường bao gồm việc hợp nhất dữ liệu từ camera và cảm biến LiDAR để đạt độ tin cậy tối đa.
- Phân tích bán lẻ: Trong các cửa hàng thực tế, nhà bán lẻ sử dụng AI trong bán lẻ để lập bản đồ hành trình của khách hàng. Các thuật toán MOT tạo ra bản đồ nhiệt về lưu lượng người, giúp quản lý tối ưu hóa bố cục cửa hàng và cải thiện quản lý hàng đợi trong giờ cao điểm.
- Phân tích thể thao: Các đội chuyên nghiệp sử dụng MOT để phân tích chuyển động của cầu thủ và đội hình. Bằng cách theo dõi từng cầu thủ trên sân, huấn luyện viên có thể trích xuất các chỉ số chi tiết về tốc độ, quãng đường di chuyển và vị trí chiến thuật bằng các kỹ thuật ước tính pose.
Triển khai MOT với Python#
Ultralytics giúp việc triển khai tracking với các model tiên tiến trở nên đơn giản. Phương thức track() tích hợp liền mạch logic phát hiện và tracking, hỗ trợ các thuật toán như ByteTrack và BoT-SORT. Ví dụ dưới đây minh họa cách tracking phương tiện trong video bằng model YOLO26 được khuyến nghị.
from ultralytics import YOLO
# Load the official YOLO26 small model
model = YOLO("yolo26s.pt")
# Track objects in a video file (or use '0' for webcam)
# The 'persist=True' argument keeps track IDs consistent between frames
results = model.track(source="traffic_analysis.mp4", show=True, persist=True)
# Print the IDs of objects tracked in the first frame
if results[0].boxes.id is not None:
print(f"Tracked IDs: {results[0].boxes.id.int().tolist()}")Các thách thức trong Theo dõi đa đối tượng#
Mặc dù đã có nhiều tiến bộ, MOT vẫn là một lĩnh vực đầy thách thức. Occlusion là một khó khăn chính; khi các đối tượng cắt ngang đường đi hoặc ẩn sau chướng ngại vật, việc duy trì danh tính trở nên phức tạp. Các cảnh đông đúc, chẳng hạn như một cuộc marathon nhộn nhịp hoặc một đàn chim, kiểm nghiệm giới hạn của các thuật toán liên kết dữ liệu. Ngoài ra, việc duy trì tốc độ suy luận thời gian thực trong khi xử lý các luồng video độ phân giải cao đòi hỏi kiến trúc model hiệu quả và thường cần phần cứng chuyên dụng như các thiết bị NVIDIA Jetson.
Để giải quyết những thách thức này, các nhà nghiên cứu đang khám phá các phương pháp deep learning end-to-end hợp nhất quá trình phát hiện và tracking vào một network duy nhất, đồng thời tận dụng Ultralytics Platform để gắn nhãn các dataset đầy thách thức và huấn luyện các model tùy chỉnh mạnh mẽ.









