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à theo dõi các thực thể bằng Ultralytics YOLO26 cho lái xe tự hành, bán lẻ và nhiều hơn nữa.
Theo dõi đa đối tượng (MOT) là một tác vụ động trong thị giác máy tính (CV), liên quan đến việc phát hiện nhiều thực thể riêng biệt trong luồng video và duy trì danh tính của chúng theo thời gian. Không giống như phát hiện đối tượng tiêu chuẩn, vốn coi mỗi khung hình là một ảnh chụp nhanh riêng biệt, MOT giới thiệu một chiều thời gian cho trí tuệ nhân tạo (AI). Bằng cách gán một mã định danh (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 truy vết 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 cho hiểu video hiện đại và cho phép máy móc nhận biết sự liên tục trong một môi trường thay đổi.
Link to this sectionCách thức hoạt động của MOT#
Hầu hết các hệ thống theo dõi đương đại hoạt động dựa trên mô hình "theo dõi bằng phát hiện" (tracking-by-detection). Phương pháp này chia quy trình thành hai giai đoạn chính: xác định những gì có trong khung hình và sau đó liên kết các kết quả đó với các đối tượng đã biết từ trước.
-
Phát hiện: Trong mỗi khung hình, một mô hình hiệu suất cao như YOLO26 quét hình ảnh để định vị các đối tượng, tạo ra các hộp bao (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 đố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 vùng tìm kiếm trong khung hình tiếp theo.
-
Liên kết dữ liệu: Hệ thống khớp các phát hiện mới với các track hiện có. Các phương pháp tối ưu hóa như thuật toán Hungary giải quyết vấn đề gán này bằng cách giảm thiểu chi phí khớp, thường dựa vào Intersection over Union (IoU) để đo lường sự chồng chéo về không gian.
-
Tái nhận dạng (ReID): Khi xảy ra các vật cản thị giác—được gọi là tắc nghẽn (occlusion)—các trình theo dõi tiên tiến sử dụng embedding thị giác để nhận diện đối tượng khi nó xuất hiện trở lại. Điều này giúp ngăn chặn "chuyển đổi ID", đảm bảo hệ thống biết rằng chiếc xe đi ra từ đường hầm chính là chiếc xe đã đi vào đó.
Link to this sectionPhân biệt MOT với Theo dõi đơn đối tượng#
Mặc dù thuật ngữ tương tự nhau, Theo dõi đa đối tượng (MOT) khác biệt đáng kể so với Theo dõi đơn đối tượng (SOT). SOT tập trung vào việc theo dõi một mục tiêu cụ thể được khởi tạo trong khung hình đầu tiên, thường bỏ qua tất cả các thực thể khác. Ngược lại, MOT phải xử lý một số lượng mục tiêu không xác định và thay đổi, có thể đi vào hoặc rời khỏi cảnh bất cứ lúc nào. Điều này khiến MOT đòi hỏi tính toán cao hơn, vì nó yêu cầu logic mạnh mẽ để xử lý việc khởi tạo track, chấm dứt track và các tương tác phức tạp giữa nhiều cơ thể đang chuyển động.
Link to this sectionCác ứng dụng trong thực tế#
Khả năng theo dõi đồng thời nhiều thực thể thúc đẩy đổi mới trên nhiều ngành công nghiệp lớn.
- Lái xe tự hành: Xe tự lái dựa rất nhiều vào MOT để điều hướng 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, hệ thống tự hành có thể dự đoán vị trí tương lai để tránh va chạm. Điều 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 vật lý, nhà bán lẻ sử dụng AI trong bán lẻ để lập bản đồ hành trình khách hàng. Các thuật toán MOT tạo ra bản đồ nhiệt (heatmap) về lưu lượng người đi bộ, giúp nhà 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ách sử dụng các kỹ thuật ước tính tư thế (pose estimation).
Link to this sectionTriển khai MOT với Python#
Ultralytics giúp việc triển khai theo dõi với các mô hình hiện đại trở nên đơn giản. Phương thức track() tích hợp logic phát hiện và theo dõi một cách liền mạch, hỗ trợ các thuật toán như ByteTrack và BoT-SORT. Ví dụ dưới đây minh họa việc theo dõi phương tiện trong video bằng mô hình 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()}")Link to this sectionNhững thách thức trong theo dõi đa đối tượng#
Mặc dù có những tiến bộ, MOT vẫn là một lĩnh vực đầy thách thức. Tắc nghẽn (Occlusion) là 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 chạy marathon bận rộn hoặc một đàn chim, kiểm tra giới hạn của các thuật toán liên kết dữ liệu. Hơn nữa, 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 các kiến trúc mô hình hiệu quả và thường là phần cứng chuyên dụng như 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 học sâu end-to-end hợp nhất việc phát hiện và theo dõi vào một mạng duy nhất, cũng như tận dụng Nền tảng Ultralytics để chú thích các tập dữ liệu đầy thách thức và huấn luyện các mô hình tùy chỉnh mạnh mẽ.






