Ultralytics YOLO27:

Bộ dữ liệu COCO8-Seg#

Giới thiệu#

Ultralytics COCO8-Seg là một bộ dữ liệu phân đoạn instance nhỏ nhưng linh hoạt, gồm 8 ảnh đầu tiên của tập COCO train 2017, trong đó 4 ảnh dùng để train và 4 ảnh dùng để validation. Bộ dữ liệu này lý tưởng để kiểm thử và debug các model phân đoạn hoặc thử nghiệm các phương pháp detection mới. Với 8 ảnh, bộ dữ liệu đủ nhỏ để dễ dàng quản lý nhưng vẫn đủ đa dạng để kiểm tra pipeline train nhằm phát hiện lỗi và thực hiện sanity check trước khi train các bộ dữ liệu lớn hơn.

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

  • Ảnh: Tổng cộng 8 ảnh (4 train / 4 val).
  • Class: 80 category của COCO.
  • Nhãn: Các polygon theo định dạng YOLO được lưu trong labels/{train,val}, tương ứng với từng file ảnh.
  • Kích thước tải xuống: ~1 MB.

Khám phá COCO8-Seg trên Ultralytics Platform để duyệt từng ảnh cùng các polygon mask tương ứng, xem phân phối class và heatmap annotation trong tab Charts, cũng như clone bộ dữ liệu để train model của riêng bạn trên cloud.

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

Một file YAML được dùng để định nghĩa cấu hình dataset. File này chứa thông tin về các path, class và những thông tin liên quan khác của dataset. Đối với dataset COCO8-Seg, file coco8-seg.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml.

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

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

Cách sử dụng#

Để train model YOLO26n-seg trên dataset COCO8-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách đầy đủ các argument 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-seg.pt")  # load a pretrained model (recommended for training)

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

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

Dưới đây là một số ví dụ về ảnh trong dataset COCO8-Seg cùng với annotation tương ứng:

COCO8-seg instance segmentation dataset mosaic
  • Hình ảnh dạng mosaic: Hình ảnh này minh họa một batch train được tạo từ các hình ảnh dataset dạng mosaic. Mosaicing là một kỹ thuật được sử dụng trong quá trình train, kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng tính đa dạng của đối tượng và cảnh trong mỗi batch train. Điều 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à ghi nhận đóng góp#

Nếu bạn sử dụng dataset COCO trong công trình nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn paper 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 ghi nhận đóng góp của COCO Consortium trong việc tạo và duy trì resource có giá trị này cho cộng đồng thị giác máy tính. Để biết thêm thông tin về dataset COCO và những người tạo ra dataset, hãy truy cập website dataset COCO.

FAQ#

  • Dataset COCO8-Seg là một dataset phân đoạn instance nhỏ gọn của Ultralytics, gồm 8 ảnh đầu tiên từ tập COCO train 2017 (4 ảnh dùng để train, 4 ảnh dùng để validation). Dataset này được thiết kế để kiểm thử và debug các model phân đoạn hoặc thử nghiệm các phương pháp detection mới. Dataset đặc biệt hữu ích khi dùng với Ultralytics YOLO26 để lặp nhanh và kiểm tra lỗi pipeline trước khi mở rộng lên các dataset lớn hơn. Để biết cách sử dụng chi tiết, hãy tham khảo trang Training của model.

  • Để train model YOLO26n-seg trên dataset COCO8-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể sử dụng các lệnh Python hoặc CLI. Dưới đây là một ví dụ nhanh:

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

    Để xem giải thích đầy đủ về các argument và tùy chọn cấu hình khả dụng, bạn có thể tham khảo tài liệu Training.

  • Vì quá trình tải xuống và vòng lặp train/val nhỏ hơn nhiều so với COCO đầy đủ, COCO8-Seg cho phép bạn chạy một lượt train và validation để phát hiện lỗi pipeline — chẳng hạn như data loader bị hỏng, loss được cấu hình sai hoặc augmentation không phù hợp — trước khi sử dụng một dataset lớn hơn. Tìm hiểu thêm về các định dạng dataset được hỗ trợ trong hướng dẫn dataset phân đoạn của Ultralytics.

  • File cấu hình YAML cho dataset COCO8-Seg có sẵn trong repository của Ultralytics. Bạn có thể truy cập trực tiếp file tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-seg.yaml. File YAML chứa các thông tin thiết yếu về path của dataset, class và các thiết lập cấu hình cần thiết cho việc train và validation model.

  • COCO8-Seg (8 ảnh) có quy mô nhỏ hơn COCO128-Seg (128 ảnh) và dataset COCO-Seg đầy đủ (118.287 ảnh train) ở các mức sau:

    • COCO8-Seg: 8 ảnh (4 train, 4 val) — sanity check nhanh nhất, lý tưởng cho CI và debug nhanh.
    • COCO128-Seg: 128 ảnh — cân bằng giữa quy mô và độ đa dạng, với train và val dùng chung một thư mục.
    • Full COCO-Seg: 118.287 ảnh huấn luyện — toàn diện nhưng đòi hỏi nhiều tài nguyên, cần khoảng 20 GB khi tải xuống lần đầu.

    Hãy sử dụng COCO8-Seg để kiểm tra pipeline nhanh nhất có thể, sau đó mở rộng lên COCO128-Seg hoặc dataset COCO-Seg đầy đủ khi mức độ tin cậy tăng lên.

Bình luận