Point Tracking
Khám phá các nguyên lý cơ bản của theo dõi điểm (point tracking) trong thị giác máy tính. Tìm hiểu cách Ultralytics YOLO26 và các model AI tiên tiến theo dõi chuyển động chính xác cho robot và VFX.
Theo dõi điểm là một tác vụ cơ bản trong thị giác máy tính, bao gồm việc ước tính và theo dõi sự di chuyển của các điểm cụ thể, đã được khu trú (như pixels hoặc các đặc trưng riêng biệt) qua các khung hình liên tiếp trong một chuỗi video theo thời gian. Khác với object tracking, vốn giám sát vị trí tổng quát của toàn bộ thực thể bằng cách sử dụng bounding boxes hoặc segmentation masks, theo dõi điểm tập trung vào mức độ chi tiết tinh vi hơn, ở cấp độ dưới pixel. Bằng cách xác định và duy trì mối tương quan giữa các vị trí chính xác này, các hệ thống artificial intelligence (AI) có thể thực hiện các tác vụ video understanding nâng cao đòi hỏi khả năng phân tích chuyển động phức tạp.
Link to this sectionTìm hiểu về Theo dõi điểm#
Việc theo dõi chính xác các điểm trong một cảnh động là một thách thức lớn. Các điểm được theo dõi thường xuyên gặp phải tình trạng occlusions—nơi các đối tượng tạm thời chặn tầm nhìn của camera—hoặc chúng có thể hoàn toàn rời khỏi field of view. Ngoài ra, những thay đổi về ánh sáng, dịch chuyển góc nhìn và các chuyển động nhanh có thể làm thay đổi đáng kể diện mạo trực quan của một điểm.
Trong lịch sử, các thuật toán cổ điển như Lucas-Kanade optical flow đã xử lý các tác vụ này. Tuy nhiên, các phương pháp hiện đại sử dụng các kiến trúc deep learning mạnh mẽ. Những cải tiến gần đây từ các tổ chức nghiên cứu lớn, chẳng hạn như Google DeepMind's TAPIR (Tracking Any Point with Initialization and Refinement) và Meta AI's CoTracker3, đã tạo ra cuộc cách mạng trong lĩnh vực này. Khác với các phương pháp cũ theo dõi điểm một cách độc lập, các model như CoTracker3 sử dụng transformers để thực hiện theo dõi kết hợp nhiều điểm, tận dụng các phụ thuộc vật lý giữa các điểm thuộc cùng một đối tượng. Những model tiên tiến này cũng tận dụng pseudo-labeling trên các video thực tế để huấn luyện các hệ thống có độ chính xác cao với yêu cầu dữ liệu giảm đáng kể.
Link to this sectionTheo dõi điểm so với các tác vụ liên quan#
Mặc dù có liên quan chặt chẽ, theo dõi điểm khác biệt đáng kể so với các tác vụ thị giác máy tính khác:
- Object Tracking: Gán ID duy nhất cho toàn bộ đối tượng (ví dụ: người hoặc xe) và theo dõi chúng. Tác vụ này dựa nhiều vào các model object detection như Ultralytics YOLO26.
- Pose Estimation: Theo dõi các keypoint ngữ nghĩa cụ thể (như các khớp của con người) thay vì các pixel tùy ý. Mặc dù có những điểm tương đồng với theo dõi điểm, pose estimation đòi hỏi sự hiểu biết về mặt ngữ nghĩa đối với khung cấu trúc của đối tượng.
Link to this sectionCác ứng dụng trong thực tế#
Theo dõi điểm là yếu tố hỗ trợ quan trọng cho nhiều ứng dụng nâng cao:
- 3D Reconstruction and Structure-from-Motion (SfM): Bằng cách theo dõi các đặc trưng cụ thể qua các góc camera hoặc khung hình video khác nhau, các hệ thống có thể suy luận độ sâu và xây dựng các bản tái tạo 3D chính xác về môi trường, điều này rất cần thiết cho việc lập bản đồ augmented reality (AR).
- Robotics and Autonomous Navigation: Các phương tiện tự hành và robot sử dụng theo dõi điểm (thường thông qua visual odometry) để hiểu chuyển động của chúng so với môi trường xung quanh, tính toán trajectories và điều hướng an toàn qua các môi trường động phức tạp.
- Video Editing and Special Effects: Phần mềm kỹ xảo chuyên nghiệp (VFX) dựa nhiều vào theo dõi điểm để ổn định các thước phim bị rung hoặc gắn kết liền mạch computer-generated imagery (CGI) vào các đối tượng chuyển động trong cảnh quay vật lý.
Link to this sectionTheo dõi Keypoint với Ultralytics#
Trong khi các trình theo dõi điểm chung theo dõi các pixel trực quan tùy ý, bạn có thể theo dõi các keypoint cấu trúc cụ thể (như mắt, vai hoặc cổ tay của con người) bằng cách sử dụng khả năng theo dõi tư thế của gói ultralytics. Model YOLO26 được khuyến nghị cung cấp khả năng theo dõi keypoint tốc độ cao, end-to-end, rất lý tưởng cho phân tích chuyển động.
from ultralytics import YOLO
# Load the recommended YOLO26 pose model for keypoint tracking
model = YOLO("yolo26n-pose.pt")
# Perform pose tracking on a video stream to follow human keypoints over time
results = model.track(source="video.mp4", stream=True)
# Iterate through the stream to process temporal keypoint tracking data
for frame_result in results:
# Each keypoint maintains its association across frames
print(f"Tracked {len(frame_result.keypoints)} human skeletons in current frame.")Khi triển khai các quy trình làm việc thị giác máy tính ở quy mô lớn, Ultralytics Platform cung cấp một giải pháp hợp lý cho data annotation, huấn luyện model và deployment liền mạch, đảm bảo hiệu suất đáng tin cậy trên nhiều môi trường edge và đám mây khác nhau.






