Ángulo de Anderson
Edición del espacio latente de un GAN con ‘blobs’

Nueva investigación de la Universidad de California en Berkeley y Adobe (ADBE ) ofrece una forma de editar directamente el contenido hiperreal que puede ser creado por una Red Adversaria Generativa (GAN), pero que normalmente no se puede controlar, animar o manipular libremente de una manera que sea familiar para los usuarios de Photoshop y los practicantes de CGI.
Titulado BlobGAN, el método implica crear una cuadrícula de ‘blobs’ – constructos matemáticos que se asignan directamente al contenido dentro del espacio latente de la GAN.
Al mover los blobs, se pueden mover los ‘objetos’ en una representación de escena, de una manera intuitiva que se acerca más a los métodos de CGI y CAD que a muchos de los intentos actuales de mapear y controlar el espacio latente de la GAN:

Manipulación de escena con BlobGAN: al mover los ‘blobs’ por el usuario, la disposición de objetos y estilos latentes en la GAN se alteran en consecuencia. Para más ejemplos, consulte el video acompañante del documento, incrustado al final de este artículo, o en https://www.youtube.com/watch?v=KpUv82VsU5k
Dado que los blobs corresponden a ‘objetos’ en la escena mapeada en el espacio latente de la GAN, todos los objetos están desacoplados a priori, lo que permite alterarlos individualmente:

Los objetos se pueden redimensionar, encoger, clonar y eliminar, entre otras operaciones.
Al igual que con cualquier objeto en software de edición de fotos (o incluso de edición de texto), un blob se puede duplicar y manipular posteriormente:

Los blobs se pueden duplicar en la interfaz, y sus representaciones latentes correspondientes también se ‘copiarán y pegarán’. Fuente: https://dave.ml/blobgan/#results
BlobGAN también puede analizar imágenes nuevas y seleccionadas por el usuario en su espacio latente:

Con BlobGAN, no es necesario incorporar imágenes que se desean manipular directamente en los datos de entrenamiento y luego buscar sus códigos latentes, sino que se pueden ingresar imágenes seleccionadas a voluntad y manipularlas. Fuente: https://dave.ml/blobgan/#results
Se pueden ver más resultados aquí, y en el video acompañante de YouTube (incrustado al final de este artículo). También hay una demo interactiva de Colab aquí*, y un repositorio de GitHub**.
Este tipo de instrumentalidad y alcance puede parecer ingenuo en la era posterior a Photoshop, y los paquetes de software paramétricos como Cinema4D y Blender han permitido a los usuarios crear y personalizar mundos 3D durante décadas; pero representa un enfoque prometedor para domesticar las excentricidades y la naturaleza arcana del espacio latente en una Red Adversaria Generativa, mediante el uso de entidades proxy que se asignan a códigos latentes.
Los autores afirman:
‘En un conjunto de datos desafiantes de escenas interiores, BlobGAN supera a Style-GAN2 en calidad de imagen medida por FID.’
El documento se titula BlobGAN: Representaciones de escena espacialmente desacopladas, y está escrito por dos investigadores de la Universidad de California en Berkeley, junto con tres de Adobe Research.
Intermediario
BlobGAN introduce un nuevo paradigma en la síntesis de imágenes de GAN. Los enfoques anteriores para abordar entidades discretas en el espacio latente, según el nuevo documento, han sido ‘de arriba hacia abajo’ o ‘de abajo hacia arriba’.
Un método de arriba hacia abajo en una GAN o clasificador de imágenes trata las imágenes de escenas como clases, como ‘habitación’, ‘iglesia’, ‘rostro’, etc. Este tipo de emparejamiento de texto/imagen alimenta a una nueva generación de marcos de síntesis de imágenes multimodales, como el reciente DALL-E 2 de OpenAI.
Los enfoques de abajo hacia arriba, en cambio, asignan cada píxel en una imagen a una clase, etiqueta o categoría. Estos enfoques utilizan diversas técnicas, aunque la segmentación semántica es una corriente de investigación actual popular.
Los autores comentan:
‘Ambos caminos parecen insatisfactorios porque ninguno puede proporcionar formas fáciles de razonar sobre partes de la escena como entidades. Las partes de la escena están o bien integradas en un vector latente único entrelazado (de arriba hacia abajo), o necesitan ser agrupadas desde etiquetas de píxeles individuales (de abajo hacia arriba).’
En cambio, BlobGAN ofrece una representación de nivel medio no supervisada, o un marco de trabajo proxy para modelos generativos.

La red de diseño asigna entidades ‘blob’ locales (y controlables) a códigos latentes. Los círculos coloreados en el centro componen un ‘mapa de blobs’. Fuente: https://arxiv.org/pdf/2205.02837.pdf
Los blobs gaussianos (es decir, basados en ruido) están ordenados en profundidad y representan un cuello de botella en la arquitectura que asigna una asignación a cada entidad, resolviendo el mayor obstáculo que hay para la manipulación de contenido de GAN: desacoplamiento (también un problema para arquitecturas basadas en autoencoders). El mapa de blobs resultante se utiliza para manipular el decodificador de BlobGAN.
Los autores observan con cierta sorpresa que el sistema aprende a descomponer escenas en diseños y entidades a través de un discriminador de venta que no utiliza etiquetas explícitas.
Arquitectura y datos
Las entidades en el mapa de blobs se convierten en imágenes a través de una red revisada derivada de StyleGAN2, en un enfoque que toma inspiración de investigaciones anteriores de NVIDIA (NVDA ).

Una red revisada derivada de StyleGAN 2 de NVIDIA Research. Algunos de los principios de este trabajo se adoptaron o adaptaron para BlobGAN. Fuente: https://arxiv.org/pdf/1912.04958.pdf
StyleGAN 2 se modifica en BlobGAN para aceptar entrada desde el mapa de blobs en lugar de un vector global único, como es habitual.

Una serie de manipulaciones posibles gracias a BlobGAN, incluyendo la ‘autocompletación’ de una escena de habitación vacía, y el redimensionamiento y reubicación de los elementos en la habitación. En la fila inferior, vemos la instrumentalidad accesible al usuario que permite esto – el mapa de blobs.
Por analogía, en lugar de crear un edificio vasto y complejo (el espacio latente) de una vez, y luego tener que explorar sus infinitos caminos, BlobGAN envía los bloques de componente al principio, y siempre sabe dónde están. Esta desacoplación de contenido y ubicación es la innovación principal del trabajo.
* No funcional en el momento de la redacción
** Código no publicado en el momento de la redacción
Publicado por primera vez el 8 de mayo de 2022.












