Ultralytics YOLO27:
Get Started

Bộ dữ liệu COCO8-Pose#

Giới thiệu#

Bộ dữ liệu COCO8-Pose của Ultralytics là bộ dữ liệu ước tính tư thế nhỏ nhưng linh hoạt, gồm 8 hình ảnh đầu tiên của tập COCO train 2017 (4 hình ảnh huấn luyện, 4 hình ảnh xác thực), sử dụng lược đồ 17 keypoint cho lớp "person" duy nhất. Bộ dữ liệu này lý tưởng để kiểm thử và gỡ lỗi model ước tính tư thế, hoặc thử nghiệm các phương pháp phát hiện keypoint mới. Với 8 hình ảnh, bộ dữ liệu đủ nhỏ để dễ quản lý nhưng cũng đủ đa dạng để kiểm tra lỗi trong pipeline huấn luyện và làm bước kiểm tra sơ bộ trước khi huấn luyện trên bộ dữ liệu COCO-Pose đầy đủ.

Cấu trúc dataset#

  • Tổng số hình ảnh: 8 (4 train / 4 val).
  • Lớp: 1 (person), với 17 loại keypoint cho mỗi chú thích.
  • Dung lượng tải xuống: ~1 MB.
  • Bố cục thư mục đề xuất: datasets/coco8-pose/images/{train,val} và datasets/coco8-pose/labels/{train,val}, với keypoint định dạng YOLO được lưu trong các tệp .txt.

Khám phá COCO8-Pose trên Ultralytics Platform để duyệt từng hình ảnh cùng bộ khung xương keypoint, xem phân bố keypoint và lớp trong tab Charts, rồi sao chép bộ dữ liệu để huấn luyện model của riêng bạn trên cloud.

YAML của dataset#

Tệp YAML được dùng để xác định cấu hình bộ dữ liệu. Tệp này chứa thông tin về đường dẫn, lớp và các thông tin liên quan khác của bộ dữ liệu. 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 model YOLO26n-pose trên bộ dữ liệu COCO8-Pose trong 100 epoch với kích thước ảnh 640, bạn có thể dùng các đoạn mã sau. Để xem danh sách đầy đủ các tham số hiện có, hãy tham khảo trang Huấn luyện model.

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

# Tải model
model = YOLO("yolo26n-pose.pt")  # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện)

# Huấn luyện model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)

Hình ảnh mẫu và annotation#

Dưới đây là một số hình ảnh trong bộ dữ liệu COCO8-Pose cùng với các chú thích tương ứng:

COCO8-pose keypoint estimation dataset mosaic
  • Ảnh ghép Mosaic: Hình ảnh này minh họa một batch huấn luyện được tạo từ các ảnh mosaic của bộ dữ liệu. Mosaic là 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 đố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 các kích thước đối tượng, tỷ lệ khung hình và ngữ cảnh khác nhau.

Trích dẫn và lời cảm ơn#

Nếu sử dụng bộ dữ liệu COCO trong nghiên cứu hoặc phát triển, 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 cảm ơn COCO Consortium đã tạo và duy trì 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 và những người tạo ra bộ dữ liệu, hãy truy cập trang web bộ dữ liệu COCO.

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

  • Bộ dữ liệu COCO8-Pose là bộ dữ liệu ước tính tư thế nhỏ, linh hoạt, gồm 8 hình ảnh đầu tiên từ tập COCO train 2017, trong đó có 4 hình ảnh huấn luyện và 4 hình ảnh xác thực. Bộ dữ liệu được thiết kế để kiểm thử, gỡ lỗi model ước tính tư thế và thử nghiệm các phương pháp phát hiện keypoint mới. Đây là bộ dữ liệu 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.

  • Tải yolo26n-pose.pt và gọi model.train(data="coco8-pose.yaml", epochs=100, imgsz=640) — xem Ví dụ huấn luyện ở trên để biết đầy đủ các đoạn mã Python và CLI, và xem trang Huấn luyện của model để biết danh sách tham số đầy đủ.

  • Với tổng cộng 8 hình ảnh (4 train / 4 val), 1 lớp, lược đồ 17 keypoint và dung lượng tải xuống ~1 MB, COCO8-Pose đủ nhỏ để quản lý chỉ trong vài giây nhưng cũng đủ đa dạng để kiểm tra lỗi trong pipeline huấn luyện pose trước khi mở rộng quy mô lên bộ dữ liệu COCO-Pose đầy đủ. Để biết thêm về các tính năng và cách sử dụng, xem phần Giới thiệu bộ dữ liệu.

  • Ghép ảnh mosaic kết hợp nhiều hình ảnh thành một, tăng sự đa dạng của đối tượng và khung cảnh trong mỗi batch huấn luyện, giúp model khái quát tốt hơn trên nhiều kích thước, tỷ lệ khung hình và ngữ cảnh đối tượng. Xem phần Hình ảnh mẫu và chú thích để biết ví dụ.

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

    Để tìm hiểu thêm về model keypoint, xem tài liệu tác vụ Ước tính tư thế.

Bình luận