Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Data Augmentation

El aumento de datos entrena modelos con copias transformadas aleatoriamente de imágenes existentes, por ejemplo, volteadas, recortadas o con cambios de color, para mejorar su generalización.

El aumento de datos amplía la variedad de un conjunto de datos de entrenamiento mediante la aplicación de transformaciones aleatorias, como volteos, recortes, cambios de escala, ajustes de color y mezclas de imágenes, a los ejemplos que ya contiene. Cada copia transformada conserva su etiqueta original, así que el modelo aprende que un objeto sigue siendo el mismo aunque cambien el punto de vista, la iluminación y la posición. Recopilar y etiquetar imágenes nuevas es lento y caro, lo que convierte el aumento de datos en la defensa más económica frente al sobreajuste; casi todos los modelos modernos de visión por computador se entrenan con esta técnica.

Cómo funciona el aumento de datos#

La mayoría de los procesos de entrenamiento aplican aumentos en línea: el cargador de datos transforma cada imagen al crear un lote, con nuevos parámetros aleatorios cada vez, así que cada época muestra una versión distinta de cada imagen. En cambio, el aumento sin conexión guarda en el disco un número fijo de copias transformadas antes del entrenamiento, lo que multiplica el almacenamiento necesario y ofrece al modelo muchas menos variantes distintas.

Dos reglas evitan que el aumento de datos corrompa los datos. En primer lugar, las etiquetas deben desplazarse junto con los píxeles: en la detección de objetos, la segmentación de instancias y la estimación de pose, una transformación geométrica debe actualizar cada caja delimitadora, máscara y punto clave; además, un volteo horizontal también intercambia los puntos clave de la izquierda y la derecha. En segundo lugar, la transformación debe ser posible en el mundo real: los volteos verticales son adecuados para imágenes aéreas y microscópicas, mientras que en escenas urbanas generan coches boca abajo que nunca aparecen durante la inferencia. Las transformaciones de Torchvision aplican automáticamente la primera regla cuando se pasan las cajas junto con la imagen:

from urllib.request import urlopen

from PIL import Image
from torchvision import tv_tensors
from torchvision.transforms import v2

image = Image.open(urlopen("https://ultralytics.com/images/bus.jpg"))  # 810 x 1080 pixels
boxes = tv_tensors.BoundingBoxes([[50, 400, 250, 900]], format="XYXY", canvas_size=(1080, 810))

# Flip every time (p=1.0) and shift colors; the box must move with the pixels
augment = v2.Compose([v2.RandomHorizontalFlip(p=1.0), v2.ColorJitter(brightness=0.4, saturation=0.7)])
new_image, new_boxes = augment(image, boxes)

print(f"Original box: {boxes.tolist()}")
print(f"Flipped box:  {new_boxes.tolist()}")

El cuadro alrededor del hombre situado a la izquierda de la imagen pasa de [50, 400, 250, 900] a [560, 400, 760, 900], reflejado a lo largo de los 810 píxeles de anchura, mientras que el ajuste de color modifica los píxeles sin tocar el cuadro.

Técnicas habituales#

  • Transformaciones geométricas: Los volteos, las rotaciones, los cambios de escala, las traslaciones, los recortes, los cizallamientos y las deformaciones de perspectiva simulan distintas posiciones de cámara y tamaños de objeto.
  • Transformaciones fotométricas: Los cambios de brillo, contraste, saturación y tono, además del desenfoque y el ruido, simulan distintas condiciones de iluminación, sensores y calidad de imagen.
  • Oclusión: El borrado aleatorio y el recorte enmascaran rectángulos para impedir que el modelo dependa de una sola parte de un objeto.
  • Mezcla de imágenes: MixUp combina dos imágenes y sus etiquetas; CutMix pega un parche de una imagen en otra; el mosaico coloca cuatro imágenes en una sola muestra de entrenamiento, y la técnica de copiar y pegar coloca objetos segmentados sobre fondos nuevos.
  • Políticas automatizadas: RandAugment aplica una secuencia aleatoria de transformaciones controlada por solo dos ajustes: el número de transformaciones y su intensidad. Así se elimina la costosa búsqueda que requerían las políticas aprendidas anteriores.

Procesos de aumento de datos para la detección de objetos#

Los procesos de detección encadenan varias transformaciones, cada una aplicada con su propia probabilidad, de modo que cada imagen de entrenamiento recibe una combinación aleatoria distinta.

El entrenamiento de Ultralytics YOLO ejecuta este proceso de forma predeterminada, con mosaico en todas las imágenes (mosaic=1.0), un 50 % de probabilidad de volteo horizontal (fliplr=0.5), cambios de escala de hasta ±50 % y ajustes de color HSV. Además, desactiva el mosaico en las últimas 10 épocas (close_mosaic=10) para que el modelo termine con imágenes completas y de aspecto natural.

from ultralytics import YOLO

# Carga un modelo YOLO26n preentrenado
model = YOLO("yolo26n.pt")

# fliplr: probabilidad de volteo horizontal; scale: intervalo de zoom (+/- 70%); degrees: intervalo de rotación (+/- 5)
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.7, degrees=5.0)

Durante esta ejecución, el entrenador de YOLO26 guarda los tres primeros lotes aumentados como train_batch0.jpg, train_batch1.jpg y train_batch2.jpg, con los cuadros dibujados, para que puedas comprobar el efecto de cada ajuste antes de iniciar una ejecución larga.

  • Datos sintéticos: Se generan desde cero con motores de renderizado, simuladores o modelos de difusión. El aumento modifica imágenes reales que ya existen.
  • Preprocesamiento de datos: Pasos deterministas, como el cambio de tamaño y la normalización, que se aplican de forma idéntica a cada imagen durante el entrenamiento y la inferencia. El aumento es aleatorio y solo se aplica durante el entrenamiento.
  • Aumento en tiempo de prueba (TTA): Ejecuta la inferencia sobre varias versiones aumentadas de la misma entrada, como copias volteadas y reescaladas, y combina las predicciones; a cambio de un pequeño aumento de precisión, requiere más cálculo.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático