Guía rápida de AI art: Cómo mejorar la resolución de las imágenes con AI

Enhanced Super-Resolution Generative Adversarial Networks (ESRGAN) es una especie de modelo GAN. La idea principal de los modelos GAN es preparar dos redes neuronales, que juegan juntas. Los jugadores son el generador y el discriminador. El primero de ellos es generar datos, el segundo tiene que comprobar si una foto es real o falsa.

En el primer paso, el generador crea una nueva imagen. Luego el discriminador verifica si la foto generada es real o no. En este punto, GAN calcula dos pérdidas, para el generador y el discriminador. El generador aprende qué tan buena fue su imagen y el discriminador qué tan buena fue su verificación.

ESRGAN es el modelo pre-entrenado con pesos vgg19. No reinventes la rueda. (Artista DALL-E)

Cómo preparar ESRGAN para su propósito

En primer lugar, debe cargar su conjunto de datos en Google Drive. En este tutorial, usaré el conjunto de datos de Kaggle llamado CalebA. Este conjunto de datos contiene más de 200k imágenes de rostros de celebridades. La resolución es de 218×178 con 3 canales.

También te puede interesarGuía rápida de AI art: ¿Cómo volver a entrenar el modelo YOLOv7 con su propio conjunto de datos?

Si desea utilizar el mismo conjunto de datos, le recomiendo cargar solo 10 000 imágenes.

Sin embargo, ¡puedes usar lo que quieras!

Computadora portátil

ESRGAN necesita una GPU con una gran capacidad de memoria, por lo que en el tutorial utilizo Google Colab. en el que puedes cambiar Tipo de tiempo de ejecuciónhaga clic tiempo de ejecución y elige GPU en acelerador de hardware.

Repositorio

Ahora necesitamos clonar el repositorio con ESRGAN implementado

También te puede interesarTutorial de cómo usar GPT-3: Cree su propia aplicación GPT-3 Powered usando NextJS y Replit en 20 minutos

y requisitos de instalación.

Cargando datos

Luego, podemos conectar Google Drive con Google Colab mediante el comando:

Uso patool lib para extraer archivos de mi rar a Google Colab.

Importante outdirdebe ser "/content/PyTorch-GAN/data"

También te puede interesar¿Por qué deberías usar ChatGPT en tu negocio?

Conjunto de datos de prueba

Una buena práctica es tener un conjunto de datos de prueba. Los datos no se utilizaron para entrenar un modelo. Para crear un conjunto de prueba, podemos transferir algunos datos de data/name_of_your_folder a data/test carpeta.

Primero tenemos que crear una nueva carpeta.

Después de eso, movemos algunas imágenes a test carpeta.

Si el recuento de imágenes cargadas es demasiado grande. Puedes usar:

También te puede interesarTutorial de ChatGPT: Cómo mejorar tu trabajo con ChatGPT

Capacitación

¡Entrenemos la red neuronal!

Para entrenar el modelo ESRGAN tenemos que escribir un comando con argumentos:

Argumentos disponibles:

--dataset_name nombre de su carpeta en /content/PyTorch-GAN/data

--n_epochs número de épocas (predeterminado 200)

--hr_heightaltura de salida (por defecto 256)

--hr_width ancho de salida (predeterminado 256)

--channeslcanales de entrada (por defecto 3)

--checkpoint_interval Recomiendo establecerlo en 250 si tiene un conjunto de datos pequeño. (predeterminado 5000)

El resto de argumentos los puedes encontrar AQUÍ.

dentro de la carpeta '/content/PyTorch-GAN/implementations/esrgan/images/training Puedes encontrar las imágenes guardadas del proceso de entrenamiento.

Pruebas

Para probar nuestro modelo necesitamos una imagen. Usamos las imágenes que hemos transferido antes para test carpeta.

Podemos ejecutar el modelo con el comando:

Argumentos disponibles:

--image_path nombre de tu imagen en /content/PyTorch-GAN/data/test/0.jpg

--checkpoint_model nombre de su generador capacitado /content/PyTorch-GAN/implementations/esrgan/saved_models/generator_X.pth

X reemplaza con un número de la última época entrenada.

La imagen generada la puedes encontrar en /content/PyTorch-GAN/implementations/esrgan/images/outputs/

Si quieres copiar la imagen a tu nube de google escribe

Conclusión

La idea de los modelos GAN es asombrosa, dos redes neuronales juegan juntas para ser mejores en cada época:Use a neural network to teach a neural network. Los modelos GAN tienen cada vez más tipos, uno de ellos se usa en el tutorial ESRGAN. Estas redes neuronales están preparadas para trabajar con imágenes y mejorarlas. Este es un modelo poderoso, pero también necesita mucha potencia informática. A continuación puede ver los resultados después de 5 épocas y 10 000 datos de entrenamiento. No son ideales, pero si ejecuta su proceso de entrenamiento durante muchas más épocas, ¡los resultados serán increíbles! ¡Solo inténtalo!

¡Espero que les guste mi tutorial!

¡Estén atentos para futuros tutoriales!

¡Gracias! – Adrian Banachowicz, pasante de ciencia de datos en New Native

esrgan se publica bajo una licencia CC-BY-NC-ND-4.0. ESRGAN – https://arxiv.org/abs/1809.00219
autor: Xintao Wang, Ke Yu, Shixiang Wu, Jinjin Gu, Yihao Liu, Chao Dong, Chen Change Loy, Yu Qiao y Xiaoou Tang.

Scroll al inicio