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ế với Ultralytics YOLO26 và bắt đầu sử dụng Python SDK dễ dùng của chúng tôi.
Keypoint là các vị trí không gian hoặc mốc riêng biệt trong ảnh, xác định những đặc điểm quan trọng của một đối tượng hoặc chủ thể. Trong lĩnh vực thị giác máy tính và machine learning, keypoint thường được biểu diễn bằng một tập tọa độ (X, Y) xác định vị trí của một bộ phận cụ thể trên đối tượng, chẳng hạn như khuỷu tay của một người, góc của tòa nhà hoặc tâm bánh xe ô tô. Khác với các tác vụ đơn giản hơn chỉ xác định sự hiện diện của đối tượng, việc xác định keypoint cho phép các model trí tuệ nhân tạo (AI) hiểu hình học, tư thế và cấu trúc của chủ thể. Khả năng này là nền tảng 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 keypoint trong các model AI#
Keypoint cung cấp dữ liệu nền tảng cho ước tính tư thế, một kỹ thuật lập bản đồ cấu trúc bộ xương của người hoặc động vật. Bằng cách phát hiện một tập hợp điểm được xác định trước—chẳng hạn vai, đầu gối và mắt cá chân—các thuật toán có thể tái dựng toàn bộ tư thế của chủ thể theo thời gian thực. Quy trình này vượt xa phát hiện đối tượng thông thường, vốn thường tạo bounding box quanh đối tượng mà không hiểu hình dạng bên trong.
Các kiến trúc hiện đại, chẳng hạn Ultralytics YOLO26 tiên tiến nhất, đã phát triển để dự đoán các keypoint này với độ chính xác và tốc độ cao. Các model này sử dụng mạng học sâu (DL) được huấn luyện trên các tập dữ liệu chú thích khổng lồ như COCO Keypoints, nhằm học các mẫu hình ảnh liên quan đến khớp và đặc điểm khuôn mặt. Trong quá trình suy luận, model hồi quy tọa độ của từng keypoint, thường kèm theo điểm độ tin cậy để biểu thị mức độ đáng tin của dự đoán.
Keypoint và các khái niệm liên quan#
Để hiểu rõ tính hữu ích riêng biệt của keypoint, cần phân biệt keypoint với các đầu ra thị giác máy tính phổ biến khác:
- Keypoint và bounding box: Bounding box cung cấp khả năng định vị thô, bao quanh toàn bộ đối tượng bằng một hình chữ nhật. Keypoint định vị chi tiết các bộ phận cụ thể bên trong đối tượng đó.
- Keypoint và phân đoạn ảnh: Phân đoạn ảnh phân loại từng pixel để tạo mask chính xác theo hình dạng của đối tượng. Trong khi phân đoạn cung cấp thông tin ranh giới chi tiết, keypoint đưa ra bản tóm tắt cấu trúc ("bộ xương"), thường hiệu quả hơn khi phân tích chuyển động và động học.
- Keypoint và descriptor đặc trưng: Trong xử lý ảnh truyền thống như SIFT (Scale-Invariant Feature Transform), keypoint là các điểm đáng chú ý (góc, đốm) được dùng để so khớp ảnh. Trong ước tính tư thế DL hiện đại, keypoint là các nhãn ngữ nghĩa (ví dụ: "cổ tay trái") được mạng học.
Ứng dụng 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 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 ước tính tư thế để phân tích cơ sinh học. Bằng cách theo dõi keypoint tại 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ư golf, tennis hoặc chạy nước rút. Xem cách các model Ultralytics YOLO theo dõi cú đánh golf để đưa ra phản hồi có thể áp dụ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 keypoint để giám sát từ xa các bài tập của bệnh nhân. Hệ thống đảm bảo bệnh nhân giữ đúng tư thế trong các bài tập phục hồi chức năng, giảm nguy cơ chấn thương và theo dõi tiến trình hồi phục.
- Thực tế tăng cường (AR): Bộ lọc mạng xã hội và ứng dụng thử đồ ảo dựa vào keypoint trên khuôn mặt (mắt, mũi, đường viền miệng) để cố định mặt nạ kỹ thuật số hoặc kính chắc chắn trên khuôn mặt người dùng, duy trì căn chỉnh ngay cả khi họ di chuyển.
- Giám sát tài xế: Các hệ thống an toàn ô tô theo dõi các mốc trên khuôn mặt để phát hiện dấu hiệu buồn ngủ hoặc mất tập trung, đồng thời cảnh báo tài xế nếu mắt họ nhắm lại hoặc tư thế đầu cho thấy họ thiếu chú ý.
Triển khai phát hiện keypoint với Ultralytics YOLO26#
Với Ultralytics Platform hoặc Python SDK, 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 model YOLO26-pose được huấn luyện trước và chạy suy luận trên ả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 các ứng dụng thị giác máy tính (CV) tinh vi. Đối với người dùng muốn huấn luyện model keypoint tùy chỉnh của riêng mình—chẳng hạn để 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 model trên cloud.
Các lưu ý nâng cao#
Triển khai thành công tính năng phát hiện keypoint đòi hỏi xử lý các thách thức như che khuất (khi một bộ phận cơ thể bị ẩn) và điều kiện ánh sáng đa dạng. Các model hiện đại giải quyết vấn đề này thông qua tăng cường dữ liệu hiệu quả trong quá trình huấn luyện, giúp mạng tiếp xúc với nhiều tình huống khác nhau. Ngoài ra, việc tích hợp keypoint với các thuật toán theo dõi đối tượng cho phép nhận diện nhất quán các cá nhân theo thời gian trong luồng video, điều thiết yếu cho các ứng dụng như an ninh hoặc phân tích hành vi.










