FR3026526A1 - Procede et systeme de detection d'evenements de nature connue - Google Patents
Procede et systeme de detection d'evenements de nature connue Download PDFInfo
- Publication number
- FR3026526A1 FR3026526A1 FR1459143A FR1459143A FR3026526A1 FR 3026526 A1 FR3026526 A1 FR 3026526A1 FR 1459143 A FR1459143 A FR 1459143A FR 1459143 A FR1459143 A FR 1459143A FR 3026526 A1 FR3026526 A1 FR 3026526A1
- Authority
- FR
- France
- Prior art keywords
- event
- events
- micro
- data stream
- observation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000001514 detection method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 10
- 230000005236 sound signal Effects 0.000 claims description 2
- 108020001568 subdomains Proteins 0.000 claims 1
- 230000009471 action Effects 0.000 description 15
- 230000013016 learning Effects 0.000 description 9
- 238000000354 decomposition reaction Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000014155 detection of activity Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000035622 drinking Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
Procédé de détection d'évènements dans un flux de données comportant au moins les étapes suivantes : • définir un domaine de votes décomposé en I intervalles [Di, Di+1[ ou sous domaines, • initialiser un tableau S contenant des valeurs de scores S[e][t] correspondant à un évènement « e » localisé en t, • détecter un ou plusieurs micro-évènements mn dans le flux de données localisés en t1,..tN, (20) et correspondant à une observation On, • pour chaque micro-évènement mn, pour chaque évènement « e » possible, pour chaque intervalle i, [Di, Di+1[, et pour toutes les localisations d contenues dans un intervalle [Di, Di+1[, mettre à jour le tableau S[e][t] des variables « e » en ajoutant une même valeur de confiance, pour un micro-évènement mn et pour un intervalle i, et pour chaque localisation t1,..tN, • déterminer un ensemble d'évènements probables associés à une observation locale à partir du tableau S[e][t],(32).
Description
PROCEDE ET SYSTEME DE DETECTION D'EVENEMENTS DE NATURE CONNUE L'invention concerne un procédé et un système pour la détection d'évènements. Elle est utilisée pour la détection d'évènements de nature connue dans des flux de données, temps réels ou enregistrés. Elle s'applique, par exemple, pour la détection d'activité de nature répertoriée d'une personne, des actions de la vie courante d'une personne d'intérêt, la détection des émotions (de nature répertoriée) d'une personne d'intérêt, la présence d'un objet de nature connue dans une scène, un évènement sonore de nature connue, par analyse d'un signal typiquement une vidéo. Elle s'applique aussi pour des évènements de type sismographie/géologique de nature connue. Le domaine de la détection et de la reconnaissance d'événements tels que l'activité humaine est devenu un axe important de recherche. La possibilité de détecter des activités humaines peut conduire au développement d'applications dans différents domaines, par exemple, la protection médicale par vidéo, etc. Les systèmes connus de l'art antérieur mettent en jeu la détection de micro-évènements qui sont caractéristiques d'un ou plusieurs évènements différents, et l'accumulation pondérée dans le temps ou dans l'espace de ces micro-évènements fait ressortir préférentiellement un évènement, puis un autre et ainsi de suite. La détection d'un micro-évènement génère des votes pondérés pour chacun des évènements, à chaque localisation temporelle/spatiale. Dans les systèmes existants, le vote d'un micro-évènement suit une distribution quelconque présentant un poids différent dans le domaine temps/espace. Cela nécessite donc une quantité importante de mémoire et d'opérations. La figure 1 est un schéma de principe de procédé de détection selon l'art antérieur. Pour chaque observation 0; on associe à un instant donné to, 10, une valeur de vote ou de confiance V;0, 11, qui va servir pour déterminer l'évènement associé, 13 en to. L'approche générique de détection connue de l'art antérieur nécessite une mémoire de taille assez importante. Supposant que chacune des valeurs de la fonction représentative du score v soit stockée sur un « double », c'est-à-dire sur 8 octets, alors, selon le procédé générique de l'art antérieur, la quantité nécessaire pour stocker v est le produit de 8 par, le nombre d'évènements intéressants (E), le nombre de micro-évènements détectables (M), le domaine temporel des votes (2D+1), c'est-à-dire E*M*(2D+1), où D est la demi-taille du domaine temporel sur lequel on regarde l'observation. De plus, la propagation de l'information nécessite E*(2D+1) opérations d'addition et de lecture de « doubles », la lecture d'un tableau v[E][mn][d], où d correspond à un instant d'observation relatif et d'addition à une table d'évènement S[e][tn+d] par micro-évènement. Par exemple, si E= 30 (il y a 30 évènements différents possibles), M=1000 micro-évènements différents possibles, D=100 (équivalent de 5 secondes à 25 images par seconde), la mémoire nécessaire au détecteur générique est de 60 Mo et le nombre d'opérations de lecture égal à 15 000. Dans le cas de méthodes qui utilisent plus de micro-évènements, la mémoire de stockage doit pouvoir stocker l'équivalent de 1 Go de votes, ce qui est en général peu compatible avec un microcontrôleur standard. L'une des approches connues pour diminuer la mémoire et les calculs requis est de compresser le tableau v (v[E][mn][d]), par exemple, par la méthode décrite dans le document intitulé « best piecewise constant approximation of a function of single variable » de Hiroshi Konno et al, Operations Research Letters, volume 7, number 4, august 1988. Cette approche conduit à une modification aveugle des votes. En effet, les votes sont des intermédiaires entre les micro-évènements et la segmentation. Modifier les votes sans tenir compte de l'effet sur la segmentation revient à faire des modifications à l'aveugle et peut conduire à une augmentation importante de l'erreur même pour de faibles modifications. Le document intitulé « A Hough Transform-Based Voting 30 Framework for Action Recognition » de Angela Yao et al, Conference Computer vision and Pattern Recognition, June 13-18, 2010, IEEE, pages 2061-2068 décrit une méthode pour classifier des actions ou observations contenues dans une séquence vidéo. Le document intitulé « simultaneous segmentation and classification for human actions in video streams using deeply optimized Hough transform » de Adrien Chan-Hong-Tong publié en 2014 décrit une méthode de détection d'actions prenant en compte la localisation temporelle des actions. Les documents US 2012/0128045, US 5,430,810 décrivent des méthodes de détection de ligne dans des images et portent sur la gestion optimisée des résultats intermédiaires. Les méthodes décrites dans l'art antérieur connues du demandeur requièrent une taille de mémoire assez importante pour traiter les données. Un des objectifs de la présente invention est d'offrir un procédé et un système permettant de réduire la taille mémoire nécessaire au stockage de l'ensemble des votes, et de réduire le nombre d'opérations de traitement sans porter atteinte au niveau de performance du détecteur (c'est-à-dire en restant compatible avec les apprentissages réputés efficaces de la littérature). Dans la suite de la description, on associe au mot « vote » une confiance élémentaire qu'un micro-événement soit associé à un événement localisé, et on associe au mot « score » d'un événement une valeur de confiance ou de probabilité que l'évènement corresponde à l' observation effectuée sur un signal. Le score de l'événement E est la somme de tous les votes des micro-événements en faveur de cet événement E.
L'idée de la présente invention est notamment d'améliorer les systèmes de détection d'évènements en considérant des intervalles de temps pour lesquels on attribue une valeur de score constante. L'invention concerne un procédé pour détecter des évènements dans un flux de données, le procédé comportant au moins les étapes suivantes : - définir un domaine de votes dans lequel on recherche un ou des évènements possibles associés à une observation dans le flux de données décomposé en I intervalles [Di, Di+1 [ ou sous domaines, - initialiser un tableau S contenant des valeurs de scores S[e][t] correspondant à un évènement « e » localisé en t, - détecter un ou plusieurs micro-évènements mn dans le flux de données, localisés en ti,..tN, (20) et correspondant à une observation On, - pour chaque micro-évènement mn, pour chaque évènement « e» possible, pour chaque intervalle i, [Di, Di+1[, et pour toutes les localisations d contenues dans un intervalle [Di, Di+1 [, mettre à jour le tableau S[e][t] des variables « e » correspondant à un évènement en utilisant une même valeur v de confiance, par exemple par en ajoutant la valeur, pour un micro-évènement mn et pour un intervalle i, et pour chaque données localisées en ti,..tN, - déterminer un ensemble d'évènements probables associés à une observation locale dans le flux de données à partir du tableau S[e][t],(32). Les localisations ti,..tN, sont, par exemple, des instants temporels.
Selon une variante de réalisation, on choisit les valeurs d'instants de détection des micro-évènements comme des multiples d'une valeur « incrément » donnée. Le procédé prend en compte un flux de données de taille T donnée.
Selon une autre variante de réalisation, le flux de données est traité en continu. On peut définir les intervalles en utilisant les instants spécifiques associés aux maximums obtenus par la mise en oeuvre des étapes suivantes : PrecalculGain(D,I) si I = 0 retourner 0 si D = 0 retourner 1 retourner le max sur D' de (2D'+1 )(D-D'+1 )2 + PrecalculGain (D'-1 ,I-1 ) GAIN(D,I) soit D' tel que (2D'+1)(D-D'+1)2 + Precalcul (D'-1 ,l-1) = Precalcul(D,I) afficher D' GAIN(D'-1,I-1) L'invention concerne aussi un système pour détecter des évènements dans un flux de données comportant au moins les éléments suivants : - un capteur adapté à détecter un ou plusieurs micro-évènements mn dans le flux de données, à des localisations données ti,..tN, correspondant à une observation 0i, - une mémoire de stockage des résultats, - un processeur adapté à exécuter les étapes du procédé selon l'invention. Le système peut comporter une mémoire tampon pour stocker le flux à analyser, dans le cas où le flux de données est un flux continu. D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit d'exemples de réalisation donnés à titre illustratif et nullement limitatif annexée des figures qui représentent : - La figure 1, un schéma du procédé selon l'art antérieur, - La figure 2, le principe mis en oeuvre par le procédé selon l'invention, - La figure 3, un exemple d'architecture de détecteur selon l'invention, - La figure 4, une illustration d'une première variante du procédé, et - La figure 5, un exemple de construction d'intervalles temporels.
L'exemple détaillé qui va suivre est donné à titre illustratif pour la détection d'une action d'une personne à partir de données contenues dans un flux vidéo de taille donnée ou arrivant en continu sur un capteur de détection ou d'une image. L'action d'une personne couvre tout type d'évènement dont la nature est connue. La description qui va suivre peut être mise en oeuvre, sans sortir du cadre de l'invention et avec éventuellement quelques adaptations, à tout type d'évènements répertoriés lors d'une phase préalable d'apprentissage, par exemple. Chaque vidéo est vue comme une succession d'images/d'instants. A chaque instant correspond une image et réciproquement. Le procédé selon l'invention fait appel à un apprentissage statistique. Durant cet apprentissage, chaque image de chaque vidéo est fournie avec une annotation indiquant quel est l'évènement associé à l'image. Cette annotation est donnée, par exemple, par un expert qui peut utiliser une suite d'images autour de l'image considérée, voire la totalité des informations contenues dans la vidéo. L'apprentissage consiste notamment à paramétrer le détecteur de façon à ce qu'il produise de manière cohérente des sorties souvent équivalentes aux données annotées. Le procédé et le système pour sa mise en oeuvre vont chercher à détecter à chaque image de la vidéo quel ou quels évènements semblent le plus en adéquation avec une observation.
La figure 2 représente un exemple d'architecture d'un système permettant la mise en oeuvre des étapes du procédé selon l'invention. Le système comporte un processeur 20, une mémoire 21 adaptée à stocker à la fois le logiciel et les valeurs de vote obtenues par l'exécution du procédé et qui seront lues pour déterminer l'évènement probable. Le système comporte aussi un capteur 22 de détection du signal ou de la vidéo relié au processeur, une sortie 24 reliée par exemple à un système d'affichage 25 représentant l'évènement retenu et associé à une observation. Le système peut aussi comporter une mémoire tampon ou « Buffer » 26 pour stocker le flux à analyser lorsque l'on effectue une analyse en continu d'un flux de données.
Selon un premier mode de réalisation illustré à la figure 3, le procédé et son système vont mettre à jour le score pour chaque type d'évènement. Pour cela, le procédé extrait un ensemble de micro-évènements localisés dans la vidéo. Chaque micro-évènement augmente d'une certaine quantité le score de chaque évènement (c'est-à-dire « vote » pour chaque événement) dans un voisinage temporel ou spatial de son image d'extraction. Une fois que tous les micro-évènements voisins d'un instant ont augmenté les scores des évènements possibles de cet instant, un ensemble d'évènements pertinents est sélectionné pour caractériser l'observation présente et passée. Par exemple, les évènements dont la valeur de score dépasse une valeur seuil sont retenus, ou bien les Q évènements ayant les Q meilleurs scores (singulièrement le meilleur si 0=1). Les données et paramètres utilisés pour la mise en oeuvre du procédé illustré à la figure 3 sont donnés ci-après : m1,...,mN, un micro évènement, avec N micro événements détectés aux instants ti,...,tN, T la taille de la vidéo, E le nombre d'événements dont la présence potentielle est recherchée, D est le domaine temporel des votes, -D = D1 < D2 <... G Di = D une décomposition du domaine temporel en I intervalles, d correspond à un instant de l'intervalle [Di, Di+1[ « Detection » est l'ensemble des prédictions renvoyées (1 par image). Le procédé peut comporter les étapes suivantes : Initialiser un tableau S de taille T fois E : S[e][t] = 0 ; le tableau S contient les valeurs des variables e correspondant à un évènement, t un instant d'observation donné, Pour n = 1 à N Pour e de 1 à E, (boucle sur les évènements possibles), Pour i de 1 à I, (boucle sur les intervalles temporels), Pour d de Di (inclus) à Di+1 (exclu), (boucle sur les instants d d'observations contenus dans l'intervalle temporel), On met à jour le tableau S[e][t] en ajoutant une valeur v de confiance ou score, constante sur l'intervalle temporel [Di, Di+1[, pour un micro-évènement mn et un intervalle temporel i, 31, S[e][tn+d] = S[e][tn+d] + v[e][mn][i] ; où "=" signifie "est remplacé par la valeur", Pour t = 1 à T, on va déterminer l'évènement caractéristique, par exemple l'événement le plus probable en recherchant la valeur maximale sur e, 32, Detection[t] = arg max sur e de S[e][t], ce qui donne l'évènement caractéristique le plus probable associé à une observation Oi de la vidéo. 10 Toutes les valeurs de vote associées à un couple {micro-évènement ; événement} sont imposées et identiques pour les instants contenus dans l'intervalle temporel [Di, Di+1[ et sont stockées dans une seule valeur. Le nombre de valeurs à stocker diminue de E*M*(2D+1) selon les méthodes connues de l'art antérieur à E*M*I. De même, le nombre d'opérations de 15 lecture dans la mémoire est réduit. Selon un autre mode de réalisation illustré à la figure 4, le procédé suppose que les instants sur lesquels on effectue les observations Oi sont un multiple d'une valeur « incrément » plus connue dans le domaine technique par le terme anglo-saxon « step » donnée. 20 Les paramètres et données d'entrée sont les suivantes : m1,...,r1N, N micro événements détectés aux instants ti,...,tN en supposant que la valeur des instants choisis pour l'observation tn est multiple de « step », T la taille de la vidéo, 25 E est le nombre de types d'événements intéressant l'utilisateur, D est le domaine temporel des votes, -D = D1 < D2 <... G DI = D une décomposition du domaine temporel telle que pour tout i, Di et D sont multiple de « step », « Detection » est l'ensemble des prédictions renvoyées (une par image). 30 Le procédé « INTERVALLES_STEP » comporte alors les étapes suivantes : Initialiser un tableau S de taille T/step fois E : S[e][t] = 0 ; Pour n = 1 à N, étape 40, Pour e de 1 à E Pour i de 1 à I Pour j de Di (inclus) à Di+1 (exclu) par saut de step, étapes 41, 42 tau = (t, + j)/step, instant multiple de step, S[e][tau] = S[e][tau] + v[e][m,][i] ; étape 43, Pour t = 1 à T tau = partieEntiere(t/step) ; Prediction[t] = arg max sur e de S[e][tau] ; on détecte l'évènement pour une observation, étape 44. Cette variante de réalisation permet de diviser par « step » le nombre d'additions de doubles. Dans le cas où « incrément » = 4, cela équivaut à une réduction de 75% du nombre d'addition de « doubles ». Le procédé peut être mis en oeuvre pour détecter des évènements ou des actions dans un flux de données vidéo observé en continu. L'algorithme mis en oeuvre est alors une boucle infinie, puisque la vidéo arrive de façon infinie, et utilise une commande « Extraire » le micro-évènement suivant pour obtenir le prochain mot extrait (processus indépendants).
Les paramètres et données d'entrée du processus sont les suivantes : E est le nombre d'événements élus ou choisis, D est le domaine temporel des votes, -D = D1 < D2 <... G Di = D une décomposition du domaine temporel, « Detection » est l'ensemble des prédictions renvoyées (1 par image) B une taille de buffer (typiquement 5*D), Le procédé « INTERVALLE_FLUX » comprend par exemple les étapes suivantes : Initialiser un tableau S de taille B fois E : S[e][t] = 0 ; t = -D Faire en boucle Extraire le micro-événement suivant m en t' Tant que t<f-D Detection[t] = arg max sur e de S[e][r/oB] ; avec tcloB désignant le reste de la division euclidienne de t par B S[e][t%B]=0 ; t = t+1 ; Pour e de 1 à E Pour i de 1 à I Pour d de Di (inclus) à Di+1 (exclu) S[e][t'+d] = S[e][t'+d] + v[e][m][i]. Selon un autre mode de réalisation, le procédé fait l'hypothèse que les intervalles temporels correspondent à ceux qui vont maximiser l'espérance d'un certain gain, comme expliqué ci-après. Les paramètres et donnés d'entrée de cette variante sont les suivants : m1,..., mN, N micro événements détectés aux instants ti,...,tN, T la taille de la vidéo, E est le nombre de type d'événements qui nous intéressent, D est le domaine temporel des votes, -D = D1 < D2 G ... G Di = D une décomposition du domaine temporel en supposant que les Di sont exactement les intervalles qui maximisent l'espérance de ce certain gain, « Detection » est l'ensemble des prédictions renvoyées (1 par image) Le procédé « INTERVALLE_GAIN » comporte alors les étapes suivantes : Initialiser un tableau S de taille T fois E : S[e][t] = 0 ; Pour n = 1 à N Pour e de 1 à E Pour i de 1 à I Pour d de Di (inclus) à Di+1 (exclu) S[e][tn+d] = S[e][tn+d] + v[e][mn][i] ; Pour t = 1 à T Detection[t] = arg max sur e de S[e][t] ; Pour obtenir les intervalles qui maximisent l'espérance de ce certain gain (qui ne dépendent que de D et de I le nombre d'intervalles voulus), on pourra procéder de la manière suivante: PrecalculGain (D, I) si I = 0 retourner 0 si D = 0 retourner 1 retourner le max sur D' de (2D'+1)(D-D'+1)2 + PrecalculGain (D'-1 ,l-1) GAIN(D,I) soit D' tel que (2D'+1)(D-D'+1)2+ Precalcul (D'-1 ,l-1) = Precalcul(D,I) afficher D' GAIN(D'-1,I-1). Cette décomposition est intéressante dans le contexte d'une méthode procédant par vote avec des votes constants par morceau car le résultat de la fonction « PrecalculGain » est interprétable comme la quantité de vote individuel disponible durant l'apprentissage (en espérance).
Sans sortir du cadre de l'invention, les étapes principales du procédé selon l'invention s'appliquent en les adaptant si nécessaire en travaillant dans le domaine spatial en localisant dans l'espace les micro-évènements, en définissant un domaine de score spatial, et en initialisant le tableau S dans l'espace. On considérera alors des localisations spatiales et non plus temporelles pour l'exécution des étapes. Un des avantages du procédé selon l'invention est que, quelque soit le domaine temporel ou spatial choisi (par exemple [-D, D]) et quels que soient les intervalles de décompositions choisis (D1,...,DI), il est toujours possible de réaliser les apprentissages connus de la littérature. Durant la phase d'apprentissage, le procédé peut considérer tous les intervalles temporels comprenant 0 construits sur la décomposition: c'est-à-dire l'ensemble des [Di,Dj[ avec Di<O<Dj. Un traitement supplémentaire consistant à recombiner ces intervalles permet alors d'obtenir la valeur de vote recherchée sur chaque intervalle [Di,Di+1[. Cette recombinaison consiste à associer à un intervalle [Di,Di+1[ la somme des variables associées aux intervalles [Di,Dj[ le contenant. Les différentes variantes de mise en oeuvre du procédé selon l'invention décrites précédemment peuvent être utilisées combinées les unes aux autres afin d'améliorer la détection d'évènements. Dans le cas où un évènement considéré est une action et une observation est le squelette d'une personne, un système possible pour la mise en oeuvre du procédé selon l'invention comporte, par exemple, un ordinateur sur lequel est branchée une caméra active. Le processeur 20 de l'ordinateur effectue par exemple trois tâches en parallèle : - Extraire le squelette d'une personne observée image par image, et former la trajectoire de chaque articulation, - Extraire de ces trajectoires, les positions, les vitesses et les suites de positions de taille, chaque fois que cela est possible, ou tous les « step » images. Chacune des ces informations est écrite par un vecteur selon une méthode connue de l'homme du métier. On associe ensuite chacun de ces vecteurs à leur plus proche voisin parmi une banque de vecteurs spécifiques à l'articulation et au type d'information (position, vitesse ou suite). A la suite de cela, chaque information est associée à un symbole correspondant à un micro-évènement. - Utiliser les micro-évènements extraits et les votes appris pour déterminer l'action effectuée par la personne dans l'image, l'évènement, selon l'une des variantes du procédé selon l'invention décrite ci-avant. Durant l'entrainement, un corpus de vidéos annotées est utilisé. Les annotations définissent quelles actions seront recherchées en test.
Typiquement, les actions suivies peuvent être des actions de la vie de tous les jours : boire, manger, lire, se reposer, faire la cuisine, prendre des médicaments, etc. Un domaine de votes est décidé en fonction du nombre maximum d'images consécutives associées à la même action dans une vidéo. Ensuite, on choisit un nombre d'intervalles temporels pour décomposer le domaine de votes. On détermine alors les intervalles Di associée à la fonction « GAIN » présentée ci-avant. On utilise alors l'apprentissage DOHT approximé (Deeply Optimized Hough Transform) ou toute autre méthode d'apprentissage statistique. L'utilisation de ces votes avec le procédé selon l'invention permet de conserver une faible erreur tout en utilisant que peu de ressources, peu de mémoire, peu de lectures de cette mémoire, et éventuellement peu d'additions dans le cas de la variante de procédé avec « sous-échantillonnage ». La figure 5 illustre ce mode de réalisation dans lequel, pour un évènement, 50, on va choisir les intervalles souhaités, 51, 52 et on va fournir, 53, au DOHT des intervalles approximés correspondant à l'ensemble des intervalles construit sur l'union des extrémités contenant 0. L'invention s'applique notamment à des signaux sismographiques ou sonores, à des images 2D ou vidéos 2D, à des images 3D ou vidéo 3D. Les signaux sont des signaux pleins dans une matrice de dimension N, ou encore locaux, en particulier dans le cas de données ponctuelles associées à un modèle (tels que squelette du corps, un maillage sur un visage). Le procédé et le système selon l'invention offrent notamment l'avantage de diminuer la mémoire et le temps de calcul nécessaires, tout en étant compatible avec une structure d'optimisation des votes réputée performante. L'invention propose une structure pour la valeur de score qui induit un processus de vote particulier, lequel réduit à E*M*I, le nombre de valeurs à stocker, avec I très inférieur à (2D+1), et à seulement E*I, le nombre d'opérations de lecture par mots. Par rapport à l'exemple donné de l'art antérieur, la ressource nécessaire est diminuée à 3 Mo au lieu de 60 et le nombre d'opérations à 10 000 au lieu de 15 000. De plus, cette structure est compatible avec des sélections efficaces de vote. Elle conduit donc à des modifications informées de vote dont la pertinence est supérieure à celles des modifications aveugles de l'art antérieur.5
Claims (4)
- REVENDICATIONS1 - Procédé de détection d'évènements dans un flux de données comportant au moins les étapes suivantes : - définir un domaine de votes dans lequel on recherche un ou des évènements possibles associés à une observation dans le flux de données décomposé en I intervalles [Di, Di+1[ ou sous domaines, - initialiser un tableau S contenant des valeurs de scores S[e][t] correspondant à un évènement « e » localisé en t, - détecter un ou plusieurs micro-évènements mn dans le flux de données localisés en (20) et correspondant à une observation On, - pour chaque micro-évènement mn, pour chaque évènement « e » possible, pour chaque intervalle i, [Di, Di+1[, et pour toutes les localisations d contenues dans un intervalle [Di, Di+1[, mettre à jour le tableau S[e][t] des variables « e » correspondant à un évènement en utilisant une même valeur de confiance, pour un micro-évènement mn et pour un intervalle i, et pour chaque donnée localisée en - déterminer un ensemble d'évènements probables associés à une observation locale dans le flux de données à partir du tableau S[e][t],(32).
- 2 - Procédé selon la revendication 1 caractérisé en ce que les localisations sont des instants temporels.
- 3 - Procédé selon la revendication 2 caractérisé en ce que l'on choisit les valeurs d'instants de détection des micro-évènements comme des multiples d'une valeur « incrément » donnée.
- 4 - Procédé selon la revendication 2 caractérisé en ce que le flux de données traité est de taille T donnée. - Procédé selon la revendication 2 caractérisé en ce que le flux de données est traité en continu. 6 - Procédé selon la revendication 2 caractérisé en ce que l'on détermine l'évènement le plus probable en recherchant l'argument maximal sur e du tableau S[e] [1] . 7 - Procédé selon l'une des revendications 1 à 6 caractérisé en ce que le flux de données se présente sous la forme de signaux sismographiques ou sonores, à des images 2D ou vidéos 2D, à des images 3D ou vidéo 3D. 8 - Système de détection d'évènements dans un flux de données comportant au moins les éléments suivants : - un capteur adapté à détecter un ou plusieurs micro-évènements mr, dans le flux de données, à des positions de localisation données ti,..tN, correspondant à une observation 0i, - un processeur (20) adapté à exécuter les étapes du procédé selon l'une des revendications 1 à 7, - une mémoire (21) de stockage des résultats obtenus par l'exécution des étapes. 9 - Système de détection selon la revendication 8 caractérisé en ce qu'il comporte une mémoire tampon (26) pour stocker le flux de données arrivant en continu. 10 - Système de détection selon l'une des revendications 8 et 9 caractérisé en ce qu'il comporte une caméra active connectée à un micro-ordinateur.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1459143A FR3026526B1 (fr) | 2014-09-26 | 2014-09-26 | Procede et systeme de detection d'evenements de nature connue |
US15/514,384 US10296781B2 (en) | 2014-09-26 | 2015-09-24 | Method and system for detecting events of a known nature |
EP15767185.0A EP3198523A1 (fr) | 2014-09-26 | 2015-09-24 | Procede et systeme de detection d'evenements de nature connue |
PCT/EP2015/072023 WO2016046336A1 (fr) | 2014-09-26 | 2015-09-24 | Procede et systeme de detection d'evenements de nature connue |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1459143A FR3026526B1 (fr) | 2014-09-26 | 2014-09-26 | Procede et systeme de detection d'evenements de nature connue |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3026526A1 true FR3026526A1 (fr) | 2016-04-01 |
FR3026526B1 FR3026526B1 (fr) | 2017-12-08 |
Family
ID=52589479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1459143A Expired - Fee Related FR3026526B1 (fr) | 2014-09-26 | 2014-09-26 | Procede et systeme de detection d'evenements de nature connue |
Country Status (4)
Country | Link |
---|---|
US (1) | US10296781B2 (fr) |
EP (1) | EP3198523A1 (fr) |
FR (1) | FR3026526B1 (fr) |
WO (1) | WO2016046336A1 (fr) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10581945B2 (en) * | 2017-08-28 | 2020-03-03 | Banjo, Inc. | Detecting an event from signal data |
US10313413B2 (en) | 2017-08-28 | 2019-06-04 | Banjo, Inc. | Detecting events from ingested communication signals |
US11025693B2 (en) | 2017-08-28 | 2021-06-01 | Banjo, Inc. | Event detection from signal data removing private information |
US10585724B2 (en) | 2018-04-13 | 2020-03-10 | Banjo, Inc. | Notifying entities of relevant events |
FR3116634B1 (fr) | 2020-11-23 | 2022-12-09 | Commissariat Energie Atomique | Dispositif apprenant pour système cyber-physique mobile |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110235859A1 (en) * | 2010-03-26 | 2011-09-29 | Kabushiki Kaisha Toshiba | Signal processor |
US20130259390A1 (en) * | 2008-02-15 | 2013-10-03 | Heather Dunlop | Systems and Methods for Semantically Classifying and Normalizing Shots in Video |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04287290A (ja) | 1990-11-20 | 1992-10-12 | Imra America Inc | ハフ変換画像処理装置 |
JP4556195B2 (ja) * | 2008-02-15 | 2010-10-06 | カシオ計算機株式会社 | 撮像装置、動画再生装置及びそのプログラム |
FR2982684B1 (fr) * | 2011-11-10 | 2014-01-10 | Commissariat Energie Atomique | Systeme et procede de conception de circuit numerique a capteur d'activite |
US9349069B2 (en) | 2011-11-21 | 2016-05-24 | Analog Devices, Inc. | Dynamic line-detection system for processors having limited internal memory |
-
2014
- 2014-09-26 FR FR1459143A patent/FR3026526B1/fr not_active Expired - Fee Related
-
2015
- 2015-09-24 US US15/514,384 patent/US10296781B2/en not_active Expired - Fee Related
- 2015-09-24 WO PCT/EP2015/072023 patent/WO2016046336A1/fr active Application Filing
- 2015-09-24 EP EP15767185.0A patent/EP3198523A1/fr not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130259390A1 (en) * | 2008-02-15 | 2013-10-03 | Heather Dunlop | Systems and Methods for Semantically Classifying and Normalizing Shots in Video |
US20110235859A1 (en) * | 2010-03-26 | 2011-09-29 | Kabushiki Kaisha Toshiba | Signal processor |
Non-Patent Citations (2)
Title |
---|
ANGELA YAO ET AL: "A Hough transform-based voting framework for action recognition", 2010 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 13-18 JUNE 2010, SAN FRANCISCO, CA, USA, IEEE, PISCATAWAY, NJ, USA, 13 June 2010 (2010-06-13), pages 2061 - 2068, XP031725713, ISBN: 978-1-4244-6984-0 * |
CHAN-HON-TONG ADRIEN ET AL: "Simultaneous segmentation and classification of human actions in video streams using deeply optimized Hough transform", PATTERN RECOGNITION, ELSEVIER, GB, vol. 47, no. 12, 27 May 2014 (2014-05-27), pages 3807 - 3818, XP029054130, ISSN: 0031-3203, DOI: 10.1016/J.PATCOG.2014.05.010 * |
Also Published As
Publication number | Publication date |
---|---|
US10296781B2 (en) | 2019-05-21 |
EP3198523A1 (fr) | 2017-08-02 |
WO2016046336A1 (fr) | 2016-03-31 |
FR3026526B1 (fr) | 2017-12-08 |
US20170293798A1 (en) | 2017-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Linardos et al. | Simple vs complex temporal recurrences for video saliency prediction | |
Tobiyama et al. | Malware detection with deep neural network using process behavior | |
US20210133483A1 (en) | Object detection based on pixel differences | |
Jiang et al. | Weakly supervised discriminative learning with spectral constrained generative adversarial network for hyperspectral anomaly detection | |
EP2321769B1 (fr) | Procédé de reconnaissance de formes et système mettant en oeuvre le procédé | |
AU2021259170A1 (en) | Supervised contrastive learning with multiple positive examples | |
FR3026526A1 (fr) | Procede et systeme de detection d'evenements de nature connue | |
CN111027576B (zh) | 基于协同显著性生成式对抗网络的协同显著性检测方法 | |
EP2364490A1 (fr) | Dispositif a architecture pipeline de flot de donnees pour la reconnaissance et la localisation d'objets dans une image par balayage de fenetres de detection | |
US11443553B1 (en) | Scalable training data preparation pipeline and efficient distributed trainer for deep neural networks in facial recognition | |
EP3674741B1 (fr) | Système et procédé d'identification de source radar | |
WO2021216310A1 (fr) | Apprentissage contrastif supervisé à l'aide de multiples exemples positifs | |
FR2719384A1 (fr) | Procédé de trajectographie d'objets et dispositif de mise en Óoeuvre de ce procédé. | |
WO2022008605A1 (fr) | Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés | |
EP3616132A1 (fr) | Procédé et dispositif automatisés aptes à assurer l'invariance perceptive d'un évènement spatio-temporel dynamiquement en vue d'en extraire des représentations sémantiques unifiées | |
Karras et al. | A Hybrid Ensemble Deep Learning Approach for Emotion Classification | |
EP0447306B1 (fr) | Dispositif de reconnaissance de séquences dans un signal multidimensionnel | |
Vrigkas et al. | Human activity recognition using robust adaptive privileged probabilistic learning | |
Guo et al. | Efficient and adaptable patch-based crack detection | |
Amerini et al. | Prana: Prnu-based technique to tell real and deepfake videos apart | |
Pasqualino et al. | A multi camera unsupervised domain adaptation pipeline for object detection in cultural sites through adversarial learning and self-training | |
Ildar | Increasing FPS for single board computers and embedded computers in 2021 (Jetson nano and YOVOv4-tiny). Practice and review | |
Saluja et al. | Analysis and comparison of various deep learning models to implement suspicious activity recognition in CCTV surveillance | |
Rakhmatulin | Increasing FPS for Single Board Computers and Embedded Computers in 2021 (Jetson Nano and YOVOv4-Tiny) | |
Alsarhan et al. | Collaborative Positional-Motion Excitation Module for Efficient Action Recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20160401 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
ST | Notification of lapse |
Effective date: 20240505 |