SYSTEME ET METHODE POUR DETECTER DES EVENEMENTS AUDIO
ANORMAUX
L'objet de la présente invention concerne un système et un procédé permettant de détecter des événements sonores considérés comme étant anormaux par rapport à un environnement sonore habituel.
L'invention s'applique, notamment, dans des applications de surveillance de zones, d'endroits ou d'espaces.
Dans le domaine de la surveillance et de l'analyse d'environnements, les systèmes conventionnels et connus de l'art antérieur s'appuient principalement sur des technologies image et vidéo.
Dans le domaine de la surveillance utilisant l'audio, les problèmes techniques posés sont notamment les suivants : 1 ) comment détecter des événements sonores spécifiques et/ou anormaux ?
2) comment avoir des solutions robustes au bruit de fond et à ses variabilités, c'est-à-dire des solutions qui sont fiables et qui ne génèrent pas de signaux d'alarmes continuellement, ou de façon intempestive ?
3) comment classifier les différents événements enregistrés ?
Dans le domaine de l'analyse d'événements sonores, l'art antérieur distingue deux processus. Le premier est un processus de détection. Le second est un processus de classification des événements détectés.
Les méthodes de détection classiques pour des événements sonores, s'appuient, en général, sur l'extraction de paramètres caractéristiques des signaux que l'on cherche à détecter. Les paramètres sont en général, des paramètres temporels, fréquentiels ou mixtes. Dans le cas des méthodes de classification connues de l'art antérieur, ces dernières sont en général basées sur des approches dites supervisées, où un modèle par événement à classifier est obtenu à partir de
données d'apprentissage segmentées et labellisées. Ces solutions reposent, par exemple, sur des algorithmes de classification connus sous les abréviations anglo-saxonnes HMM pour Hidden Markov Model, GMM pour Gaussian Mixture Model, SVM pour Support Vector Machine ou encore NN pour Neural Network. Ces modèles sont connus de l'Homme du métier et ne seront pas détaillés. La proximité des données de test réelles et des données d'apprentissage conditionne les performances de ces systèmes de classification.
Les inconvénients majeurs de l'approche supervisée proviennent de la nécessité de devoir spécifier au préalable les événements anormaux, et de collecter une quantité suffisante et statistiquement représentative de ces événements. La spécification des événements n'est pas toujours possible, et la collecte d'un nombre suffisant de réalisations pour enrichir une base de données, non plus. Il est aussi nécessaire, pour chaque nouvelle configuration, de procéder à un nouvel apprentissage supervisé. La tâche de supervision requiert une intervention humaine (segmentation manuelle ou semi-automatique, labellisation, etc.). La flexibilité de ces solutions est donc limitée en termes d'usage, et la prise en compte de nouveaux environnements est difficile à mettre en œuvre. Enfin, l'apprentissage de modèles d'événements tient compte du bruit de fond et de sa variabilité, de fait, il peut dans certains cas ne pas être robuste. Ces démarches peuvent être désignées comme des approches non automatisées, c'est-à-dire qu'elles nécessitent une intervention humaine.
Malgré tous les résultats que procurent ces systèmes, les solutions prévues dans l'art antérieur ne permettent pas de traiter correctement les événements audio qui ne sont pas prédéfinis. La robustesse à l'environnement ainsi que sa variabilité sont limitées.
L'idée de l'invention repose, notamment, sur une nouvelle approche dans laquelle le procédé fait appel à une étape d'apprentissage automatisée, c'est-à-dire qui ne demande pas en fonctionnement normal d'intervention humaine, les différents éléments, capteurs ou autres dispositifs
constituant le système se suffisant à eux-mêmes pour modéliser un environnement.
L'invention concerne un procédé pour détecter des événements audio anormaux dans un environnement donné, caractérisé en ce qu'il comporte au moins les étapes suivantes:
• une étape automatisée d'apprentissage de la modélisation dudit environnement au cours de laquelle une base de données est élaborée par extraction de paramètres acoustiques liés à des flux audio captés sur une période de temps fixée et une segmentation automatique non supervisée des dits flux, suivi d'une étape de regroupement des segments par classes, et d'une modélisation statistique des classes de segments,
• une phase d'utilisation qui comprend l'analyse d'un flux audio, avec extraction des paramètres acoustiques, une étape de segmentation automatique dudit flux analysé identique à celle utilisée lors de la phase d'apprentissage et une étape au cours de laquelle la vraisemblance de chaque modèle statistique contenu dans la base de données est déterminée sur chacun des segments du flux audio analysé, • ladite étape de détermination des vraisemblances conduisant à une valeur λ de vraisemblance correspondant au modèle le plus probable, maximum des vraisemblances, qui est comparée à une valeur seuil afin de déclencher ou non un signal de présence ou d'absence d'anomalies audio dans le flux audio analysé. L'étape de modélisation est, par exemple, une modélisation statistique des classes de segments qui consiste à modéliser la densité de probabilité de l'ensemble des paramètres acoustiques de chaque classe de segments à l'aide d'un mélange de gaussiennes mixtes ou GMM.
Selon une autre variante l'étape de modélisation est une modélisation statistique des classes de segments qui consiste à modéliser la densité de probabilité de l'ensemble des paramètres acoustiques de chaque classe de segments à l'aide d'un modèle de type Markov ou HMM.
L'étape d'apprentissage consiste, par exemple, à utiliser un algorithme qui permet de positionner des centroïdes uniformément répartis dans l'espace des paramètres en exécutant les étapes suivantes :
1. Calcul du vecteur moyen à partir de l'ensemble des données d'apprentissage,
2. Recherche du segment le plus éloigné du vecteur moyen et initialisation du premier centroïde comme étant le vecteur moyen du segment trouvé (nb_classe = 1 ),
3. Itérations permettant d'incrémenter le nombre de classes (nb_classe = nb_classe + 1 ) : on recherche le segment qui maximise la distance cumulée aux centroïdes identifiés à l'itération précédente,
4. Critère d'arrêt : soit lorsque le nombre prédéfini de classes est atteint, soit lorsque la distance entre le segment trouvé et les centroïdes identifiés à l'itération précédente est inférieure à un seuil.
L'étape de segmentation automatique utilise, par exemple, le principe du dendrogramme.
L'étape de segmentation automatique peut sélectionner un niveau de segmentation en utilisant l'un des critères suivants :
• appliquer un seuil Smax sur la distance entre les deux dernières classes regroupées c'est-à-dire minimiser le nombre de segments possibles tout en minimisant la distance de regroupement considérée, et/ou • le maximum sur les segments d'un même niveau du maximum sur les vecteurs d'un même segment (de la distance entre le vecteur et le vecteur moyen du segment) et/ou
• le maximum sur les segments d'un même niveau de la moyenne sur les vecteurs d'un même segment (distance entre le vecteur et le vecteur moyen du segment) et/ou
• le minimum sur les segments d'un même niveau du minimum sur les vecteurs d'un même segment (du coefficient d'inter-corrélation normalisée entre le vecteur et le vecteur moyen du segment) et/ou
• le minimum sur les segments d'un même niveau de la moyenne sur les vecteurs d'un même segment (du coefficient d'inter-corrélation normalisée entre le vecteur et le vecteur moyen du segment).
Lors de la phase d'apprentissage, ledit procédé utilise, par exemple, un algorithme K-moyenne ou un algorithme de type LBG pour l'étape de regroupement des segments en classes ou encore une version dérivée de l'algorithme K-moyenne.
La taille du modèle peut être déterminée de manière automatique en appliquant un seuil Smax sur la distance entre les deux dernières classes regroupées, c'est-à-dire minimiser le nombre de segments possibles tout en minimisant la distance de regroupement considérée. Les paramètres acoustiques utilisés peuvent être choisis parmi la liste suivante : des paramètres spectraux, temporels ou spectraux-temporels associés au flux audio.
L'invention concerne aussi un système de détection d'anomalies audio dans un environnement donné caractérisé en ce qu'il comporte au moins les éléments suivants :
• Un ou plusieurs capteurs audio adaptés à détecter des flux audio,
• Un module de prétraitement adapté à exécuter une segmentation automatique des paramètres acoustiques extraits du flux audio à analyse, • Un module adapté à élaborer une base de données représentative du modèle de l'environnement à surveiller,
• Un module de calcul de vraisemblance prenant en entrée le modèle audio de la base de données et le résultat de calcul de vraisemblance exécuté sur un flux audio analysé, • Un module de comparaison de la valeur de vraisemblance obtenue et d'une valeur seuil.
Le système comporte, par exemple, un premier module de prétraitement et un premier module d'élaboration de la base de données sont mémorisés dans un premier processeur pour la phase d'apprentissage du système et en ce qu'il comporte un deuxième module de prétraitement et un deuxième module du calcul de vraisemblance, le module de calcul de vraisemblance recevant en entrée des informations sur les modèles issus de la base de données.
Le système comporte, par exemple, une station centrale ou salle de surveillance équipée de plusieurs écrans de contrôle Ei, d'un module de redirection des flux vidéo, un écran principal Ep, plusieurs ensembles Zi constitués chacun d'un ou plusieurs capteurs audio associés à des caméras vidéo Ci, Vi, lesdits modules Ci, Vi étant en liaison avec un module adapté à déterminer une valeur de vraisemblance λi, lesdites valeurs de vraisemblance λi étant transmises à la station centrale. Les valeurs de vraisemblance ainsi déterminées peuvent servir à ordonner les flux vidéos associés afin de fournir une aide à un opérateur (sélection automatique du flux prioritaire vers l'écran principal, ou sélection manuelle par l'opérateur à partir de l'affichage ordonné des écrans de contrôle. Les flux prioritaires sont, par exemple, ceux ayant les valeurs de vraisemblance les plus faibles.
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture d'un exemple non limitatif de réalisation en se référant aux figures qui représentent :
• La figure 1 , un exemple de système de détection selon l'invention, • La figure 2, les étapes mises en œuvre lors de la phase d'apprentissage et la phase de reconnaissance du système selon l'invention,
• La figure 3, un exemple de regroupement de classes,
• La figure 4, un algorithme pouvant être mis en œuvre pour construire un dictionnaire,
• La figure 5, le profil des distributions de scores des événements audio anormaux et des événements audio normaux,
• La figure 6, un exemple détaillé des étapes au niveau de la phase d'utilisation de la figure 2, et
• La figure 7, un autre exemple de système selon l'invention.
La description qui suit va être donnée à titre illustratif et nullement limitatif pour une surveillance et une détection d'événements audio anormaux, tels que des cris, dans un environnement sonore bruyant, par exemple, un quai de métro. Le système de détection audio peut aussi être utilisé pour hiérarchiser des flux vidéo provenant de plusieurs caméras. Ce mode d'utilisation peut être particulièrement adapté à une application de surveillance en procurant une aide à l'opérateur de sécurité en charge de visionner en direct les différents flux vidéo.
Dans l'exemple illustré à la figure 1 , le système de détection selon l'invention va utiliser deux processeurs séparés ayant des capacités de calcul différentes. Sur la partie supérieure de la figure est représenté le système utilisé pendant la période d'apprentissage du système, alors que sur la partie inférieure, un exemple de système de capture des anomalies et de reconnaissance de ces anomalies est représenté.
Dans certains cas d'utilisation, le système peut comporter un seul processeur ayant des capacités de calcul et de traitement suffisantes pour exécuter l'étape d'apprentissage et l'étape de reconnaissance.
La figure 1 schématise un exemple d'architecture du système mise en œuvre par l'invention, pour laquelle une partie concerne l'apprentissage d'une base de données qui sera utilisée pour la reconnaissance des bruits et des événements sonores anormaux sur un quai de métro. Le système comprend un capteur audio 1 de sons, de bruits sonores présents dans une zone à surveiller ou dont on souhaite faire une analyse d'événements sonores. Les données reçues sur ce capteur audio 1 sont transmises, tout d'abord, à un dispositif 3 contenant un filtre et un convertisseur analogique- numérique connus de l'Homme du métier, puis via une entrée 4 à un processeur 5 comprenant un module 6 détaillé à la figure 2 de prétraitement
des données, un module d'apprentissage 7. Les modèles ainsi générés sont transmis via une sortie 8 du processeur 3 à une base de données 9. Cette base de données 9 va contenir des modèles correspondant à des classes de paramètres acoustiques représentatifs d'un environnement audio considéré comme normal. Cette base de données va être initialisée lors d'une phase d'apprentissage et pourra être mise à jour au cours du fonctionnement du système de détection selon l'invention. La base de données 9 est aussi utilisée lors de la reconnaissance de bruit ou de détection d'événements audio anormaux. Le système comprend aussi pour la reconnaissance des événements audio anormaux, un ou plusieurs capteurs audio 10, chaque capteur 10 étant relié à un dispositif 1 1 comprenant un filtre et un convertisseur analogique numérique ou CAN. Les données détectées par le capteur audio et mises en forme par le filtre et le CAN sont transmises à un processeur 13, via une entrée 12. Le processeur comporte un module de prétraitement 14 détaillé à la figure 2, puis un module 15 de reconnaissance des données traitées, ledit module recevant des informations de la base de données 9 par une liaison 16 qui peut être filaire ou non. Une fois les informations traitées, le résultat « événement audio anormal » ou « événements audio anormal » est transmis via la sortie 17 du processeur soit vers un dispositif de type PC, 18, permettant l'affichage du résultat, soit vers un dispositif déclenchant une alarme 19 ou encore vers un système 19' de redirection du flux vidéo et de l'alarme selon par exemple le schéma figure 5. Les modules de prétraitement 6 et 14 doivent être identiques afin d'assurer la compatibilité des modèles de la base de données 8. D'autre part, les capteurs audio 2 et 10 peuvent être des capteurs présentant des caractéristiques similaires ou identiques (type, caractéristique et positionnement dans l'environnement) afin de s'affranchir des différences de mise en forme des signaux entre les phases d'apprentissage et de test.
La transmission des données entre les différents dispositifs peuvent être effectuées via des liaisons filaires, ou encore des systèmes sans fil, tels que
Bluetooth, ....les réseaux locaux sans-fil ou en abrégé anglo-saxon WLAN, etc.
Un exemple d'une autre architecture système sera donné, à titre illustratif et non limitatif, à la figure 5. Cette architecture permet notamment de hiérarchiser différents flux vidéo issus de différentes caméras ou dispositifs vidéo associés aux capteurs de surveillance.
Le système peut aussi comporter une mémoire tampon ayant notamment pour fonction de stocker les dernières données ou événements audio anormaux. Cette mémoire tampon peut ainsi permettre à un opérateur de surveillance d'accéder aux flux enregistrés lors de la génération d'une alarme. Cette mémoire est similaire au stockage des flux vidéo en vidéosurveillance.
Dans le cas d'un système mettant en œuvre un unique processeur, on peut envisager l'utilisation d'un ou de plusieurs capteurs audio, associés chacun à des filtres positionnés avant le processeur.
La figure 2 représente un exemple pour l'enchainement des étapes mises en œuvre au cours du procédé selon l'invention, la partie gauche de la figure correspondant à la phase d'apprentissage alors que la partie droite à la phase d'utilisation. Une première étape correspond à l'apprentissage automatisé du système. Le système va enregistrer grâce au capteur pendant une durée TA fixée initialement les bruits et/ou le fond sonore représentatif du quai de métro. Cette phase d'apprentissage est automatisée et non supervisée. Les paramètres acoustiques qui vont être utilisés sont en général des paramètres spectraux, temporels ou spectro-temporels. Il est ainsi possible d'utiliser une modélisation de l'enveloppe spectrale du bruit capté par le microphone, tels que les paramètres cepstraux ou vecteurs cepstraux. Le flux audio, dans ce cas va être modélisé par une séquence de vecteurs cepstraux.
Au cours de la phase d'apprentissage automatisée, une séquence audio représentative d'un environnement sonore dans la zone de surveillance visée initialement est captée. Les paramètres acoustiques sont extraits lors d'une étape d'extraction 2.1 , à partir du signal audio, de la
séquence audio, en utilisant une fenêtre d'analyse glissante à court terme. Cette technique d'analyse étant connue de l'Homme du métier, elle ne sera pas explicitée. Une manière de procéder est de considérer des trames d'analyse dont la durée est par exemple de l'ordre de 20 à 60ms, avec un recouvrement typique de 50%. Les paramètres acoustiques considérés par le procédé sont choisis en fonction des propriétés des signaux à modéliser. La durée d'une trame d'analyse tient généralement compte d'hypothèses de stationnante du signal analysé sur l'horizon de la trame.
Dans le domaine de la parole, les paramètres cepstraux qui modélisent l'enveloppe spectrale sont souvent utilisés combinés à d'autres paramètres plus spécifiques permettant de modéliser des propriétés temporelles ou spectrales. On peut citer à titre d'exemple le taux de passage par zéro (ZCR, Zéro Crossing Rate) dans le domaine temporel ou dans le domaine spectral la mesure connue sous l'abréviation anglo-saxonne « SFM » (Spectral Flatness Measure). Ces deux mesures font partie des paramètres utilisés pour distinguer les signaux de parole voisés de signaux de bruit. De nombreux paramètres sont décrits dans la littérature permettant de modéliser une ou plusieurs caractéristiques des signaux analysés (harmonicité, stationnante, enveloppe spectrale, enveloppe temporelle, énergie localisée en fréquence, ...).
L'étape suivante 2.2 est une étape de segmentation automatique à partir des vecteurs de paramètres extraits lors de l'étape 2.1. L'objectif de cette étape de segmentation est de regrouper les vecteurs qui sont proches, par exemple, en utilisant un critère de distance prédéfinie. Le critère sera choisi en fonction du type de paramètres acoustiques qui ont été utilisés pour caractériser le fond sonore ou audio. Cette segmentation peut être effectuée de plusieurs manières, par exemple en utilisant une des techniques listées ci-après: détection de rupture de trajectoires ou de modèles, décomposition temporelle, ou dendrogramme qui correspond à une représentation graphique d'un arbre de classification hiérarchique mettant en évidence l'inclusion progressive des classes. Dans le cas de l'utilisation du dendrogramme, sur un horizon de plusieurs trames, ce qui correspond à
quelques secondes, le principe de segmentation va consister à regrouper des trames dans une approche dite ascendante ou « bottom-up » en utilisant une distance appropriée (adaptée aux paramètres). Le dendrogramme fournit un ensemble de segmentations possibles (une segmentation par niveau du dendrogramme). Plusieurs critères peuvent être utilisés pour retenir une segmentation pour la suite du traitement : seuil sur la distance entre segments, ou sur un coefficient de corrélation intra-segment par exemple. Le procédé utilise alors une mémoire tampon implémentée au sein du système devant comprendre au moins un segment ou groupe de vecteurs. Une telle mémoire tampon étant classiquement utilisée, elle n'est pas représentée pour des raisons de simplification.
L'ensemble des segments ainsi calculés vont être utilisés pour construire un dictionnaire dont le nombre de classes Nc est prédéfini, ou encore déterminé automatiquement sur un critère de distances interclasses par exemple. Ceci correspond aux étapes 2.3 et 2.4.
Ainsi, lors de l'étape 2.3, les segments sont regroupés par classes en mettant en œuvre un algorithme de type K-moyenne (K-Means), ou un algorithme « LBG » (Linde-Buzo-Gray) ou tout autre algorithme ayant les mêmes fonctionnalités ou des fonctionnalités similaires, utilisés par un Homme du métier.
Les segments étant regroupés par classes (étape 2.3), l'étape suivante (étape 2.4) consiste à modéliser la densité de probabilité de l'ensemble des paramètres acoustiques de chaque classe de segments, en utilisant, par exemple, un modèle de mélange de gaussiennes, plus connu sous l'abréviation anglo-saxonne GMM (Gaussian Mixture Model). L'algorithme généralement utilisé pour trouver le maximum de vraisemblance des paramètres du modèle probabiliste lorsque celui-ci dépend de variables latentes non observables est plus connu sous l'abréviation anglo-saxonne « EM » pour Expectation-Maximization, et sera utilisé pour la phase d'apprentissage du système. Le nombre de gaussiennes utilisées peut être prédéfini ou déterminé de manière automatique à partir d'un critère issu de la théorie d'information de type « MDL » abréviation anglo-saxonne de
« Minimum Description Length » dans lequel la meilleure hypothèse pour un ensemble de données est celle qui conduit à la compression la plus large de données.
A l'issue de cette étape, le système possède donc une base de données 9 correspondant à l'apprentissage du système, c'est-à-dire comprenant un modèle sonore de l'environnement à surveiller. Cette base de données, comporte, pour chaque classe déterminée, la modélisation de la distribution des paramètres audio utilisés, ce qui correspond à l'ensemble {GMMk}, k=1 ,....K avec K le nombre de classes, lorsque le modèle de mélange de Gaussiennes a été utilisé.
Une manière d'exécuter la phase d'apprentissage non supervisée est détaillée ci-après. Approche de segmentation automatique par dendroqramme
Le corpus d'apprentissage (ensemble des signaux représentatifs de l'environnement sonore à modéliser) est analysé. L'analyse consiste à extraire des paramètres à partir de chaque trame avec un recouvrement. Typiquement, la durée de la trame d'analyse est de quelques dizaines de ms, et le recouvrement est en général de 50 %. En fonction du type d'environnement, il peut être préférable d'utiliser une trame plus ou moins longue afin de prendre en compte au mieux le degré de stationnante des signaux. Plusieurs types d'analyses sont possibles (analyse spectrale, cepstrale, temporelle, ...). De l'analyse d'une trame résulte un vecteur de paramètres, qui est stocké dans une mémoire de type « premier entré premier sorti » plus connue sous l'abréviation anglo-saxonne « FIFO » (pour First In First Out), mémoire non représentée pour des raisons de clarté. La taille de cette mémoire (nombre de vecteurs mémorisés) est égale au nombre d'éléments (vecteurs dans le cas présent d'application) utilisés par le dendrogramme. La durée correspondante (proportionnelle à la taille de la mémoire) peut être de l'ordre de quelques centaines de ms, voire quelques secondes pour des bruits de fond fortement stationnaires. Cette durée doit être en général être choisie de manière à incorporer au minimum un événement audio considéré a priori comme élémentaire. Cependant, un
compromis peut-être réalisé afin de réduire le retard introduit par le traitement lors de la phase d'utilisation du système. La minimisation du nombre de vecteurs permet d'obtenir un résultat du processus de détection plus réactif. Le dendrogramme est ici utilisé pour obtenir de manière automatique une segmentation du signal audio. Le principe consiste à regrouper dans une approche précitée « bottom-up » les éléments en entrée du dendrogramme. Cette méthode permet d'obtenir une segmentation pour tous les différents niveaux possibles, autrement dit pour un nombre de segments allant du nombre initial d'éléments à un segment unique.
A l'initialisation, chaque élément est le représentant de sa classe. Si N est le nombre d'éléments (vecteurs) en entrée du dendrogramme, il y a donc N classes au niveau le plus bas.
Ensuite, le nombre de segments est décrémenté pour passer au niveau supérieur après regroupement des deux classes les plus proches selon un critère de distance (définie en fonction des paramètres utilisés). Il existe plusieurs types de regroupements possibles selon la distance que l'on cherche à minimiser pour la sélection des classes à regrouper. Les 4 principales méthodes de regroupement sont les suivantes: > distance minimale entre les vecteurs des classes ou en anglo-saxon
« single linkage »,
> distance maximale entre les vecteurs des classes ou en anglo-saxon « complète linkage »,
> distance moyenne entre les vecteurs des classes ou en anglo-saxon ou en anglo-saxon « average linkage »,
> distance entre les vecteurs moyens (centroïdes) ou en anglo-saxon « centroid linkage ».
Le critère d'arrêt utilisé est, par exemple, basé sur la distance minimale entre les deux dernières classes regroupées. Sur la figure 3 est représenté un exemple de regroupements selon les N classes pour une approche bottom-up, l'axe vertical correspondante aux vecteurs, l'axe horizontal schématisant la mémoire tampon du
dendrogramme. A l'issue de ce regroupement, le procédé permet d'obtenir 3, puis 2, puis un vecteur représenté par une seule lettre R pour le regroupement.
Le procédé de segmentation automatique doit enfin sélectionner de manière automatique un niveau de segmentation qui sera considéré optimal selon un critère à définir.
Un premier critère consiste à appliquer un seuil Smax sur la distance entre les deux dernières classes regroupées (plus on monte dans les niveaux du dendrogramme plus la distance entre les classes à regrouper est grande). Il s'agit donc de minimiser le nombre de segments possibles tout en minimisant la distance de regroupement considérée.
D'autres critères peuvent être utilisés comme par exemple:
1. le maximum sur les segments d'un même niveau du maximum sur les vecteurs d'un même segment (de la distance entre le vecteur et le vecteur moyen du segment) ;
2. le maximum sur les segments d'un même niveau de la moyenne sur les vecteurs d'un même segment (distance entre le vecteur et le vecteur moyen du segment) ;
3. le minimum sur les segments d'un même niveau du minimum sur les vecteurs d'un même segment (du coefficient d'inter-corrélation normalisée entre le vecteur et le vecteur moyen du segment) ;
4. le minimum sur les segments d'un même niveau de la moyenne sur les vecteurs d'un même segment (du coefficient d'inter- corrélation normalisée entre le vecteur et le vecteur moyen du segment).
Les Notations alternatives pouvant être utilisées sont par exemple
MAX { MAX { distance (x, ck ) } )
;=1, ,N "- -j 1 ι xxee SSeegemmeennttkk (x,ck) } J\
3. MIN I MIN { corrélatiσι (x,ck) } \ k=l,...,N-j xε Segmentk
4 MIN \ MOYENNE { corrélation (x, c . ) } ( k=l, ,N- Λ xε Segment k J
où j=indice de niveau = 0, ...,N-1 (Niveau 0 : N classes, Niveau N-1 : 1 classe) où k = indice de segment (classe) pour le niveau j = 1 ,..., N-j où x est un vecteur du segment (classe) d'indice k où Ck est le vecteur moyen (centroïde) du segment (classe) k
Dans les cas 1 ) et 2), le critère de distance doit être inférieur à un seuil tout en minimisant le nombre de segments. Dans les cas 3) et 4), le critère de corrélation doit être supérieur à un seuil tout en minimisant le nombre de segment.
Construction d'un dictionnaire par regroupements des segments similaires
La segmentation décrite précédemment est appliquée à l'ensemble de la base d'apprentissage. Les segments ainsi obtenus sont regroupés par classe en utilisant par exemple un algorithme d'apprentissage du type LBG (Line-Buzo-Gray) ou un algorithme de type K-moyenne. Ces algorithmes permettent d'associer chaque segment à une classe, elle-même représentée par un vecteur moyen (centroïde). Un critère simple de distance entre un segment et le centroïde consiste à calculer la distance cumulée du centroïde à chacun des vecteurs du segment considéré. Ceci peut s'exprimer de la manière suivante :
Nvecteurs distance (S ,ck) = ∑distance (xn,ck) = distance entre le segment S et le
B=I centroïde d'indice k où Xn est un vecteur du segment s, n = 1 ,...,N vecteurs
Le nombre de classes peut soit être fixé a priori, soit déterminé de manière automatique en utilisant un critère d'arrêt basé sur la distance minimale entre centroïdes (il n'est pas nécessaire d'augmenter le nombre de centroïdes si ceux-ci sont suffisamment proches selon un certain critère). La détermination du seuil utilisé pour ce critère d'arrêt peut être basée sur une distance spectrale (éventuellement calculée sur une échelle non-linéaire des fréquences du type MEL ou Bark pour introduire une contrainte liée à la perception des sons). Cette distance spectrale peut généralement être calculée à partir des paramètres utilisés en calculant les enveloppes spectrales associées. Une alternative consiste à déterminer le seuil à partir de la corrélation entre les distances utilisées avec les paramètres et les distances spectrales.
Dans la mesure où certains événements normaux peuvent être sous-représentés, une version modifiée d'apprentissage consiste à utiliser un algorithme qui permet de positionner des centroïdes uniformément répartis dans l'espace des paramètres. Un exemple d'algorithme est représenté à la figure 4:
1 ) Calcul du vecteur moyen à partir de l'ensemble des données d'apprentissage. 2) Recherche du segment le plus éloigné du vecteur moyen et initialisation du premier centroïde comme étant le vecteur moyen du segment trouvé (nb_classe = 1 )
3) Itérations permettant d'incrémenter le nombre de classes (nb_classe = nb_classe + 1 ) : on recherche le segment qui maximise la distance cumulée aux centroïdes identifiés à l'itération précédente.
4) Critère d'arrêt : soit lorsque le nombre prédéfini de classes est atteint, soit lorsque la distance entre le segment trouvé et les centroïdes identifiés à l'itération précédente est inférieure à un seuil. Le seuil peut être lié à une distance perceptuelle pondérée spectralement. Apprentissage des GMM
L'algorithme EM (« Expectation-Maximization ») est utilisé pour construire un modèle GMM par classe de segments. Un critère de type
longueur minimale « MDL » (Minimum Description Length) peut être utilisé pour déterminer le nombre optimal de Gaussiennes par modèles, sinon un nombre de Gaussiennes par défaut est prédéfini.
La figure 5 représente un exemple de seuil positionné dans le graphe des profils de distribution des scores des événements audio normaux et des événements audio anormaux. Le seuil permet d'assurer un compromis entre les nombres de fausses alarmes et de faux rejets. Si les surfaces grisées (voir figure), annotés Aa, et An sont égales, la probabilité de fausses alarmes est égale à la probabilité de faux rejets. Principe du système de détection (figure 6)
Le module de segmentation est, de préférence, identique à celui mis en œuvre pour la phase d'apprentissage. Sur chaque segment détecté 4.2 on calcule la vraisemblance logarithmique ou « log-vraisemblance » de chaque modèle GMM 4.3. Un seuil 4.4 est alors appliqué sur la log- vraisemblance maximale obtenue (modèle GMM le plus probable) pour décider de la présence ou non d'un événement anormal. Le seuil de détection du système peut être déterminé de manière automatique à partir d'une base 4.5 prédéfinie d'événements anormaux qui permet d'estimer la distribution de scores d'événements anormaux et de la comparer à la distribution des scores obtenus sur les données d'apprentissage. Le seuil peut être alors choisi pour avoir un point de fonctionnement du système privilégiant soit le taux de fausses alarmes soient le taux de faux rejets. De manière pratique, les distributions des événements normaux et des événements anormaux sont obtenues à partir des séquences d'apprentissages, et de séquences simulées respectivement. Les séquences simulées sont obtenues en superposant les événements anormaux aux séquences d'apprentissage à différents niveaux de rapport signal sur bruit RSB (Rapport Signal à Bruit). Dans ce cas le bruit est l'environnement sonore représenté par les séquences d'apprentissage, et le signal est l'événement anormal. Le seuil optimal peut alors être déterminé selon le compromis souhaité à partir des distributions ainsi obtenues.
II est possible d'utiliser d'autres modèles que les GMM : comme les HMM (Hidden Markov model).
Les modèles de type Markov ou « HMM » permettent de prendre en compte l'évolution temporelle de l'événement sonore sur l'horizon d'un segment. Les algorithmes d'apprentissage sont connus dans le domaine de la reconnaissance vocale notamment. La segmentation automatique peut être utilisée pour initialiser l'apprentissage des modèles HMM, ceux-ci étant utilisés par la suite pour faire la segmentation en ligne en utilisant un algorithme de Viterbi. Une topologie standard des HMM peut être utilisée : modèle de Bakis (modèle gauche-droite). Il est cependant possible de conserver la segmentation automatique et de contraindre la segmentation en amont.
Le système possédant une base de données représentative du milieu dans lequel on souhaite détecter des anomalies audio de fonctionnement, la description va maintenant détailler les étapes mises en œuvre lors du fonctionnement normal du système de détection des anomalies audio.
Le système peut être en marche en continu, ce qui veut dire qu'il capte en continu les sons ou flux audio présents dans la zone à surveiller ou bien un opérateur peut commander le fonctionnement du système sur des périodes de temps fixées au préalable par un opérateur.
La partie droite de la figure 2 représente les étapes pour la phase d'utilisation. Ainsi la première étape 3.1 va être d'extraire les paramètres acoustiques du flux audio analysé.
La méthode décrite pour l'étape 2.1 de la phase d'apprentissage reste valable. Une même méthode de segmentation 3.1 est appliquée à la séquence de paramètres acoustiques du flux audio analysé. Il en est de même pour l'étape de segmentation 3.2 qui est exécutée de la même manière que l'étape 2.2.
Lors de l'étape suivante 3.3, le système dispose des segments (caractéristiques du flux audio en cours d'analyse). Il applique alors une
étape de vraisemblance, c'est-à-dire que la vraisemblance de chaque modèle statistique GMM obtenus lors de l'apprentissage est calculée sur chacun des segments obtenus lors de l'étape 2.2. Il est possible d'appliquer des procédures de normalisation des vraisemblances avant de prendre la décision de détection ou de non détection d'une anomalie audio. Le calcul des vraisemblances est appliqué pour chaque classe K et un score ou vraisemblance λk est attribué à un segment. Cette valeur est comparée à une valeur seuil fixée au préalable. Une hypothèse d'événement anormal est générée si aucun des modèles GMM ne produit de score supérieur à un seuil. Ce seuil de non détection (d'événement normal) peut être déterminé de façon automatique à partir des données d'apprentissage. La détection d'un événement normal peut être prise à l'horizon du segment considéré ou à l'horizon de plusieurs segments consécutifs.
Les paramètres acoustiques utilisés pour la segmentation peuvent être différents de ceux utilisés pour la modélisation. Il est en effet assez pertinent d'effectuer la segmentation selon un critère spectral (paramètres cepstraux) et d'ajouter pour la modélisation des paramètres spécifiques additionnels permettant une modélisation plus fine.
Les seuils de décision peuvent être prédéfinis à partir de connaissances, a priori, sur les signaux, ou appris en simulant des conditions anormales.
Différents types de modules de classification peuvent être utilisés en parallèle, pour améliorer les performances au travers d'un étage de fusion. Différents types de paramètres peuvent être utilisés pour la détection et la classification afin de maximiser le pouvoir de discrimination du système entre les événements normaux et anormaux. Les approches non supervisées et supervisées peuvent se compléter avantageusement. Le système et le procédé décrits ci-dessus peuvent être combinés avec une solution classique supervisée de classification en limitant les fausses alarmes. La classification n'est alors activée que lorsqu'un
événement anormal est détecté. La détection se fait en tenant compte de l'environnement sonore et donc avec une plus grande robustesse.
Dans le cadre des applications de surveillance nécessitant le déploiement d'un réseau de transmission, il est possible sans sortir du cadre de l'invention d'envisager une architecture distribuée avec des traitements centralisés sur un serveur et des traitements déportés au plus près du capteur de l'audio (les traitements peuvent être : la réduction du débit de transmission, des fonctionnalités locales de réveil de capteurs complémentaires : image, vidéo....)
La figure 7 schématise un exemple d'architecture comprenant plusieurs dispositifs permettant d'enregistrer des sons tels que des capteurs audio Ci, notamment des événements audio anormaux. Les capteurs audio sont associés à une caméra vidéo Vi. Au niveau de l'ensemble caméra vidéo et capteur audio, il est possible d'intégrer un module de prétraitement. L'ensemble ainsi formé est relié, par exemple, à un calculateur Pi comportant un module de reconnaissance des événements anormaux, et une base de données 9 contenant les modèles utilisés pour reconnaître les événements anormaux. Chaque calculateur Pi est relié à un central ou salle de surveillance comprenant, par exemple plusieurs écrans Ei de surveillance. Le central reçoit les flux audio et vidéo. Il comprend un module Fr permettant de hiérarchiser les flux vidéo issus des caméras en fonction de leur importance. Les liaisons permettant le transfert des données d'un dispositif à un autre sont, par exemple, des liaisons filaires, ou des liaisons sans fil, de type Bluetooth, ou encore, le système fait partie d'un réseau local sans fil ou WLAN (Wireless Local Area Network).
Le calcul des vraisemblances peut servir à ordonner les flux vidéo associés afin de fournir une aide à l'opérateur (pour réaliser une sélection automatique du flux prioritaire vers l'écran principal, ou pour faciliter une sélection manuelle par l'opérateur à partir de l'affichage ordonné des écrans de contrôle. Les flux prioritaires sont ceux ayant les vraisemblances les plus faibles (probabilité la plus élevé d'avoir un événement audio anormal).
Les modèles obtenus lors de la phase d'apprentissage peuvent être complétés par d'autres modèles obtenus lors d'une phase d'apprentissage ultérieure. Le système peut alors simplement utiliser les deux ensemble de modèles comme référence de l'environnement sonore normal, ou utilisé un ensemble de modèles résultant d'un processus de regroupement plus élaboré. Il est possible de synthétiser de nouveaux modèles en utilisant un critère de distance entre Gaussiennes (comme par exemple la distance de Battacharyya, ou la mesure de divergence Kullback- Leibler). Une autre approche consiste à appliquer le système de classification initial aux nouvelles données d'apprentissage, à ne retenir parmi les nouvelles données celles qui obtiennent un score inférieur à un seuil prédéfini pour apprendre de nouveaux modèles. Ces nouveaux modèles viennent alors s'ajouter aux précédents.
La solution de l'invention n'étant pas supervisée, le système et le procédé présentent notamment l'avantage de pouvoir être utilisés dans des environnements différents et sans a priori des événements anormaux à détecter. La phase d'apprentissage du système est automatisée de la segmentation automatique de la parole ou de l'audio capté à l'apprentissage des modèles utilisés dans le système. Cette automatisation permet en outre d'envisager un mode de fonctionnement avec mise à jour régulière ou en continu.
Un autre avantage résultant de l'automatisation de la chaîne de traitement est la réinitialisation possible du système à un nouveau scénario ou à un nouvel environnement, ainsi que sa possibilité d'évolution et d'adaptation dans le temps.