Bỏ để qua phần nội dung

Tập dữ liệu COCO-Pose

Bộ dữ liệu COCO-Pose là 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 nhiệm vụ ước tính tư thế. Nó tận dụng hình ảnh và nhãn COCO Keypoints 2017 để cho phép đào tạo các mô hình như YOLO cho các nhiệm vụ ước tính tư thế.

Tạo dáng ảnh mẫu

Mô hình đào tạo sẵn COCO-Pose

Mẫu kích thước
(điểm ảnh)
bản đồtư thế
50-95
bản đồtư thế
50
Tốc độ
CPU ONNX
(Cô)
Tốc độ
A100 TensorRT
(Cô)
Params
(M)
Flops
(B)
YOLOv8n-tư thế 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-tư thế 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-tư thế 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-tư thế 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-tư thế 640 69.2 90.2 1607.1 3.73 69.4 263.2
YOLOv8x-Tư thế-P6 1280 71.6 91.2 4088.7 10.04 99.1 1066.4

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 với các điểm chính cho các nhiệm 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 ước tính tư thế chi tiết.
  • Giống như COCO, nó cung cấp các số liệu đánh giá được tiêu chuẩn hóa, bao gồm Tương tự điểm chính đối tượng (OKS) cho các nhiệm 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 tập dữ liệu

Tập 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 một phần của 118K hình ảnh từ tập dữ liệu COCO, được chú thích cho các mô hình ước tính tư thế đào tạo.
  2. Val2017: Tập hợp con này có một lựa chọn hình ảnh được sử dụng cho mục đích xác thực trong quá trình đào tạo 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à đo điểm chuẩn cho các mô hình được đào tạo. Chú thích sự thật cơ bản cho tập hợp con này không có sẵn 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

Bộ dữ liệu COCO-Pose được sử dụng đặc biệt để đào tạo và đánh giá các mô hình học sâu trong các nhiệm vụ phát hiện điểm chính và ước tính đặt ra, 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á được tiêu chuẩn hóa của bộ dữ liệu 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 thị giác máy tính và các học viên tập trung vào ước tính tư thế.

Tập dữ liệu YAML

Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình tập dữ liệu. Nó chứa thông tin về đường dẫn, lớp và 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 YOLO 🚀, AGPL-3.0 license
# COCO 2017 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: ../datasets/coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794

# 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 ultralytics.utils.downloads import download
  from pathlib import Path

  # Download labels
  dir = Path(yaml['path'])  # dataset root dir
  url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/'
  urls = [url + 'coco2017labels-pose.zip']  # labels
  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)

Sử dụng

Để đào tạo một YOLOv8nMô hình -pose trên tập dữ liệu COCO-Pose cho 100 kỷ nguyên với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để biết danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Đào tạo mẫu.

Ví dụ về tàu hỏa

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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 detect train data=coco-pose.yaml model=yolov8n-pose.pt epochs=100 imgsz=640

Hình ảnh mẫu và chú thích

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

  • Hình ảnh khảm: Hình ảnh này thể hiện một lô đào tạo bao gồm các hình ảnh tập dữ liệu được khảm. Khảm là một kỹ thuật được sử dụng trong quá trình đào tạo 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 đợt đào tạo. Điều này giúp cải thiện khả năng khái quát hóa mô hình cho 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 và lợi ích của việc sử dụng khảm trong quá trình đào tạo.

Trích dẫn và xác nhậ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 COCO Consortium đã 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ề bộ 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.

FAQ

Tập dữ liệu COCO-Pose là gì và nó được sử dụng như thế nào Ultralytics YOLO để ước tính tư thế?

Bộ dữ liệu COCO-Pose là 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 nhiệm 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 đào tạo 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 để đào tạo YOLOv8n-pose model bằng cách tải một mô hình được đào tạo trước và đào tạo nó với cấu hình YAML. Để biết ví dụ đào tạo, hãy tham khảo tài liệu Đào tạo .

Làm thế nào tôi có thể đào tạo một YOLOv8 mô hình trên tập dữ liệu COCO-Pose?

Đào tạo một YOLOv8 mô hình trên tập dữ liệu COCO-Pose có thể được thực hiện bằng cách sử dụng một trong hai Python hoặc CLI Lệnh. Ví dụ, để đào tạo một YOLOv8n-pose model cho 100 kỷ nguyên với kích thước hình ảnh là 640, bạn có thể làm theo các bước dưới đây:

Ví dụ về tàu hỏa

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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 detect train data=coco-pose.yaml model=yolov8n.pt epochs=100 imgsz=640

Để biết thêm chi tiết về quy trình đào tạo và các đối số có sẵn, hãy kiểm tra trang đào tạo.

Các số liệu khác nhau được cung cấp bởi bộ dữ liệu COCO-Pose để đá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á được tiêu chuẩn hóa cho các nhiệm vụ ước tính tư thế, tương tự như bộ 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 chính được dự đoán so với các chú thích sự thật cơ bản. 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 đào tạo trước COCO-Pose như YOLOv8n-tư thế YOLOv8s-pose, và những người khá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.

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

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

  1. Train2017: Chứa một phần của hình ảnh COCO 118K, được chú thích cho các mô hình ước tính tư thế đào tạo.
  2. Val2017: Hình ảnh được chọn cho mục đích xác thực trong quá trình đào tạo mô hình.
  3. Test2017: Hình ảnh được sử dụng để kiểm tra và đo điểm chuẩn cho các mô hình được đào tạo. Chú thích sự thật cơ bản cho tập hợp con này không có sẵn 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 các giai đoạn đào tạo, xác nhận và thử nghiệm một cách hiệu quả. Để 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 điểm chính cho hình người, cho phép ước tính tư thế chi tiết. Các số liệu đánh giá được chuẩn hóa (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 cần ước tính chi tiết về hình người. Để sử dụng thực tế, tận dụng các mô hình được đào tạo trước như các mô hình được cung cấp trong tài liệu (ví dụ: YOLOv8n-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 đây.



Đã tạo 2023-11-12, Cập nhật 2024-07-17
Tác giả: hnliu_2@stu.xidian.edu.cn (1), glenn-jocher (7), RizwanMunawar (1), Laughing-q (1)

Ý kiến