Ultralytics YOLO27:

Датасет COCO8-Grayscale#

Введение#

Датасет Ultralytics COCO8-Grayscale — это компактный, но мощный датасет для детекции объектов, состоящий из первых 8 изображений из набора COCO train 2017, преобразованных в оттенки серого: 4 изображения для обучения и 4 для валидации. Этот датасет специально предназначен для быстрого тестирования, отладки и экспериментов с моделями YOLO в градациях серого и конвейерами обучения. Небольшой размер делает его очень удобным в работе, а разнообразие данных позволяет эффективно проверять корректность работы перед масштабированием до более крупных датасетов.



Watch: How to Train Ultralytics YOLO on Grayscale and Multispectral Datasets | Multi-Channel VisionAI 🚀

Структура датасета#

COCO8-Grayscale повторяет структуру COCO8 — первых 8 изображений из набора COCO train 2017, разделённых на 4 изображения для обучения и 4 для валидации по всем 80 классам объектов COCO, — но каждое изображение хранится как одноканальное (channels: 1) изображение в градациях серого в формате меток YOLO:

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

Открой COCO8-Grayscale на платформе Ultralytics, чтобы просмотреть каждое изображение с наложенными аннотациями, изучить распределение классов и тепловые карты ограничивающих рамок на вкладке Charts, а также клонировать датасет и обучить собственную модель в облаке.

YAML датасета#

Конфигурация датасета COCO8-Grayscale определяется в YAML-файле, в котором указаны пути к датасету, названия классов и другие важные метаданные. Официальный файл coco8-grayscale.yaml можно найти в репозитории Ultralytics на GitHub.

Примечание

Чтобы обучать свои изображения RGB в градациях серого, достаточно добавить channels: 1 в YAML-файл датасета. Во время обучения все изображения будут преобразованы в градации серого, поэтому ты сможешь использовать преимущества такого формата без отдельного датасета.

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

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

channels: 1

# 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-grayscale.zip

Использование#

Датасет COCO8-Grayscale (1 МБ) автоматически скачивается при первом запуске обучения. Чтобы обучить модель YOLO26n на COCO8-Grayscale в течение 100 эпох с размером изображения 640, используй следующие примеры. Полный список параметров обучения смотри в документации по обучению YOLO.

Пример обучения
from ultralytics import YOLO

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

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

Примеры изображений и аннотаций#

Ниже приведён пример обучающего батча с мозаичной аугментацией из датасета COCO8-Grayscale:

COCO8 grayscale dataset mosaic training batch
  • Изображение с мозаикой: На этом изображении показан обучающий батч, в котором несколько изображений датасета объединены с помощью мозаичной аугментации. Мозаичная аугментация увеличивает разнообразие объектов и сцен в каждом батче, помогая модели лучше обобщать данные для объектов разных размеров и пропорций, а также различных фонов.

Этот метод особенно полезен для небольших датасетов, таких как COCO8-Grayscale, поскольку позволяет максимально использовать каждое изображение во время обучения.

Цитирование и благодарности#

Если ты используешь датасет COCO в своих исследованиях или разработке, пожалуйста, процитируй следующую научную статью:

Цитата
@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}
}

Особая благодарность Консорциуму COCO за постоянный вклад в развитие сообщества компьютерного зрения.

Часто задаваемые вопросы#

  • Датасет Ultralytics COCO8-Grayscale предназначен для быстрого тестирования и отладки моделей детекции объектов. Благодаря всего 8 изображениям (4 для обучения и 4 для валидации) он идеально подходит для проверки конвейеров обучения YOLO и контроля их корректной работы перед масштабированием до более крупных датасетов. Дополнительную информацию смотри в YAML-конфигурации COCO8-Grayscale.

  • Ты можешь обучить модель YOLO26 на COCO8-Grayscale с помощью Python или CLI:

    Пример обучения
    from ultralytics import YOLO
    
    # Load a pretrained YOLO26n model
    model = YOLO("yolo26n.pt")
    
    # Train the model on COCO8-Grayscale
    results = model.train(data="coco8-grayscale.yaml", epochs=100, imgsz=640)

    Дополнительные параметры обучения см. в документации по обучению YOLO.

  • Мозаичная аугментация, используемая при обучении на COCO8-Grayscale, объединяет несколько изображений в одно на каждой итерации батча. Это увеличивает разнообразие объектов и фонов, помогая твоей модели YOLO лучше обобщать данные на новые сценарии. Мозаичная аугментация особенно ценна для небольших датасетов, поскольку позволяет максимально использовать доступную информацию на каждом шаге обучения. Подробнее об этом смотри в руководстве по обучению.

  • Чтобы проверить модель YOLO26 после обучения на COCO8-Grayscale, используй команды валидации модели в Python или CLI. Это позволяет оценить производительность модели с помощью стандартных метрик. Пошаговые инструкции доступны в документации по валидации YOLO.

Комментарии