Cuando hablamos de Inteligencia Artificial hablamos de una gama extremadamente alta de categorías donde puede aplicarse. Es difícil imaginar una en la que no haya ninguna relación.
Hoy lo veremos con el baile, un lenguaje universal que se encuentra en casi todas las culturas, patrones de movimiento que responden a ritmos de música y donde la Inteligencia Artificial puede ayudar bastante.
Bailar requiere práctica, entrenamiento profesional en muchas ocasiones, por eso parece difícil imaginar un modelo de aprendizaje automático dedicado al tema.
El caso es que Google lo ha conseguido con un programa llamado AI Coreógrafo, un modelo que es capaz de imitar y entender los movimientos de baile, e incluso puede mejorar la capacidad de una persona para hacer coreografías.
Google ha presentado el modelo y ha lanzado un conjunto de datos de movimiento de baile en 3D multimodal a gran escala, con más de 5 horas de movimiento de baile en 3D en 1408 secuencias, que cubren 10 géneros de baile.
El conjunto de datos, llamado AIST ++, también contiene datos de imágenes sincronizadas desde múltiples vistas, con el objetivo de que se use para investigaciones diversas, como la estimación de pose tanto en 2D como en 3D, por ejemplo.
En el blog de Google comentan los detalles técnicos de como lo han conseguido:
El modelo comienza codificando el movimiento inicial y las entradas de audio utilizando transformadores de movimiento y audio separados. Las incrustaciones se concatenan y envían a un transformador transmodal, que aprende la correspondencia entre ambas modalidades y genera N secuencias de movimiento futuras. Estas secuencias se utilizan luego para entrenar el modelo de una manera auto-supervisada.
El modelo es capaz de generar movimiento de baile fotograma a fotograma.
Es impresionante como el modelo puede entender la relación entre audio y movimiento, generando así secuencias de movimiento 3D condicionadas a la música. Gracias a esta técnica será posible practicar y crear nuevos pasos, así como crear programas que puedan aprovechar esta inteligencia para atender a varias necesidades. El código está disponible en GitHub y el modelo entrenado en este enlace.