Bộ dữ liệu COCO-Pose#
Bộ dữ liệu COCO-Pose chuyển thể COCO (Common Objects In Context) cho tác vụ pose estimation: 58.945 hình ảnh từ COCO Keypoints 2017, được gán nhãn cho 156.165 người sử dụng sơ đồ 17 keypoint. Đây là tập chuẩn để huấn luyện và đánh giá benchmark các model keypoint như Ultralytics YOLO26, và tập con COCO8-Pose gồm 8 ảnh mô phỏng định dạng của nó để kiểm tra nhanh.

Các Model đã huấn luyện sẵn COCO-Pose#
| Mô hình | kích thước (pixel) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-pose | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 |
| YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 |
| YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 |
| YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 |
| YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |
Tính năng chính#
- COCO-Pose xây dựng dựa trên thử thách COCO Keypoints 2017, trong đó gán nhãn 1.710.498 keypoint riêng lẻ trên 156.165 người được gán nhãn.
- Mỗi annotation về người sử dụng 17 loại keypoint — mũi, mắt, tai, vai, khuỷu tay, cổ tay, hông, đầu gối và mắt cá chân — được lưu dưới dạng các bộ ba
(x, y, visibility). - Giống như COCO, nó cung cấp các chỉ số đánh giá tiêu chuẩn, bao gồm Object Keypoint Similarity (OKS) cho các tác vụ ước tính tư thế, giúp nó phù hợp để so sánh hiệu suất model.
- Dung lượng tải xuống: ~20,2 GB trong lần sử dụng đầu tiên (
train2017.zip+val2017.zip+ các nhãn). Tệptest2017.zipdung lượng 7 GB không được tải tự động, vì các hình ảnh đó bị ẩn nhãn ground truth và chỉ cần thiết cho việc nộp bài test-dev2017.
Cấu trúc tập dữ liệu#
Để huấn luyện và validation, COCO-Pose chỉ bao gồm các hình ảnh COCO 2017 có người được gán nhãn keypoint, vì vậy các tập split được gán nhãn của nó nhỏ hơn so với COCO đầy đủ. YAML của nó định nghĩa ba tập con:
- Train2017: Tập con này chứa 56.599 hình ảnh từ bộ dữ liệu COCO, được chú thích để huấn luyện các model pose estimation.
- Val2017: Tập con này có 2.346 hình ảnh được sử dụng cho mục đích validation trong quá trình huấn luyện model.
- Test-dev2017: Một tập con gồm 20.288 ảnh trích từ tổng số 40.670 ảnh của tập test2017 với ground truth bị ẩn. Tệp YAML của bộ dữ liệu liên kết phân vùng này với máy chủ đánh giá keypoint COCO test-dev.
Huấn luyện ở quy mô này là lúc Ultralytics Platform phát huy hiệu quả cao nhất — nó quản lý tài nguyên tính toán để bạn có thể khởi chạy và giám sát các lượt chạy mà không cần tự cấu hình GPU.
Ứng dụng#
Bộ dữ liệu COCO-Pose được sử dụng cụ thể để huấn luyện và đánh giá các model deep learning về phát hiện keypoint và pose estimation. Số lượng lớn hình ảnh được gán nhãn và các metric đánh giá tiêu chuẩn của bộ dữ liệu này biến nó thành tài nguyên thiết yếu cho các nhà nghiên cứu và kỹ sư computer vision làm việc về tư thế con người.
YAML tập dữ liệu#
Một tệp YAML được sử dụng để định nghĩa cấu hình bộ dữ liệu. Nó chứa thông tin về đường dẫn, class của bộ dữ liệu và các thông tin liên quan khác. Trong trường hợp của bộ dữ liệu COCO-Pose, tệp coco-pose.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO 2017 Keypoints dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/pose/coco
# Example usage: yolo train data=coco-pose.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco-pose ← downloads here (20.2 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 56599 images
val: val2017.txt # val images (relative to 'path') 2346 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://codalab.lisn.upsaclay.fr/competitions/7403
# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]
# Classes
names:
0: person
# Keypoint names per class
kpt_names:
0:
- nose
- left_eye
- right_eye
- left_ear
- right_ear
- left_shoulder
- right_shoulder
- left_elbow
- right_elbow
- left_wrist
- right_wrist
- left_hip
- right_hip
- left_knee
- right_knee
- left_ankle
- right_ankle
# Download script/URL (optional)
download: |
from pathlib import Path
from ultralytics.utils import ASSETS_URL
from ultralytics.utils.downloads import download
# Download labels
dir = Path(yaml["path"]) # dataset root dir
urls = [f"{ASSETS_URL}/coco2017labels-pose.zip"]
download(urls, dir=dir.parent)
# Download data (test2017.zip excluded: ground truth is withheld, only used for the CodaLab test-dev split)
urls = [
"http://images.cocodataset.org/zips/train2017.zip", # 19G, 118k images
"http://images.cocodataset.org/zips/val2017.zip", # 1G, 5k images
]
download(urls, dir=dir / "images", threads=3)Cách sử dụng#
Để huấn luyện model YOLO26n-pose trên bộ dữ liệu COCO-Pose trong 100 epoch với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các tham số khả dụng, hãy tham khảo trang Training của model.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)Hình ảnh mẫu và chú thích#
Bộ dữ liệu COCO-Pose chứa một tập hợp đa dạng các hình ảnh về con người được chú thích với các điểm chính. Dưới đây là một số ví dụ về hình ảnh từ bộ dữ liệu, cùng với các chú thích tương ứng của chúng:

- Hình ảnh Mosaiced: Hình ảnh này minh họa một batch huấn luyện bao gồm các hình ảnh từ tập dữ liệu đã được áp dụng kỹ thuật Mosaic. Mosaic là một kỹ thuật được sử dụng trong quá trình huấn luyện nhằm kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng sự đa dạng của các đối tượng và bối cảnh trong mỗi batch huấn luyện. Điều này giúp cải thiện khả năng tổng quát hóa của model đối với các kích thước đối tượng, tỷ lệ khung hình và bối cảnh khác nhau.
Ví dụ này cho thấy sự đa dạng và phức tạp của các hình ảnh trong bộ dữ liệu COCO-Pose và những lợi ích của việc sử dụng kỹ thuật mosaic trong quá trình huấn luyện.
Trích dẫn và Ghi nhận#
Nếu bạn sử dụng bộ dữ liệu COCO-Pose trong nghiên cứu hoặc công việc phát triển của mình, vui lòng trích dẫn bài báo sau:
@misc{lin2015microsoft,
title={Microsoft COCO: Common Objects in Context},
author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
year={2015},
eprint={1405.0312},
archivePrefix={arXiv},
primaryClass={cs.CV}
}Chúng tôi xin gửi lời cảm ơn đến Hiệp hội COCO vì đã tạo ra và duy trì tài nguyên có giá trị này cho cộng đồng computer vision. Để biết thêm thông tin về bộ dữ liệu COCO-Pose và những người tạo ra nó, hãy truy cập trang web bộ dữ liệu COCO.
Câu hỏi thường gặp#
COCO-Pose cung cấp các hình ảnh và annotation của COCO Keypoints 2017 được chuyển đổi sang định dạng keypoint của YOLO, sử dụng sơ đồ 17 keypoint trên 58.945 hình ảnh. Trỏ bất kỳ Ultralytics YOLO pose model nào vào đó bằng
data=coco-pose.yaml, và trang Training sẽ tài liệu hóa mọi tham số bạn có thể tinh chỉnh từ đó.Tải
yolo26n-pose.ptvà gọimodel.train(data="coco-pose.yaml", epochs=100, imgsz=640)— hãy xem Train Example ở trên để biết các đoạn mã Python và CLI đầy đủ, cùng với trang training để có danh sách toàn diện các tham số.Bộ dữ liệu COCO-Pose cung cấp một số metric đánh giá tiêu chuẩn cho các tác vụ pose estimation, tương tự như bộ dữ liệu COCO gốc. Các metric chính bao gồm Object Keypoint Similarity (OKS), đánh giá độ chính xác của các keypoint được dự đoán so với các annotation ground truth. Các metric này cho phép so sánh hiệu suất kỹ lưỡng giữa các model khác nhau. Ví dụ: các model được huấn luyện trước của COCO-Pose như YOLO26n-pose, YOLO26s-pose và các model khác có các metric hiệu suất cụ thể được liệt kê trong tài liệu, chẳng hạn như mAPpose50-95 và mAPpose50.
COCO-Pose cung cấp hai phân vùng đã gán nhãn: 56.599 ảnh train2017 và 2.346 ảnh val2017. Phân vùng thứ ba, test-dev2017 (20.288 trong tổng số 40.670 ảnh test2017), giữ kín ground truth; tệp YAML của bộ dữ liệu liên kết nó với máy chủ đánh giá keypoint COCO test-dev. Xem phần Dataset Structure, hoặc tệp
coco-pose.yamltrên GitHub để biết các đường dẫn phân vùng chính xác.COCO-Pose sử dụng 17 loại keypoint con người và kế thừa các metric tiêu chuẩn của COCO, bao gồm Object Keypoint Similarity (OKS), để so sánh các model. Sự kết hợp đó phù hợp với các ứng dụng tư thế con người như phân tích thể thao, chăm sóc sức khỏe và tương tác người-máy. Trọng số YOLO26-pose được huấn luyện trước được liệt kê dưới mục COCO-Pose Pretrained Models.
Để biết thêm thông tin về các model keypoint, hãy xem tài liệu tác vụ Pose Estimation.



