Chuyển đến nội dung

Bộ dữ liệu COCO-Pose

Bộ dữ liệu COCO-Pose là một phiên bản chuyên biệt của bộ dữ liệu COCO (Các đối tượng phổ biến trong ngữ cảnh), đượ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ế.

Ảnh mẫu tư thế

Các mô hình COCO-Pose được huấn luyện trước

Mô hình Kích thước
(pixels)
mAPpose
50-95
mAPpose
50
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLO11n-pose 640 50.0 81.0 52.4 ± 0.5 1.7 ± 0.0 2.9 7.6
YOLO11s-pose 640 58.9 86.3 90.5 ± 0.6 2.6 ± 0.0 9.9 23.2
YOLO11m-pose 640 64.9 89.4 187.3 ± 0.8 4.9 ± 0.1 20.9 71.7
YOLO11l-pose 640 66.1 89.9 247.7 ± 1.1 6.4 ± 0.1 26.2 90.7
YOLO11x-pose 640 69.5 91.1 488.0 ± 13.9 12.1 ± 0.2 58.8 203.3

Các tính năng chính

  • COCO-Pose được xây dựng dựa trên bộ dữ liệu COCO Keypoints 2017, chứa 200 nghìn hình ảnh được gắn nhãn bằng 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.
  • Tương tự 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

Bộ dữ liệu COCO-Pose được chia thành ba tập hợp con:

  1. Train2017: Tập hợp con này chứa 56599 hình ảnh từ bộ dữ liệu COCO, được chú thích để huấn luyện các mô hình ước tính tư thế.
  2. 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.
  3. Test2017: Tập hợ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 đã được huấn luyện. Các chú thích ground truth cho tập hợp con này không được cung cấp 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

Bộ 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ụ phát hiện keypoint và ước tính tư thế, chẳng hạn như OpenPose. Số lượng lớn các hình ảnh được chú thích và các số liệu đánh giá tiêu chuẩn của bộ dữ liệu này làm cho nó trở thành một nguồn tài nguyên thiết yếu cho các nhà nghiên cứu và các chuyên gia thị giác máy tính tập trung vào ước tính tư thế.

YAML bộ dữ liệu

Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình bộ dữ liệu. Nó chứa thông tin về đường dẫn, các lớp và các thông tin liên quan khác của bộ dữ liệu. Trong trường hợp bộ 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

# Download script/URL (optional)
download: |
  from pathlib import Path

  from ultralytics.utils.downloads import download

  # Download labels
  dir = Path(yaml["path"])  # dataset root dir
  url = "https://github.com/ultralytics/assets/releases/download/v0.0.0/"
  urls = [f"{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 YOLO11n-pose trên tập dữ liệu COCO-Pose trong 100 epochs 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 đối số có sẵn, hãy tham khảo trang Training (Huấn luyện) của mô hình.

Ví dụ huấn luyện

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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=yolo11n-pose.pt epochs=100 imgsz=640

Ảnh và Chú thích mẫu

Bộ dữ liệu COCO-Pose chứa một tập hợp đa dạng các hình ảnh với hình người được chú thích bằng các keypoint. 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:

Ảnh mẫu bộ dữ liệu

  • 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ụ này thể hiện sự đa dạng và phức tạp của hình ảnh trong bộ dữ liệu COCO-Pose và những lợi ích của việc sử dụng 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 bộ 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:

@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 công của COCO Consortium vì đã tạo ra và duy trì nguồn tài nguyên giá trị 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 nó, hãy truy cập trang web của bộ dữ liệu COCO.

Câu hỏi thường gặp

Bộ 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ế?

Bộ dữ liệu COCO-Pose là một phiên bản chuyên biệt của bộ dữ liệu COCO (Các đối tượng phổ biến trong ngữ cảnh) đượ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 bộ dữ liệu COCO-Pose để huấn luyện mô hình YOLO11n-pose bằng cách tải mô hình được huấn luyện trước và huấn luyện nó bằng 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 Huấn luyện.

Làm thế nào để huấn luyện một mô hình YOLO11 trên bộ dữ liệu COCO-Pose?

Huấn luyện mô hình YOLO11 trên bộ dữ liệu COCO-Pose có thể được thực hiện bằng các lệnh Python hoặc CLI. Ví dụ: để huấn luyện mô hình YOLO11n-pose trong 100 epochs với kích thước hình ảnh là 640, bạn có thể làm theo các bước bên dưới:

Ví dụ huấn luyện

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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=yolo11n-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 do bộ dữ liệu COCO-Pose cung cấp để đánh giá hiệu suất mô hình là gì?

Bộ dữ liệu COCO-Pose cung cấp một số số liệu đánh giá tiêu chuẩn cho các tác vụ ước tính tư thế, tương tự như bộ dữ liệu COCO gốc. Các số liệu 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 chú thích ground truth. Các số liệu 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 được huấn luyện trước COCO-Pose như YOLO11n-pose, YOLO11s-pose và các mô hình khác có các số liệu hiệu suất cụ thể được liệt kê trong tài liệu, như mAPpose50-95 và mAPpose50.

Cấu trúc và phân chia tập dữ liệu cho tập dữ liệu COCO-Pose như thế nào?

Bộ dữ liệu COCO-Pose được chia thành ba tập hợp con:

  1. 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ế.
  2. Val2017: 2346 hình ảnh cho mục đích xác thực trong quá trình huấn luyện mô hình.
  3. Test2017: Hình ảnh được sử dụng để kiểm tra và đánh giá các mô hình đã được huấn luyện. Các chú thích ground truth cho tập hợp con này không được cung cấp 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 bộ dữ liệu COCO-Pose là gì?

Bộ dữ liệu COCO-Pose mở rộng các chú thích COCO Keypoints 2017 để bao gồm 17 keypoint cho hình người, cho phép ước tính tư thế chi tiết. Các số liệu đánh giá tiêu chuẩn (ví dụ: OKS) tạo điều kiện so sánh giữa các mô hình khác nhau. Các ứng dụng của bộ dữ liệu COCO-Pose trải rộng trên nhiều lĩnh vực khác nhau, chẳng hạn như phân tích thể thao, chăm sóc sức khỏe và tương tác giữa người và 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ư các mô hình được cung cấp trong tài liệu (ví dụ: YOLO11n-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 bộ 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 mục BibTeX sau.



📅 Đã tạo 1 năm trước ✏️ Đã cập nhật 8 tháng trước

Bình luận