Tập dữ liệu COCO-Pose
Tập dữ liệu COCO-Pose là một phiên bản chuyên biệt của tập dữ liệu COCO (Common Objects in Context), được thiết kế cho các tác vụ ước tính tư thế (pose estimation). Nó tận dụng hình ảnh và nhãn của COCO Keypoints 2017 để cho phép huấn luyện các model như YOLO cho các tác vụ ước tính tư thế.

Các Model đã huấn luyện sẵn COCO-Pose
| Model | kích thước (pixels) | mAPpose 50-95(e2e) | mAPpose 50(e2e) | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (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 |
Các tính năng chính
- COCO-Pose được xây dựng dựa trên tập dữ liệu COCO Keypoints 2017, bao gồm 200.000 hình ảnh được gắn nhãn với các điểm đặc trưng cho các tác vụ ước tính tư thế.
- Tập dữ liệu hỗ trợ 17 điểm đặc trưng cho hình người, tạo điều kiện thuận lợi cho việc ước tính tư thế chi tiết.
- Giống như COCO, tập dữ liệu 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ó trở nên phù hợp để so sánh hiệu suất của các model.
Cấu trúc tập dữ liệu
Tập dữ liệu COCO-Pose được chia thành ba tập con:
- Train2017: Tập con này chứa 56599 hình ảnh từ tập dữ liệu COCO, được chú thích để huấn luyện các model ước tính tư thế.
- Val2017: Tập con này có 2346 hình ảnh được sử dụng cho mục đích xác thực trong quá trình huấn luyện model.
- Test2017: Tập con này bao gồm các hình ảnh được sử dụng để kiểm thử và đánh giá các model đã được huấn luyện. Các chú thích ground truth cho tập con này không được công khai và kết quả được gửi đến máy chủ đánh giá COCO để đánh giá hiệu suất.
Ứng dụng
Tập dữ liệu COCO-Pose được sử dụng đặc biệt để huấn luyện và đánh giá các model deep learning trong các tác vụ phát hiện điểm đặc trưng và ước tính tư thế, chẳng hạn như OpenPose. Số lượng lớn hình ảnh được chú thích và các chỉ số đánh giá tiêu chuẩn của tập dữ liệu làm cho nó trở thành một tài nguyên thiết yếu cho các nhà nghiên cứu và người thực hành computer vision tập trung vào ước tính tư thế.
Dataset YAML
Một tệp YAML (Yet Another Markup Language) được sử dụng để định nghĩa cấu hình tập dữ liệu. Nó chứa thông tin về đường dẫn, các class và thông tin liên quan khác của tập dữ liệu. Đối với tập 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.1 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
urls = [
"http://images.cocodataset.org/zips/train2017.zip", # 19G, 118k images
"http://images.cocodataset.org/zips/val2017.zip", # 1G, 5k images
"http://images.cocodataset.org/zips/test2017.zip", # 7G, 41k images (optional)
]
download(urls, dir=dir / "images", threads=3)Cách sử dụng
Để huấn luyện một model YOLO26n-pose trên tập dữ liệu COCO-Pose trong 100 epochs với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để có danh sách đầy đủ các đối 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 và chú thích mẫu
Tập dữ liệu COCO-Pose chứa một bộ sưu tập hình ảnh đa dạng với các hình người được chú thích các điểm đặc trưng. Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu, cùng với các chú thích tương ứng của chúng:

- Mosaiced Image: Hình ảnh này minh họa một batch huấn luyện bao gồm các hình ảnh tập dữ liệu được ghép lại (mosaic). Mosaicing 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 vật thể và cảnh quan 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 mô hình đối với các kích thước, tỷ lệ khung hình và bối cảnh vật thể khác nhau.
Ví dụ này minh họa sự đa dạng và phức tạp của các hình ảnh trong tập dữ liệu COCO-Pose cũng như 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 tập dữ liệu COCO-Pose trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo sau đây:
@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 COCO Consortium vì đã tạo và duy trì nguồn tài nguyên quý giá này cho cộng đồng computer vision. Để biết thêm thông tin về tập dữ liệu COCO-Pose và những người tạo ra nó, hãy truy cập trang web tập dữ liệu COCO.
Câu hỏi thường gặp (FAQ)
Tập dữ liệu COCO-Pose là gì và nó được sử dụng như thế nào với Ultralytics YOLO để ước tính tư thế?
Tập dữ liệu COCO-Pose là một phiên bản chuyên biệt của tập dữ liệu COCO (Common Objects in Context) được thiết kế cho các tác vụ ước tính tư thế. Nó xây dựng dựa trên hình ảnh và chú thích của COCO Keypoints 2017, cho phép huấn luyện các model như Ultralytics YOLO để ước tính tư thế chi tiết. Ví dụ, bạn có thể sử dụng tập dữ liệu COCO-Pose để huấn luyện một model YOLO26n-pose bằng cách tải model đã được huấn luyện sẵn và huấn luyện nó với cấu hình YAML. Để biết các ví dụ về huấn luyện, hãy tham khảo tài liệu Training.
Làm thế nào để tôi có thể huấn luyện một model YOLO26 trên tập dữ liệu COCO-Pose?
Việc huấn luyện một model YOLO26 trên tập dữ liệu COCO-Pose có thể thực hiện được bằng cách sử dụng Python hoặc các lệnh CLI. Ví dụ, để huấn luyện một model YOLO26n-pose trong 100 epoch với kích thước hình ảnh là 640, bạn có thể thực hiện theo các bước dưới đây:
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)Để biết thêm chi tiết về quy trình huấn luyện và các đối số khả dụng, hãy kiểm tra trang đào tạo.
Các chỉ số khác nhau do tập dữ liệu COCO-Pose cung cấp để đánh giá hiệu suất của model là gì?
Tập dữ liệu COCO-Pose cung cấp một số chỉ số đánh giá tiêu chuẩn cho các tác vụ ước tính tư thế, tương tự như tập dữ liệu COCO gốc. Các chỉ số chính bao gồm Object Keypoint Similarity (OKS), đánh giá accuracy của các điểm đặc trưng được dự đoán so với các chú thích ground truth. Những chỉ số 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 sẵn COCO-Pose như YOLO26n-pose, YOLO26s-pose và các model khác có các chỉ số hiệu suất cụ thể được liệt kê trong tài liệu, như mAPpose50-95 và mAPpose50.
Tập dữ liệu COCO-Pose được cấu trúc và phân chia như thế nào?
Tập dữ liệu COCO-Pose được chia thành ba tập con:
- Train2017: Chứa 56599 hình ảnh COCO, được chú thích để huấn luyện các model ước tính tư thế.
- Val2017: 2346 hình ảnh cho mục đích xác thực trong quá trình huấn luyện model.
- Test2017: Các hình ảnh được sử dụng để kiểm thử và đánh giá các model đã huấn luyện. Các chú thích ground truth cho tập con này không được công khai; kết quả được gửi đến máy chủ đánh giá COCO để đánh giá hiệu suất.
Các tập con này giúp tổ chức các giai đoạn huấn luyện, xác thực và kiểm thử một cách hiệu quả. Để biết chi tiết cấu hình, hãy khám phá tệp coco-pose.yaml có sẵn trên GitHub.
Các tính năng và ứng dụng chính của tập dữ liệu COCO-Pose là gì?
Tập dữ liệu COCO-Pose mở rộng các chú thích của COCO Keypoints 2017 để bao gồm 17 điểm đặc trưng cho hình người, cho phép ước tính tư thế chi tiết. Các chỉ số đánh giá tiêu chuẩn (ví dụ: OKS) tạo điều kiện thuận lợi cho việc so sánh giữa các model khác nhau. Các ứng dụng của tập dữ liệu COCO-Pose trải rộng trên nhiều lĩnh vực, như phân tích thể thao, chăm sóc sức khỏe và tương tác người-máy, bất cứ nơi nào cần ước tính tư thế chi tiết của con người. Để sử dụng thực tế, việc tận dụng các model đã huấn luyện sẵn như các model được cung cấp trong tài liệu (ví dụ: YOLO26n-pose) có thể hợp lý hóa đáng kể quy trình (Key Features).
Nếu bạn sử dụng tập dữ liệu COCO-Pose trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo với BibTeX entry sau.