Ultralytics YOLO27:

Bộ dữ liệu COCO128-Seg#

Giới thiệu#

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

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

  • Ảnh: Tổng cộng 128 ảnh, với tập train và val được chia giống hệt nhau (xem lưu ý bên dưới).
  • Class: 80 danh mục đối tượng giống như COCO.
  • Nhãn: Các polygon theo định dạng YOLO được lưu trong labels/train2017 cho thư mục ảnh train và val dùng chung.
  • Dung lượng tải xuống: ~7 MB.
Lưu ý

Tệp YAML mặc định trỏ train và val đến cùng 128 ảnh, vì vậy các metric validation đo mức độ khớp trên tập training thay vì khả năng tổng quát hóa trên dữ liệu được giữ lại. Hãy nhân bản hoặc tùy chỉnh tập chia nếu bạn cần một tập dữ liệu giữ lại thực sự.

Dataset này được thiết kế để sử dụng với Ultralytics PlatformYOLO26.

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

Một tệp YAML được sử dụng để định nghĩa cấu hình dataset. Tệp này chứa thông tin về các đường dẫn, class và những thông tin liên quan khác của dataset. Đối với dataset COCO128-Seg, tệp coco128-seg.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml.

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

# COCO128-seg dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/segment/coco128-seg
# Example usage: yolo train data=coco128-seg.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128-seg ← downloads here (7 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: coco128-seg # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 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/coco128-seg.zip

Cách sử dụng#

Để training model YOLO26n-seg trên dataset COCO128-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="coco128-seg.yaml", epochs=100, imgsz=640)

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

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

COCO128-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 COCO128-Seg là một dataset phân đoạn instance nhỏ gọn của Ultralytics, bao gồm 128 ảnh đầu tiên từ tập train 2017 COCO. Dataset này được thiết kế để kiểm thử và gỡ lỗi các model phân đoạn hoặc thử nghiệm những phương pháp phát hiện mới. Dataset đặc biệt hữu ích khi sử dụng cùng YOLO26Platform của Ultralytics để nhanh chóng lặp lại 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.

  • Để training model YOLO26n-seg trên dataset COCO128-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="coco128-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 đủ, COCO128-Seg cho phép bạn chạy sanity check 1 epoch trên pipeline mới — xác minh rằng model training, validation và lưu checkpoint chính xác — trước khi mở rộng lên dataset COCO-Seg đầy đủ. 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.

  • Tệp cấu hình YAML cho dataset COCO128-Seg có sẵn trong repository của Ultralytics. Bạn có thể truy cập trực tiếp tệp tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128-seg.yaml. Tệp YAML bao gồm các thông tin thiết yếu về đường dẫn dataset, class và các cài đặt cấu hình cần thiết cho việc training và validation model.

  • COCO128-Seg (128 ảnh) nằm giữa COCO8-Seg (8 ảnh) và dataset COCO-Seg đầy đủ (118.287 ảnh training) về quy mô:

    • COCO8-Seg: 8 ảnh (4 train, 4 val) — lý tưởng cho sanity check nhanh và gỡ lỗi.
    • 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.

    COCO128-Seg mang lại sự đa dạng cao hơn COCO8-Seg nhưng vẫn dễ quản lý hơn nhiều so với dataset COCO-Seg đầy đủ cho việc thử nghiệm và phát triển model ban đầu.

Bình luận