Набор данных COCO128
Введение
Ultralytics COCO128 - это небольшой, но универсальный набор данных для обнаружения объектов, состоящий из первых 128 изображений из набора COCO train 2017. Этот набор данных идеально подходит для тестирования и отладки моделей обнаружения объектов, а также для экспериментов с новыми подходами к обнаружению. 128 изображений достаточно малы, чтобы ими можно было легко управлять, но при этом достаточно разнообразны, чтобы проверить обучающие конвейеры на наличие ошибок и послужить проверкой на вменяемость перед обучением более крупных наборов данных.
Смотреть: Ultralytics Обзор набора данных COCO
Этот набор данных предназначен для использования с Ultralytics HUB и YOLO11.
Набор данных YAML
Для определения конфигурации набора данных используется файл YAML (Yet Another Markup Language). Он содержит информацию о путях, классах и другую необходимую информацию о наборе данных. В случае с набором данных COCO128 файл coco128.yaml
файл хранится по адресу https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128.yaml.
ultralytics.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco128 ← 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: ../datasets/coco128 # 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.zip
Использование
Чтобы обучить модель YOLO11n на наборе данных COCO128 в течение 100 эпох при размере изображения 640, можно использовать следующие фрагменты кода. Полный список доступных аргументов см. на странице "Обучение модели".
Пример поезда
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco128.yaml model=yolo11n.pt epochs=100 imgsz=640
Образцы изображений и аннотаций
Вот несколько примеров изображений из набора данных COCO128 с соответствующими аннотациями:
- Мозаичное изображение: Это изображение демонстрирует обучающую партию, состоящую из мозаичных изображений набора данных. Мозаика - это техника, используемая в процессе обучения, которая объединяет несколько изображений в одно, чтобы увеличить разнообразие объектов и сцен в каждой обучающей партии. Это помогает улучшить способность модели к обобщению для различных размеров объектов, соотношения сторон и контекста.
Этот пример демонстрирует разнообразие и сложность изображений в наборе данных COCO128 и преимущества использования мозаики в процессе обучения.
Цитаты и благодарности
Если вы используете набор данных 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 за создание и поддержку этого ценного ресурса для сообщества компьютерного зрения. Более подробную информацию о наборе данных COCO и его создателях можно найти на сайте набора данных COCO.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Для чего используется набор данных Ultralytics COCO128?
Набор данных Ultralytics COCO128 - это компактное подмножество, содержащее первые 128 изображений из набора данных COCO train 2017. В первую очередь он используется для тестирования и отладки моделей обнаружения объектов, экспериментов с новыми подходами к обнаружению и проверки обучающих конвейеров перед масштабированием на большие наборы данных. Благодаря удобному размеру он идеально подходит для быстрых итераций и в то же время достаточно разнообразен, чтобы быть значимым тестовым примером.
Как обучить модель YOLO11 с помощью набора данных COCO128?
Чтобы обучить модель YOLO11 на наборе данных COCO128, вы можете использовать команды Python или CLI . Вот как это делается:
Пример поезда
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)
yolo detect train data=coco128.yaml model=yolo11n.pt epochs=100 imgsz=640
Дополнительные опции и параметры обучения см. в документации по обучению.
Каковы преимущества использования мозаичного наращивания с COCO128?
Мозаичное наращивание, как показано на примерах изображений, объединяет несколько учебных изображений в одно составное. Эта техника дает несколько преимуществ при обучении с помощью COCO128:
- Увеличивает разнообразие объектов и контекстов в каждой учебной партии
- Улучшает обобщение модели при различных размерах и соотношениях сторон объекта
- Повышает эффективность обнаружения объектов различных масштабов
- Максимизация полезности небольшого набора данных за счет создания более разнообразных обучающих образцов
Эта техника особенно ценна для небольших наборов данных, таких как COCO128, помогая моделям изучать более надежные характеристики на основе ограниченных данных.
Чем COCO128 отличается от других вариантов набора данных COCO?
COCO128 (128 изображений) по размеру находится между COCO8 (8 изображений) и полным набором данных COCO (118K+ изображений):
- COCO8: Содержит всего 8 изображений (4 train, 4 val) - идеально подходит для быстрого тестирования и отладки.
- COCO128: Содержит 128 изображений - сбалансированный размер и разнообразие
- Полный COCO: Содержит более 118 тысяч учебных изображений - всеобъемлющий, но ресурсоемкий.
COCO128 представляет собой хорошую золотую середину, предлагая большее разнообразие, чем COCO8, но при этом оставаясь гораздо более управляемым, чем полный набор данных COCO, для экспериментов и разработки начальных моделей.
Можно ли использовать COCO128 для других задач, кроме обнаружения объектов?
Хотя COCO128 в первую очередь предназначен для обнаружения объектов, аннотации набора данных могут быть адаптированы для решения других задач компьютерного зрения:
- Сегментация экземпляров: Использование масок сегментации, предоставленных в аннотациях
- Обнаружение ключевых точек: Для изображений, содержащих людей с аннотациями ключевых точек
- Трансферное обучение: В качестве отправной точки для тонкой настройки моделей под пользовательские задачи
Для специализированных задач, таких как сегментация, используйте специально разработанные варианты, такие как COCO8-seg, которые содержат соответствующие аннотации.