Keypoints
Keypoint là các điểm được đặt tên, chẳng hạn khớp của người, được lưu dưới dạng tọa độ kèm cờ hiển thị. Tìm hiểu cách định nghĩa, gán nhãn, dự đoán và sử dụng keypoint.
Keypoint là các điểm cụ thể, có tên trên một đối tượng, chẳng hạn cổ tay trái của người, tâm bánh xe ô tô hoặc các góc của một chiếc hộp, được lưu dưới dạng tọa độ ảnh. Model ước lượng pose dự đoán một tập keypoint cố định cho mỗi đối tượng tìm thấy, mỗi điểm có một điểm confidence; các cạnh nối giữa chúng tạo thành skeleton mô tả tư thế và hình dạng. Keypoint đánh dấu các bộ phận của đối tượng, cung cấp mô tả chi tiết hơn bounding box bao quanh toàn bộ đối tượng hoặc mask phân đoạn đường viền của đối tượng. Landmark là từ đồng nghĩa, chủ yếu dùng cho khuôn mặt.
Xác định và gán nhãn keypoint#
Mỗi dataset quy định một tập keypoint và thứ tự cố định. COCO định nghĩa 17 keypoint cho cơ thể người: mũi, mắt, tai, vai, khuỷu tay, cổ tay, hông, đầu gối và mắt cá chân. Mỗi nhãn lưu tọa độ x và y cùng cờ hiển thị: 0 là chưa gán nhãn, 1 là đã gán nhãn nhưng bị che khuất, 2 là đã gán nhãn và nhìn thấy. Các tập khác mô tả đối tượng khác, chẳng hạn 21 điểm trong dataset keypoint bàn tay, quy ước khuôn mặt 68 điểm của 300-W, 24 điểm trên mỗi con chó trong Dog-Pose hoặc các góc của một chi tiết được sản xuất. Vì thứ tự keypoint mang ý nghĩa, tăng cường dữ liệu lật ảnh theo chiều ngang cũng phải hoán đổi từng keypoint bên trái với điểm tương ứng bên phải; nếu không, cổ tay trái sau khi lật sẽ vẫn mang nhãn của cánh tay đối diện.
Cách model dự đoán keypoint#
Model deep learning dự đoán keypoint dưới dạng heatmap, mỗi keypoint có một map mà đỉnh đánh dấu vị trí, hoặc hồi quy trực tiếp tọa độ từ đặc trưng ảnh. Mỗi dự đoán đi kèm confidence giảm khi keypoint bị người khác che khuất, bị cắt bởi mép khung hình hoặc nhòe do chuyển động, để ứng dụng có thể bỏ qua điểm confidence thấp thay vì tin vào dự đoán phỏng đoán. Dự đoán được chấm bằng độ tương đồng keypoint của đối tượng (OKS), đại lượng chấp nhận sai số lớn hơn với keypoint mà người gán nhãn ít nhất quán, như hông, so với keypoint chính xác hơn, như mắt.
from ultralytics import YOLO
# Load a YOLO26 pose model that predicts the 17 COCO body keypoints per person
model = YOLO("yolo26n-pose.pt")
results = model("https://ultralytics.com/images/bus.jpg")
keypoints = results[0].keypoints
# COCO order: index 0 is the nose, 9 and 10 are the left and right wrists
for index, name in [(0, "nose"), (9, "left wrist"), (10, "right wrist")]:
x, y = keypoints.xy[0, index].tolist()
print(f"{name}: ({x:.0f}, {y:.0f}), confidence {keypoints.conf[0, index]:.2f}")Mỗi dòng biểu thị một keypoint của người đầu tiên được phát hiện dưới dạng vị trí pixel và confidence; keypoints.xyn chứa các vị trí tương tự đã chuẩn hóa theo kích thước ảnh.
Keypoint ngữ nghĩa và điểm đặc trưng#
Keypoint pose có tính ngữ nghĩa: model học cách nhận diện cổ tay trái. Điểm đặc trưng được detector tìm thấy thay vì xác định trước. SIFT (1999) tìm các blob ổn định khi thay đổi tỷ lệ và phép xoay, ORB (2011) tìm góc đủ nhanh cho việc lập bản đồ thời gian thực, còn SuperPoint (2018) học cách tìm các điểm có thể lặp lại. Descriptor được tính quanh mỗi điểm cho phép các bộ ghép như LightGlue liên kết cùng một điểm giữa các ảnh để đăng ký ảnh, tái tạo 3D và SLAM trực quan; theo dõi điểm cũng bám theo các điểm này qua video.
Đo lường bằng keypoint#
Keypoint biến ảnh thành hình học: hai keypoint cho biết khoảng cách, ba keypoint cho biết góc khớp, còn chuỗi keypoint qua các frame cho biết tốc độ. Giải pháp Ultralytics giám sát luyện tập đếm số lần lặp bài tập theo cách này; theo mặc định, giải pháp đo góc khuỷu tay phải từ keypoint 6, 8 và 10 (vai phải, khuỷu tay và cổ tay) của model pose YOLO26 cho mỗi người được theo dõi:
- Phân tích thể thao: Góc khớp và tốc độ chi từ keypoint mô tả cú đánh golf, sải chân của vận động viên chạy nước rút hoặc động tác ném bóng của vận động viên ném bóng theo từng frame.
- Giám sát tài xế: Landmark mắt và miệng đo thời gian mắt nhắm và tần suất tài xế ngáp, hai dấu hiệu buồn ngủ.
- Hành vi động vật: DeepLabCut theo dõi các điểm do người dùng xác định trên động vật thí nghiệm, chẳng hạn vị trí bàn chân và mõm, đồng thời đạt độ chính xác ngang mức con người với khoảng 200 frame được gán nhãn.










