¿Qué es ESRGAN?
Las Redes Adversariales Generativas de Super-Resolución Mejoradas (ESRGAN) son un tipo avanzado de modelo de Red Adversarial Generativa (GAN), que utiliza dos redes neuronales que juegan un juego competitivo entre sí. Los componentes principales de este sistema son el generador y el discriminador. El generador crea nuevas imágenes, mientras que el discriminador evalúa la autenticidad de estas imágenes, determinando si son reales o generadas.
En la fase inicial, el generador produce una nueva imagen y, posteriormente, el discriminador evalúa si esta imagen es real o una fabricación. Durante este proceso, las GAN calculan dos valores de pérdida diferentes: uno para el generador y otro para el discriminador. Este bucle de retroalimentación permite al generador aprender de sus errores y mejorar sus imágenes creadas con el tiempo, mientras que el discriminador mejora su capacidad para identificar imágenes reales de las falsas.
ESRGAN utiliza un modelo preentrenado que emplea pesos de VGG19, enfatizando la filosofía de “No Reinventar la Rueda” - todo lo que necesitas a menudo ya está disponible para usar de manera efectiva.
Preparando ESRGAN para Tu Propósito
Para aprovechar ESRGAN de manera efectiva, debes preparar tu conjunto de datos. Para este tutorial, utilizaremos el conjunto de datos Kaggle llamado CalebA, que consiste en más de 200,000 imágenes de rostros de celebridades, cada una con una resolución de 218x178 y tres canales de color. Aunque es factible utilizar todo el conjunto de datos, se recomienda subir solo 10,000 imágenes para evitar retrasos en el procesamiento.
Configuración del Notebook
ESRGAN requiere una GPU con una memoria considerable, y recomendamos utilizar Google Colab para este propósito. Comienza ajustando el tipo de tiempo de ejecución: selecciona Tiempo de Ejecución, luego Cambiar Tipo de Ejecución y elige GPU como el acelerador de hardware.
Clonando el Repositorio
A continuación, clona el repositorio que contiene la ESRGAN implementada e instala las bibliotecas necesarias para comenzar.
Cargando Datos
Para continuar cargando tus datos, necesitarás conectar tu Google Drive con Google Colab. Esto se puede hacer sin problemas utilizando el comando:
Para extraer archivos de un archivo RAR, utilizaremos la biblioteca patool, asegurando que el directorio de salida esté configurado en /content/PyTorch-GAN/data
.
Creando un Conjunto de Datos de Prueba
Es esencial mantener un conjunto de datos de prueba separado que no se incluyó durante el entrenamiento del modelo. Para construir esto, mueve una porción seleccionada de tus imágenes del folder del conjunto de datos principal a una nueva carpeta designada para pruebas. Comienza creando una nueva carpeta llamada test.
Si la cantidad de imágenes es abrumadora, también puedes emplear métodos de batching para gestionarlas de manera eficiente.
Entrenando el Modelo
¡Ahora es el momento de entrenar la red neuronal utilizando ESRGAN! Para iniciar el entrenamiento, utiliza el siguiente comando con argumentos especificados:
Argumentos de entrenamiento disponibles:
-
--dataset_name: nombre de tu carpeta ubicada en
/content/PyTorch-GAN/data
- --n_epochs: el valor predeterminado es 200 épocas
- --hr_height: altura de la imagen de salida (el valor predeterminado es 256)
- --hr_width: ancho de la imagen de salida (el valor predeterminado es 256)
- --channels: canales de la imagen de entrada (el valor predeterminado es 3)
- --checkpoint_interval: se recomienda establecer en 250 para conjuntos de datos más pequeños (el valor predeterminado es 5000)
Los detalles sobre otros argumentos se pueden encontrar AQUÍ.
Las imágenes de entrenamiento generadas se guardarán en la carpeta ubicada en /content/PyTorch-GAN/implementations/esrgan/images/training
.
Probando el Modelo
Para evaluar el modelo, necesitarás una imagen de tu conjunto de prueba predefinido. Ejecuta el modelo utilizando el comando designado:
Argumentos de prueba disponibles:
-
--image_path: nombre de tu imagen (p. ej.,
/content/PyTorch-GAN/data/test/0.jpg
) -
--checkpoint_model: ruta a tu generador entrenado (p. ej.,
/content/PyTorch-GAN/implementations/esrgan/saved_models/generator_X.pth
; reemplaza X con el número de época entrenada más reciente).
La imagen generada se almacenará en /content/PyTorch-GAN/implementations/esrgan/images/outputs/
.
Si deseas copiar las imágenes generadas a tu Google Drive, simplemente hazlo con los comandos apropiados.
Concluyendo
El poder de los modelos GAN radica en su capacidad para emplear redes neuronales que se refinan continuamente entre sí para una mejora gradual. ESRGAN, como se mostró en este tutorial, se enfoca explícitamente en mejorar imágenes. Aunque el modelo es poderoso, demanda recursos informáticos considerables. Los resultados iniciales, después de 5 épocas con 10,000 imágenes de entrenamiento, pueden no ser perfectos; sin embargo, a medida que avanzas a más épocas, ¡observarás mejoras notables!
Explora el intrigante mundo de las aplicaciones de IA que surgen de hackatones para inspirarte y disfruta de este cautivador viaje con ESRGAN!
¡Mantente atento para más emocionantes tutoriales de IA!
¡Gracias! - Adrian Banachowicz, Pasante de Ciencia de Datos en New Native.
Dejar un comentario
Todos los comentarios se revisan antes de su publicación.
Este sitio está protegido por hCaptcha y se aplican la Política de privacidad de hCaptcha y los Términos del servicio.