Ultralytics YOLO27:

Bộ dữ liệu COCO8#

Giới thiệu#

Bộ dữ liệu COCO8 của Ultralytics là một bộ dữ liệu phát hiện đối tượng nhỏ gọn nhưng mạnh mẽ, gồm 8 ảnh đầu tiên từ tập train 2017 của COCO—4 ảnh dùng để huấn luyện và 4 ảnh dùng để validation. Bộ dữ liệu này được thiết kế riêng cho việc kiểm thử nhanh, gỡ lỗi và thử nghiệm với các model YOLO và pipeline huấn luyện. Kích thước nhỏ giúp bộ dữ liệu dễ quản lý, trong khi tính đa dạng đảm bảo nó đóng vai trò như một bước kiểm tra tính hợp lý hiệu quả trước khi mở rộng lên các bộ dữ liệu lớn hơn.



Watch: Ultralytics COCO Dataset Overview

Cấu trúc bộ dữ liệu#

COCO8 gồm 8 ảnh đầu tiên từ tập train 2017 của COCO—4 ảnh dùng để huấn luyện và 4 ảnh dùng để validation—bao phủ toàn bộ 80 lớp đối tượng của COCO trong định dạng nhãn YOLO:

coco8/
├── images/
│   ├── train/   # 4 images
│   └── val/     # 4 images
└── labels/
    ├── train/
    └── val/

Khám phá COCO8 trên Ultralytics Platform để xem từng ảnh cùng các lớp phủ annotation, xem phân bố lớp và heatmap bounding box trong tab Charts, cũng như clone bộ dữ liệu để huấn luyện model của riêng bạn trên cloud.

YAML của bộ dữ liệu#

Cấu hình bộ dữ liệu COCO8 được định nghĩa trong một file YAML, trong đó chỉ định đường dẫn bộ dữ liệu, tên lớp và các metadata thiết yếu khác. Bạn có thể xem file chính thức coco8.yaml trong repository Ultralytics trên GitHub.

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

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← 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 # 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)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

Cách sử dụng#

Bộ dữ liệu COCO8 (1 MB) sẽ tự động được tải xuống khi bạn bắt đầu huấn luyện lần đầu. Để huấn luyện model YOLO26n trên COCO8 trong 100 epoch với kích thước ảnh là 640, hãy sử dụng các ví dụ sau. Để xem đầy đủ các tùy chọn huấn luyện, tham khảo tài liệu Huấn luyện YOLO.

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

# Load a pretrained YOLO26n model
model = YOLO("yolo26n.pt")

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

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

Dưới đây là ví dụ về một batch huấn luyện ghép mosaic từ bộ dữ liệu COCO8:

COCO8 object detection dataset mosaic training batch
  • Ảnh ghép mosaic: Ảnh này minh họa một batch huấn luyện trong đó nhiều ảnh từ bộ dữ liệu được kết hợp bằng phép tăng cường mosaic. Phép tăng cường mosaic làm tăng tính đa dạng của các đối tượng và cảnh trong mỗi batch, giúp model khái quát tốt hơn với nhiều kích thước đối tượng, tỷ lệ khung hình và nền khác nhau.

Kỹ thuật này đặc biệt hữu ích cho các bộ dữ liệu nhỏ như COCO8, vì nó tối đa hóa giá trị của từng ảnh trong quá trình huấn luyện.

Trích dẫn và ghi nhận đóng góp#

Nếu bạn 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}
}

Đặc biệt cảm ơn COCO Consortium vì những đóng góp liên tục cho cộng đồng thị giác máy tính.

FAQ#

  • Bộ dữ liệu COCO8 của Ultralytics được thiết kế để kiểm thử nhanh và gỡ lỗi các model phát hiện đối tượng. Với chỉ 8 ảnh (4 ảnh huấn luyện, 4 ảnh validation), bộ dữ liệu này lý tưởng để xác minh pipeline huấn luyện YOLO và đảm bảo mọi thứ hoạt động như mong đợi trước khi mở rộng lên các bộ dữ liệu lớn hơn. Khám phá cấu hình YAML của COCO8 để biết thêm chi tiết.

  • Bạn có thể huấn luyện model YOLO26 trên COCO8 bằng Python hoặc CLI:

    Ví dụ huấn luyện
    from ultralytics import YOLO
    
    # Load a pretrained YOLO26n model
    model = YOLO("yolo26n.pt")
    
    # Train the model on COCO8
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Để biết thêm các tùy chọn huấn luyện, hãy tham khảo tài liệu Huấn luyện YOLO.

  • Phép tăng cường mosaic được sử dụng khi huấn luyện COCO8 sẽ kết hợp nhiều ảnh thành một ảnh trong mỗi batch. Điều này làm tăng tính đa dạng của các đối tượng và nền, giúp model YOLO khái quát tốt hơn với các tình huống mới. Phép tăng cường mosaic đặc biệt có giá trị đối với các bộ dữ liệu nhỏ, vì nó tối đa hóa lượng thông tin có sẵn trong mỗi bước huấn luyện. Để tìm hiểu thêm, hãy xem hướng dẫn huấn luyện.

  • Để validation model YOLO26 sau khi huấn luyện trên COCO8, hãy sử dụng các lệnh validation của model trong Python hoặc CLI. Thao tác này đánh giá hiệu suất của model bằng các metric tiêu chuẩn. Để xem hướng dẫn từng bước, hãy truy cập tài liệu Validation YOLO.

Bình luận