Formato YOLO Format Guide
Formato de anotación para modelos de detección de objetos YOLO
AnnotationSpecification
El formato de anotación YOLO es un formato de etiquetado basado en texto simple utilizado para entrenar modelos de detección de objetos YOLO (You Only Look Once). Cada imagen en el dataset tiene un archivo de anotación .txt correspondiente con el mismo nombre base. Cada línea en el archivo de anotación representa un bounding box y contiene cinco valores separados por espacios: el índice de clase (entero), la coordenada x del centro, la coordenada y del centro, el ancho del box y la altura del box. Todas las coordenadas están normalizadas en el rango [0, 1] relativo a las dimensiones de la imagen.
La convención de normalización significa que x del centro y ancho se dividen por el ancho de la imagen, mientras que y del centro y altura se dividen por la altura de la imagen. Esto hace que las anotaciones sean independientes de la resolución — el mismo archivo de anotación funciona correctamente sin importar si la imagen se redimensiona. El índice de clase es un entero basado en cero que se mapea a nombres de clase definidos en un archivo de configuración separado (típicamente data.yaml). Una imagen sin objetos tiene un archivo de anotación vacío o ningún archivo de anotación.
Para tareas de segmentación, el formato YOLO se extiende a anotaciones de polígonos donde cada línea contiene el índice de clase seguido de pares de coordenadas x,y que definen los vértices del polígono. Para bounding boxes orientados (OBB), el formato usa el índice de clase seguido de cuatro pares de puntos x,y de las esquinas. Para estimación de pose, los puntos clave se agregan después del bounding box como tripletas x,y,visibilidad para cada punto clave. El framework Ultralytics YOLOv8 ha estandarizado estos formatos extendidos para tareas de detección, segmentación, clasificación, estimación de pose y bounding boxes orientados.
When to Use Formato YOLO
Usa el formato YOLO cuando entrenes cualquier modelo de la familia YOLO — YOLOv5, YOLOv7, YOLOv8, YOLOv9, YOLOv10, YOLO11 o RT-DETR a través del framework Ultralytics. YOLO es la arquitectura de detección de objetos más popular para aplicaciones en tiempo real, y el formato de anotación es soportado por todas las principales herramientas de etiquetado incluyendo Label Studio, CVAT, Roboflow, Labelbox y V7. Si tu caso de uso involucra detección de objetos en tiempo real, el formato y pipeline de entrenamiento YOLO es probablemente el camino más rápido al despliegue.
Elige el formato YOLO sobre el formato COCO cuando tu flujo de trabajo esté centrado en modelos de la familia YOLO y prefieras la simplicidad de un archivo de texto por imagen. El formato YOLO es más fácil de inspeccionar manualmente, editar y versionar porque cada anotación es un archivo de texto pequeño en lugar de un único JSON grande. También evita la complejidad de la estructura JSON anidada de COCO con diccionarios separados de categorías, anotaciones e imágenes.
El formato YOLO es menos adecuado cuando necesitas almacenar metadatos de anotación ricos (ID del anotador, puntuaciones de confianza, marcas de tiempo de anotación), cuando tu tarea requiere anotaciones no rectangulares más allá de lo que el formato de polígonos de YOLO soporta, o cuando estás entrenando modelos fuera de la familia YOLO que esperan formatos de anotación COCO, VOC u otros.
Schema / Structure
YOLO Detection Format (per line):
<class_id> <x_center> <y_center> <width> <height>
Where:
class_id - Integer class index (0-based)
x_center - Bounding box center X (normalized 0.0-1.0)
y_center - Bounding box center Y (normalized 0.0-1.0)
width - Bounding box width (normalized 0.0-1.0)
height - Bounding box height (normalized 0.0-1.0)
YOLO Segmentation Format (per line):
<class_id> <x1> <y1> <x2> <y2> ... <xn> <yn>
Dataset Directory Structure:
dataset/
├── data.yaml # Class names and paths
├── train/
│ ├── images/
│ │ ├── img001.jpg
│ │ └── img002.jpg
│ └── labels/
│ ├── img001.txt
│ └── img002.txt
├── val/
│ ├── images/
│ └── labels/
└── test/
├── images/
└── labels/Example Data
# data.yaml - Dataset configuration
path: ./dataset
train: train/images
val: val/images
test: test/images
names:
0: person
1: car
2: bicycle
3: traffic_light
# --- labels/img001.txt ---
# Two people and one car detected in the image
0 0.4531 0.3275 0.1200 0.4500
0 0.7125 0.4100 0.0950 0.3800
1 0.2800 0.5500 0.3200 0.2800
# --- labels/img002.txt ---
# One bicycle and one traffic light
2 0.6200 0.6800 0.1500 0.2200
3 0.1500 0.1200 0.0400 0.0800Ertas Support
Ertas Data Suite soporta datasets en formato YOLO para la preparación de datos de entrenamiento en visión por computadora. Puedes importar datasets de anotación en formato YOLO, aplicar controles de calidad de datos incluyendo validación de anotaciones (verificando rangos de coordenadas, validez de índices de clase y coherencia de bounding boxes), y exportar datasets limpios manteniendo la estructura de directorios YOLO. La redacción de PII puede aplicarse a archivos de metadatos asociados mientras se preserva la integridad de las anotaciones.
Related Resources
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.