Dataset COCO-Pose#
Dataset COCO-Pose điều chỉnh COCO (Đối tượng phổ biến trong ngữ cảnh) cho tác vụ ước tính tư thế: 58.945 hình ảnh từ COCO Keypoints 2017 được gán nhãn cho 156.165 người theo bộ quy ước gồm 17 keypoint. Đây là bộ dữ liệu tiêu chuẩn để huấn luyện và đánh giá hiệu năng các model keypoint như Ultralytics YOLO26, còn tập con COCO8-Pose gồm 8 hình ảnh có định dạng tương tự, dùng để kiểm tra tính hợp lý nhanh chóng.

Model COCO-Pose đã huấn luyện trước#
| Model | 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.6 |
| YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 24.1 |
| YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.3 |
| YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.7 |
| YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 202.3 |
Tính năng chính#
- COCO-Pose được 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.
- Mỗi chú thích 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). - Tương tự COCO, dataset này cung cấp các metric đánh giá tiêu chuẩn hóa, bao gồm Độ tương đồng keypoint đối tượng (OKS) cho các tác vụ ước tính tư thế, phù hợp để so sánh hiệu năng model.
- Dung lượng tải xuống: ~20.2 GB trong lần sử dụng đầu tiên (
train2017.zip+val2017.zip+ nhãn). Tệptest2017.zipdung lượng 7 GB không được tải tự động, vì các hình ảnh này không có ground truth công khai và chỉ cần thiết khi nộp kết quả test-dev2017.
Cấu trúc dataset#
Khi 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 dữ liệu có nhãn nhỏ hơn toàn bộ COCO. Tệp YAML định nghĩa ba tập con:
- Train2017: Tập con này gồm 56.599 hình ảnh từ dataset COCO, được gán nhãn để huấn luyện model ước tính tư thế.
- Val2017: Tập con này có 2.346 hình ảnh dùng cho validation trong quá trình huấn luyện model.
- Test-dev2017: Tập con gồm 20.288 hình ảnh thuộc tập test2017 đầy đủ có 40.670 hình ảnh, với ground truth được giữ kín. Tệp YAML của dataset liên kết tập 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ả nhất — nền tảng này quản lý tài nguyên tính toán để bạn có thể khởi chạy và theo dõi các lượt chạy mà không cần tự cấp phát GPU.
Ứng dụng#
Dataset COCO-Pose được dùng cụ thể để huấn luyện và đánh giá model học sâu trong phát hiện keypoint và ước tính tư thế. Số lượng lớn hình ảnh được gán nhãn cùng các metric đánh giá tiêu chuẩn hóa khiến dataset này trở thành tài nguyên thiết yếu cho các nhà nghiên cứu và chuyên gia thị giác máy tính làm việc về tư thế người.
YAML của dataset#
Tệp YAML được dùng để xác định cấu hình dataset. Tệp này chứa thông tin về đường dẫn, lớp và các thông tin liên quan khác của dataset. Với dataset 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 dataset COCO-Pose trong 100 epoch với kích thước hình ảnh 640, bạn có thể dùng các đoạn mã sau. Để xem danh sách đầy đủ các tham số hiện có, hãy tham khảo trang Huấn luyện model.
from ultralytics import YOLO
# Tải model
model = YOLO("yolo26n-pose.pt") # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện)
# Huấn luyện model
results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)Hình ảnh mẫu và annotation#
Bộ dữ liệu COCO-Pose chứa nhiều hình ảnh đa dạng có hình người được gán nhãn keypoint. Dưới đây là một số hình ảnh trong bộ dữ liệu cùng với các chú thích tương ứng:

- Ảnh ghép Mosaic: Hình ảnh này minh họa một batch huấn luyện được tạo từ các ảnh mosaic của bộ dữ liệu. Mosaic là kỹ thuật được sử dụng trong quá trình huấn luyện, 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 đối tượng và bối cảnh trong mỗi batch huấn luyện. Kỹ thuật 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à ngữ cảnh khác nhau.
Ví dụ này cho thấy sự đa dạng và phức tạp của hình ảnh trong bộ dữ liệu COCO-Pose cũng như lợi ích của việc ghép ảnh mosaic trong quá trình huấn luyện.
Trích dẫn và lời cảm ơn#
Nếu sử dụng bộ dữ liệu COCO-Pose trong nghiên cứu hoặc phát triển, 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 ghi nhận đóng góp của COCO Consortium trong việc tạo và duy trì tài nguyên quý giá này cho cộng đồng thị giác máy tính. Để biết thêm thông tin về bộ dữ liệu COCO-Pose và những người tạo ra bộ dữ liệu, 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 hình ảnh và chú thích COCO Keypoints 2017 đã được chuyển đổi sang định dạng keypoint YOLO, sử dụng lược đồ 17 keypoint trên 58,945 hình ảnh. Trỏ bất kỳ model pose Ultralytics YOLO nào vào
data=coco-pose.yaml; trang Huấn luyện mô tả 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)— xem Ví dụ huấn luyện ở trên để biết đầy đủ các đoạn mã Python và CLI, và xem trang huấn luyện để biết danh sách tham số đầy đủ.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ụ ước tính tư thế, tương tự bộ dữ liệu COCO gốc. Các metric chính bao gồm Object Keypoint Similarity (OKS), dùng để đánh giá độ chính xác của các keypoint dự đoán so với chú thích ground truth. Những metric này cho phép so sánh kỹ lưỡng hiệu suất giữa các model khác nhau. Ví dụ: các model pretrained COCO-Pose như YOLO26n-pose, YOLO26s-pose và các model khá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 bao gồm hai tập được gán nhãn: 56,599 hình ảnh train2017 và 2,346 hình ảnh val2017. Tập thứ ba, test-dev2017 (20,288 trong tổng số 40,670 hình ảnh test2017), giữ kín ground truth; YAML của bộ dữ liệu liên kết tập này với máy chủ đánh giá keypoint COCO test-dev. Xem phần Cấu trúc bộ dữ liệu hoặc tệp
coco-pose.yamltrên GitHub để biết chính xác đường dẫn các tập.COCO-Pose sử dụng 17 loại keypoint 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 model. Sự kết hợp này phù hợp với các ứng dụng ước tính tư thế 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 pretrained được liệt kê trong mục Model COCO-Pose pretrained.
Để tìm hiểu thêm về model keypoint, xem tài liệu tác vụ Ước tính tư thế.



