El primer paso para animar dibujos infantiles

El primer paso para animar dibujos infantiles. Los niños dibujan personajes fascinantemente únicos e inventivos que impulsan nuestra imaginación y nos obligan a pensar de manera un poco diferente; para reconocer a las personas y objetos de sus imágenes. Si bien puede ser bastante simple para un padre o maestro ver lo que el dibujo de un niño está destinado a mostrar, la IA tiene dificultades con esta tarea.

Los dibujos de los niños a menudo se construyen de manera abstracta y fantasiosa. Por lo que si los pies de una figura se colocan precariamente o si ambos brazos están en el mismo lado de su cuerpo; confunde incluso a los sistemas de IA de última generación que sobresalen en la detección de objetos en imágenes y dibujos fotorrealistas.

Los investigadores de Meta AI están trabajando para superar este desafío para que los sistemas de IA sean más capaces de reconocer dibujos de figuras humanas en las formas tan variadas en que los niños las crean.

Nos complace anunciar un método único en su tipo para animar automáticamente figuras de personas y personajes humanos dibujados a mano para niños; (es decir, un personaje con dos brazos, dos piernas, una cabeza, etc.) Que dan vida a estos dibujos en cuestión de minutos utilizando IA. Al subirlos a nuestro sistema de prototipos, padres e hijos pueden experimentar la emoción de ver sus dibujos convertirse en personajes en movimiento que bailan, saltan y corren.

Incluso pueden descargar sus dibujos animados para compartir con amigos y familiares. Si los padres lo desean, también pueden enviar esos dibujos para ayudar a mejorar el modelo de IA.

El primer paso para animar dibujos infantiles
El primer paso para animar dibujos infantiles

Animar pequeños personajes de grandes artistas

Al enseñar a la IA a trabajar de manera efectiva con esta forma humana de creatividad por excelencia; esperamos que este proyecto nos acerque a la construcción de IA que pueda comprender el mundo desde un punto de vista humano. También esperamos que este trabajo estimule más investigaciones sobre el uso de la IA para mejorar la creatividad de las personas e inspirar nuevos usos imaginativos para esta tecnología.

Nuestro objetivo era construir un sistema de IA que pueda identificar y animar automáticamente las figuras humanas en los dibujos de los niños con una alta tasa de éxito y sin ninguna guía humana. Si bien muchas herramientas y técnicas de IA están diseñadas para manejar imágenes realistas de humanos. Los dibujos de los niños agregan un nivel de variedad e imprevisibilidad que hace que la identificación de lo que se está retratando sea mucho más compleja.

Los «humanos» en los dibujos de los niños vienen en muchas formas, colores, tamaños y escalas diferentes. Con poca similitud cuando se trata de simetría corporal, morfología y punto de vista. Abordamos este desafío de IA a través de un proceso de cuatro pasos; afinando nuestro enfoque en cada etapa para adaptarnos a la enorme variedad presente en los dibujos infantiles.

El primer paso para animar dibujos infantiles
El primer paso para animar dibujos infantiles

Identificar figuras humanas mediante la detección de objetos

El primer paso para animar dibujos infantiles de personas es distinguir las figuras humanas del fondo y de otros tipos de personajes en la imagen. La detección de objetos utilizando técnicas existentes funciona bastante bien en los dibujos de los niños. Pero las máscaras de segmentación no son lo suficientemente precisas como para ser utilizadas para la animación. Para abordar esto, en su lugar utilizamos los cuadros delimitadores obtenidos del detector de objetos y aplicamos una serie de operaciones morfológicas y pasos de procesado de imágenes para obtener máscaras.

Al extraer los personajes humanos dentro del dibujo de un niño para su procesado, utilizamos el modelo de detección de objetos basado en la red neuronal convolucional de Meta AI; Mask R-CNN, como se implementó en Detectron 2. Mask R-CNN está entrenado en uno de los conjuntos de datos de segmentación más grandes disponibles públicamente. Pero se compone de fotografías de objetos del mundo real, no de dibujos. Para trabajar en dibujos, el modelo necesitaba ser ajustado, lo que hicimos con ResNet-50 + FPN para predecir una sola clase, «figura humana».

Después del proceso de ajustes para refinar el trabajo, la red hizo un buen trabajo al detectar figuras humanas dentro del conjunto de datos de prueba. Los casos de error que observamos se dividieron en cuatro categorías diferentes; no incluir la figura completa, no separar la figura del fondo, no separar varias figuras dibujadas muy juntas e identificar incorrectamente figuras no humanas (como árboles).

Creemos que este tipo de fallos se derivan de la amplia variedad de figuras humanas en el conjunto del entrenamiento y el modelo continuará mejorando a medida que obtenga más dibujos de los que aprender.

El primer paso para animar dibujos infantiles
El primer paso para animar dibujos infantiles

Animar la figura humana de la escena

Después de identificar y extraer una figura humana de un dibujo; el siguiente paso en la preparación para la animación es separarla de otras partes de la escena y el fondo; en un proceso llamado enmascaramiento. La máscara debe reflejar de cerca los contornos de la figura porque se utilizará para crear una malla; que luego se deformará para producir la animación. Cuando se haga correctamente, una máscara incluirá todas las partes del personaje y nada del fondo.

A pesar de que Mask R-CNN puede generar máscaras, descubrimos que no eran adecuadas para la animación. Las máscaras preparadas de antemano a menudo no lograban capturar toda la figura cada vez que las partes del cuerpo variaban mucho en apariencia. Como en la figura de abajo, que muestra un gran triángulo amarillo para un cuerpo y un solo trazo de lápiz para el brazo. Las máscaras predichas también fallaron a menudo al dejar fuera el medio de los personajes «huecos», o personajes dibujados como contornos y no coloreados.

En su lugar, desarrollamos un enfoque clásico basado en el procesado de imágenes que es más robusto para estas variaciones. Con este método, recortamos la imagen utilizando su cuadro delimitador preparado para cada personaje detectado. Luego aplicamos umbrales adaptativos y operaciones morfológicas de cierre y marcación; relleno de inundación desde los bordes de la caja y asumimos que la máscara es el polígono más grande que no toca el relleno de inundación.

Si bien este método es sencillo y efectivo para extraer máscaras precisas adecuadas para la animación; puede fallar cuando el fondo está desordenado, los personajes se dibujan juntos o el papel tiene arrugas, lágrimas o sombras en la página.

Máscaras de segmentación para animar dibujos infantiles

Las máscaras de segmentación de Mask R-CNN a veces no seguían de cerca la forma del personaje (medio, superior) o incluían todas las partes del personaje. Como los brazos de palo (medio, inferior). En muchas situaciones, el uso de una canalización de procesado de imágenes en el cuadro delimitador predicho de Mask R-CNN da como resultado máscaras más adecuadas para la animación.

El primer paso para animar dibujos infantiles
El primer paso para animar dibujos infantiles

Preparando la animación a través de rigging

Los niños dibujan figuras con una gran variedad de formas corporales, mucho más allá de la forma humana convencional; con cabeza, brazos, piernas y torso. Muchos niños empiezan representando a los humanos como lo que a menudo se llama «personas renacuajas». Sin torso, con brazos y piernas unidos directamente a la cabeza. Algunos niños progresan a figuras «de transición»; que tienen piernas que se extienden desde la cabeza y brazos que se extienden desde la parte superior de las piernas. Necesitábamos un método de rigging que pudiera manejar este tipo de variación morfológica.

Preparando la animación a través de rigging
Preparando la animación a través de rigging

Utilizar AlphaPose para detectar posturas humanas

Utilizamos AlphaPose, un modelo entrenado para detectar posturas humanas, para identificar puntos clave en las figuras humanas que pueden servir. Como caderas, hombros, codos, rodillas, muñecas y tobillos. AlphaPose fue entrenado en imágenes de personas reales. Por lo que antes de que pudiéramos adaptarlo a la detección de poses en dibujos infantiles; tuvimos que volver a entrenarlo para manejar los tipos de variación presentes en los dibujos infantiles.

Hicimos esto recopilando y anotando internamente un pequeño conjunto de datos de dibujos infantiles de figuras humanas. Luego, utilizando el detector de posturas entrenado en este conjunto de datos inicial; creamos una herramienta interna que permite a los padres cargar y animar los dibujos de sus hijos y nos permite usar los dibujos cargados para un entrenamiento adicional. A medida que llegaban más datos, volvimos a entrenar iterativamente el modelo hasta que alcanzamos altos niveles de precisión.

Animar figuras 2D mediante captura de movimiento 3D

Una vez que tenemos predicciones de máscaras y articulaciones, tenemos todo lo que necesitamos para producir la animación. Empezamos utilizando la máscara extraída para generar una malla, texturizándola con el dibujo original. Usando las ubicaciones conjuntas predichas, creamos un esqueleto para el personaje. Al rotar los huesos y usar las nuevas ubicaciones de las articulaciones para deformar la malla, podemos mover al personaje a varias poses.

Al mover al personaje a una serie de poses consecutivas, podemos crear una animación. Podemos seleccionar diferentes movimientos para aplicar dependiendo de la confianza de las predicciones articulares. En los casos en que tanto los brazos como las piernas se han predecido correctamente, la animación puede tener lugar sin problemas. Pero si una extremidad no está presente en el dibujo, sus valores de confianza articular serían bajos; y tendríamos que renunciar a las animaciones que requieren esa extremidad, pedirle al usuario que corrija la predicción o declarar que la animación es un fallo.

Para animar las figuras 2D utilizando la captura de movimiento 3D; aprovechamos el hecho de que muchos niños dibujan utilizando lo que llamamos una perspectiva retorcida. Es común que muchos niños inicialmente extraigan partes del cuerpo desde su punto de vista más identificable; que puede ser diferente de la forma en que aparecerían en humanos reales. Por ejemplo, tienden a dibujar piernas y pies desde una vista lateral y cabezas y torsos desde una vista frontal.

Determinar la pose ideal animar dibujos infantiles

Independientemente para la parte inferior y superior del cuerpo, determinamos automáticamente si el movimiento es más reconocible desde una vista frontal o una vista lateral. Usando las vistas seleccionadas, proyectamos el movimiento en un solo plano 2D y lo usamos para conducir el personaje. Validamos los resultados de dicho enfoque de reorientación de movimiento utilizando estudios de usuarios perceptivos realizados a través de Mechanical Turk.

Determinar la pose ideal para animar
Determinar la pose ideal para animar

Izquierda: Antes de animar, creamos un personaje amañado a partir del dibujo.
Derecha: Reposamos el personaje proyectando un fotograma de datos de captura de movimiento en un plano 2D y girando las extremidades del personaje. Haciendo que coincidan con las del proyecto.

Podemos proyectar los datos de captura de movimiento desde el frente (fila superior), desde el lateral (fila central) y desde una perspectiva retorcida (abajo).

Perspectiva retorcida para animar dibujos infantiles

Tener en cuenta la perspectiva retorcida es útil porque muchos tipos de movimiento no caen limpiamente en un solo plano de proyección. Por ejemplo, con la cuerda para saltar, los brazos y las muñecas tienden a moverse principalmente en el plano frontal; mientras que las piernas que se doblan tienden a moverse en el plano sagital. Debido a esto, no determinamos un solo plano de movimiento para la postura de captura de movimiento; sino que determinamos los planos de proyección para la parte superior e inferior del cuerpo por separado.

Uso de la IA para impulsar animaciones más complejas

La IA se ha convertido en una poderosa herramienta para la creatividad, empoderando a los artistas; inspirar nuevas formas de autoexpresión, como los efectos AR; ofreciendo consejos de moda; e incluso generando nuevas rutinas de baile. Esperamos que nuestra herramienta de animación inspire a las personas a experimentar con sus dibujos y llevarlos en direcciones desconocidas.

La investigación futura para este proyecto podría centrarse en identificar y aplicar movimientos más personalizados a subcategorías de figuras. Como superhéroes, princesas, monstruos y ninjas. Un análisis más detallado de las partes de un personaje también sería útil para identificar antenas; colas y capas, por ejemplo, y aplicar elementos de movimiento secundarios para aumentar el atractivo de la animación.

Algún día, tal vez, un sistema de IA podría tomar un dibujo complejo y luego crear instantáneamente una caricatura animada detallada utilizando múltiples personajes fantásticos que interactúan entre sí y elementos del fondo. Con las gafas AR, esas historias podrían incluso parecer cobrar vida en el mundo real; bailando o hablando con el niño que lo dibujó momentos antes. Las posibilidades son tan ilimitadas como la imaginación humana.

Aunque los he puesto más arriba, dejo aquí el enlace para obtener más información y también este para probar la teoría de los ingenieros de Meta.

También tienes más información y comentarios sobre el tema en el foro, sigue leyendo…