Keypoints
Tìm hiểu cách keypoint xác định hình học và tư thế của đối tượng trong AI. Khám phá ước tính tư thế (pose estimation) với Ultralytics YOLO26 và bắt đầu với Python SDK dễ sử dụng của chúng tôi.
Keypoints là các vị trí không gian hoặc mốc riêng biệt trong một hình ảnh, định nghĩa các đặc trưng quan trọng của một đối tượng hoặc chủ thể. Trong bối cảnh computer vision và machine learning, keypoint thường được biểu diễn bằng một tập hợp tọa độ (X, Y) để xác định chính xác một phần cụ thể của đối tượng, chẳng hạn như khuỷu tay của một người, góc của một tòa nhà, hoặc tâm của bánh xe ô tô. Khác với các tác vụ đơn giản chỉ nhận diện sự hiện diện của một đối tượng, việc xác định keypoints cho phép các mô hình artificial intelligence (AI) hiểu được hình học, tư thế và cấu trúc sắp xếp của chủ thể. Khả năng này là cốt lõi cho phân tích hình ảnh nâng cao, giúp máy móc diễn giải ngôn ngữ cơ thể, theo dõi chuyển động chính xác và căn chỉnh lớp phủ kỹ thuật số với các đối tượng trong thế giới thực.
Vai trò của Keypoints trong các mô hình AI#
Keypoints đóng vai trò là dữ liệu nền tảng cho pose estimation, một kỹ thuật lập bản đồ cấu trúc bộ xương của con người hoặc động vật. Bằng cách phát hiện một tập hợp các điểm được định nghĩa trước—chẳng hạn như vai, đầu gối và mắt cá chân—các thuật toán có thể tái tạo toàn bộ tư thế của chủ thể theo thời gian thực. Quá trình này vượt ra ngoài object detection tiêu chuẩn, vốn thường xuất ra một bounding box bao quanh đối tượng mà không hiểu được hình dạng bên trong của nó.
Các kiến trúc hiện đại, chẳng hạn như Ultralytics YOLO26 tiên tiến nhất, đã tiến hóa để dự đoán các keypoints này với độ chính xác và tốc độ cao. Các mô hình này tận dụng các mạng deep learning (DL) được huấn luyện trên các tập dữ liệu chú thích lớn, chẳng hạn như COCO Keypoints, để học các mẫu hình ảnh liên quan đến các khớp và đặc điểm khuôn mặt. Trong quá trình suy luận (inference), mô hình hồi quy tọa độ cho từng keypoint, thường bao gồm điểm độ tin cậy để chỉ ra mức độ tin cậy của dự đoán.
Keypoints so với các khái niệm liên quan#
Việc phân biệt keypoints với các kết quả đầu ra phổ biến khác trong computer vision sẽ giúp hiểu rõ hơn về tính hữu dụng độc đáo của chúng:
- Keypoints so với Bounding Boxes: Một bounding box cung cấp khả năng định vị thô, bao bọc toàn bộ đối tượng trong một hình chữ nhật. Keypoints cung cấp khả năng định vị chi tiết (fine-grained) cho các bộ phận cụ thể bên trong đối tượng đó.
- Keypoints so với Image Segmentation: Image segmentation phân loại mọi pixel để tạo ra một mặt nạ chính xác về hình dạng của đối tượng. Trong khi segmentation cung cấp thông tin ranh giới chi tiết, keypoints lại cung cấp một bản tóm tắt cấu trúc (một "bộ xương") thường hiệu quả hơn trong việc phân tích chuyển động và kinematics.
- Keypoints so với Feature Descriptors: Trong xử lý ảnh truyền thống như SIFT (Scale-Invariant Feature Transform), keypoints là các điểm quan tâm (góc, vùng đốm) dùng để khớp ảnh. Trong pose estimation bằng DL hiện đại, keypoints là các nhãn ngữ nghĩa (ví dụ: "cổ tay trái") được học bởi mạng.
Các ứng dụng trong thực tế#
Khả năng theo dõi các bộ phận cơ thể hoặc đặc điểm đối tượng cụ thể mở ra nhiều ứng dụng đa dạng trong các ngành công nghiệp:
- Phân tích thể thao: Huấn luyện viên và vận động viên sử dụng pose estimation để phân tích cơ sinh học. Bằng cách theo dõi keypoints trên các khớp, hệ thống có thể tính toán góc và vận tốc để cải thiện kỹ thuật trong các môn thể thao như gôn, quần vợt hoặc chạy nước rút. Xem cách Ultralytics YOLO models track golf swings để cung cấp phản hồi có thể hành động.
- Chăm sóc sức khỏe và phục hồi chức năng: Các nền tảng vật lý trị liệu tận dụng keypoints để giám sát bài tập của bệnh nhân từ xa. Hệ thống đảm bảo bệnh nhân duy trì tư thế đúng trong quá trình phục hồi chức năng, giúp giảm nguy cơ chấn thương và theo dõi tiến độ hồi phục.
- Augmented Reality (AR): Các bộ lọc mạng xã hội và ứng dụng thử đồ ảo dựa vào keypoints khuôn mặt (đường viền mắt, mũi, miệng) để cố định các mặt nạ hoặc kính kỹ thuật số vào khuôn mặt người dùng, duy trì sự căn chỉnh ngay cả khi họ di chuyển.
- Giám sát lái xe: Các hệ thống an toàn ô tô theo dõi các cột mốc khuôn mặt để phát hiện dấu hiệu buồn ngủ hoặc mất tập trung, cảnh báo người lái nếu mắt họ nhắm lại hoặc vị trí đầu cho thấy sự thiếu chú ý.
Triển khai phát hiện điểm đặc trưng với Ultralytics YOLO26#
Sử dụng Ultralytics Platform hoặc Python SDK, các nhà phát triển có thể dễ dàng triển khai tính năng phát hiện keypoint. Ví dụ sau minh họa cách tải một YOLO26-pose model đã được huấn luyện trước và chạy suy luận trên một hình ảnh để phát hiện bộ xương người.
from ultralytics import YOLO
# Load a pre-trained YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results showing detected keypoints and skeletons
for result in results:
result.show() # Display the image with keypoints drawn
# Access keypoint coordinates (x, y, confidence)
keypoints = result.keypoints.data
print(f"Detected keypoints shape: {keypoints.shape}")Quy trình đơn giản này cho phép triển khai nhanh chóng các ứng dụng computer vision (CV) phức tạp. Đối với những người dùng muốn huấn luyện các mô hình keypoint tùy chỉnh của riêng họ—ví dụ để phát hiện các điểm cụ thể trên máy móc công nghiệp hoặc các loài động vật—Ultralytics Platform đơn giản hóa quy trình chú thích dữ liệu và huấn luyện mô hình trên đám mây.
Các cân nhắc nâng cao#
Triển khai thành công tính năng phát hiện keypoint đòi hỏi phải xử lý các thách thức như hiện tượng che khuất (khi một bộ phận cơ thể bị ẩn) và các điều kiện chiếu sáng khác nhau. Các mô hình hiện đại giải quyết vấn đề này thông qua việc data augmentation mạnh mẽ trong quá trình huấn luyện, cho phép mạng tiếp xúc với các kịch bản đa dạng. Hơn nữa, việc tích hợp keypoints với các thuật toán object tracking cho phép nhận diện cá thể nhất quán theo thời gian trong các luồng video, điều cần thiết cho các ứng dụng như bảo mật hoặc phân tích hành vi.






