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

Neural Style Transfer

La transferencia neuronal de estilo redibuja el contenido de una fotografía con el estilo de otra imagen mediante la comparación de las estadísticas de características de una CNN. Descubre el método de Gatys, los modelos rápidos y sus usos.

La transferencia de estilo neuronal (NST) es una técnica de visión artificial que representa el contenido de una imagen —por ejemplo, una foto de una calle— con el estilo visual de otra —por ejemplo, un cuadro— mediante la comparación de las características internas de una red neuronal convolucional (CNN) preentrenada. El contenido se recoge en los mapas de características de una capa profunda, que registran qué aparece y dónde. El estilo se recoge en las correlaciones entre los canales de características, que registran texturas, colores y pinceladas, pero descartan su disposición. Leon Gatys, Alexander Ecker y Matthias Bethge, de la Universidad de Tubinga, presentaron el método en agosto de 2015 en A Neural Algorithm of Artistic Style, y la aplicación Prisma lo acercó a los usuarios de móviles al año siguiente.

Cómo funciona el método original#

El método de Gatys utiliza VGG-19, una CNN entrenada con ImageNet, como extractor de características fijo, y modifica los píxeles de la imagen de salida en lugar de los pesos de la red. Dos funciones de pérdida guían el resultado:

  • Pérdida de contenido: La diferencia al cuadrado entre los mapas de características de la salida y de la foto de contenido en una capa profunda, conv4_2, que mantiene reconocibles los objetos y la composición.
  • Pérdida de estilo: La diferencia al cuadrado entre las matrices de Gram de cinco capas, de conv1_1 a conv5_1. Para una capa con C canales, la matriz de Gram es una tabla C x C cuya entrada (i, j) mide la intensidad con la que los canales i y j responden conjuntamente, sumada en todas las posiciones de la imagen.

Se minimiza una suma ponderada de las dos pérdidas mediante el algoritmo de optimización L-BFGS, y la retropropagación lleva el gradiente a través de la red congelada hasta los píxeles:

Como la matriz de Gram suma las posiciones, apenas cambia cuando cambia la composición de la imagen. El intercambio de los cuadrantes de una foto lo demuestra con ResNet-18 de torchvision, una CNN de ImageNet más pequeña que VGG-19, en PyTorch:

import torch
from skimage import data
from torchvision.models import ResNet18_Weights, resnet18

weights = ResNet18_Weights.DEFAULT
cnn = resnet18(weights=weights).eval()
early_layers = torch.nn.Sequential(cnn.conv1, cnn.bn1, cnn.relu, cnn.maxpool, cnn.layer1)
preprocess = weights.transforms()

photo = torch.tensor(data.astronaut()).permute(2, 0, 1)  # 3 x 512 x 512
rearranged = torch.roll(photo, shifts=(256, 256), dims=(1, 2))  # same pixels, quadrants swapped


def content_and_style(image):
    """Return an early CNN layer's feature map (content) and its Gram matrix (style)."""
    with torch.no_grad():
        features = early_layers(preprocess(image)[None])[0].flatten(1)  # channels x positions
    return features, features @ features.T / features.shape[1]


(content_a, style_a), (content_b, style_b) = content_and_style(photo), content_and_style(rearranged)
print(f"Content change: {(content_a - content_b).norm() / content_a.norm():.0%}")
print(f"Style change:   {(style_a - style_b).norm() / style_a.norm():.0%}")

El intercambio de los cuadrantes cambia el mapa de características un 96 %, pero la matriz de Gram solo un 7 %. El 7 % restante se debe a las nuevas uniones y al recorte central, que conserva una parte distinta de cada imagen. Por eso, la pérdida de estilo copia las pinceladas y la paleta de un cuadro sin copiar la posición de sus elementos.

Transferencia de estilo rápida y arbitraria#

Optimizar cada imagen requiere cientos de iteraciones, así que los trabajos posteriores incorporaron la optimización al entrenamiento. En 2016, Justin Johnson, Alexandre Alahi y Li Fei-Fei, de Stanford, entrenaron una red de propagación hacia delante por estilo con las mismas pérdidas, lo que produjo resultados unas tres órdenes de magnitud más rápidos, y aplicaron las mismas pérdidas perceptuales a la superresolución. Dmitry Ulyanov y sus colegas descubrieron que sustituir la normalización por lotes por la normalización por instancias en esas redes mejoraba la calidad de la estilización. La normalización adaptativa por instancias (AdaIN, 2017) de Xun Huang y Serge Belongie admite cualquier estilo sin reentrenamiento: ajusta la media y la desviación estándar de cada canal de características del contenido para que coincidan con las de la imagen de estilo y, después, decodifica el resultado en tiempo real.

Transferencia de estilo para modelos de visión robustos#

Robert Geirhos y sus colegas utilizaron AdaIN para demostrar que las CNN entrenadas con ImageNet dependen más de la textura que de la forma: ResNet-50 clasifica como elefante una imagen de un gato con textura de piel de elefante, un ejemplo de aprendizaje basado en atajos. Su conjunto Stylized-ImageNet aplicó a cada imagen de ImageNet un estilo aleatorio de la colección Painter by Numbers, con 79 434 cuadros; una ResNet-50 entrenada con él se basaba en la forma. Usar esa red basada en formas como columna vertebral de un modelo Faster R-CNN de detección de objetos elevó el mAP50 en Pascal VOC 2007 de 70,7 a 75,1 y en MS COCO de 52,3 a 55,2.

La misma idea sirve como aumento de datos para conjuntos de datos de detección, porque la transferencia de estilo mantiene cada objeto en su sitio. Una copia estilizada de una imagen etiquetada reutiliza sus cuadros delimitadores originales, así que, en un conjunto de datos de detección de Ultralytics YOLO26, solo necesita una copia del archivo de etiquetas original con el nuevo nombre de imagen.

  • Redes generativas antagónicas (GANs): CycleGAN aprende una correspondencia entre colecciones de imágenes completas —como fotos y cuadros de Monet— en lugar de comparar las estadísticas de una sola imagen de estilo.
  • Aprendizaje por transferencia: Ajusta pesos preentrenados para una tarea nueva. La NST nunca actualiza los pesos de la red y solo la utiliza para medir las pérdidas.
  • Modelos de difusión: Cambian el estilo de las imágenes a partir de una instrucción de texto o una imagen de referencia regenerándolas, lo que puede alterar las formas y los detalles, además del estilo.

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