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 moyenne
du
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 :
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
Enregistrer un commentaire