Conjunto de datos COCO8#
Introducción#
El conjunto de datos COCO8 de Ultralytics es un conjunto de datos de detección de objetos compacto pero potente, compuesto por las primeras 8 imágenes del conjunto COCO train 2017: 4 para entrenamiento y 4 para validación. Este conjunto de datos está diseñado específicamente para realizar pruebas rápidas, depuraciones y experimentos con modelos YOLO y pipelines de entrenamiento. Su reducido tamaño facilita enormemente su gestión, mientras que su diversidad garantiza que sirva como una comprobación básica eficaz antes de escalar a conjuntos de datos más grandes.
Watch: Ultralytics COCO Dataset Overview
Estructura del dataset#
COCO8 incluye las primeras 8 imágenes del conjunto COCO train 2017: 4 para entrenamiento y 4 para validación, y cubre el conjunto completo de 80 clases de objetos de COCO en formato de etiquetas de YOLO:
coco8/
├── images/
│ ├── train/ # 4 images
│ └── val/ # 4 images
└── labels/
├── train/
└── val/Explora COCO8 en Ultralytics Platform para examinar cada imagen con sus superposiciones de anotaciones, consultar la distribución de clases y los mapas de calor de los cuadros delimitadores en la pestaña Charts, y clonarlo para entrenar tu propio modelo en la nube.
YAML del dataset#
La configuración del conjunto de datos COCO8 se define en un archivo YAML que especifica las rutas del conjunto de datos, los nombres de las clases y otros metadatos esenciales. Puedes consultar el archivo oficial coco8.yaml en el repositorio de Ultralytics en GitHub.
# 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.zipUso#
El conjunto de datos COCO8 (1 MB) se descarga automáticamente la primera vez que inicias el entrenamiento. Para entrenar un modelo YOLO26n en COCO8 durante 100 épocas con un tamaño de imagen de 640, utiliza los siguientes ejemplos. Para consultar la lista completa de opciones de entrenamiento, visita la documentación de entrenamiento de YOLO.
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)Imágenes de ejemplo y anotaciones#
A continuación se muestra un ejemplo de un lote de entrenamiento compuesto mediante mosaico del conjunto de datos COCO8:
- Imagen con mosaico: Esta imagen ilustra un lote de entrenamiento en el que se combinan varias imágenes del conjunto de datos mediante aumento de datos con mosaico. El aumento de datos con mosaico incrementa la diversidad de objetos y escenas de cada lote, lo que ayuda al modelo a generalizar mejor ante distintos tamaños de objetos, relaciones de aspecto y fondos.
Esta técnica resulta especialmente útil para conjuntos de datos pequeños como COCO8, ya que maximiza el valor de cada imagen durante el entrenamiento.
Citas y agradecimientos#
Si utilizas el conjunto de datos COCO en tu investigación o desarrollo, cita el siguiente artículo:
@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}
}Agradecemos especialmente al Consorcio COCO sus continuas contribuciones a la comunidad de visión artificial.
Preguntas frecuentes#
El conjunto de datos COCO8 de Ultralytics está diseñado para realizar pruebas rápidas y depurar modelos de detección de objetos. Con solo 8 imágenes (4 para entrenamiento y 4 para validación), es ideal para verificar tus pipelines de entrenamiento de YOLO y asegurarte de que todo funciona como esperas antes de escalar a conjuntos de datos más grandes. Explora la configuración YAML de COCO8 para obtener más información.
Puedes entrenar un modelo YOLO26 con COCO8 utilizando Python o la CLI:
Ejemplo de entrenamientofrom 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)Para consultar más opciones de entrenamiento, visita la documentación de entrenamiento de YOLO.
El aumento de datos con mosaico, tal como se utiliza en el entrenamiento con COCO8, combina varias imágenes en una durante cada lote. Esto incrementa la diversidad de objetos y fondos, lo que ayuda a tu modelo YOLO a generalizar mejor ante situaciones nuevas. El aumento de datos con mosaico resulta especialmente valioso para los conjuntos de datos pequeños, ya que maximiza la información disponible en cada paso de entrenamiento. Para obtener más información, consulta la guía de entrenamiento.
Para validar tu modelo YOLO26 después de entrenarlo con COCO8, utiliza los comandos de validación del modelo en Python o la CLI. Esto evalúa el rendimiento de tu modelo mediante métricas estándar. Para consultar instrucciones paso a paso, visita la documentación de validación de YOLO.



