Modelos y plataformas de IA

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

mm
Añade Unite.AI a tus fuentes preferidas en Google

Redes Adversarias Generativas o GANs han estado disfrutando de nuevas aplicaciones en la industria de edición de imágenes. Durante los últimos meses, EditGAN ha ganado popularidad en la industria de AI/ML porque es un método novel para edición de imágenes semánticas de alta precisión y alta calidad.

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

Así que comencemos. Pero antes de que conozcamos qué es EditGAN, es importante que entendamos la importancia de EditGAN y por qué es un paso adelante significativo.

¿Por qué EditGAN?

Aunque las arquitecturas GAN tradicionales han ayudado a la industria de edición de imágenes basada en AI a avanzar significativamente, hay algunos desafíos importantes al 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. Son capaces de proporcionar solo un control de alto nivel.
  3. Y a menudo, solo interpolan hacia adelante y hacia atrás entre imágenes.

Se puede observar que aunque las arquitecturas GAN tradicionales realizan el trabajo, no son efectivas para una implementación a gran escala. La eficiencia subpar de las arquitecturas GAN tradicionales es la razón por la que se introdujo EditGAN por NVIDIA (NVDA ) en 2022.

EditGAN se propone como un método efectivo para edición de imágenes semánticas de alta precisión y alta calidad con la capacidad de permitir a sus usuarios editar imágenes alterando sus máscaras de segmentación detalladas de alta calidad. 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 conjuntamente, y requiere solo una pequeña cantidad de datos de entrenamiento etiquetados o anotados. Los desarrolladores de EditGAN han intentado incrustar una imagen en el espacio latente de GAN para modificar efectivamente la imagen realizando una optimización de código latente condicional 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 realizan las ediciones.

La arquitectura del marco EditGAN permite que el modelo aprenda un número arbitrario de vectores de edición que pueden implementarse o aplicarse 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 visto antes mientras preserva la calidad de la imagen al máximo.

Para resumir por qué necesitamos EditGAN, es el primer marco de edición de imágenes basado en GAN que ofrece

  1. Edición de muy alta precisión.
  2. Puede trabajar con una pequeña cantidad de datos etiquetados.
  3. Puede implementarse efectivamente en escenarios en tiempo real.
  4. Permite la composicionalidad para múltiples ediciones simultáneas.
  5. Funciona en imágenes generadas por GAN, incrustadas en imágenes reales y incluso en imágenes fuera de dominio.

Edición de Imágenes Semánticas 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 asigna códigos latentes que se dibujan de una distribución normal multivariante y los asigna a 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 y Inferencia de Segmentación

El modelo EditGAN incrusta una imagen en el espacio latente de GAN utilizando optimización y un codificador para realizar 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 el codificador que consiste en pérdidas de construcción L2 y LPIPS estándar utilizando muestras de GAN y datos de entrenamiento reales. Además, el modelo también regula explícitamente el codificador utilizando los códigos latentes cuando trabaja 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.

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

El propósito principal de EditGAN es aprovechar la distribución conjunta de segmentaciones semánticas y imágenes para edición de imágenes de alta precisión. Digamos que tenemos una imagen x que necesita ser editada, así que el modelo incrusta la imagen en el espacio latente de EditGAN o utiliza las muestras de la imagen del modelo mismo. La rama de segmentación genera y o la segmentación correspondiente principalmente porque ambas imágenes RGB y 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 editarlas manualmente según sea necesario.

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 desacoplados con diferentes atributos. Por lo tanto, para editar una nueva imagen, el modelo puede incrustar directamente la imagen en el espacio latente y realizar las mismas operaciones de edición que el modelo aprendió previamente, sin realizar la optimización desde cero. Sería seguro decir que los vectores de edición que el modelo aprende amortizan la optimización que era esencial para editar la imagen inicialmente.

Es digno de destacar que los desarrolladores aún no han perfeccionado el desacoplamiento, y los vectores de edición a menudo no devuelven los mejores resultados cuando se utilizan en otras imágenes. Sin embargo, el problema se puede superar eliminando artefactos de edición de otras partes de la imagen realizando algunos pasos de optimización adicionales durante el tiempo de prueba.

En base a nuestros conocimientos actuales, el marco 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 que están localizadas y desacopladas, el modelo edita las imágenes aplicando vectores de edición aprendidos previamente con diferentes escalas y manipula las imágenes a velocidades interactivas.

  • Usando Refinamiento Auto-Supervisado para Edición Basada en Vectores

Para editar imágenes localizadas que no están desacopladas perfectamente con otras partes de la imagen, el modelo inicializa la edición de la imagen utilizando vectores de edición aprendidos previamente y elimina artefactos de edición realizando algunos pasos de optimización adicionales 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 EditGAN se evalúa en imágenes que abarcan cuatro categorías diferentes: Coches, Pájaros, Gatos y Rostros. La rama de segmentación del modelo se entrena utilizando pares de imagen-máscara de 16, 30, 30, 16 como datos de entrenamiento etiquetados para Coches, Pájaros, Gatos y Rostros, respectivamente. Cuando la imagen se va a editar puramente utilizando optimización o cuando el modelo está intentando 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, Coches y Rostros, el modelo utiliza imágenes reales del conjunto de prueba de DatasetGAN que no se utilizaron para entrenar el marco GAN para realizar la funcionalidad de edición. Estas imágenes se incrustan directamente en el espacio latente de EditGAN utilizando optimización y codificación. Para la categoría de Pájaros, la edición se muestra en imágenes generadas por GAN.

Resultados

Resultados Cualitativos

Resultados Dentro del Dominio

La imagen anterior demuestra el rendimiento del marco EditGAN cuando se aplican los vectores de edición aprendidos previamente en imágenes nuevas y se refinan las imágenes utilizando 30 pasos de optimización. Estas operaciones de edición realizadas por el marco EditGAN están desacopladas para todas las clases y preservan la calidad general de las imágenes. Al comparar los resultados de EditGAN con otros modelos, se puede observar que el marco EditGAN supera a otros métodos en la realización de ediciones complejas y de alta precisión mientras preserva la identidad del sujeto y la calidad de la imagen al mismo tiempo.

Lo que es asombroso es que el marco EditGAN puede realizar ediciones de alta precisión como dilatar las pupilas o editar los radios de las ruedas en los neumáticos de un coche. Además, EditGAN también se puede utilizar para editar las partes semánticas de los objetos que tienen solo unos pocos píxeles o se puede utilizar para realizar modificaciones a gran escala en una imagen. Es digno de destacar que las varias operaciones de edición del marco EditGAN son capaces de generar imágenes manipuladas que no se parecen a 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 rostros reales dentro del dominio para crear vectores de edición. El modelo luego incrusta los 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 una referencia de edición de sonrisa que se introdujo por primera vez por MaskGAN. Las caras que contienen expresiones neutrales se reemplazan con caras sonrientes y el rendimiento se mide en tres parámetros.

  • Corrección Semántica

El modelo utiliza un clasificador de atributos de sonrisa preentrenado 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 de Kernel o KID y la distancia de Inception de Frechet o FID entre el conjunto de prueba de CelebA y 400 imágenes editadas de prueba.

  • Preservación de la 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 de ArcFace preentrenada.

La tabla anterior compara el rendimiento del marco EditGAN con otros modelos de referencia en la referencia de edición de sonrisa. El método seguido por el marco EditGAN para entregar tales resultados altos se compara a través de tres referencias diferentes:

  • MaskGAN

MaskGAN toma imágenes que no sonríen junto con sus máscaras de segmentación y una máscara de segmentación de sonrisa objetivo como entrada. Es digno de destacar 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 de 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 vector 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 funcionar con imágenes que pueden ser modeladas por GAN. La limitación de EditGAN para funcionar con imágenes modeladas por GAN es la razón principal por la que es difícil implementar EditGAN en diferentes escenarios. Sin embargo, es digno de destacar 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 razones principales por las que GAN no es un estándar de la industria en el campo de edición de imágenes es debido a su limitada practicidad. Los marcos GAN generalmente requieren una gran cantidad de datos de entrenamiento anotados y no suelen devolver una alta eficiencia y precisión.

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

Un ingeniero por profesión, un escritor por corazón. Kunal es un escritor técnico con un profundo amor y comprensión de la IA y el ML, dedicado a simplificar conceptos complejos en estos campos a través de su documentación atractiva e informativa.