La creación de arte para videojuegos digitales requiere un alto grado de creatividad artística y conocimiento técnico, al tiempo que requiere que los artistas del juego iteren rápidamente sobre las ideas y produzcan un gran volumen de activos, a menudo con plazos ajustados. ¿Y si los artistas tuvieran un pincel que actuara menos como una herramienta y más como un asistente? Un modelo de aprendizaje automático que actúe como un pincel podría reducir la cantidad de tiempo necesario para crear arte de alta calidad sin sacrificar las opciones artísticas, quizás incluso mejorando la creatividad.
Hoy, presentamos Chimera Painter , un modelo de aprendizaje automático entrenado (ML) que crea automáticamente una representación completa a partir de un contorno de criatura proporcionado por el usuario. Empleado como una aplicación de demostración, Chimera Painter agrega características y texturas al contorno de una criatura segmentado con etiquetas de partes del cuerpo, como "alas" o "garras", cuando el usuario hace clic en el botón "transformar". A continuación se muestra un ejemplo que usa la demostración con uno de los contornos de criatura preestablecidos.
Usando una imagen importada a Chimera Painter o generada con las herramientas proporcionadas, un artista puede construir o modificar iterativamente un contorno de criatura y usar el modelo ML para generar texturas de superficie de aspecto realista. En este ejemplo, un artista (Lee Dotson) personaliza uno de los diseños de criaturas que viene precargado en la demostración de Chimera Painter.
En esta publicación, describimos algunos de los desafíos en la creación del modelo ML detrás de Chimera Painter y demostramos cómo se puede usar la herramienta para la creación de activos listos para videojuegos.
Creación de prototipos para un nuevo tipo de modelo Al desarrollar un modelo ML para producir imágenes de criaturas listas para videojuegos, creamos un prototipo de juego de cartas digital en torno al concepto de combinar criaturas en nuevos híbridos que luego pueden luchar entre sí. En este juego, un jugador comenzaría con cartas de animales del mundo real (por ejemplo, un axolotl o una ballena) y podría hacerlas más poderosas combinándolas (haciendo la temida quimera Axolotl-Whale ). Esto proporcionó un entorno creativo para demostrar un modelo de generación de imágenes, ya que la cantidad de quimeras posibles requería un método para diseñar rápidamente grandes volúmenes de activos artísticos que pudieran combinarse de forma natural, sin dejar de conservar las características visuales identificables de las criaturas originales.
Dado que nuestro objetivo era crear imágenes de cartas de criaturas de alta calidad guiadas por el aporte del artista, experimentamos con redes generativas adversarias (GAN), informadas por los comentarios de los artistas, para crear imágenes de criaturas que serían apropiadas para nuestro prototipo de juego de cartas de fantasía. Las GAN emparejan dos redes neuronales convolucionales entre sí: una red generadora para crear nuevas imágenes y una red discriminadora para determinar si estas imágenes son muestras del conjunto de datos de entrenamiento (en este caso, imágenes creadas por artistas) o no. Usamos una variante llamada GAN condicional, donde el generador toma una entrada separada para guiar el proceso de generación de imágenes. Curiosamente, nuestro enfoque se apartó estrictamente de otros esfuerzos de GAN, que normalmente se centran en el fotorrealismo .
Para entrenar a los GAN, creamos un conjunto de datos de imágenes a todo color con contornos de criaturas de una sola especie adaptados de modelos de criaturas en 3D. Los contornos de las criaturas caracterizaban la forma y el tamaño de cada criatura, y proporcionaban un mapa de segmentación que identificaba las partes individuales del cuerpo. Después del entrenamiento del modelo, al modelo se le asignó la tarea de generar quimeras de múltiples especies, basándose en los contornos proporcionados por los artistas. El modelo con mejor rendimiento se incorporó luego a Chimera Painter. A continuación, mostramos algunos activos de muestra generados con el modelo, incluidas las criaturas de una sola especie, así como las quimeras de múltiples especies más complejas.
Arte de cartas generado integrado en el prototipo del juego de cartas que muestra criaturas básicas ( fila inferior ) y quimeras de múltiples criaturas, incluyendo un hormiguero-puercoespín, un ajolote-ballena y un cangrejo-antión-polilla ( fila superior ). En esta presentación de Stadia Research se detalla más información sobre el juego en sí .
Aprender a generar criaturas con estructura Un problema con el uso de GAN para generar criaturas era la posibilidad de pérdida de coherencia anatómica y espacial al representar partes sutiles o de bajo contraste de imágenes, a pesar de que estas son de gran importancia perceptual para los humanos. Ejemplos de esto pueden incluir ojos, dedos o incluso distinguir entre partes del cuerpo superpuestas con texturas similares (vea el cariñosamente llamado BoggleDog a continuación).
Imagen generada por GAN que muestra partes del cuerpo que no coinciden.
La generación de quimeras requirió un nuevo conjunto de datos de estilo de fantasía no fotográfico con características únicas, como perspectiva dramática, composición e iluminación. Los repositorios de ilustraciones existentes no eran apropiados para usar como conjuntos de datos para entrenar un modelo de AA, porque pueden estar sujetos a restricciones de licencia, tener estilos en conflicto o simplemente no tener la variedad necesaria para esta tarea.
Para resolver esto, desarrollamos un nuevo enfoque semiautomático dirigido por artistas para crear un conjunto de datos de entrenamiento de aprendizaje automático a partir de modelos de criaturas en 3D, lo que nos permitió trabajar a escala e iterar rápidamente según sea necesario. En este proceso, los artistas crearían u obtendrían un conjunto de modelos de criaturas en 3D, uno para cada tipo de criatura necesario (como hienas o leones). Luego, los artistas produjeron dos conjuntos de texturas que se superpusieron en el modelo 3D utilizando Unreal Engine.- uno con la textura a todo color (imagen izquierda, abajo) y el otro con colores planos para cada parte del cuerpo (por ejemplo, cabeza, orejas, cuello, etc.), llamado “mapa de segmentación” (imagen derecha, abajo). Este segundo conjunto de segmentos de partes del cuerpo se le dio al modelo en el entrenamiento para asegurar que el GAN aprendiera sobre la estructura, formas, texturas y proporciones específicas de las partes del cuerpo para una variedad de criaturas.
Ejemplo de imagen de entrenamiento del conjunto de datos y su mapa de segmentación emparejado.
Todos los modelos de criaturas en 3D se colocaron en una simple escena en 3D, nuevamente usando el Unreal Engine. Un conjunto de scripts automatizados tomaría esta escena 3D e interpolaría entre diferentes poses, puntos de vista y niveles de zoom para cada uno de los modelos de criaturas 3D, creando las imágenes a todo color y los mapas de segmentación que formaron el conjunto de datos de entrenamiento para el GAN. Usando este enfoque, generamos más de 10,000 pares de imágenes + mapas de segmentación por modelo de criatura 3D, ahorrándoles a los artistas millones de horas de tiempo en comparación con la creación manual de dichos datos (aproximadamente 20 minutos por imagen).
Ajuste fino El GAN tenía muchos hiperparámetros diferentes que se podían ajustar, lo que generaba diferentes calidades en las imágenes de salida. Con el fin de comprender mejor qué versiones del modelo eran mejores que otras, se les proporcionó a los artistas muestras de diferentes tipos de criaturas generadas por estos modelos y se les pidió que las redujeran a algunos mejores ejemplos. Recopilamos comentarios sobre las características deseadas presentes en estos ejemplos, como la sensación de profundidad, el estilo con respecto a las texturas de las criaturas y el realismo de rostros y ojos. Esta información se utilizó tanto para entrenar nuevas versiones del modelo como, después de que el modelo generó cientos de miles de imágenes de criaturas, para seleccionar la mejor imagen de cada categoría de criaturas (por ejemplo, gacela, lince, gorila, etc.).
Ajustamos el GAN para esta tarea centrándonos en la pérdida de percepción. Este componente de función de pérdida (también utilizado en Style Transfer ML de Stadia ) calcula una diferencia entre dos imágenes utilizando características extraídas de una red neuronal convolucional (CNN) separada que se entrenó previamente en millones de fotografías del conjunto de datos de ImageNet . Las características se extraen de diferentes capas de la CNN y se aplica un peso a cada una, lo que afecta su contribución al valor final de la pérdida. Descubrimos que estos pesos eran de vital importancia para determinar cómo se vería una imagen final generada. A continuación se muestran algunos ejemplos de GAN entrenados con diferentes pesos de pérdida de percepción.
Dino-Bat Chimeras generadas usando diferentes pesos de pérdida de percepción.
Algunas de las variaciones en las imágenes de arriba se deben al hecho de que el conjunto de datos incluye múltiples texturas para cada criatura (por ejemplo, una versión rojiza o grisácea del murciélago). Sin embargo, ignorando la coloración, muchas diferencias están directamente relacionadas con cambios en los valores de pérdida de percepción. En particular, descubrimos que ciertos valores resaltaban rasgos faciales más nítidos (p. Ej., Abajo a la derecha frente a arriba a la derecha) o "suaves" frente a "estampados" (arriba a la derecha frente a abajo a la izquierda) que hacían que las criaturas generadas se sintieran más reales.
A continuación se muestran algunas criaturas generadas a partir del GAN entrenadas con diferentes pesos de pérdida de percepción, mostrando una pequeña muestra de los resultados y poses que el modelo puede manejar.
Criaturas generadas utilizando diferentes modelos.Una quimera generada (Dino-Bat-Hyena, para ser exactos) creada usando el GAN condicional. Salida de la GAN ( izquierda ) y la tarjeta post-procesada / compuesta ( derecha ).
Chimera Painter El GAN entrenado ahora está disponible en la demostración de Chimera Painter , lo que permite a los artistas trabajar iterativamente con el modelo, en lugar de dibujar docenas de criaturas similares desde cero. Un artista puede seleccionar un punto de partida y luego ajustar la forma, el tipo o la ubicación de las partes de las criaturas, lo que permite una exploración rápida y la creación de un gran volumen de imágenes. La demostración también permite cargar un contorno de criatura creado en un programa externo, como Photoshop. Simplemente descargue uno de los contornos de criatura preestablecidos para obtener los colores necesarios para cada parte de la criatura y úselo como plantilla para dibujar uno fuera de Chimera Painter, y luego use el botón "Cargar" en la demostración para usar este esquema para desarrollar creación.
Tenemos la esperanza de que estos modelos GAN y la herramienta de demostración Chimera Painter puedan inspirar a otros a pensar de manera diferente sobre su línea de arte. ¿Qué se puede crear cuando se usa el aprendizaje automático como un pincel?
Agradecimientos Este proyecto se lleva a cabo en colaboración con muchas personas. Gracias a Ryan Poplin, Lee Dotson, Trung Le, Monica Dinculescu, Marc Destefano, Aaron Cammarata, Maggie Oh, Richard Wu, Ji Hun Kim, Erin Hoffman-John y Colin Boswell. Gracias a todos los que colaboraron para dar horas de dirección de arte, comentarios técnicos y dibujos de criaturas fantásticas.