Bộ dữ liệu COCO8-Pose

Giới thiệu

Ultralytics COCO8-Pose là một bộ dữ liệu phát hiện tư thế (pose detection) nhỏ gọn nhưng đa năng, bao gồm 8 ảnh đầu tiên từ tập train COCO 2017, với 4 ảnh dùng để huấn luyện và 4 ảnh để kiểm thử. Bộ dữ liệu này rất lý tưởng để kiểm tra và debug các model object detection, hoặc để thử nghiệm các phương pháp phát hiện mới. Với 8 ảnh, bộ dữ liệu này đủ nhỏ để dễ dàng quản lý, nhưng vẫn đủ đa dạng để kiểm tra lỗi của các pipeline huấn luyện và đóng vai trò kiểm tra tính hợp lý trước khi huấn luyện trên các bộ dữ liệu lớn hơn.

Cấu trúc tập dữ liệu

  • Tổng số ảnh: 8 (4 train / 4 val).
  • Số lớp: 1 (người) với 17 điểm đặc trưng (keypoints) mỗi annotation.
  • Cấu trúc thư mục khuyến nghị: datasets/coco8-pose/images/{train,val}datasets/coco8-pose/labels/{train,val} với các keypoint theo định dạng YOLO được lưu dưới dạng tệp .txt.

Tập dữ liệu này được thiết kế để sử dụng với Ultralytics PlatformYOLO26.

Dataset YAML

Một tệp YAML (Yet Another Markup Language) được sử dụng để định nghĩa cấu hình của bộ dữ liệu. Tệp này 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. Đối với bộ dữ liệu COCO8-Pose, tệp coco8-pose.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml.

ultralytics/cfg/datasets/coco8-pose.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose/
# Example usage: yolo train data=coco8-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-pose ← downloads here (1 MB)

# 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: coco8-pose # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# 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: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-pose.zip

Cách sử dụng

Để huấn luyện một model YOLO26n-pose trên bộ dữ liệu COCO8-Pose trong 100 epoch với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để xem danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Training của model.

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="coco8-pose.yaml", epochs=100, imgsz=640)

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

Dưới đây là một số ví dụ về ảnh từ bộ dữ liệu COCO8-Pose, cùng với các annotation tương ứng:

COCO8-pose keypoint estimation dataset mosaic
  • 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 thể hiện sự đa dạng và phức tạp của các hình ảnh trong bộ dữ liệu COCO8-Pose cũng như những 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à Ghi nhận

Nếu bạn sử dụng tập dữ liệu COCO 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:

Trích dẫn
@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 gửi lời cảm ơn đến COCO Consortium vì đã tạo và duy trì nguồn tài nguyên quý giá này cho cộng đồng thị giác máy tính (computer vision). Để biết thêm thông tin về tập dữ liệu COCO và những người tạo ra nó, hãy truy cập trang web của tập dữ liệu COCO.

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

Bộ dữ liệu COCO8-Pose là gì và nó được sử dụng như thế nào với Ultralytics YOLO26?

Bộ dữ liệu COCO8-Pose là một bộ dữ liệu phát hiện tư thế nhỏ, đa năng bao gồm 8 ảnh đầu tiên từ tập train COCO 2017, với 4 ảnh để huấn luyện và 4 ảnh để kiểm thử. Nó được thiết kế để kiểm tra và debug các model object detection cũng như thử nghiệm các phương pháp phát hiện mới. Bộ dữ liệu này rất lý tưởng cho các thử nghiệm nhanh với Ultralytics YOLO26. Để biết thêm chi tiết về cấu hình bộ dữ liệu, hãy xem tệp YAML của bộ dữ liệu.

Làm thế nào để tôi huấn luyện một model YOLO26 bằng cách sử dụng bộ dữ liệu COCO8-Pose trong Ultralytics?

Để huấn luyện một model YOLO26n-pose trên bộ dữ liệu COCO8-Pose trong 100 epoch với kích thước ảnh là 640, hãy làm theo các ví dụ sau:

Ví dụ huấn luyện
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)

Để xem danh sách đầy đủ các đối số huấn luyện, hãy tham khảo trang Training của model.

Lợi ích của việc sử dụng bộ dữ liệu COCO8-Pose là gì?

Bộ dữ liệu COCO8-Pose mang lại một số lợi ích:

  • Kích thước nhỏ gọn: Chỉ với 8 ảnh, bộ dữ liệu rất dễ quản lý và hoàn hảo cho các thử nghiệm nhanh.
  • Dữ liệu đa dạng: Mặc dù có kích thước nhỏ, nó bao gồm nhiều bối cảnh khác nhau, hữu ích cho việc kiểm tra kỹ lưỡng các pipeline.
  • Debug lỗi: Lý tưởng để xác định các lỗi huấn luyện và thực hiện kiểm tra tính hợp lý trước khi mở rộng quy mô sang các bộ dữ liệu lớn hơn.

Để biết thêm về các tính năng và cách sử dụng, hãy xem phần Giới thiệu về Bộ dữ liệu.

Mosaicing mang lại lợi ích gì cho quá trình huấn luyện YOLO26 khi sử dụng bộ dữ liệu COCO8-Pose?

Kỹ thuật mosaicing, được minh họa trong các hình ảnh mẫu của bộ dữ liệu COCO8-Pose, kết hợp nhiều hình ảnh thành một, làm tăng sự đa dạng của các đố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 nhiều kích thước đối tượng, tỷ lệ khung hình và ngữ cảnh khác nhau, cuối cùng là nâng cao hiệu suất của model. Xem phần Ảnh và Annotation Mẫu để biết thêm các ví dụ.

Tôi có thể tìm tệp YAML của bộ dữ liệu COCO8-Pose ở đâu và sử dụng nó như thế nào?

Tệp YAML của bộ dữ liệu COCO8-Pose có thể được tìm thấy tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml. Tệp này định nghĩa cấu hình bộ dữ liệu, bao gồm các đường dẫn, lớp và các thông tin liên quan khác. Hãy sử dụng tệp này với các tập lệnh huấn luyện YOLO26 như đã đề cập trong phần Ví dụ Huấn luyện.

Để biết thêm các câu hỏi thường gặp và tài liệu chi tiết, hãy truy cập Tài liệu Ultralytics.

Bình luận