Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PATTERN RECOGNITION IN A PLURALITY OF SIGNALS
Document Type and Number:
WIPO Patent Application WO/2018/046868
Kind Code:
A1
Abstract:
The present invention relates to a method for pattern recognition in a plurality of received time signals of different types, the method comprising: /b/ for each received signal, creating (502) an asynchronous time signal (102, 103, 105, 106) comprising events; /c/ for each created asynchronous signal (102, 103, 105, 106), creating (503) an activity profile (S(p1), S(p2), S(p3), S(p4)) of said asynchronous signal which decreases as a function of the time elapsed since the last event (210, 212, 213, 214, 220, 221, 222) of said asynchronous signal; /d/ for a given time (t0): /d1/ determining (504) a context defined as the set of activity profiles of the created asynchronous signals, /d2/ determining (506) a standard context from among predetermined standard contexts (505, 401, 402, 403, 404), having a minimum distance to the context determined in step /d1/, /d3/ determining (508) the pattern (509) as a function of said determined standard context.

Application Number:
PCT/FR2017/052393
Publication Date:
March 15, 2018
Filing Date:
September 08, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CENTRE NAT RECH SCIENT (FR)
INST NAT SANTE RECH MED (FR)
UNIV PIERRE ET MARIE CURIE PARIS 6 (FR)
International Classes:
G06F17/18
Domestic Patent References:
WO2016146937A12016-09-22
Foreign References:
US20140039274A12014-02-06
US20110004421A12011-01-06
US7151490B22006-12-19
Other References:
ALIREZA VAHDATPOUR ET AL: "Toward Unsupervised Activity Discovery Using Multi-Dimensional Motif Detection in Time Series", 11 July 2009 (2009-07-11), XP055375602, Retrieved from the Internet [retrieved on 20170523]
RAFFAY HAMID ET AL: "Unsupervised Activity Discovery and Characterization From Event-Streams *", 4 July 2012 (2012-07-04), XP055375598, Retrieved from the Internet [retrieved on 20170523]
JOON AHN ET AL: "RISA: Distributed Road Information Sharing Architecture", INFOCOM, 2012 PROCEEDINGS IEEE, IEEE, 25 March 2012 (2012-03-25), pages 1494 - 1502, XP032178877, ISBN: 978-1-4673-0773-4, DOI: 10.1109/INFCOM.2012.6195516
Attorney, Agent or Firm:
CABINET PLASSERAUD et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

1 . Procédé de reconnaissance d'un motif dans une pluralité de signaux temporels de nature différente, le procédé comprend :

/a/ réception (501 ) de la pluralité de signaux temporels (101 , 104) ; Ibl pour chaque signal reçu de la pluralité de signaux, création (502) d'un signal asynchrone temporel (102, 103, 105, 106) comportant des événements, lesdits événements étant des mêmes formes du signal asynchrone représentatives d'une caractéristique du signal reçu ;

Ici pour chaque signal asynchrone créé (102, 103, 105, 106), créer (503) un profil d'activité (S(p-i ), S(p2), S(p3), S(p4)) dudit signal asynchrone, le profil d'activité (S(p-i ), S(p2), S(p3), S(p4)) comprend au moins une valeur d'activité qui décroît en fonction du temps écoulé depuis un événement (210, 212, 213, 214, 220, 221 , 222) le plus récent parmi les événements successifs dudit signal asynchrone ; /d/ pour un temps (t0) donné :

/d1 / détermination (504) d'un contexte, ledit contexte étant défini comme l'ensemble des profils d'activité, au temps (t0) donné, des signaux asynchrones créés,

/d2/ détermination (506) d'un contexte type parmi un ensemble de contextes types (505, 401 , 402, 403, 404) prédéterminés, le contexte type déterminé ayant, parmi l'ensemble des contextes types, une distance au contexte déterminé à l'étape /d1 / minimum,

/d3/ détermination (508) du motif (509) en fonction dudit contexte type déterminé.

2. Procédé de reconnaissance d'un motif dans une pluralité de signaux temporels de nature différente, un modèle hiérarchique de contextes types étant définis, chaque contexte type étant associé à un niveau respectif du modèle hiérarchique, le procédé comprend :

/a/ réception (501 ) de la pluralité de signaux temporels (101 , 104) ;

Ibl pour chaque signal reçu de la pluralité de signaux, création (502) d'un signal asynchrone temporel (102, 103, 105, 106) comportant des événements, lesdits événements étant des mêmes formes du signal asynchrone représentatives d'une caractéristique du signal reçu ;

Ib'l utilisation des événements de chaque signal asynchrone comme événements courants et utilisation des contextes types du premier niveau du modèle hiérarchique comme contextes types courants ;

Ici pour chaque signal asynchrone créé (102, 103, 105, 106), créer (503) un profil d'activité (S(p-i ), S(p2), S(p3), S(p4)) dudit signal asynchrone, le profil d'activité (S(p-i ), S(p2), S(p3), S(p4)) comprend au moins une valeur d'activité qui décroît en fonction du temps écoulé depuis un événement (210, 212, 213, 214, 220, 221 , 222) le plus récent parmi les événements successifs dudit signal asynchrone ; lôl pour chaque temps donné parmi une pluralité de temps donnés :

/d1 / détermination (504) d'un contexte, ledit contexte étant défini comme l'ensemble des valeurs des profils d'activité, au temps donné, des signaux asynchrones créés,

/d2/ détermination (506) d'un contexte type parmi les contextes types courants (51 1 ), le contexte type déterminé ayant, parmi l'ensemble des contextes types courants, une distance au contexte déterminé à l'étape /d1 / minimum,

/d3/ si un niveau du modèle hiérarchique n'a pas été utilisé, génération (512) d'un événement pour un signal asynchrone fonction du contexte type courant identifié à l'étape /d2/ ; le/ si un niveau du modèle hiérarchique n'a pas été utilisé :

- utilisation (513) des événements générés à l'étape /d3/ comme événements courants, - utilisation (513) des contextes types d'un niveau du modèle hiérarchique non encore utilisé comme contextes types courants ;

- réexécution des étapes Ici à /f/ ;

/f/ si tous les niveaux du modèle hiérarchique ont été utilisés :

- détermination (508) d'un motif dans la pluralité de signaux reçue par une comparaison (507) des contextes types déterminés à la dernière occurrence de l'étape /d2/ avec une base de signature types (510).

3. Procédé selon la revendication 2, dans lequel la comparaison de l'étape /f/ comporte le calcul d'une distance de Bhattacharyya.

4. Procédé selon la revendication 2, dans lequel la comparaison de l'étape /f/ comporte le calcul d'une distance normalisée.

5. Procédé selon la revendication 2, dans lequel la comparaison de l'étape /f/ est une comparaison entre un nombre d'occurrences de détermination des contextes types à la dernière occurrence de l'étape /d2/ avec une base de signature types.

6. Procédé selon la revendication 2, dans lequel la décroissance du profil d'activité est fonction du niveau du modèle hiérarchique courant.

7. Produit-programme informatique comportant des instructions pour la mise en œuvre du procédé selon l'une des revendications 1 à 6, lorsque ce programme est exécuté par un processeur.

Description:
PROCÉDÉ DE RECONNAISSANCE DE MOTIF DANS UNE PLURALITÉ DE

SIGNAUX

La présente invention concerne le domaine de l'analyse des signaux complexes, notamment pour la détection de certains motifs particuliers dans des signaux de natures différentes.

Grâce à la diminution des coûts de fabrication des capteurs et grâce à leur miniaturisation, ces derniers sont présents partout aujourd'hui, que cela soit pour la supervision des données de santé (ex. montre connectée mesurant le rythme cardiaque, la pression artérielle, la vitesse du sang, la température, la qualité du sommeil, etc.) ou des données industrielles (température dans une salle machine, présence de C02, vitesse de l'aération, etc.).

L'analyse de ces données est un véritable enjeu afin de pouvoir valoriser les données issues de ces capteurs. L'analyse d'un signal unique ne pose pas de problème en soi, car cette analyse revient le plus souvent à traiter la courbe avec des outils mathématiques connus (ex. calcul de dérivées, analyse de variabilité, etc.).

Néanmoins, lorsqu'une analyse cherche à appréhender des signaux multiples n'ayant pas les mêmes échelles / grandeurs / etc., il peut être difficile de combiner ces signaux afin de détecter certains motifs. À titre d'illustration uniquement, ces motifs peuvent être :

- détecter les signes annonciateurs d'un AVC chez un patient grâce à des signaux de fréquence cardiaque, de débit artériel et de régularité cardiaque ;

- détecter des problèmes d'encrassement d'un moteur industriel grâce à des signaux de températures, de pourcentage de C02, et de consommation.

En effet, l'analyse d'un seul signal peut donner des résultats erronés :

- l'augmentation de la fréquence cardiaque, seule, peut signifier que le patient effectue une course ou qu'il est en détresse cardiaque ; - l'augmentation de la consommation de la machine industrielle peut signifier que la carburation du moteur fonctionne mal ou que l'opérateur a demandé une augmentation de la cadence de production.

Si des solutions particulières d'analyse de signaux de type différents peuvent être trouvées au cas par cas (i.e. en fonction des types de signaux considérés), il existe un besoin d'avoir une méthode générique de détection de motifs (ou pattern en anglais) dans ces signaux complexes.

La présente invention vient améliorer la situation. À cet effet, la présente invention propose une méthode générique permettant une analyse simplifiée de signaux complexes.

La présente invention vise alors un procédé de reconnaissance d'un motif dans une pluralité de signaux temporels de nature différente, le procédé comprend : /a/ réception de la pluralité de signaux temporels ;

Ibl pour chaque signal reçu de la pluralité de signaux, création d'un signal asynchrone temporel comportant des événements, lesdits événements étant des mêmes formes du signal asynchrone représentatives d'une caractéristique du signal reçu ; Ici pour chaque signal asynchrone créé, créer un profil d'activité dudit signal asynchrone, le profil d'activité comprend au moins une valeur d'activité qui décroît en fonction du temps écoulé depuis un événement le plus récent parmi les événements successifs dudit signal asynchrone ; lôl pour un temps donné :

lûM détermination d'un contexte, ledit contexte étant défini comme l'ensemble des profils d'activité, au temps donné, des signaux asynchrones créés, 1621 détermination d'un contexte type parmi un ensemble de contextes types prédéterminés, le contexte type déterminé ayant, parmi l'ensemble des contextes types, une distance au contexte déterminé à l'étape I6M minimum,

/d3/ détermination du motif en fonction dudit contexte type déterminé.

Les distances peuvent être des distances au sens mathématique. Ainsi, les distances peuvent être des distances euclidiennes, des distances de Manhattan, des distances de Minkoswski, des distances de Tchebychev ou toutes autres distances.

Dans un autre mode de réalisation, il est possible de prendre en compte un modèle hiérarchique pour les contextes types utilisés.

La présente invention vise également de manière alternative un procédé de reconnaissance d'un motif dans une pluralité de signaux temporels de nature différente, un modèle hiérarchique de contextes types étant définis, chaque contexte type étant associé à un niveau respectif du modèle hiérarchique, le procédé comprend :

/a/ réception de la pluralité de signaux temporels ;

Ibl pour chaque signal reçu de la pluralité de signaux, création d'un signal asynchrone temporel comportant des événements, lesdits événements étant des mêmes formes du signal asynchrone représentatives d'une caractéristique du signal reçu ;

Ib'l utilisation des événements de chaque signal asynchrone comme événements courants et utilisation des contextes types du premier niveau du modèle hiérarchique comme contextes types courants ;

Ici pour chaque signal asynchrone créé, créer un profil d'activité dudit signal asynchrone, le profil d'activité comprend au moins une valeur d'activité qui décroît en fonction du temps écoulé depuis un événement le plus récent parmi les événements successifs dudit signal asynchrone ; Idl pour chaque temps donné parmi une pluralité de temps donnés :

lûM détermination d'un contexte, ledit contexte étant défini comme l'ensemble des valeurs des profils d'activité, au temps donné, des signaux asynchrones créés,

IÛ2I détermination d'un contexte type parmi les contextes types courants, le contexte type déterminé ayant, parmi l'ensemble des contextes types courants, une distance au contexte déterminé à l'étape lûM minimum,

IÛ3I si un niveau du modèle hiérarchique n'a pas été utilisé, génération d'un événement pour un signal asynchrone fonction du contexte type courant identifié à l'étape IÛ2I ; lel si un niveau du modèle hiérarchique n'a pas été utilisé :

- utilisation des événements générés à l'étape IÛ3I comme événements courants,

- utilisation des contextes types d'un niveau du modèle hiérarchique non encore utilisé comme contextes types courants ;

- réexécution des étapes Ici à /f/ ;

/f/ si tous les niveaux du modèle hiérarchique ont été utilisés :

- détermination d'un motif dans la pluralité de signaux reçue par une comparaison des contextes types déterminés à la dernière occurrence de l'étape IÛ2I avec une base de signature types.

Ces niveaux hiérarchiques permettent de procéder à une reconnaissance de proche en proche : le premier niveau hiérarchique permet d'identifier des formes très basiques, les niveaux hiérarchiques d'ordre supérieur permettant d'identifier des formes plus complexes à partir des niveaux inférieurs.

Dans un mode de réalisation, la comparaison de l'étape /f/ peut comporter le calcul d'une distance de Bhattacharyya. En effet, il a été constaté expérimentalement que cette distance permettait des reconnaissances de meilleures qualités.

Par ailleurs, la comparaison de l'étape /f/ peut comporter le calcul d'une distance normalisée.

Dans un autre mode de réalisation alternatif ou cumulatif, la comparaison de l'étape /f/ peut être une comparaison entre un nombre d'occurrences de détermination des contextes types à la dernière occurrence de l'étape IÛ2I avec une base de signature types.

La décroissance du profil d'activité peut être fonction du niveau du modèle hiérarchique courant.

Cette adaptation peut permettre d'accorder une vitesse de décroissance plus lente pour les niveaux hiérarchiques élevés afin d'avoir une réactivité de ces niveaux plus faibles. A l'inverse, les niveaux hiérarchiques de bas niveaux (i.e. les premiers utilisés) pourront avoir alors une réactivité plus élevée.

Un programme informatique, mettant en œuvre tout ou partie du procédé décrit ci- avant, installé sur un équipement préexistant, est en lui-même avantageux, dès lors qu'il permet une reconnaissance de motifs dans une pluralité de signaux.

Ainsi, la présente invention vise également un programme informatique comportant des instructions pour la mise en œuvre du procédé précédemment décrit, lorsque ce programme est exécuté par un processeur. Ce programme peut utiliser n'importe quel langage de programmation (par exemple, un langage-objet ou autre), et être sous la forme d'un code source interprétable, d'un code partiellement compilé ou d'un code totalement compilé.

Les figures 5a et 5b décrites en détail ci-après, peuvent former l'organigramme de l'algorithme général d'un tel programme informatique.

D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels :

- la figure 1 a illustre une génération d'événements à partir d'un signal représentatif d'un rythme cardiaque ;

- la figure 1 b illustre une génération d'événements à partir d'un signal représentatif d'une fréquence respiratoire ;

- les figures 2a et 2b sont des exemples de « profil d'activité » pour les événements issus de signaux reçus ;

- les figures 3a et 3b sont des exemples de représentation d'un contexte déterminée à partir de trois signaux reçus ;

- les figures 4a à 4d sont des exemples de représentation de quatre contextes types ;

- la figure 4e est un exemple de génération de quatre flux d'événements à partir de la reconnaissance dans un signal des contextes types des figures 4a à 4d ;

- la figure 4f est un exemple de détermination d'une signature pour quatre flux d'événements ;

- la figure 5a est un exemple d'ordinogramme d'un procédé selon un mode de réalisation possible de l'invention (i.e. sans utilisation de modèle hiérarchique de contextes types) ;

- la figure 5b est un exemple d'ordinogramme d'un procédé selon un autre mode de réalisation possible de l'invention (i.e. avec utilisation de modèle hiérarchique de contextes types) ;

- la figure 6 illustre un dispositif pour la mise en œuvre d'un mode de réalisation selon l'invention. La figure 1 a illustre une génération d'événements à partir d'un signal représentatif d'un rythme cardiaque.

Dans cet exemple, la courbe 101 est représentative d'un rythme cardiaque. Cette courbe peut être reçue sous la forme de données continues (ex. signal analogique) ou sous la forme de données échantillonnée (ex. signal numérique).

Lors de la réception du signal, il est possible de déterminer certaines caractéristiques propres au signal. Ces caractéristiques peuvent être, de manière non limitative :

- l'apparition d'un motif particulier dans le signal (ex. apparition d'une onde R (ou complexe QRS) dans un électrocardiogramme ou fin d'un cycle moteur pour une machine-outil) ;

- la variabilité d'un motif du signal (ex. variabilité de la période de répétition de l'onde R dans un électrocardiogramme ou variabilité d'un temps de cycle moteur pour une machine-outil) ;

- la largeur temporelle de certains motifs (ex. largeur de l'intervalle QT dans un électrocardiogramme ou temps de cycle moteur pour une machine-outil) ;

- la valeur maximale d'une amplitude du signal ;

- etc.

Bien entendu, ces caractéristiques peuvent être représentatives d'une fonction du signal (ex. de la dérivée du signal ou de toute transformation mathématique du signal).

En fonction de ces caractéristiques du signal, il est possible de générer un signal dit « asynchrone » comportant des marqueurs ou événements (ex. courbe 102 ou 103). Ces événements sont le plus souvent des Diracs dans le signal asynchrone, car leur génération est simple. Néanmoins, ces événements peuvent être tout motif (ex. signal triangulaire, rectangulaire, portion de sinusoïde, portion de signal alternatif, etc.). Chaque événement dudit signal asynchrone est avantageusement le même motif ou un motif similaire (leur amplitude ou leur polarité (i.e. leur sens par rapport à la valeur zéro) peuvent néanmoins changer d'un événement à l'autre).

À titre d'illustration, la courbe 102 est un signal asynchrone dont les événements sont générés lors de l'apparition d'un complexe QRS dans l'électrocardiogramme de la courbe 101 .

À titre d'illustration également, la courbe 103 est un signal asynchrone dont les événements sont générés lorsque la largeur d'un complexe QRS de l'électrocardiogramme de la courbe 101 dépasse une valeur cible (ex. moyenne sur les x minutes précédentes).

La figure 1 b illustre une génération d'événements à partir d'un signal 104 représentatif d'une fréquence respiratoire.

Cet exemple est sensiblement identique à l'exemple de la figure 1 a et les développements précédents s'y appliquent donc. À titre d'illustration, la courbe 105 est un signal asynchrone dont les événements sont générés lorsque la fréquence respiratoire dépasse un seuil prédéterminé (i.e. ligne horizontale pointillée) dans la courbe 104.

À titre d'illustration également, la courbe 106 est un signal asynchrone dont les événements sont générés lorsque la dérivée de la fréquence respiratoire dépasse une valeur cible dans la courbe 104.

Quelles que soient les caractéristiques utilisées pour la génération des événements, cette génération permet de transformer des signaux de nature différente (ex. les courbes 101 et 104 n'étant pas générées à l'aide de même type de capteurs et/ou de mêmes sources d'information et/ou représentatives de concepts physiques différents) en signaux asynchrones comparables (ex. 102 et 106). Dès lors, le travail d'identification des motifs s'en trouve simplifié. Les figures 2a et 2b sont des exemples de trois « profils d'activité » t → S, pour les événements issus de trois signaux reçus p-i , p 2 et p 3 .

Dans cet exemple, et en l'absence d'événements, la valeur de S(p-i , t), S(p 2 , t) ou S(p 3 , t) est nulle. Néanmoins, lors de la survenance d'un événement (par exemple, 210) dans le signal p-i , S(p-i , t) prend une valeur seuil prédéterminée (ici h, cette valeur h pouvant être unitaire).

La valeur du profil d'activité S(p-i , t) décroît alors progressivement après cet événement pour tendre vers 0. II en va de même pour l'événement 21 1 pour le signal p-i , pour l'événement 212 pour le signal p 2 , ou pour l'événement 213 / 214 pour le signal p 3 .

Si la décroissance du signal/profil d'activité S est ici linéaire, il est possible de prévoir tout type de décroissance comme une décroissance exponentielle :

t-t p

h. e τ

Cette décroissance exponentielle peut être illustrée par la figure 2b (voir l'événement 220, par exemple). La nature et les paramètres de cette décroissance peuvent être choisis et différents pour chaque signal analysé.

Par ailleurs, il est possible que, lors de la survenance d'un événement pour le signal considéré (ex. p 4 ici), la valeur de la fonction S ne soit pas négligeable par rapport à la valeur de h (ex. l'événement 221 est temporellement proche de l'événement 222).

Dans un mode de réalisation, lors de la survenance de l'événement ultérieur 222, la valeur du profil d'activité S peut être fixée à la somme (éventuellement pondérée) de la valeur courante de S juste avant l'événement 222 (i.e. h 0 ) et de h. Ainsi, la décroissance de la courbe S partira de la valeur h+h 0 comme le montre la figure 2b . Par ailleurs, il est possible de prévoir que la valeur de h+h 0 soit capée à une valeur h1 prédéterminée (i.e. min(h ; h+h 0 )).

Dans un autre mode de réalisation, lors de la survenance de l'événement ultérieur 222, la valeur de la courbe S est fixée à la valeur h quelle que soit la valeur de h 0 (i.e. les événements antérieurs au dernier événement (i.e. l'événement ultérieur) sont ignorés). Dans cet autre mode de réalisation, il est possible de définir un temps dit « temps de dernier événement » défini comme suit :

T(p, i) = max(t / ) \ j < i ou

T(p, t) = max(t ; ) \ t j < t avec t j les temps d'événements survenant pour un signal p.

Conceptuellement, p→T(p, t) définit une carte des temps des derniers événements survenus temporellement juste avant un temps de référence (i.e. t).

On peut alors définir, dans cet autre mode de réalisation, p→ S(p, t comme étant une fonction de cette carte p→ T p, t).

Par exemple, p→ S(p, t) :

0 sinon avec T et h une constante temporelle prédéterminée {S peut être toute fonction décroissante avec le temps t sur un intervalle comprenant comme borne inférieure T(p, t)).

On appelle la fonction p→ S(p, i) le « contexte » des signaux d'entrée pour un temps t donné.

La création d'un contexte p→ S(p, t) comme décrit précédemment, est avantageuse, car elle permet une représentation continue et simple de concepts discontinus (i.e. les événements). Ce profil créé permet de transformer la représentation des événements dans un domaine simple d'appréhension.

Dès lors, sa création simplifie la manipulation et la comparaison des événements. Le contexte des signaux d'entrée peut se lire simplement sur la figure 2a. Ainsi, pour les signaux p-i , p 2 , P3 le contexte pour le temps t 0 peut se lire verticalement sur la ligne en pointillé et peut se représenter sous la forme du vecteur suivant :

Ce vecteur peut se représenter graphiquement sous la forme d'un graphique « araignée » (ex. Figure 3a) ou sous la forme d'un histogramme (ex. Figure 3b). Bien entendu, toute forme de représentation graphique est envisageable.

Si l'ordre des composantes du vecteur peut être arbitraire dans un grand nombre de situations, il est possible d'établir un ordre parmi ces composantes en fonction de la dynamique spatiale et/ou temporelle des signaux. Ainsi, deux composantes consécutives dans un contexte donné peuvent représenter des signaux ayant une dynamique spatiale et/ou temporelle proche.

Les figures 4a à 4d sont des exemples de représentation de quatre contextes types. Afin de détecter des motifs dans les signaux, il est possible de définir des contextes types qui seront comparés aux contextes S précédemment défini.

Par exemple, le contexte de la figure 3a peut être comparé avec chacun des contextes types 401 , 402, 403 et 404.

Bien entendu, comme pour les contextes, les contextes types peuvent avoir de multiples représentations (graphique ou non) équivalentes : la représentation graphique utilisée ici n'est retenue que pour la simplicité visuelle que celle-ci procure.

Ces contextes types peuvent ainsi être comparés avec les contextes déterminés dans les signaux. Le contexte type le plus proche du contexte déterminé est alors retenu. Pour mesurer la proximité entre deux contextes (vu comme des vecteurs), il est possible d'utiliser toute distance (au sens mathématique) entre ces deux vecteurs. Bien entendu, chaque contexte type peut être associé à un motif donné : par exemple le contexte type 402 peut correspondre à une défaillance mécanique d'un moteur tandis que le contexte type 401 correspond à un fonctionnement normal dudit moteur. Dans le mode de réalisation où les composantes des contextes possèdent un ordre fonction de dynamique spatiale et/ou temporelle des signaux, la distance utilisée pour la minimisation de la distance entre le contexte et les contextes types peut prendre en compte cet ordre.

En complément ou en variante, il est également possible (figure 4e) générer des événements pour de nouveaux signaux asynchrones lorsque qu'un contexte type est retenu/reconnu :

- lorsque le contexte type 401 est reconnu à un instant donné dans les signaux p-i , p 2 et p 3 reçue, un événement est généré dans le signal 41 1 ; - lorsque le contexte type 402 est reconnu à un instant donné dans les signaux p-i , p 2 et p 3 reçue, un événement est généré dans le signal 412 ;

- lorsque le contexte type 403 est reconnu à un instant donné dans les signaux p-i , p 2 et p 3 reçue, un événement est généré dans le signal 413 ;

- lorsque le contexte type 404 est reconnu à un instant donné dans les signaux p-i , p 2 et p 3 reçue, un événement est généré dans le signal 414.

Dans cet exemple, quatre nouveaux signaux asynchrones sont ainsi générés et peuvent faire l'objet de la même analyse que précédemment avec une nouvelle base de contextes types (on parle souvent de « contextes types de niveau hiérarchique supérieur »). Chacun de ces nouveaux contextes types aura ici quatre dimensions (égales au nombre de signaux asynchrones à analyser).

Ainsi, ce procédé (i.e. analyse) peut être récursif et être itéré autant de fois que le nombre de niveaux hiérarchiques définis pour les contextes types.

Concernant la décroissance des profils d'activités des figures 2a et 2b par exemple, il est possible de prévoir que leur décroissance est de moins en moins importante au fur et à mesure des itérations dans le modèle hiérarchique. Cette diminution de la vitesse de décroissance permet de prendre en compte une réactivité différente en fonction du niveau du modèle hiérarchique des contextes types (et donc une meilleure reconnaissance de motifs).

Une fois l'ensemble des niveaux hiérarchiques utilisés/parcourus (le modèle hiérarchique pouvant ne comporter qu'un seul niveau dans un cas particulier), il est possible de définir une signature.

La figure 4f est un exemple de détermination d'une signature pour quatre flux d'événements.

Dans cet exemple, la signature est définie comme étant le vecteur ou l'histogramme 420 du nombre d'occurrence (respectivement n 40 i , n 40 2, n 40 3, n 404 ) de chacun des contextes types déterminés (respectivement 401 , 402, 403, 404) pour la dernière occurrence du procédé décrit précédemment.

Il est alors possible de trouver, dans une base de signatures types (421 , 422, 423), la signature type la plus proche de la signature déterminée. Cette proximité peut être établie par l'utilisation de n'importe quelle distance au sens mathématique.

La distance entre deux histogrammes K x et Ή 2 (P^ r exemple 420 et 421 ) peut être calculée comme une distance mathématique entre deux vecteurs ayant pour coordonnées les nombres d'occurrences pour chacun des contextes types : Il est également possible de calculer une distance normalisée comme suit :

o r o r

d^ —

cardÇHi) card(J-C 2 ) avec cardÇK j ) le nombre de contextes types (i.e. barre verticale) de l'histogramme

La distance de Bhattacharyya peut également être utilisée en remplacement de la distance classique : avec W j (ï) le nombre d'occurrences du i eme contexte type de l'histogramme ¾}.

Il a été constaté expérimentalement que la distance de Bhattacharyya ou une distance normalisée donnait des très bons résultats. Toute autre distance mathématique peut également être utilisée.

La signature peut également être la forme générale des signaux asynchrones des quatre flux d'événements.

Chacune des signatures types peut être associée à un motif donné dans les signaux reçus : par exemple la signature type 421 peut correspondre à une défaillance mécanique d'un moteur tandis que la signature type 422 correspond à un fonctionnement normal dudit moteur.

La figure 5a est un exemple d'ordinogramme d'un procédé selon un mode de réalisation possible de l'invention (i.e. sans utilisation de modèle hiérarchique de contextes types).

Sur réception des signaux 501 , il est possible de créer (étape 502) des signaux asynchrones en générant des événements sur la base de détections de caractéristiques du signal, comme cela a été décrit en relation avec les figures 1 a et 1 b. Une fois ces signaux asynchrones créés, il est possible de créer (étape 503), à partir de chaque signal asynchrone créé, un profil d'activité comme décrit en relation avec les figures 2a et 2b.

Ces profils d'activités permettent, pour un temps donné, de déterminer (étape 504) un contexte comme décrit en relation avec la figure 3a, 3b et 2a. Le contexte déterminé peut être défini comme un vecteur des valeurs des profils d'activité, au temps donné, des signaux asynchrones créés. Par ailleurs, il est également possible de déterminer (étape 506) un contexte type parmi un ensemble de contextes types prédéterminés (par exemple, pré calculés et stockés dans une base de données 505) en minimisant la distance entre le contexte déterminé à l'étape 504 et les contextes types. Sur la base du contexte type déterminé, il est alors possible de déterminer (étape 508) un « motif » 509 dans la pluralité de signaux reçue. Dans cette hypothèse, il est avantageux d'associer à chacun des contextes types un « motif ». Dès lors, lorsque le contexte type est identifié, il est possible d'effectuer une requête dans une base de données d'association afin de récupérer le motif associé.

La figure 5b est un exemple d'ordinogramme d'un procédé selon un autre mode de réalisation possible de l'invention (i.e. avec utilisation de modèle hiérarchique de contextes types).

Sur réception des signaux 501 , il est possible de créer (étape 502) des signaux asynchrones en générant des événements sur la base de détections de caractéristiques du signal, comme cela a été décrit en relation avec les figures 1 a et 1 b.

Une fois ces signaux asynchrones créés, il est possible de créer (étape 503), à partir de chaque signal asynchrone créé, un profil d'activité comme décrit en relation avec les figures 2a et 2b.

Ces profils d'activités permettent, pour un temps donné, de déterminer (étape 504) un contexte comme décrit en relation avec la figure 3a, 3b et 2a. Le contexte déterminé peut être défini comme un vecteur des valeurs des profils d'activité, au temps donné, des signaux asynchrones créés. Cette détermination peut être effectuée pour une pluralité de temps donnés (ex. cette pluralité de temps étant un échantillonnage du temps avec un pas prédéterminé).

Dès lors, il est possible d'utiliser les événements de chaque signal asynchrone qui vient d'être créé comme événements courants.

Par ailleurs, disposant d'un modèle hiérarchique de contextes types (ex. stocké dans une base de données 51 1 , ayant max_k niveaux), il est possible de prendre les contextes types du premier niveau (k=1 ) comme contextes types courants.

Une fois un contexte déterminé, il est également possible de déterminer (étape 506) un contexte type parmi les contextes types courants en minimisant la distance entre le contexte déterminé à l'étape 504 et les contextes types courants.

Chaque reconnaissance d'un contexte type peut permettre la génération (étape 512) d'un événement comme décrit en relation avec la figure 4e. Chaque modèle type possible peut permettre la génération d'un signal asynchrone propre. Il convient de noter que cette étape 512 est optionnelle si tous les niveaux du modèle hiérarchique ont déjà été utilisés (i.e. k=max_k).

Une fois ces étapes (506, 512) effectuées pour la pluralité de temps mentionnée précédemment, il est possible de changer de niveau dans le modèle hiérarchique (étape 513, ex. k=k+1 ). Si un niveau du modèle hiérarchique n'a pas été utilisé (i.e. k<=max_k, sortie OK de l'étape 513), il est possible de réitérer les étapes 506, 512 et 513 en utilisant les nouveaux signaux asynchrones créés (i.e. en considérant les événements générés à l'étape 512 lors de la dernière itération comme événements courants) et en utilisant les nouveaux contextes types (i.e. ceux du niveau hiérarchique supérieur choisi à l'étape 513) comme contextes types courants.

Par ailleurs, il est également possible d'utiliser comme signal asynchrone additionnel (i.e. en plus des nouveaux signaux asynchrones créés) un signal asynchrone issu d'une étape similaire à l'étape 502. En effet, si un signal reçu est un signal rapide (dont les variations sont notables pour une période de temps prédéterminée), il est avantageux de le traiter à l'aide des premiers niveaux du modèle hiérarchique. Néanmoins, si le signal reçu est lent (ses variations sont négligeables sur la période de temps prédéterminée), il peut être avantageux de ne pas le traiter avec les premiers niveaux du modèle hiérarchique et d'attendre un niveau hiérarchique ultérieur afin de l'intégrer aux signaux asynchrones à traiter par l'étape 504. Cette intégration de ce signal asynchrone se fera en parallèle des signaux asynchrones générés à l'étape 512 pour les signaux « plus rapides » déjà intégrés. Ainsi, il est possible d'effectuer une préanalyse des signaux 501 reçue afin de les classifier en fonction de leur dynamique spatiale et/ou temporelle : cette classification peut alors de connaître le niveau v du modèle hiérarchique à partir duquel chaque signal est intégré à la boucle définie par les étapes 506, 512 et 513.

Si tous les niveaux du modèle hiérarchique ont été utilisés, il est alors possible de déterminer un « motif » par une comparaison des contextes types déterminés à la dernière occurrence de l'étape 506 avec une base de signature types. Cette comparaison peut comprendre par exemple le calcul du nombre d'occurrences de détermination des contextes types à la dernière occurrence de l'étape 506 comme cela est décrit en relation avec la figure 4f. La comparaison peut également être une comparaison de distance entre les signaux asynchrones générés à la dernière occurrence de l'étape 513 (dans cette hypothèse l'étape 513 doit être exécutée lorsque le dernier niveau du modèle hiérarchique est utilisé) et une base de signature.

Dans cette hypothèse, il est avantageux d'associer à chacune des signatures de la base de signature un « motif ». Dès lors, lorsque la signature est identifiée, il est possible d'effectuer une requête dans une base de données d'association afin de récupérer le motif associé.

La figure 6 représente un exemple de dispositif de reconnaissance de motif dans un mode de réalisation de l'invention. Dans ce mode de réalisation, le dispositif comporte un ordinateur 600, comprenant une mémoire 605 pour stocker des instructions permettant la mise en œuvre du procédé, les données de mesures reçues, et des données temporaires pour réaliser les différentes étapes du procédé tel que décrit précédemment.

L'ordinateur comporte en outre un circuit 604. Ce circuit peut être, par exemple : - un processeur apte à interpréter des instructions sous la forme de programme informatique.

- une carte électronique ou un circuit électronique spécifique ou non dont les étapes du procédé de l'invention sont décrites dans le silicium.

- une puce électronique programmable comme une puce FPGA (pour « Field- Programmable Gâte Array » en anglais) dont les étapes du procédé de l'invention sont décrites, par exemple, dans un code VHDL ou Verilog (langages de description matériel permettant de représenter le comportement et l'architecture d'un système électronique).

Cet ordinateur comporte une interface d'entrée 603 pour la réception des signaux à analyser, et une interface de sortie 606 pour la fourniture du motif reconnu. Enfin, l'ordinateur peut comporter, pour permettre une interaction aisée avec un utilisateur, un écran 601 et un clavier 602. Bien entendu, le clavier est facultatif, notamment dans le cadre d'un ordinateur ayant la forme d'une tablette tactile, par exemple.

Par ailleurs, le schéma fonctionnel présenté sur la figure 5a ou 5b est un exemple typique d'un programme dont certaines instructions peuvent être réalisées auprès du dispositif décrit. À ce titre, la figure 5a ou 5b peut correspondre à l'organigramme de l'algorithme général d'un programme informatique au sens de l'invention.

Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples ; elle s'étend à d'autres variantes.

D'autres réalisations sont possibles.

Par exemple, si les exemples donnés sont d'un domaine particulier, la méthode proposée peut permettre d'analyser tout type de données/signaux dans tout domaine industriel possible, sans limitation particulière.