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ế. Nó tận dụng hình ảnh và nhãn COCO Keypoints 2017 để cho phép huấn luyện các mô hình như YOLO cho các tác vụ ước tính tư thế.

Các mô hình COCO-Pose tiền huấn luyện
| Mô hình | 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, chứa 200 nghìn hình ảnh được gắn nhãn với các điểm chính cho các tác vụ ước tính tư thế.
- Bộ dữ liệu hỗ trợ 17 điểm chính 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, nó cung cấp các số liệu đánh giá tiêu chuẩn, bao gồm Object Keypoint Similarity (OKS) cho các tác vụ ước tính tư thế, làm cho nó phù hợp để so sánh hiệu suất mô hình.
Cấu trúc bộ 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 mô hình ước tính tư thế.
- Val2017: Tập hợ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 mô hình.
- Test2017: Tập con này bao gồm các hình ảnh được sử dụng để kiểm tra và đánh giá các mô hình đã 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.
Các ứ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 mô hình học sâu trong các tác vụ detect điểm chính 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 số liệu đá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à thực hành thị giác máy tính tập trung vào ước tính tư thế.
YAML bộ dữ liệu
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, lớp và các thông tin liên quan khác của tập dữ liệu. Trong trường hợp tập dữ liệu COCO-Pose, coco-pose.yaml tệp được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.
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ô hình YOLO26n-pose trên tập dữ liệu COCO-Pose trong 100 epoch với kích thước ảnh 640, bạn có thể sử dụng các đoạn mã sau. Để biết danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Huấn luyện mô hình.
Ví dụ huấn luyện
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)
# Start training from a pretrained *.pt model
yolo pose train data=coco-pose.yaml model=yolo26n-pose.pt epochs=100 imgsz=640
Ảnh và Chú thích mẫu
Tập dữ liệu COCO-Pose chứa một tập hợp đa dạng các hình ảnh có hình người được chú thích bằng các điểm chính (keypoint). 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:

- Hình ảnh Mosaiced: Hình ảnh này minh họa một lô huấn luyện bao gồm các hình ảnh bộ dữ liệu được mosaiced. Mosaicing là một 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 các đối tượng và cảnh trong mỗi lô 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à ngữ cảnh khác nhau của đối tượng.
Ví dụ 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 mosaicing trong quá trình huấn luyện.
Trích dẫn và Lời cảm ơn
Nếu bạn sử dụng tập dữ liệu COCO-Pose trong công trình 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:
@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 Hiệp hội COCO đã tạo ra và duy trì nguồn 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ề 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
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ó được xây dựng dựa trên hình ảnh và chú thích COCO Keypoints 2017, cho phép huấn luyện các mô hình 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ô hình YOLO26n-pose bằng cách tải một mô hình đã được huấn luyện trước và huấn luyện nó với cấu hình YAML. Để biết các ví dụ huấn luyện, hãy tham khảo tài liệu Huấn luyện.
Làm thế nào tôi có thể huấn luyện một mô hình YOLO26 trên tập dữ liệu COCO-Pose?
Việc huấn luyện mô hình YOLO26 trên tập dữ liệu COCO-Pose có thể được thực hiện bằng lệnh python hoặc CLI. Ví dụ, để huấn luyện mô hình YOLO26n-pose trong 100 epoch với kích thước ảnh 640, bạn có thể làm theo các bước dưới đây:
Ví dụ huấn luyện
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)
# Start training from a pretrained *.pt model
yolo pose train data=coco-pose.yaml model=yolo26n-pose.pt epochs=100 imgsz=640
Để biết thêm chi tiết về quy trình huấn luyện và các đối số có sẵn, hãy xem trang huấn luyện.
Các số liệu khác nhau được cung cấp bởi tập dữ liệu COCO-Pose để đánh giá hiệu suất mô hình 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á độ chính xác của các điểm khóa dự đoán so với chú thích ground truth. Các chỉ số này cho phép so sánh hiệu suất kỹ lưỡng giữa các mô hình khác nhau. Ví dụ, các mô hình COCO-Pose đã được huấn luyện trước như YOLO26n-pose, YOLO26s-pose và các mô hình 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à chia tách 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 mô hình ướ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 mô hình.
- Test2017: Hình ảnh được sử dụng để kiểm tra và đánh giá các mô hình đã 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 hợp con này giúp tổ chức hiệu quả các giai đoạn huấn luyện, xác thực và thử nghiệm. Để biết chi tiết cấu hình, hãy khám phá coco-pose.yaml tệp 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 COCO Keypoints 2017 để bao gồm 17 điểm khóa 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 mô hình khác nhau. Các ứng dụng của tập dữ liệu COCO-Pose trải rộng 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 tính, bất cứ nơi nào yêu cầu ước tính tư thế chi tiết của hình người. Để sử dụng thực tế, việc tận dụng các mô hình đã được huấn luyện trước như những mô hình đượ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 (Các Tính năng Chính).
Nếu bạn sử dụng tập dữ liệu COCO-Pose trong công trình 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 mục BibTeX sau.