Edición semántica de imágenes de alta precisión con EditGAN

High-precision semantic image editing with EditGAN

Las Redes Generativas Adversarias o GANs están disfrutando de nuevas aplicaciones en la industria de edición de imágenes. Durante los últimos meses, EditGAN está ganando popularidad en la industria de IA/ML porque es un método novedoso para la edición de imágenes semánticas de alta precisión y alta calidad.

Hablaremos en detalle sobre el modelo EditGAN y te explicaremos por qué podría convertirse en un hito en la industria de la edición de imágenes semánticas.

Así que empecemos. Pero antes de conocer qué es EditGAN, es importante entender por qué es importante y por qué supone un avance significativo.

¿Por qué EditGAN?

Aunque las arquitecturas GAN tradicionales han ayudado a avanzar significativamente la industria de la edición de imágenes basada en IA, existen algunos desafíos importantes para construir una arquitectura GAN desde cero.

  1. Durante la fase de entrenamiento, una arquitectura GAN requiere una gran cantidad de datos etiquetados con anotaciones de segmentación semántica.
  2. Solo son capaces de proporcionar un control de alto nivel.
  3. A menudo, simplemente interpolan hacia adelante y hacia atrás entre imágenes.

Se puede observar que aunque las arquitecturas GAN tradicionales hacen el trabajo, no son efectivas para implementaciones a gran escala. La eficiencia subóptima de las arquitecturas GAN tradicionales es la razón por la cual NVIDIA introdujo EditGAN en 2022.

Se propone que EditGAN sea un método efectivo para la edición de imágenes semánticas de alta precisión y alta calidad, con la capacidad de permitir a los usuarios editar imágenes modificando las máscaras de segmentación altamente detalladas de una imagen. Una de las razones por las que EditGAN es un método escalable para tareas de edición de imágenes es debido a su arquitectura.

El modelo EditGAN se basa en un marco GAN que modela imágenes y sus segmentaciones semánticas de manera conjunta, y solo requiere un puñado de datos de entrenamiento etiquetados o anotados. Los desarrolladores de EditGAN han intentado incrustar una imagen en el espacio latente de GAN para modificarla de manera efectiva mediante la optimización condicional de su código latente de acuerdo con la edición de segmentación. Además, para amortizar la optimización, el modelo intenta encontrar “vectores de edición” en el espacio latente que realicen las ediciones.

La arquitectura del marco de EditGAN permite que el modelo aprenda un número arbitrario de vectores de edición que luego se pueden implementar o aplicar directamente en otras imágenes con alta velocidad y eficiencia. Además, los resultados experimentales indican que EditGAN puede editar imágenes con un nivel de detalle nunca antes visto mientras preserva la máxima calidad de imagen.

En resumen, necesitamos EditGAN porque es el primer marco de edición de imágenes basado en GAN que ofrece:

  1. Edición de muy alta precisión.
  2. Funciona con un puñado de datos etiquetados.
  3. Puede implementarse de manera efectiva en escenarios en tiempo real.
  4. Permite la composición de múltiples ediciones simultáneamente.
  5. Funciona en imágenes generadas por GAN, imágenes reales incrustadas e incluso imágenes fuera del dominio.

Edición Semántica de Imágenes de Alta Precisión con EditGAN

StyleGAN2, un marco GAN de última generación para síntesis de imágenes, es el componente principal de generación de imágenes de EditGAN. El marco StyleGAN2 mapea códigos latentes que se extraen de un conjunto de distribución normal multivariante y los convierte en imágenes realistas.

StyleGAN2 es un modelo generativo profundo que se ha entrenado para sintetizar imágenes de la más alta calidad posible junto con adquirir una comprensión semántica de las imágenes modeladas.

Entrenamiento e Inferencia de Segmentación

El modelo EditGAN incrusta una imagen en el espacio latente de GAN utilizando optimización y un codificador para realizar la segmentación en una nueva imagen y entrenar la rama de segmentación. El marco EditGAN continúa construyendo sobre trabajos anteriores y entrena un codificador para incrustar las imágenes en el espacio latente. El objetivo principal aquí es entrenar al codificador que consiste en pérdidas de construcción estándar píxel a píxel L2 y LPIPS utilizando muestras de GAN y datos de entrenamiento del mundo real. Además, el modelo también regulariza explícitamente el codificador utilizando los códigos latentes al trabajar con las muestras de GAN.

Como resultado, el modelo incrusta las imágenes anotadas del conjunto de datos etiquetadas con segmentación semántica en el espacio latente y utiliza la pérdida de entropía cruzada para entrenar la rama de segmentación del generador.

Usar Edición de Segmentación para Encontrar Semántica en el Espacio Latente

El propósito principal de EditGAN es aprovechar la distribución conjunta de segmentaciones semánticas e imágenes para la edición de imágenes de alta precisión. Digamos que tenemos una imagen x que necesita ser editada, por lo que el modelo incrusta la imagen en el espacio latente de EditGAN o utiliza imágenes de muestra del propio modelo. La rama de segmentación luego genera y o la segmentación correspondiente principalmente porque tanto las imágenes RGB como las segmentaciones comparten los mismos códigos latentes w. Los desarrolladores pueden utilizar cualquier herramienta de etiquetado o pintura digital para modificar la segmentación y editarla según sus necesidades de manera manual.

Diferentes formas de edición durante la inferencia

Los vectores de edición del espacio latente obtenidos mediante optimización pueden describirse como semánticamente significativos y a menudo están desentrelazados con diferentes atributos. Por lo tanto, para editar una nueva imagen, el modelo puede incrustar directamente la imagen en el espacio latente y realizar directamente las mismas operaciones de edición que el modelo aprendió anteriormente, sin realizar la optimización desde cero nuevamente. Se podría decir que los vectores de edición que aprende el modelo amortizan la optimización que era esencial para editar la imagen inicialmente.

Vale la pena señalar que los desarrolladores aún no han perfeccionado el desentrelazamiento y los vectores de edición a menudo no dan los mejores resultados cuando se usan en otras imágenes. Sin embargo, el problema se puede superar eliminando los artefactos de edición de otras partes de la imagen al realizar algunos pasos adicionales de optimización durante el tiempo de prueba.

En base a nuestros aprendizajes actuales, el marco de trabajo EditGAN se puede utilizar para editar imágenes en tres modos diferentes.

  • Edición en tiempo real con vectores de edición

Para imágenes localizadas y desentrelazadas, el modelo edita las imágenes aplicando vectores de edición aprendidos previamente con diferentes escalas y manipula las imágenes a tasas interactivas.

  • Uso de refinamiento auto-supervisado para edición basada en vectores

Para editar imágenes localizadas que no están perfectamente desentrelazadas con otras partes de la imagen, el modelo inicializa la edición de la imagen utilizando vectores de edición aprendidos previamente y elimina los artefactos de edición realizando algunos pasos adicionales de optimización durante el tiempo de prueba.

  • Edición basada en optimización

Para realizar ediciones a gran escala y específicas de la imagen, el modelo realiza la optimización desde el principio porque los vectores de edición no se pueden utilizar para realizar este tipo de transferencias a otras imágenes.

Implementación

El marco de trabajo EditGAN se evalúa en imágenes distribuidas en cuatro categorías diferentes: automóviles, aves, gatos y caras. La rama de segmentación del modelo se entrena utilizando pares de imágenes-máscara de 16, 30, 30, 16 como datos de entrenamiento etiquetados para automóviles, aves, gatos y caras respectivamente. Cuando la imagen se va a editar utilizando únicamente la optimización, o cuando el modelo intenta aprender los vectores de edición, el modelo realiza 100 pasos de optimización utilizando el optimizador Adam.

Para el conjunto de datos de gatos, automóviles y caras, el modelo utiliza imágenes reales del conjunto de prueba de DatasetGAN que no se utilizaron para entrenar el marco de trabajo GAN para realizar la funcionalidad de edición. De inmediato, estas imágenes se incrustan en el espacio latente de EditGAN utilizando la optimización y la codificación. Para la categoría de aves, la edición se muestra en imágenes generadas por GAN.

Resultados

Resultados cualitativos

Resultados en el dominio

La imagen anterior demuestra el rendimiento del marco de trabajo EditGAN cuando aplica los vectores de edición previamente aprendidos en imágenes novedosas y perfecciona las imágenes mediante 30 pasos de optimización. Estas operaciones de edición realizadas por el marco de trabajo EditGAN están desentrelazadas para todas las clases y conservan la calidad general de las imágenes. Al comparar los resultados de EditGAN y otros marcos de trabajo, se puede observar que el marco de trabajo EditGAN supera a otros métodos al realizar ediciones de alta precisión y complejas al mismo tiempo que preserva la identidad del sujeto y la calidad de la imagen.

Es sorprendente que el marco de trabajo EditGAN pueda realizar ediciones extremadamente precisas, como dilatar las pupilas o editar los radios de las ruedas en los neumáticos de un automóvil. Además, EditGAN también se puede utilizar para editar las partes semánticas de objetos que solo tienen unos pocos píxeles, o se puede utilizar para realizar modificaciones a gran escala en una imagen. Vale la pena señalar que las varias operaciones de edición del marco de trabajo EditGAN son capaces de generar imágenes manipuladas a diferencia de las imágenes que aparecen en los datos de entrenamiento de GAN.

Resultados Fuera del Dominio

Para evaluar el rendimiento fuera del dominio de EditGAN, el marco se ha probado en el conjunto de datos MetFaces. El modelo EditGAN utiliza caras reales en el dominio para crear vectores de edición. Luego, el modelo incrusta retratos de MetFaces que están fuera del dominio utilizando un proceso de optimización de 100 pasos y aplica los vectores de edición a través de un proceso de refinamiento auto-supervisado de 30 pasos. Los resultados se pueden ver en la siguiente imagen. 

Resultados Cuantitativos

Para medir las capacidades de edición de imágenes de EditGAN de manera cuantitativa, el modelo utiliza un punto de referencia de edición de sonrisa que fue introducido por primera vez por MaskGAN. Las caras que contienen una expresión neutral se reemplazan por caras sonrientes y el rendimiento se mide en tres parámetros. 

  • Corrección Semántica

El modelo utiliza un clasificador de atributos de sonrisa pre-entrenado para medir si las caras en las imágenes muestran expresiones sonrientes después de la edición. 

  • Calidad de Imagen a Nivel de Distribución

Se calcula la Distancia de Inception del Núcleo o KID y la Distancia de Inception de Frechet o FID entre el conjunto de datos de prueba de CelebA y 400 imágenes de prueba editadas. 

  • Preservación de Identidad

La capacidad del modelo para preservar la identidad de los sujetos al editar la imagen se mide utilizando una red de extracción de características ArcFace pre-entrenada. 

La tabla anterior compara el rendimiento del marco EditGAN con otros modelos de referencia en el punto de referencia de edición de sonrisas. El método seguido por el marco EditGAN para ofrecer resultados tan altos se compara en tres líneas de base diferentes:

  • MaskGAN

MaskGAN toma imágenes no sonrientes junto con sus máscaras de segmentación y una máscara de segmentación objetivo sonriente como entrada. Es importante tener en cuenta que, en comparación con EditGAN, el marco MaskGAN requiere una gran cantidad de datos anotados. 

  • Edición Local

EditGAN también compara su rendimiento con la edición local, un método que se utiliza para agrupar características GAN para implementar la edición local y que depende de imágenes de referencia. 

  • InterFaceGAN

Al igual que EditGAN, InterFaceGAN también intenta encontrar vectores de edición en el espacio latente del modelo. Sin embargo, a diferencia de EditGAN, el modelo InterFaceGAN utiliza una gran cantidad de datos anotados, clasificadores de atributos auxiliares y no tiene la precisión de edición fina. 

  • StyleGAN2Distillation

Este método crea un enfoque alternativo que no requiere necesariamente incrustaciones de imágenes reales y en su lugar utiliza un modelo de vectores de edición para crear un conjunto de datos de entrenamiento. 

Limitaciones

Debido a que EditGAN se basa en el marco GAN, tiene la misma limitación que cualquier otro modelo GAN: solo puede trabajar con imágenes que pueden ser modeladas por GAN. La limitación de EditGAN para trabajar con imágenes modeladas por GAN es la principal razón por la cual es difícil implementar EditGAN en diferentes escenarios. Sin embargo, vale la pena señalar que las ediciones de alta precisión de EditGAN se pueden transferir fácilmente a otras imágenes diferentes utilizando vectores de edición. 

Conclusión

Una de las principales razones por las que GAN no es un estándar de la industria en el campo de la edición de imágenes es debido a su limitada practicidad. Los marcos GAN suelen requerir una gran cantidad de datos de entrenamiento anotados y no suelen ofrecer una alta eficiencia y precisión. 

EditGAN tiene como objetivo abordar los problemas presentados por los marcos GAN convencionales e intenta ser un método efectivo para la edición de imágenes semánticas de alta calidad y alta precisión. Los resultados hasta ahora han indicado que EditGAN realmente ofrece lo que promete y ya está funcionando mejor que algunas de las prácticas y modelos estándar de la industria actuales.