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

CutMix

CutMix pega un parche rectangular de una imagen de entrenamiento sobre otra y combina sus etiquetas según el área del parche, lo que mejora la precisión y la localización.

CutMix es una técnica de aumento de datos que recorta un parche rectangular de una imagen de entrenamiento, lo pega sobre la misma región de otra y mezcla las dos etiquetas en proporción al área que ocupa cada imagen. Sangdoo Yun y sus colegas de NAVER Clova AI Research la presentaron en un artículo de ICCV de 2019 como combinación de dos ideas anteriores: la eliminación de una región aleatoria de Cutout y la mezcla de etiquetas de MixUp. En ImageNet, CutMix redujo el error top-1 de una ResNet-50 del 23,68 % al 21,40 %, por delante de MixUp, con un 22,58 %, y Cutout, con un 22,93 %. Además, los modelos preentrenados con esta técnica también se transfirieron mejor a la detección de objetos y la generación de descripciones de imágenes.

Cómo funciona CutMix#

Para cada par de imágenes A y B, CutMix toma una proporción de mezcla λ de una distribución Beta, que con el parámetro α = 1 predeterminado es uniforme entre 0 y 1. Después, dibuja un rectángulo cuya anchura y altura son la anchura y la altura de la imagen multiplicadas por √(1 − λ), lo centra en un punto aleatorio, lo recorta hasta los bordes de la imagen y copia esa región de B sobre A. Tras el recorte, λ se vuelve a calcular como la fracción de A que queda, y la etiqueta pasa a ser λ partes de A y (1 − λ) partes de B. Así, un parche de gato del 30 % sobre una imagen de un perro produce una etiqueta objetivo de 0,7 para el perro y 0,3 para el gato. El entrenamiento minimiza la función de pérdida respecto a esta etiqueta suave, igual que con el suavizado de etiquetas.

torchvision de PyTorch aplica CutMix a todo un lote, emparejando cada imagen con la imagen contigua del lote:

import torch
from torchvision.transforms import v2

# A batch of 4 random 224x224 images labeled with classes 0-3 of 10
torch.manual_seed(0)
images = torch.rand(4, 3, 224, 224)
labels = torch.tensor([0, 1, 2, 3])

# Paste a random box from each image's neighbor in the batch and mix the labels by area
cutmix = v2.CutMix(num_classes=10)
mixed_images, mixed_labels = cutmix(images, labels)

# Image 0 received its patch from image 3
pasted = (mixed_images[0] != images[0]).any(dim=0).float().mean()
print(f"pasted area: {pasted:.3f}")
print(f"label weights for classes 0-3: {mixed_labels[0, :4].numpy().round(3)}")

Imprime un área pegada de 0,187 y pesos de etiqueta de 0,813 para la clase 0 y 0,187 para la clase 3: la proporción del objetivo asignada a cada clase equivale a la proporción de píxeles que aporta.

Por qué funciona CutMix#

Un modelo de clasificación de imágenes entrenado con imágenes completas puede acertar al reconocer una pequeña parte muy discriminativa, como la cara de un perro. Cuando CutMix cubre esa parte con otra imagen, el modelo tiene que reconocer al perro por el cuerpo, las patas o el pelaje, así que aprende a usar una mayor parte de cada objeto, lo que mejora la localización con supervisión débil y la robustez frente a la oclusión. Todos los píxeles de la imagen mezclada siguen procediendo de fotos reales, por lo que el modelo nunca se entrena con regiones vacías ni mezclas fantasmagóricas. Como otros aumentos de datos intensos, CutMix actúa como regularización que reduce el sobreajuste, y las recetas de entrenamiento modernas para transformadores de visión (ViT), incluida la utilizada por Data-efficient Image Transformers (DeiT) de Meta, aplican CutMix y MixUp conjuntamente.

  • MixUp: Mezcla dos imágenes completas píxel a píxel con el peso λ y mezcla sus etiquetas del mismo modo, lo que produce superposiciones semitransparentes que no se parecen a ninguna escena real.
  • Cutout: Enmascara un cuadrado aleatorio con ceros y conserva la etiqueta original, por lo que los píxeles enmascarados no aportan información al entrenamiento.
  • Mosaic: Combina cuatro imágenes redimensionadas en una, un aumento de datos estándar para entrenar detectores de objetos que conserva la etiqueta de caja de cada objeto que siga dentro del fotograma.
  • Copiar y pegar para la segmentación de instancias: Pega instancias de objetos segmentadas, en lugar de rectángulos, de una imagen en otra.

CutMix en la detección de objetos#

La detección conserva todas las etiquetas como categorías únicas: en lugar de un vector de clases mezclado, mantiene las cajas de ambas imágenes siempre que sus objetos sigan siendo visibles. El aumento de datos cutmix de Ultralytics YOLO, desactivado de forma predeterminada, acepta una probabilidad entre 0 y 1. Su implementación elige una región de corte que no se solapa con ninguna de las cajas existentes de la imagen objetivo, copia la misma región de una segunda imagen y conserva cada caja delimitadora pegada que mantenga al menos el 10 % de su área dentro de la región, o el 1 % en el caso de las etiquetas de segmentación. De forma predeterminada, CutMix se desactiva junto con mosaic durante las 10 últimas épocas de entrenamiento, según lo establecido por close_mosaic=10.

Explore solutions

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 las imágenes de drones y las imágenes aéreas en información práctica en tiempo real para la agricultura, la acuicultura, la vigilancia medioambiental, 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

Lleva la IA de visión a la supervisión aérea con los modelos Ultralytics YOLO. Impulsa drones, flujos de trabajo aeroespaciales, conservación medioambiental y sectores geoespaciales con soluciones de visión artificial.
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