Méthode de communication avec un Métahumain (Implémentation avec Unreal Egnine et Python)

 

Une méthode de communication vocale avec un Métahumain implémenté avec Unreal Engine et Python
Inventeurs : Olivier EDWIGE, Yannick EDWIGE
Société : EDEO Technologies
Année : 2024

Objet

Le présent document détail une méthode innovante de communication vocale avec un assistant virtuel. En particulier ce document présente la conception d’une méthode de communication avec un Métahumain implémenté dans l’Unreal Engine.

 

Historique

Les Métahumain peuvent être intégrés à des applications développées sous Unreal Engine. Traditionnellement, un plugin connecte le Métahumain à un outil de traitement du langage naturel. Ce plugin est installé dans l’Unreal Engine afin de connecter le Métahumain à un outil de traitement du langage naturel (LLM).

L'interaction vocale avec ces Métahumains nécessite une action physique (pression sur une touche ou l'écran tactile) pour initier l'écoute.

La méthode présentée ici vise à améliorer l'expérience utilisateur en permettant une communication fluide sans interaction matérielle.

 

Résumé

La présente divulgation propose une méthode de communication vocale avec un Métahumain sous Unreal Engine, permettant un dialogue naturel, sans recours à un dispositif physique.

Méthode

La méthode consiste à rendre plus naturel le dialogue entre l’utilisateur et le Métahumain en n’utilisant que la voix sans avoir besoin d’interagir avec un équipement matériel (clavier, écran). Pour cela au lancement du programme, un script active une caméra connectée ou intégrée à l'ordinateur puis cette dernière détecte le regard d'un utilisateur ; la détection positive déclenche une procédure d'élimination du bruit ambiant, puis active l'écoute de l'environnement via le microphone.

A ce stade l'écoute cesse si l'utilisateur détourne le regard pendant un certain temps. Sinon le système attend la prononciation d'un mot clé ; le mot clé déclenche l'enregistrement puis le système détecte la fin du discours de l'utilisateur et génère un texte retranscrivant le discours venant d'être prononcé. Le texte est stocké temporairement dans un fichier; l'existence du fichier a pour conséquence de bloquer l'écoute jusqu'à la fin du traitement du texte par le système; le traitement du texte consiste à le transmettre automatiquement au pipeline de communication avec un LLM (Modèle d'apprentissage de langage) pour le traitement automatique du langage naturel (algorithme TALN) afin de générer la réponse; le texte de réponse est reçu par le système et un calcul de la durée de la réponse vocale moyennedu Métahumain est effectué ; ce calcul détermine le temps d’attente moyen  jusqu’au moment où il faudra réactiver l'écoute ; le calcul s’exprime en fonction d’une décomposition du texte en une somme de tokens (λ) de 2 syllabes divisée par le débit vocal moyen du  Métahumain soit :

Enfin le texte est envoyé au Métahumain pour l'animer pendant la réponse vocale générée. Le dialogue se poursuit naturellement sur les mêmes procédures décrites précédemment sans avoir besoin de prononcer à nouveau le mot clé, jusqu'à ce que l'utilisateur quitte le champ de la caméra ou prononce des mots indiquant au système la fin de la discussion.

 

Brèves descriptions des schémas

Les éléments, objets, fonctionnalités et avantages de la présente divulgation apparaîtront plus évidente à partir des descriptions détaillées fournies ci-après avec des schémas sur lesquels des numéros de références renvoient aux descriptions correspondantes.

 

Le schéma 1 représente un diagramme des séquences de traitement de la méthode.

Le schéma 2 représente le graphe des échanges entre les composants du système.

Le schéma 3 représente le flux de dialogues entre l’utilisateur et le Métahumain.

 

Description détaillée des schémas

·       Le schéma 1 montre le diagramme des séquences de traitement (100) en commençant par le lancement du programme (102) qui contient les binaires compilés de la solution.

·       Un script est exécuté au lancement du programme pour activer la caméra de l’ordinateur (104) pour scruter l’environnement extérieur.

·       Si le système détecte le regard d’un utilisateur (105) alors d’autres scripts sont exécutés afin d’éliminer le bruit ambiant (106), nettoyer les caches (108) (fichiers temporaires) et activer l’écoute via le microphone de l’ordinateur (110).

·       A ce stade si le regard de l’utilisateur se détourne de la caméra (111) pendant quelques secondes (valeur seuil paramétrée) alors l’écoute est arrêtée automatiquement et on repasse au début des étapes précédentes (105).

·       Pendant la phase d’écoute (110) si un mot clé est prononcé (112) (exemple ‘Bonjour’) alors l’enregistrement de la voix de l’utilisateur (114) commence.

·       Le système détecte automatiquement la fin du discours de l’utilisateur (115) puis génère un texte correspondant au discours prononcé (116). Le système stock temporairement le texte (118) dans un fichier.

·       Cette étape déclenche le blocage de l’écoute (120) jusqu’à la fin du traitement du texte. Le traitement du texte consiste à l’envoyer au pipeline de traitement par LLM (122) (Modèle d’apprentissage de langage) pour le traitement automatique du langage naturel afin de générer la réponse.

·       La réception de la réponse déclenche le calcul de la durée de la réponse vocale du Métahumain (124) via une formule mathématique ;

            

·       Le texte est envoyé ensuite au Métahumain (126) pour l’animation de son corps virtuel pendant la réponse vocale synthétisée.

·       A la fin de la durée calculée, le fichier temporaire est supprimé du système ce qui réactive l’écoute via le microphone de l’utilisateur (128), le dialogue se poursuit sans avoir besoin de prononcer à nouveau le mot clé, jusqu’à ce que l’utilisateur quitte le champ de la caméra ou prononce des mots mettant fin à la discussion.


 

 

·       Le schéma 2 montre le graphe des échanges entre les composants du système (200).

·       L’implémentation du programme contenant la modélisation du Métahumain (202), l’environnement virtuel et les différents plugins, déclenche l’exécution du programme d’écoute de l’environnement extérieur et de détection du visage de l’utilisateur (204).  

·       Ces étapes (204) utilisent les périphériques d’entrée/sorties du matériel informatique (206) (microphone, caméra).

·       Une détection positive du regard de l’utilisateur (210) entraine la création de fichiers d’échange dans le système (208).

·       Le programme du Métahumain utilise les sorties du matériel informatique (212) (écran et haut-parleur) pour communiquer avec l’utilisateur (210).


·       Le schéma 3 présente un exemple de flux de dialogues (300). Le dialogue comprend plusieurs flux comme décrit ci-après.

·       Après la détection d’un utilisateur dans le champ de la caméra (302), le système attend la prononciation d’un mot clé (304).

·       Si le mot clé est prononcé le système entame une réponse correspondant à son rôle (306) (ici assistante de réception).

·       L’utilisateur pose sa question ou peut mettre fin à la conversation (310).

·       Cette dernière action entraine une réponse de fin de conversation du Métahumain (310).

·       Sinon le système répond à la question posée (308) et se prépare pour les instructions suivantes.

·       Après l’étape de fin de conversation (310), le système active un compteur (312), lorsque ce dernier dépasse une valeur seuil le système retourne à l’étape de détection de l’utilisateur (302).

·       Si la valeur seuil n’est pas dépassée et que l’utilisateur revient dans le champ de la caméra ou ne l’a jamais quitté (312), la question suivante peut être directement posée (306) sans avoir besoin de prononcer à nouveau le mot clé (304).

·       Ce système permet d’avoir une conversation plus naturelle avec le Métahumain.

 

Référence des marqueurs

100           Système

102           Exécution du programme principal

104-111  Configuration de l’écoute de l’environnement

112-115  Entrée/Matériel pour captage de la voix

116-128  Méthode de traitement du texte retranscrit

200           Méthode de communication avec le Métahumain

202-212  Etapes de la méthode 200  

300           Configuration initiale   

302           Début du dialogue

304           Message initial de l’utilisateur

306-308  Réponse du système

310 ;304 Poursuite du dialogue

310 ;300 Retour à la configuration initiale

 

 

 


 


 


 

 

Avantages de la méthode

·       Interaction naturelle et intuitive sans contrainte physique.

·       Optimisation de la réponse par un calcul adaptatif du temps d'attente.

·       Réduction de la latence et continuité fluide du dialogue.

·       Amélioration de l'immersion dans un environnement virtuel.

        Cette méthode constitue une avancée dans l'intégration des assistants virtuels interactifs, en facilitant une expérience conversationnelle fluide et immersive.

Revendications

1.              Procédé de communication vocale avec un Métahumain implémenté dans l'Unreal Engine, caractérisé en ce qu'il comprend :

·       La détection du regard d'un utilisateur pour activer l'écoute

·       L'élimination automatique du bruit ambiant avant l'écoute ;

·       L'activation de l'écoute après détection d'un mot-clé prononcé par l'utilisateur ;

·       La conversion du discours en texte puis son stockage temporaire ;

·       Le traitement du texte par un modèle d'apprentissage de langage (LLM) ;

·       Le calcul du temps de réponse optimal en fonction du débit vocal du Métahumain ;

·       L'animation du Métahumain en synchronisation avec la réponse générée.

2.     Procédé selon la revendication 1, caractérisé en ce que le dialogue se poursuit sans interaction matérielle supplémentaire tant que l'utilisateur reste dans le champ de vision de la caméra.

3.     Procédé selon la revendication 1 ou 2, caractérisé en ce que la fin de la conversation est détectée automatiquement par la sortie du champ de vision de l'utilisateur ou par la reconnaissance de termes de clôture.

4.     Système de communication vocale avec un Métahumain, comprenant :

·       Une caméra permettant la détection du regard ;

·       Un microphone pour la capture du discours utilisateur ;

·       Un module de traitement du langage naturel basé sur un LLM ;

·       Un module de synchronisation pour animer le Métahumain en fonction de la réponse générée.

 

 Résultats et tests, projet EVA et ADAMA :

 
 
 


 

 


Commentaires

Articles les plus consultés