La necesidad

El Met colaboró con Microsoft y el MIT para explorar cómo conectar a las personas con el arte mediante la IA. El objetivo era imaginar nuevas formas para que un público mundial pudiera descubrir, aprender y crear con una de las colecciones de arte más importantes del mundo.

La idea

El equipo partió con dos preguntas: ¿podemos utilizar redes antagónicas generativas (GAN) para recombinar las obras de maneras nuevas e interactivas? En caso afirmativo ¿podemos combinarlas con una búsqueda visual para que cualquier persona pueda explorar la colección?

La solución

Se creó Gen Studio, que permite que los usuarios exploren imágenes oníricas (creadas por una GAN) y generadas mediante IA. Gen Studio no solamente nos permite crear obras aleatorias sino también interpolar entre las obras reales de la colección.

Detalles técnicos de Gen Studio

Nuestra primera visualización permite que el usuario explore un segmento bidimensional del enorme espacio “latente” de la GAN. Los usuarios pueden desplazarse por todo este espacio y ver cómo cambian los sueños de la GAN cuando se topan con las piezas reales de la colección del Met. La segunda visualización le ofrece al usuario un control preciso sobre cómo fusionar las diferentes obras en una pieza mayor. Gen Studio muestra la estructura visual inferida subyacente de la colección del Met, lo que permite que los exploradores creen y recombinen obras a partir de una variedad de estilos, materiales y formas.

Para crear esta experiencia, usamos una arquitectura de microservicios de redes profundas, servicios de Azure y almacenamiento de blobs. Usamos Visual Studio Code para desarrollar una API con Flask para entregar la GAN desde un clúster Azure Kubernetes Service (AKS) que se ejecuta con procesadores gráficos Nvidia. Estos servicios permiten generar imágenes nuevas en tiempo real. Azure Kubernetes Service simplifica el camino hacia la producción, al permitir que la solución se implemente, hospede y escale rápidamente.

Nuestra GAN genera imágenes a partir de una “semilla” inicial o un vector de 140 números. Uno de los principales desafíos que enfrentamos fue cómo asociar las imágenes del MET con la semilla que las genera. Para solucionar esto, utilizamos la inversión de la red por gradiente-descenso, a fin de conocer la semilla para cada imagen. La clave fue instruir a la red para que no solo hiciera coincidir los píxeles de la imagen de interés, sino también sus características y los contenidos de alto nivel.

Cargamos las imágenes de Open Access en un clúster de Azure Databricks. Usamos Microsoft Machine Learning for Apache Spark (MMLSpark) para enriquecer estas imágenes con anotaciones de la API de Azure Computer Vision. Luego creamos una búsqueda rápida de similitud visual al identificar las características de todas las imágenes con ResNet50 y construir un árbol de hash localmente sensible sobre estas características para realizar una búsqueda del vecino aproximado más cercano. Implementamos este modelo en AKS y luego usamos MMLSpark para agregar estos vecinos más cercanos al índice de búsqueda. Escribimos los datos del clúster de Spark en Azure Search Service. El front-end se creó con React y se hospedó en Azure con nuestro App Service.

Recursos

Proyectos relacionados con Gen Studio

Explora más proyectos de IA para la sociedad

Explora las posibilidades de la IA

Inicia tus propias innovaciones en IA con los recursos de aprendizaje y las soluciones de desarrollo de IA de Microsoft.