Danse et IA

AFFILIATIONS : Al ROBOLAB. Université du Luxembourg
AUTEURS : Nooshin SHOJAEE, Betania ANTICO

Résumé

Danser sur de la musique est un mouvement instinctif chez les humains. Étant donné que l’IA s’est développée dans tous les aspects de la vie humaine, la génération de danse par des techniques d’IA peut aboutir à des résultats impressionnants. La danse est l’un des moyens d’interaction entre les humains ; mais la danse peut-elle également être un moyen d’interaction entre les machines et les humains ? C’est la question à laquelle nous aimerions répondre à travers ce projet. Ce projet se compose de deux étapes. 
Étape 1 : Génération de danse par l’IA en fonction d’une musique d’entrée (en utilisant un modèle pré-entraîné appelé MMGAN).
Étape 2 : Conception d’une séquence de danse pour un robot semi-humanoïde (Pepper) afin d’interagir avec les humains.

L’IA doit être formée pour générer de la danse. Générer de la danse à partir de la musique est une tâche difficile. Les principaux défis peuvent être énumérés comme suit :
1. Les mouvements de danse doivent être bien alignés avec le style musical et les rythmes donnés.
2.Une pose de danse à n’importe quel moment peut être suivie de divers mouvements possibles.
Les structures à long terme des mouvements corporels entraînent une grande complexité cinématique.
Le MM GAN (Music to Movement GAN) est une technique pour créer des mouvements de danse basés sur la musique. Dans cette méthode, le modèle apprend d’abord à se déplacer en décomposant la danse en mouvements de base. Ensuite, il apprend à danser en organisant les mouvements de base en séquences de danse. À la fin, il enroule les séquences de danse en fonction des rythmes musicaux pour générer une danse à long terme.

Phase I

1. Dans la phase de décomposition de haut en bas, le modèle apprend à se déplacer en produisant des mouvements de base.
Il prend un extrait musical en entrée et suit le rythme cinématique pour extraire les séquences de danse. Ensuite, il normalise les séquences de danse en une série d’unités de danse. À la fin de cette phase, chaque unité de danse est décomposée en une pose initiale et en des mouvements possibles.
Chaque unité de danse est composée d’un nombre fixe de poses dans un intervalle de temps fixe. Les unités de danse sont utilisées pour capturer les motifs de mouvements de base et sont très utiles pour identifier le style musical. De plus, la pose d’une unité de danse actuelle peut être utilisée comme pose initiale de l’unité de danse suivante pour générer une danse à long terme.

1. Dans la phase de décomposition de haut en bas, le modèle apprend à se déplacer en produisant des mouvements de base.
Il prend un extrait musical en entrée et suit le rythme cinématique pour extraire les séquences de danse. Ensuite, il normalise les séquences de danse en une série d’unités de danse. À la fin de cette phase, chaque unité de danse est décomposée en une pose initiale et en des mouvements possibles.
Chaque unité de danse est composée d’un nombre fixe de poses dans un intervalle de temps fixe. Les unités de danse sont utilisées pour capturer les motifs de mouvements de base et sont très utiles pour identifier le style musical. De plus, la pose d’une unité de danse actuelle peut être utilisée comme pose initiale de l’unité de danse suivante pour générer une danse à long terme.

3. Dans la phase de test, le modèle enroule les unités de danse pour générer une danse à long terme.
À partir d’une musique d’entrée donnée, il extrait d’abord le style et génère une séquence de danse. Dans la deuxième étape, il démêle la danse générée en courtes séquences de danse et échantillonne aléatoirement une pose initiale. Dans la troisième étape, le modèle génère une séquence de danse complète en utilisant la pose initiale et les courtes séquences de danse (la pose initiale de la séquence de danse suivante est prise à partir de la dernière image de la séquence de danse actuelle). À la fin, le modèle enroule les séquences de danse générées en alignant les rythmes cinématiques avec les rythmes musicaux. La Figure 6 illustre la procédure de la phase de test.

Figure 2. Exemples d’unités de danse – Expérimentation

Collecte de données : Le modèle Dancing2Music est entraîné avec 68 000 extraits de musique de ballet, 220 000 extraits de musique de zumba et 73 000 extraits de musique de hip-hop, ce qui équivaut à un total de 71 heures de données d’entraînement.

Traitement des poses :

Traitement des poses : Dancing2Music utilise OpenPose pour extraire les points clés du corps en 2D. Dans ce modèle, 14 points clés sont choisis comme les points clés les plus pertinents pour le traitement de la danse. Ces points clés comprennent le nez, le cou, les épaules gauche et droite, les coudes, les poignets, les hanches, les genoux et les chevilles. Les points clés manquants sont estimés par interpolation à partir des images voisines. Comparaison : Dans notre laboratoire, nous avons testé le générateur de danse Dancing2Music pour créer une séquence de danse classique basée sur la pièce musicale « Le Cygne mourant ». En parallèle, nous avons appliqué le modèle de détection de pose Open Pose sur une vidéo musicale d’une ballerine pour analyser et comparer les mouvements de danse générés par l’IA et les mouvements de danse humains du point de vue chorégraphique.

Figure 3.

En ballet, toutes les lignes sont produites par le « en dehors » des hanches, ce qui donne aux pieds une ligne et une esthétique différentes. Les pointes ont été créées pour donner aux ballets une atmosphère éthérée, volatile et aérienne. Pour le modèle de détection de pose, ces mouvements sont parfois indéchiffrables car le pied du danseur ne montre pas une forme anatomique commune dans la danse.

Figure 4.

Dans cette pose, l’avatar n’a pas pu déduire que la jambe du danseur en « en dehors » est en position « croisé » et l’a interprétée d’une manière différente. En ballet, on pourrait appeler cette pose plutôt un « canard » et non un cygne, en référence à une pose approximative, où même l’IA a besoin d’une formation supplémentaire pour pouvoir détecter la pose avec le « style » approprié.

Figure 5.

Sur cette image, nous pouvons voir qu’Al pouvait déjà distinguer le style et la position des jambes et des bras, même la tête et son inclinaison parviennent à se rapprocher assez près de l’original.

Les robots semi-humanoïdes sont des robots qui ont l’apparence et le comportement d’un être humain ou qui exécutent une fonction intelligente d’un être humain avec le soutien d’un humain. Les robots semi-humanoïdes sont composés de parties mécaniques du corps, de systèmes intelligents (intelligence artificielle), de capteurs et de techniques d’interaction homme-machine. Pepper est le premier robot semi-humanoïde social fabriqué par SoftBank Robotics, capable de reconnaître les visages et les émotions humaines de base. Pepper a été optimisé pour l’interaction humaine et est capable d’interagir avec les gens grâce à la conversation et à son écran tactile. Les caractéristiques physiques et interactives de Pepper ont suscité notre intérêt pour concevoir une séquence de danse classique de base pour elle et expérimenter l’interaction humain-robot à travers la danse. Il y a de nombreux défis à relever dans la conception d’une chorégraphie pour les robots, notamment le fait que Pepper n’a pas de jambes et a une certaine amplitude de mouvement dans chaque articulation, ce qui limite sa capacité à prendre des positions de ballet. Cependant, nous avons réussi à concevoir une chorégraphie pour le robot et à élaborer une séquence en tenant compte de toutes les limitations. Ce qui peut être une source de motivation pour les personnes ayant des limitations, c’est d’apprendre à danser en suivant un robot.