Object Tracking
Theo dõi đối tượng liên kết các detection qua những frame video và duy trì ID ổn định cho mỗi đối tượng khi chúng di chuyển hoặc bị che khuất. Tìm hiểu cách hoạt động của tracker và xem code.
Theo dõi đối tượng là một tác vụ thị giác máy tính, định vị đối tượng trong các khung hình video liên tiếp và liên kết các vị trí đó thành quỹ đạo, đồng thời gán cho mỗi đối tượng một ID ổn định. Một chiếc ô tô xuất hiện trong khung hình với ID 7 vẫn giữ ID 7 khi di chuyển, rẽ và tạm thời khuất sau xe buýt; nhờ đó hệ thống có thể đếm đối tượng một lần, đo tốc độ và suy luận hướng di chuyển. Theo dõi một đối tượng duy nhất bám theo một mục tiêu được chọn ở khung hình đầu tiên, trong khi theo dõi nhiều đối tượng (MOT)—hình thức phổ biến nhất trong thực tế—theo dõi đồng thời mọi đối tượng thuộc các lớp quan tâm.
Cách thức hoạt động của theo dõi đối tượng#
Hầu hết các tracker đa đối tượng sử dụng phương pháp theo dõi dựa trên phát hiện: một model phát hiện đối tượng tìm các đối tượng trong từng khung hình, còn tracker liên kết các kết quả phát hiện đó theo thời gian. Các công cụ của tracker gồm model chuyển động, thường là bộ lọc Kalman, độ chồng lấp giữa các box được đo bằng tỷ lệ giao trên hợp (IoU), các vector nhúng biểu diễn ngoại hình tùy chọn từ một model tái nhận dạng đối tượng (Re-ID), và bộ giải bài toán gán tuyến tính như thuật toán Hungary. Trong mỗi khung hình, tracker thực hiện bốn bước:
- Dự đoán: Bộ lọc Kalman giả định vận tốc không đổi và dự đoán vị trí hộp của từng track hiện có trong khung hình mới.
- Tính điểm: Tracker tạo ma trận chi phí giữa các track đã dự đoán và phát hiện mới, dựa trên IoU, chuyển động và, ở một số tracker, độ tương đồng về diện mạo.
- Gán: Bộ giải chọn các cặp khớp một-một có chi phí thấp nhất.
- Quản lý track: Track đã khớp sẽ cập nhật trạng thái; các phát hiện chưa khớp nhưng có độ tin cậy cao sẽ bắt đầu track mới; track chưa khớp được giữ ở trạng thái “mất dấu” trong một số khung hình để có thể khôi phục sau khi bị che khuất.
Bước quản lý vòng đời giúp ID duy trì ổn định khi phát hiện bị gián đoạn trong vài khung hình:
Thiết kế cốt lõi có từ SORT năm 2016, chỉ sử dụng bộ lọc Kalman, chi phí IoU và thuật toán Hungary. DeepSORT bổ sung đặc trưng diện mạo để khôi phục danh tính sau khi bị che khuất; ByteTrack cải thiện recall bằng cách ghép thêm các phát hiện có độ tin cậy thấp trong lượt thứ hai—những phát hiện này thường là đối tượng bị che khuất một phần. Các tracker ra đời sau bổ sung bù chuyển động camera cho camera di động và quy tắc liên kết phong phú hơn để xử lý đám đông.
Theo dõi và phát hiện#
Detector không có trạng thái: detector xử lý độc lập từng khung hình, nên chiếc xe ở khung hình 1 và chiếc xe ở khung hình 2 là hai phát hiện không liên quan. Tracking bổ sung trạng thái để duy trì danh tính qua các khung hình, điều cần thiết cho việc đếm, tính thời gian lưu lại và ước lượng tốc độ. Tracking cũng khác với theo dõi điểm và optical flow, vốn bám theo từng pixel hoặc điểm trên bề mặt mà không nhóm chúng thành các đối tượng có nhãn.
Chế độ track của Ultralytics YOLO bổ sung trạng thái này cho mọi model phát hiện YOLO26, segmentation, pose hoặc hộp định hướng, với sáu tracker tích hợp, bao gồm ByteTrack, BoT-SORT và tracker mặc định TrackTrack:
from ultralytics import YOLO
# Load a YOLO26 detector; track() pairs it with a tracker that assigns persistent IDs
model = YOLO("yolo26n.pt")
detections, track_ids = 0, set()
for result in model.track(
"https://github.com/ultralytics/assets/releases/download/v0.0.0/decelera_portrait_min.mov", stream=True
):
detections += len(result.boxes)
if result.boxes.is_track:
track_ids.update(result.boxes.id.int().tolist())
print(f"Detections summed over all frames: {detections}")
print(f"Unique tracked objects: {len(track_ids)}")Số lượng ID duy nhất nhỏ hơn tổng số phát hiện vì mỗi ID đại diện cho một đối tượng trong tất cả khung hình mà đối tượng đó xuất hiện.
Ứng dụng thực tế#
- Giám sát giao thông và ước lượng tốc độ: Theo dõi từng phương tiện qua các khung hình hỗ trợ đếm, phân tích lưu lượng theo làn và ước lượng tốc độ dựa trên quãng đường track di chuyển mỗi giây.
- Phân tích bán lẻ: Camera cửa hàng theo dõi khách mua sắm để đo lưu lượng khách, độ dài hàng đợi và thời gian dừng trước quầy trưng bày mà không đếm cùng một người hai lần.
- Phân tích thể thao: Đơn vị phát sóng và huấn luyện viên theo dõi cầu thủ cùng bóng để tính quãng đường di chuyển, tốc độ và đội hình.
- Phương tiện tự hành và robot: Các hệ thống perception theo dõi người đi bộ và phương tiện để ước lượng vận tốc, đồng thời dự đoán vị trí của chúng trong giây tiếp theo.
Đo lường chất lượng tracking#
Tracker được so sánh trên các benchmark như MOT17, MOT20 dành cho đám đông đông đúc và DanceTrack dành cho người có ngoại hình giống nhau, di chuyển khó đoán. MOTA gộp số lần bỏ sót, dương tính giả và chuyển đổi danh tính thành một điểm số chịu ảnh hưởng chủ yếu bởi chất lượng phát hiện; IDF1 đo lường mức độ nhất quán khi mỗi đối tượng thực giữ một ID duy nhất; còn HOTA cân bằng cả hai bằng trung bình nhân của độ chính xác phát hiện và độ chính xác liên kết.










