Aplicaciones de GAN en imágenes - De la superresolución a la transferencia de estilo
Fundamentos de GAN - Cómo funcionan las redes generativas adversarias
Las GAN (Generative Adversarial Network) consisten en dos redes que se entrenan de forma adversaria: un generador y un discriminador. El generador aprende a crear imágenes realistas, mientras que el discriminador aprende a distinguir imágenes reales de generadas; ambos progresan mediante su competencia mutua.
Mecanismo central:
- Generador (G): genera imágenes a partir de ruido aleatorio, con el objetivo de engañar al discriminador
- Discriminador (D): determina si la imagen de entrada es real o generada, con el objetivo de distinguir correctamente
- Entrenamiento adversario: G y D se entrenan alternadamente; G se vuelve cada vez mejor generando imágenes realistas, D cada vez mejor identificando las falsas
Desafíos de estabilidad del entrenamiento: colapso de modos (el generador solo produce unos pocos tipos de imágenes), inestabilidad del entrenamiento (la pérdida oscila sin converger). Técnicas como WGAN y Spectral Normalization han mejorado la estabilidad del entrenamiento.
Superresolución - ESRGAN y Real-ESRGAN
La superresolución impulsada por GAN puede ampliar imágenes de baja resolución 2-4 veces mientras genera detalles realistas (en lugar de una simple ampliación borrosa).
Modelos representativos:
- SRGAN: primer modelo en usar GAN para superresolución. La pérdida perceptual + pérdida adversaria produce resultados visualmente nítidos
- ESRGAN: estructura de red mejorada (RRDB) y estrategia de entrenamiento, con mejora significativa de calidad
- Real-ESRGAN: entrenado para degradaciones del mundo real (combinación de artefactos de compresión, ruido y desenfoque), con la mayor practicidad
Escenarios de aplicación:
- Restauración de fotos antiguas: ampliar escaneos de baja resolución a imágenes de alta definición
- Mejora de vídeo de vigilancia: mejorar la legibilidad de imágenes de vigilancia de baja resolución
- Actualización de juegos/animación: actualizar recursos de baja resolución de juegos antiguos a alta definición
Limitaciones: la superresolución con GAN "imagina" detalles (genera información que no existe en la imagen original). No es adecuada para escenarios que requieren fidelidad estricta (medicina, legal).
Transferencia de estilo - Aplicar estilos artísticos a fotografías
La transferencia de estilo aplica el estilo artístico (pinceladas, colores, texturas) de una imagen al contenido de otra, creando efectos artísticos.
Evolución de métodos:
- Neural Style Transfer (2015): trabajo pionero de Gatys et al. Optimiza una imagen para que sus características de contenido coincidan con la imagen de contenido y sus características de estilo con la imagen de estilo. Buenos resultados pero lento (varios minutos por imagen)
- Transferencia de estilo rápida: entrena una red feedforward que produce directamente la imagen estilizada. Velocidad en tiempo real pero cada estilo requiere entrenar una red separada
- Transferencia de estilo arbitrario (AdaIN): una sola red maneja cualquier estilo. Alinea las estadísticas de las características de contenido con las de estilo mediante normalización de instancia adaptativa
Transferencia de estilo con GAN:
- CycleGAN: traducción de dominio sin datos pareados. Foto ↔ estilo Monet, caballo ↔ cebra, etc.
- StarGAN: traducción multi-dominio, un solo modelo maneja múltiples estilos
- Mezcla StyleGAN: mezclar capas de estilo de diferentes imágenes en el espacio latente de StyleGAN
Restauración de imágenes (Inpainting) - Rellenado inteligente de regiones faltantes
La restauración de imágenes impulsada por GAN puede rellenar inteligentemente regiones faltantes o dañadas, generando resultados naturales consistentes con el contenido circundante.
Escenarios de aplicación:
- Eliminación de objetos: eliminar objetos no deseados de fotos (transeúntes, postes eléctricos, etc.), rellenando naturalmente el fondo
- Restauración de fotos: reparar arañazos, pliegues y áreas dañadas en fotos antiguas
- Edición de imágenes: eliminar marcas de agua, reparar áreas ocluidas
Modelos representativos:
- DeepFill v2: convolución con compuerta + atención contextual, toma prestadas texturas de regiones distantes para rellenar
- LaMa: restauración de máscaras grandes, usa convolución rápida de Fourier para manejar áreas faltantes extensas
- MAT: restauración basada en Transformer, atención global para comprender la semántica de la escena
Puntos técnicos clave:
- Necesita comprender la semántica de la escena (saber qué debería haber en la región faltante)
- Necesita mantener la consistencia de texturas (la textura del área rellenada coincide con los alrededores)
- La transición en los bordes debe ser natural (sin costuras visibles)
Generación y edición de rostros - Serie StyleGAN
La serie StyleGAN es un hito en la generación de rostros, capaz de generar imágenes faciales de alta calidad prácticamente indistinguibles de fotografías reales.
Evolución de StyleGAN:
- StyleGAN (2019): introduce la red de mapeo de estilo y la normalización de instancia adaptativa, logrando control preciso sobre las características a diferentes niveles de la imagen generada
- StyleGAN2 (2020): elimina artefactos de gotas de agua, mejora la estabilidad del entrenamiento y la calidad
- StyleGAN3 (2021): resuelve el problema de adherencia de texturas, logrando verdadera equivarianza a traslación y rotación
Edición en espacio latente:
- Moverse en el espacio latente de StyleGAN permite controlar con precisión los atributos de la imagen generada
- Edad, expresión, pose, peinado, gafas y otros atributos corresponden a direcciones específicas en el espacio latente
- Se puede "proyectar" una foto real al espacio latente, editar atributos y regenerar
Consideraciones éticas: riesgo de deepfakes. Se necesitan tecnologías de detección y normas de uso para prevenir el abuso.
Soluciones de despliegue práctico - De la investigación a la producción
Desplegar modelos GAN en entornos de producción requiere considerar la velocidad de inferencia, el consumo de recursos y la arquitectura del servicio.
Optimización de modelos:
- Cuantización: FP32 → FP16/INT8, reduce memoria y acelera la inferencia (típicamente 2-4x de aceleración)
- Destilación de conocimiento: usar un modelo grande para guiar el entrenamiento de uno pequeño, manteniendo la calidad mientras se reduce el tamaño
- Poda de modelos: eliminar conexiones de red poco importantes, reduciendo la cantidad de cálculos
Arquitectura de despliegue:
- Servidor GPU: escenarios de alto rendimiento. Usar NVIDIA Triton o TorchServe para gestionar el servicio de modelos
- GPU serverless: uso bajo demanda. AWS Lambda + EFS para cargar modelos, o plataformas como Replicate/Banana
- Despliegue en el borde: ejecutar modelos ligeros en móviles con Core ML (iOS) o TensorFlow Lite (Android)
Referencia de rendimiento:
- Real-ESRGAN 4x: GPU (RTX 3080) ~0.5 segundos/imagen (512x512)
- Generación StyleGAN2: GPU ~50ms/imagen (1024x1024)
- Superresolución móvil: ~1-3 segundos/imagen (depende del tamaño del modelo y dispositivo)