Saluda a DragGAN: ¡la herramienta de inteligencia artificial de vanguardia ya está disponible!
¡Excelentes noticias para todos los entusiastas de la edición de imágenes! El muy esperado código DragGAN finalmente se lanzó y ahora está disponible bajo la licencia CC-BY-NC. Con DragGAN, se acabaron los días de procesos de edición complejos y ajustes minuciosos. Esta notable solución presenta un nivel completamente nuevo de simplicidad al permitirle arrastrar elementos sin esfuerzo dentro de una imagen para transformar su apariencia. Inspirándose en los poderosos modelos StyleGAN3 y StyleGAN-Human, DragGAN permite a los usuarios manipular varios aspectos de una imagen, ya sea alterando las dimensiones de un automóvil, modificando las expresiones faciales o incluso girando la imagen como si fuera un modelo 3D.
En este artículo, repasaremos los conceptos básicos de DragGAN y lo probaremos con Google Colab.
Empezando
Tabla de contenido
- Introducción a GAN
- Tipos de GAN
- StyleGAN3 y StyleGAN-Humano
- Aplicaciones de GAN
- DragGAN
- Cómo usarlo
Introducción a GAN
Una red antagónica generativa (GAN) es un tipo especial de modelo de aprendizaje automático que utiliza dos redes neuronales para competir entre sí. Estas redes neuronales, llamadas generador y discriminador, trabajan juntas como un juego para mejorar sus habilidades. El generador trata de crear datos realistas que parecen reales, mientras que el discriminador trata de averiguar qué datos son reales y cuáles son falsos. Aprenden de los éxitos y fracasos de los demás, lo que hace que el generador sea mejor para crear datos falsos convincentes y el discriminador sea mejor para detectar falsificaciones. Las GAN se utilizan para generar imágenes, videos y otros tipos de datos generados por computadora que se parecen mucho a los que crean los humanos.
Fuente de la imagen: descripción general de la estructura GAN | Aprendizaje automático | Google para desarrolladores
Las GAN pueden generar datos realistas de alta calidad que exhiben características similares al conjunto de datos de entrenamiento. Las GAN han encontrado aplicaciones en varios campos, incluida la síntesis de imágenes, la generación de video, la traducción de texto a imagen y más.
Tipos de GAN
Las GAN vienen en diferentes tipos. Exploremos algunas variantes comunes de GAN:
- Vanilla GAN : este es el tipo más simple de GAN, que consta de un generador y un discriminador. El generador crea imágenes mientras que el discriminador determina si una imagen es real o falsa.
- GAN convolucional profunda (DCGAN) : DCGAN emplea redes neuronales convolucionales profundas para generar imágenes distinguibles y de alta resolución. Las capas convolucionales extraen detalles importantes de los datos, haciéndolos efectivos para tareas de generación de imágenes.
- GAN progresiva : el generador comienza produciendo imágenes de baja resolución y, a medida que avanza el entrenamiento, agrega más detalles en las capas posteriores. Este enfoque permite un entrenamiento más rápido en comparación con las GAN no progresivas y genera imágenes de mayor resolución.
- GAN condicional : este tipo de GAN permite condicionar la red a información específica, como etiquetas de clase. Ayuda al GAN a aprender a diferenciar entre diferentes clases entrenando con imágenes etiquetadas.
- CycleGAN : este tipo de GAN se usa a menudo para la transferencia de estilos de imagen, lo que permite la transformación entre diferentes estilos de imagen. Por ejemplo, puede convertir imágenes de invierno a verano o de un caballo a una cebra. Aplicaciones como FaceApp utilizan CycleGAN para alterar la apariencia facial.
- GAN de superresolución : este tipo de GAN mejora las imágenes de baja resolución al generar versiones de mayor resolución. Rellena los detalles que faltan, mejorando la calidad general de la imagen.
- StyleGAN : Desarrollado por Nvidia, StyleGAN genera imágenes fotorrealistas de alta calidad, centrándose especialmente en rostros humanos realistas. Los usuarios pueden manipular el modelo para modificar varios aspectos de las imágenes generadas.
StyleGAN3 y StyleGAN-Humano
- StyleGAN3 : es una evolución del StyleGAN original que presenta varias mejoras e innovaciones para mejorar el proceso de generación de imágenes. Incorpora el aumento del discriminador adaptativo (ADA), una técnica que ajusta dinámicamente el discriminador durante el entrenamiento para mejorar la calidad general de la imagen. StyleGAN3 también presenta nuevos métodos de regularización, modificaciones arquitectónicas y mejores estrategias de optimización, lo que da como resultado una síntesis de rostros aún más visualmente atractiva y coherente.
- StyleGAN-Human : es una variante de StyleGAN3 que se enfoca específicamente en generar rostros humanos realistas. Aprovecha un conjunto de datos a gran escala de rostros humanos para aprender detalles complejos, como expresiones faciales, peinados y diversas características.
Aplicaciones de GAN
Las GAN han ganado popularidad en las ventas minoristas en línea debido a su capacidad para comprender y recrear contenido visual con precisión. Pueden completar imágenes a partir de contornos, generar imágenes realistas a partir de descripciones de texto y crear prototipos de productos fotorrealistas. Aprenden de los patrones de movimiento humano, predicen fotogramas futuros y crean videos falsos en la producción de videos. Además, las GAN pueden generar sonidos de voz realistas e incluso generar texto para diversos fines, como blogs, artículos y descripciones de productos.
Echemos un vistazo a algunos de los casos de uso de GAN.
- Generación de objetos 3D realistas : las GAN han demostrado ser capaces de generar objetos tridimensionales, como modelos de muebles creados por investigadores del MIT que se asemejan a diseños creados por humanos. Estos modelos pueden ser valiosos para la visualización arquitectónica y la producción de videojuegos.
- Generación de rostros humanos : las GAN, como StyleGAN2 de Nvidia, pueden generar rostros humanos altamente realistas y creíbles que parecen individuos genuinos.
- Creación de personajes de videojuegos : las GAN han encontrado aplicaciones en el desarrollo de videojuegos, como el uso de GAN por parte de Nvidia para generar nuevos personajes para el popular juego Final Fantasy XV.
- Innovación en diseño de moda : el minorista de ropa H&M ha utilizado GAN para crear diseños de moda frescos inspirados en estilos existentes, lo que permite el desarrollo de prendas únicas.
DragGAN
DragGAN es una nueva y emocionante aplicación de IA que revoluciona los ajustes fotográficos y artísticos con una sencilla interfaz de arrastrar y soltar. Le permite modificar imágenes en varias categorías, como animales, automóviles, personas, paisajes y más. Con DragGAN, puede remodelar el diseño de la imagen, ajustar poses y formas e incluso cambiar las expresiones faciales de las personas en las fotos.
Según el equipo de investigación detrás de DragGAN, su objetivo es brindar a los usuarios la capacidad de “arrastrar” cualquier punto de una imagen a la posición deseada.
DragGAN consta de dos componentes clave. El primero es la supervisión de movimiento basada en funciones, que facilita el movimiento preciso de puntos dentro de la imagen. El segundo es un nuevo enfoque de seguimiento de puntos, que garantiza un seguimiento preciso de estos puntos.
Cómo usarlo
En esta sección, intentaremos arrastrar GAN usando el repositorio oficial de git.
GitHub – XingangPan/DragGAN: Código oficial para DragGAN (SIGGRAPH 2023)
- Abra su cuenta de google colab usando el siguiente enlace.
Colaborador de Google | colab.research.google.com - Haga clic en el enlace Nueva libreta para crear una nueva libreta en Colab.
- Clone el repositorio git oficial de DragGAN usando el siguiente comando.
!git clone https://github.com/XingangPan/DragGAN.git
- Haga clic en el botón de reproducción para ejecutar la celda.
- Cambie el tipo de tiempo de ejecución a GPU desde la opción Tiempo de ejecución → Cambiar tipo de tiempo de ejecución; de lo contrario, puede llevar más tiempo procesar los resultados.
- Haga clic en el botón + Código para agregar nuevas celdas.
- Cambie al directorio DragGAN usando el comando cd.
cd /content/DragGAN
- Instale los requisitos desde el archivo requirements.txt.
!pip install -r requirements.txt
- Descargue los pesos StyleGAN2 preentrenados ejecutando el
download_model.sh
script de shell con el siguiente comando. Si desea probar StyleGAN-Human y el conjunto de datos de Landscapes HQ (LHQ), descargue los pesos de los siguientes enlaces: StyleGAN-Human , LHQ .
!sh scripts/download_model.sh
- Ejecute el visualizador dragGAN creado usando gradio usando el siguiente comando. El sistema proporcionará una URL de red una vez que el visualizador esté en funcionamiento. Haga clic en la URL obtenida para probar dragGAN.
!python /content/DragGAN/visualizer_drag_gradio.py
Obtendrá la salida de la siguiente manera,