Brevet FR3103598A1 — publié le 20210528

L’invention concerne un module de traitement d’un flux audio-vidéo comportant : - un sous-module de segmentation audio (31) apte à identifier des paroles humaines dans les données audio dudit flux audio-vidéo et à dissocier celles prononcées simultanément par des personnes différentes ; - un sous-module de détection de visage (32) apte à identifier les visages humains présents dans les données vidéo dudit flux audio-vidéo ; et - un sous-module d’association (33) apte à associer les paroles prononcées par chaque personne à son visage ; caractérisé en ce que ledit sous-module d’association (33) met en œuvre un algorithme utilisant un réseau neuronal d’apprentissage profond préalablement entrainé à partir d’une base d’apprentissage. L’invention vise également un assistant personnel numérique à commande vocale pour véhicule automobile intégrant un tel module de traitement ainsi qu’un procédé de détection et d’application de manière contextualisée de requêtes de commande vocales dans un véhicule automobile. Figure à publier avec l’abrégé : Fig. 1 Module de traitement d’un flux audio-vidéo associant les paroles prononcées aux visages correspondants La présente invention concerne le domaine de l’identification de personnes dans un flux vidéo. Elle vise plus particulièrement un module de traitement audio-vidéo apte à associer les paroles prononcées par une ou plusieurs personnes dans un flux audio-vidéo au(x) visage(s) correspondant(s) de cette ou de ces personnes. L’identification de personnes dans un flux vidéo est une problématique essentielle dans de nombreux domaines de la vie courante mettant en œuvre des caméras vidéo. Des algorithmes de détection de visage et de reconnaissance faciale sont par exemples couramment utilisés dans des systèmes de contrôle d’accès, notamment pour le contrôle aux frontières (aéroports ou autres). Certaines applications mettant en œuvre ce type d’algorithmes nécessitent également d’identifier la ou les personnes qui parlent dans une vidéo. Une telle identification est classiquement effectuée par des algorithmes de surveillance des mouvements des lèvres sur les visages détectés mais une telle solution n’est pas robuste aux personnes parlant simultanément. Le document WO 2003/069541 A1 divulgue ainsi un module de traitement d’un flux audio-vidéo comportant : - un sous-module de segmentation audio apte à identifier des paroles humaines dans les données audio du flux audio-vidéo et à dissocier celles prononcées simultanément par des personnes différentes ; - un sous-module de détection de visage apte à identifier les visages humains présents dans les données vidéo du flux audio-vidéo ; et - un sous-module d’association apte à associer les paroles prononcées par chaque personne à son visage. Le sous-module d’association utilise soit un algorithme déterminant le niveau de corrélation entre les vecteurs représentant les caractéristiques des paroles prononcées par chaque personnes et ceux représentant les caractéristiques des visages identifiés, soit un algorithme utilisant une méthode d’analyse sémantique latente (LSA). Ce type d’algorithme ne permet toutefois pas d’obtenir une très bonne fiabilité d’association. La présente invention vise à améliorer la situation. Elle propose à cet effet un module de traitement d’un flux audio-vidéo comportant : - un sous-module de segmentation audio apte à identifier des paroles humaines dans les données audio dudit flux audio-vidéo et à dissocier celles prononcées simultanément par des personnes différentes ; - un sous-module de détection de visage apte à identifier les visages humains présents dans les données vidéo dudit flux audio-vidéo ; et - un sous-module d’association apte à associer les paroles prononcées par chaque personne à son visage ; caractérisé en ce que ledit sous-module d’association met en œuvre un algorithme utilisant un réseau neuronal d’apprentissage profond préalablement entrainé à partir d’une base d’apprentissage. L’utilisation d’un tel réseau neuronal d’apprentissage profond dans l’algorithme du sous-module d’association permet d’améliorer sensiblement sa rapidité de calcul et les performances du module de traitement (réduction du nombre de faux positifs et de faux négatifs). Selon des caractéristiques préférées dudit module de traitement selon l’invention : - ladite base d’apprentissage est de type non supervisée ; - ladite base d’apprentissage non supervisée est formée par des couples d’extraits vidéo et audio, chaque dit couple comprenant un extrait vidéo montrant le visage d’une personne en train de parler ainsi qu’un extrait audio de paroles correspondant ou non à celles prononcées par cette personne dans l’extrait vidéo ; - la correspondance entre les deux extraits vidéo et audio de chaque dit couple est déterminée en se basant sur le niveau de corrélation entre les mouvements des lèvres du visage de la personne filmée dans l’extrait vidéo et les paroles prononcées dans l’extrait audio ; - que ledit réseau neuronal est de type convolutif ; - ledit réseau neuronal est de type récurrent et comprend une pluralité de couches de neurones à mémoire court-terme et long-terme ; - ledit réseau neuronal comporte une fonction de perte de classification binaire de type entropie binaire croisée ; et/ou - les valeurs des poids des couches du réseau neuronal sont apprises par un algorithme de descente de gradient stochastique basé sur la rétropropagation du gradient. L’invention vise également sous un deuxième aspect, un assistant personnel numérique à commande vocale pour véhicule automobile comportant : - une caméra et un microphone aptes à capturer en continu un flux audio-vidéo de l’habitacle dudit véhicule ; - un tel module de traitement audio-vidéo ; - un module de reconnaissance faciale apte à associer chaque visage de passager identifié dans les données vidéo dudit flux audio-vidéo à un profil passager correspondant contenu dans une base de profils passagers stockée dans une mémoire non volatile ; - un module de reconnaissance vocale apte à analyser les paroles prononcées par chaque passager et à détecter si elles constituent ou non une requête de commande vocale ; et - une unité de pilotage apte à interpréter chaque requête de commande vocale détectée en fonction du profil passager correspondant à celui ayant émis cette requête, ainsi qu’à piloter sa mise en œuvre. L’invention vise enfin sous un troisième aspect, un procédé de détection et d’application de manière contextualisée de requêtes de commande vocales dans un véhicule automobile, comportant les étapes suivantes : - capture d’un flux audio-vidéo de l’habitacle dudit véhicule ; - détection et dissociation des paroles prononcées par des passagers différents dans les données audio dudit flux audio-vidéo ; - identification des visages des passagers du véhicule dans les données vidéo dudit flux audio-vidéo ; - association, via l’utilisation d’un algorithme utilisant un réseau neuronal d’apprentissage profond préalablement entrainé à partir d’une base d’apprentissage, des paroles prononcées par chaque passager à son visage ; - association de chaque visage de passager ayant prononcé des paroles à un profil passager correspondant contenu dans une base de profils passagers ; - détection, parmi lesdites paroles prononcées par un ou plusieurs passagers, d’une ou plusieurs requêtes de commande vocales ; - contextualisation de chaque requête de commande détectée en fonction du profil passager correspondant à celui ayant émis cette requête ; et - application de chaque requête de commande contextualisée. L’exposé de l’invention sera maintenant poursuivi par la description détaillée d’un exemple de réalisation, donnée ci-après à titre illustratif mais non limitatif, en référence aux dessins annexés, sur lesquels : est un diagramme fonctionnel d’un assistant personnel numérique à commande vocale pour véhicule automobile intégrant un module de traitement audio-vidéo selon l’invention ; et représente un organigramme du procédé selon l’invention de détection et d’application de manière contextualisée de requêtes de commande vocales dans un véhicule automobile. La figure 1 représente un diagramme fonctionnel d’un assistant personnel numérique à commande vocale 1 embarqué dans un véhicule automobile. L’assistant personnel 1 comporte une caméra 10 implantée en partie supérieure avant du véhicule (par exemple au niveau du rétroviseur intérieur) ainsi qu’un microphone 20 intégré à la caméra 10 ou implanté à proximité de cette dernière (par exemple dans la garniture de pavillon recouvrant le toit du véhicule) et aptes à capturer en continu un flux audio-vidéo d’au moins une partie de l’habitacle de ce véhicule. L’assistant personnel 1 comporte également un module de traitement 30 selon l’invention du flux audio-vidéo capturé dans l’habitacle par la caméra 10 et le microphone 20. Ce module de traitement audio-vidéo 30 comprend : - un sous-module de segmentation audio 31 apte à identifier en temps réel des paroles humaines dans les données audio du flux audio-vidéo et à dissocier celles prononcées simultanément par des personnes différentes ; - un sous-module de détection de visage 32 apte à identifier en temps réel les visages humains présents dans les données du flux audio-vidéo ; et - un sous-module d’association 33 apte à associer en temps réel les paroles prononcées par chaque personne à son visage. Le sous-module de segmentation audio 31 met avantageusement en œuvre un algorithme utilisant un réseau neuronal d’apprentissage profond et dont l’architecture est basée par exemple sur celle décrite dans l’article « Probabilistic Binary-Mask Cocktail-Party Source Separation in a Convolutional Deep Neural Network » (Andrew J.R. Simpson, 2015). Le sous-module de détection de visage faciale 32 met également en œuvre de manière avantageuse un algorithme utilisant un réseau neuronal d’apprentissage profond dont l’architecture est basée par exemple sur la version 3 de l’algorithme YOLO (acronyme en langue anglaise des mots « You Only Look Once ») décrite dans l’article « Yolov3 : An incremental improvement » (J. Redmon et A. Farhadi, 2018). En variante, l’algorithme utilisé par ce sous-module de reconnaissance faciale 32 peut être basé sur d’autres types d’algorithmes utilisant des caractéristiques, calculées à partir des valeurs des pixels des images, telles que les caractéristiques pseudo-Haar représentant la différence des sommes de pixels de deux ou plusieurs zones rectangulaires adjacentes (« Robust Real-time Face Detection », Paul Viola et Michael Jones, 2004). Le sous-module d’association 33 met préférentiellement en œuvre un algorithme utilisant un réseau neuronal d’apprentissage profond de type convolutif dont l’architecture est par exemple basée sur celle décrite dans l’article « Objects that sound » (R. Arandjelovic et A. Zisserman, 2018). En variante, ce réseau neuronal peut présenter une architecture différente, en étant par exemple de type récurrent et comprenant une pluralité de couches de neurones à mémoire court-terme et long-terme (plus communément désignées sous l’acronyme anglais LSTM pour «Long Short-Term Memory »). Le réseau neuronal utilisé dans l’algorithme de ce sous-module d’association 33 est en outre préalablement entrainé à partir d’une base d’apprentissage non supervisée formée par un grand nombre de couples d’extraits vidéo et audio (de préférence, plusieurs dizaines de milliers). Chaque couple d’extraits comprend un extrait vidéo montrant le visage d’une personne en train de parler, ainsi qu’un extrait audio de paroles correspondant ou non à celles prononcées par cette personne dans l’extrait vidéo. Au cours de cet entrainement, et pour chaque couple d’extraits vidéo et audio, le réseau neuronal doit déterminer, en se basant sur le niveau de corrélation entre les mouvements des lèvres du visage de la personne filmée dans l’extrait vidéo et les paroles prononcées dans l’extrait audio, s’il y a correspondance ou non entre ces deux extraits. Une telle base d’apprentissage présente pour avantage de pouvoir être constituée rapidement et à faible coût à partir de séquences audio-vidéo libres de droits et montrant le visage d’une personne en train de parler (les flux vidéo et audio de chaque séquence étant ensuite séparés et mélangés pour certains). Ce réseau neuronal comporte en outre une fonction de perte de classification binaire, avantageusement de type entropie binaire croisée et permettant de déterminer la performance de la classification réalisée. Les valeurs des poids des couches du réseau neuronal sont apprises par un algorithme de descente de gradient stochastique basé sur la rétropropagation du gradient : on calcule progressivement pour chaque couche, en partant de la fin du réseau, les paramètres qui minimisent cette fonction de perte. Cet algorithme est avantageusement l’algorithme ADAM (Kingma et Ba, « A Method for Stochastic Optimization », 3rd International Conference for Learning Representations, San Diego, 2015), utilisé avec un taux d’apprentissage commençant à 10 -3 et descendant graduellement au cours de l’apprentissage jusqu’à 10 -4 . Tel qu’illustré sur la figure 1, l’assistant personnel 1 comporte également un module de reconnaissance faciale 40 apte à associer chaque visage de passager identifié dans les données vidéo du flux audio-vidéo à un profil passager correspondant contenu dans une base de données de profils passagers 41 stockée dans une mémoire non volatile du véhicule, un module de reconnaissance vocale 50 apte à analyser les paroles prononcées par un ou plusieurs passagers et à détecter si elles constituent ou non une requête de commande vocale, et une unité de pilotage 60 comprenant apte à interpréter chaque requête de commande vocale détectée en fonction du profil passager correspondant à celui ayant émis cette requête, ainsi qu’à piloter sa mise en œuvre. Chaque profil comporte une pluralité de paramètres personnalisés (par exemple l’adresse de son domicile et de son lieu de travail, sa liste musicale, la position de confort de son siège, ou encore sa configuration de conduite) associés chacun à des termes spécifiques correspondants (par exemple, domicile, travail, liste musicale, position de confort, ou encore configuration de conduite). L’unité de pilotage 60 comporte un calculateur 61 ainsi qu’un module de stockage 62 comprenant de la mémoire vive et de la mémoire non volatile de type EEPROM ou FLASH stockant un processus de détection et d’application de manière contextualisée de requêtes de commande vocales dont l’organigramme est représenté sur la figure 2. Selon un mode préféré de réalisation, l’ensemble des informations contenues dans cette mémoire non volatile peut être mis à jour par des moyens de communication ou des moyens de lecture d’un support de données. On va maintenant décrire en détails et à l’appui de l’organigramme de la figure 2, les différentes étapes de ce processus. A l'étape initiale 100, un flux audio-vidéo de l’habitacle du véhicule est capturé par la caméra 10 et le microphone 20. Le module de traitement 30 détecte et dissocie les paroles prononcées par des passagers différents dans les données audio de flux audio-vidéo (étape 200), identifie les visages des passagers du véhicule dans les données vidéo de ce flux audio-vidéo (étape 300) puis associe les paroles prononcées par chaque passager à son visage (étape 400). Le module de reconnaissance faciale 40 associe ensuite chaque visage de passager ayant prononcé des paroles au profil passager correspondant de la base de données 41 de profils passagers (étape 500). Au cours de l’étape 600 effectuée avantageusement en parallèle aux étapes 400 et 500, le module de reconnaissance vocale 50 analyse les paroles prononcées par ce ou ces passagers de sorte à détecter si elles constituent ou non des requêtes de commande vocales. L’unité de pilotage 60 contextualise ensuite chaque requête de commande vocale détectée en fonction du profil passager correspondant à celui ayant émis cette requête (étape 700). Pour exemple, la requête « navigation à mon travail », sera contextualisée par cette unité de pilotage comme un souhait du passager d’être guidé vers son lieu de travail dont l’adresse est contenue dans son profil. L’unité de pilotage 60 ordonne enfin au(x) dispositif(s) concerné(s) du véhicule d’appliquer cette ou ces requêtes de commande vocales contextualisées (étape 800). Bien que l’utilisation du module de traitement audio-vidéo 30 selon l’invention ait été décrite ci-dessus dans le cadre d’un assistant personnel pour véhicule automobile, il doit être compris que sa mise en œuvre n’est nullement limitée à ce domaine d’application. Module de traitement d’un flux audio-vidéo comportant : - un sous-module de segmentation audio (31) apte à identifier des paroles humaines dans les données audio dudit flux audio-vidéo et à dissocier celles prononcées simultanément par des personnes différentes ; - un sous-module de détection de visage (32) apte à identifier les visages humains présents dans les données vidéo dudit flux audio-vidéo ; et - un sous-module d’association (33) apte à associer les paroles prononcées par chaque personne à son visage ; caractérisé en ce que ledit sous-module d’association (33) met en œuvre un algorithme utilisant un réseau neuronal d’apprentissage profond préalablement entrainé à partir d’une base d’apprentissage. Module de traitement d’un flux audio-vidéo selon la revendication 1, caractérisé en ce que ladite base d’apprentissage est de type non supervisée. Module de traitement d’un flux audio-vidéo selon la revendication 2, caractérisé en ce que ladite base d’apprentissage non supervisée est formée par des couples d’extraits vidéo et audio, chaque dit couple comprenant un extrait vidéo montrant le visage d’une personne en train de parler ainsi qu’un extrait audio de paroles correspondant ou non à celles prononcées par cette personne dans l’extrait vidéo. Module de traitement d’un flux audio-vidéo selon la revendication 3, caractérisé en ce que la correspondance entre les deux extraits vidéo et audio de chaque dit couple est déterminée en se basant sur le niveau de corrélation entre les mouvements des lèvres du visage de la personne filmée dans l’extrait vidéo et les paroles prononcées dans l’extrait audio. Module de traitement d’un flux audio-vidéo selon l’une des revendications 1 à 4, caractérisé en ce que ledit réseau neuronal est de type convolutif. Module de traitement d’un flux audio-vidéo selon l’une des revendications 1 à 4, caractérisé en ce que ledit réseau neuronal est de type récurrent et comprend une pluralité de couches de neurones à mémoire court-terme et long-terme. Module de traitement d’un flux audio-vidéo selon l’une des revendications 1 à 6, caractérisé en ce que ledit réseau neuronal comporte une fonction de perte de classification binaire de type entropie binaire croisée. Module de traitement d’un flux audio-vidéo selon l’une des revendications 1 à 7, caractérisé en ce que les valeurs des poids des couches du réseau neuronal sont apprises par un algorithme de descente de gradient stochastique basé sur la rétropropagation du gradient. Assistant personnel numérique à commande vocale pour véhicule automobile comportant : - une caméra (10) et un microphone (20) aptes à capturer en continu un flux audio-vidéo de l’habitacle dudit véhicule ; - un module de traitement audio-vidéo (30) selon l’une des revendications 1 à 8 ; - un module de reconnaissance faciale (40) apte à associer chaque visage de passager identifié dans les données vidéo dudit flux audio-vidéo à un profil passager correspondant contenu dans une base de données (41) de profils passagers stockée dans une mémoire non volatile ; - un module de reconnaissance vocale (50) apte à analyser les paroles prononcées par chaque passager et à détecter si elles constituent ou non une requête de commande vocale ; et - une unité de pilotage (60) apte à interpréter chaque requête de commande vocale détectée en fonction du profil passager correspondant à celui ayant émis cette requête, ainsi qu’à piloter sa mise en œuvre. Procédé de détection et d’application de manière contextualisée de requêtes de commande vocales dans un véhicule automobile, comportant les étapes suivantes : - capture d’un flux audio-vidéo de l’habitacle dudit véhicule (100) ; - détection et dissociation des paroles prononcées par des passagers différents dans les données audio dudit flux audio-vidéo (200) ; - identification des visages des passagers du véhicule dans les données vidéo dudit flux audio-vidéo (300) ; - association, via l’utilisation d’un algorithme utilisant un réseau neuronal d’apprentissage profond préalablement entrainé à partir d’une base d’apprentissage, des paroles prononcées par chaque passager à son visage (400) ; - association de chaque visage de passager ayant prononcé des paroles à un profil passager correspondant contenu dans une base de données (41) de profils passagers (500) ; - détection, parmi lesdites paroles prononcées par un ou plusieurs passagers, d’une ou plusieurs requêtes de commande vocales (600) ; - contextualisation de chaque requête de commande détectée en fonction du profil passager correspondant à celui ayant émis cette requête (700) ; et - application de chaque requête de commande contextualisée (800).