Brevet FR3020699A1 — publié le 20151106

PROCEDE DE SUIVI DE FORME DANS UNE SCENE OBSERVEE PAR UN CAPTEUR ASYNCHRONE DE LUMIERE 100011 La présente invention concerne les méthodes de recherche et de poursuite d'objets en mouvement dans des scènes observées par des capteurs optiques. 100021 Parmi les techniques connues de repérage d'objets dans des images, il existe des algorithmes itératifs à recherche des points les plus proches, c'est-à-dire de type ICP (« Iterative Closest Point »). Ces algorithmes ICP sont connus pour leur efficacité dans des applications telles que l'alignement utilisant de données de distance (« range data registration »), la reconstruction 3D, la poursuite d'objets et l'analyse de mouvement. Voir 1() par exemple l'article « Efficient Variants of the ICP Algorithm », de S. Rusinkiewicz et M. Levoy, 3rd International Conference on 3D Digital Imaging and Modeling, juin 2001, pp. 145-152. 100031 Le principe d'un algorithme ICP est d'utiliser un ensemble de points servant de modèle délimitant le contour de l'objet afin de le faire correspondre avec un ensemble de 15 points faisant partie des données acquises. Une transformation entre l'ensemble-modèle connu et l'ensemble de points des données est estimée pour exprimer leurs relations géométriques en minimisant une fonction d'erreur. La poursuite d'une forme arbitraire peut être résolue par une technique ICP lorsqu'on lui fournit un modèle de cette forme. 100041 L'article « Iterative Estimation of Rigid Body Transformations - Application 20 to robust object tracking and Iterative Closest Point », de M. Hersch, et al., Journal of Mathematical Imaging and Vision, 2012, Vol. 43, No. 1, pp 1-9, présente une méthode itérative pour l'exécution de l'algorithme ICP. Pour déterminer une transformation spatiale rigide T permettant de repérer dans une image un motif défini par un ensemble de points {x,} auxquels correspondent respectivement des points {y } de l'image, la solution 25 classique forme analytique (« closed form »), consistant à rechercher la transformation T où par minimisation d'un critère d'erreur de la forme Dy, - Tx,11 2 ou la somme porte sur l'ensemble des points x, du motif, est remplacée par une solution itérative dans laquelle on part d'une estimation initiale de la transformation T, et chaque itération consiste à prendre au hasard un point x, du motif, à trouver son point correspondant y, dans l'image et à 30 mettre à jour la transformation T par soustraction d'un terme proportionnel au gradient -2 - Tx,112 relativement aux paramètres de translation et de rotation de la transformation T. Lorsque la transformation T devient stationnaire d'une itération à l'autre, les itérations s'arrêtent et T est conservée comme estimation finale de la transformation permettant de repérer le motif dans l'image. 100051 Dans la vision traditionnelle basée sur des images successivement acquises, la cadence des images de la caméra (de l'ordre de 60 images par seconde, par exemple) est souvent insuffisante pour les techniques ICP. Le calcul répétitif de la même information dans des images successives limite aussi la performance en temps réel des algorithmes ICP. Dans la pratique, ils sont cantonnés à des cas de détection de formes simples qui ne se déplacent pas trop rapidement. 10006] Contrairement aux caméras classiques qui enregistrent des images successives à des instants d'échantillonnage réguliers, les rétines biologiques ne transmettent que peu d'information redondante sur la scène à visualiser, et ce de manière asynchrone. Des capteurs de vision asynchrones basés sur événement délivrent des données numériques compressées sous forme d'événements. Une présentation de tels capteurs peut être consultée dans « Activity-Driven, Event-Based Vision Sensors », T. Delbrück, et al., Proceedings of 2010 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 2426-2429. Les capteurs de vision basés sur événement ont pour avantage d'enlever de la redondance, de réduire les temps de latence et d'augmenter la gamme dynamique par rapport aux caméras classiques. 100071 La sortie d'un tel capteur de vision peut consister, pour chaque adresse de pixel, en une séquence d'événements asynchrones représentatifs des changements de réflectance de la scène au moment où ils se produisent. Chaque pixel du capteur est indépendant et détecte des changements d'intensité supérieurs à un seuil depuis l'émission du dernier événement (par exemple un contraste de 15% sur le logarithme de l'intensité). Lorsque le changement d'intensité dépasse le seuil fixé, un événement ON ou OFF est généré par le pixel selon que l'intensité augmente ou diminue. Certains capteurs asynchrones associent les événements détectés à des mesures d'intensité lumineuse. Le capteur n'étant pas échantillonné sur une horloge comme une caméra classique, il peut rendre compte du séquencement des événements avec une très grande précision temporelle (par exemple de l'ordre de 1 us). Si on utilise un tel capteur pour reconstruire une - 3 - séquence d'images, on peut atteindre une cadence d'images de plusieurs kilohertz, contre quelques dizaines de hertz pour des caméras classiques. [0008] Les capteurs de vision basés sur événement ont des perspectives prometteuses, et il est souhaitable de proposer des méthodes efficaces pour poursuivre des objets en mouvement à partir des signaux délivrés par de tels capteurs. [0009] Dans « Fast sensory motor control based on event-based hybrid neuromorphic- procedural system », ISCAS 2007, New Orleans, 27-30 mai 2007 pp. 845-848, T. Delbrück et P. Lichtsteiner décrivent un algorithme de poursuite de grappes (« cluster tracker ») utilisable par exemple pour piloter un robot gardien de but de football à l'aide d'un capteur de vision basé sur événement. Chaque grappe modélise un objet mobile comme une source d'événements. Des événements qui tombent dans la grappe changent la position de celle-ci. Une grappe n'est considérée comme visible que si elle a reçu un nombre d'événements supérieur à un seuil. [0010] Dans « Asynchronous event-based visual shape tracking for stable haptic feedback in microrobotics », Z. Ni, et al., IEEE Transactions on Robotics, 2012, Vol. 28, No. 5, pp. 1081-1089, il est présenté une version basée sur événement (« event-based ») de l'algorithme ICP, qui repose sur la minimisation d'une fonction coût en forme analytique. [0oli] Il existe un besoin pour un procédé de suivi de formes qui soit rapide et d'une bonne précision temporelle. [0012] Il est proposé un procédé de suivi de forme dans une scène, comprenant : - recevoir de l'information asynchrone d'un capteur de lumière ayant une matrice de pixels disposée en regard de la scène, l'information asynchrone comprenant, pour chaque pixel de la matrice, des événements successifs provenant dudit pixel ; et - mettre à jour un modèle représentant la forme poursuivie d'un objet après détection d'événements attribués audit objet dans l'information asynchrone. [0013] La mise à jour comprend, suite à la détection d'un événement : - associer un point du modèle à l'événement détecté par minimisation d'un critère de distance par rapport au pixel de la matrice d'où provient l'événement détecté ; et - 4 - - déterminer le modèle mis à jour en fonction du pixel de la matrice d'où provient l'événement détecté et du point associé et indépendamment des associations effectuées avant la détection dudit événement. 100141 La mise en correspondance des points observés avec le modèle n'est pas effectuée de manière groupée après acquisition d'une image complète ou même d'un nombre d'événements suffisant au regard de la forme poursuivie dans la scène. La poursuite de formes par l'algorithme itératif est effectuée de manière beaucoup plus rapide, au fur et à mesure de l'arrivée des événements asynchrones. 100151 La détermination de la transformation spatiale permettant la mise à jour du modèle repose habituellement sur la minimisation d'une fonction coût de la forme: ID(p[ev], F ,(A[ev])) (1) où: p[ev] désigne la position dans la matrice du pixel d'où est provenu un événement ev ; A[ev] désigne le point du modèle associé à l'événement ev ; Ft(.) désigne la transformation spatiale ; D(.,.) est une mesure de distance dans le plan de la matrice ; et la somme porte sur un certain nombre d'associations (p[ev] A[ev]) qui ont pu être effectuées. 100161 Dans le procédé proposé, l'approche est différente car il est tenu compte de l'association entre l'événement courant et le point du modèle qui lui a été associé, mais pas des associations antérieures. Alors que la fonction coût ne peut pas être minimisée sur cette seule base, chaque itération permet de calculer un terme correctif, à la manière d'une descente de gradient, qui est appliqué au modèle pour faire converger celui-ci vers la solution qui poursuit bien la forme dans la scène. Cette convergence est assurée, alors même que l'objet est en mouvement, grâce à la dynamique et au nombre élevé des événements que provoque ce mouvement. 100171 Pour filtrer du bruit d'acquisition, on peut s'abstenir de mettre à jour le modèle lorsqu'aucun point du modèle n'est situé à une distance inférieure à un seuil par rapport au pixel d'où provient un événement détecté, qui dans ce cas n'est pas attribué à l'objet. [00181 Une réalisation intéressante du procédé comprend en outre : - 5 - - estimer un plan de déplacement de l'objet, le plan de déplacement étant estimé dans un espace à trois dimensions, à savoir deux dimensions spatiales correspondant à deux directions de la matrice de pixels et une dimension temporelle, par minimisation d'un critère de distance par rapport à un ensemble de points marquant des événements détectés qui ont été attribués à l'objet au cours d'une fenêtre temporelle se terminant à un instant courant ; et - suite à la détection d'un événement, tenir compte du plan de déplacement estimé de l'objet pour décider d'attribuer ou non l'événement à l'objet. [0019] Les propriétés de ce « plan de déplacement » permettent plusieurs traitements utiles, notamment dans le cas où plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif mis à jour après détection d'événements qui lui sont attribués et un plan de déplacement estimé. [0020] On peut ainsi, suite à la détection d'un événement attribuable à au moins deux des objets, calculer des distances respectives, dans l'espace à trois dimensions, entre un point marquant l'événement détecté et les plans de déplacement respectivement estimés pour lesdits objets, et attribuer l'événement détecté à l'objet pour lequel la distance calculée est minimale. Ceci permet de combiner des contraintes spatiales et temporelles pour lever des ambiguïtés entre plusieurs objets auxquels un événement détecté est attribuable. [0021] Une autre possibilité est d'estimer une distribution statistique de distances entre le plan de déplacement de l'objet et des points marquant des événements détectés qui ont été attribués à l'objet puis, après détection d'un événement, tenir compte du plan de déplacement estimé de l'objet et de la distribution statistique estimée pour décider d'attribuer ou non l'événement à l'objet. Ceci permet de tenir compte du mouvement éventuel du fond de la scène lorsque le capteur asynchrone est lui-même en mouvement. En particulier, on peut déterminer un intervalle de valeurs admissibles de distance d'après la distribution statistique estimée, et ne pas attribuer un événement détecté à l'objet si le point marquant cet événement détecté dans l'espace à trois dimensions présente, par rapport au plan de déplacement estimé, une distance tombant en dehors de l'intervalle de valeurs admissibles de distance. -6 100221 D'autres caractéristiques peuvent être prévues lorsque plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif mis à jour après détection d'événements qui lui sont attribués. 100231 Ainsi, si suite à la détection d'un événement, un seul des objets remplit la condition d'avoir dans son modèle un point ayant une distance inférieure à un seuil par rapport au pixel de la matrice d'où provient l'événement détecté, l'événement détecté peut être attribué à cet objet. 100241 Suite à la détection d'un événement attribuable à au moins deux des objets, il est possible de prendre en compte des contraintes spatiales pour lever l'ambiguïté. On peut ainsi associer à l'événement détecté, pour chaque objet auquel l'événement détecté est attribuable, un point du modèle de cet objet par minimisation d'un critère de distance respectif par rapport au pixel de la matrice d'où provient l'événement détecté, et d'attribuer l'événement détecté à l'objet pour lequel le critère de distance minimisé est le plus faible. Une variante consiste à n'affecter l'événement détecté à aucun des objets. 100251 Une autre variante consiste à affecter l'événement détecté à chacun des objets auxquels l'événement détecté est attribuable. La mise à jour des modèles des objets auxquels l'événement détecté est attribué peut éventuellement être effectuée avec des pondérations dépendant des critères de distance respectivement minimisés pour lesdits objets. 100261 Suite à la détection d'un événement attribuable à au moins deux objets, il est encore possible de prendre en compte des contraintes temporelles pour lever l'ambiguïté. Pour chaque objet, on peut ainsi estimer une cadence d'événements qui lui sont attribués et mémoriser l'instant auquel a été détecté le dernier événement qui lui a été attribué. Un événement attribuable à au moins deux objets est alors attribué à celui des objets pour lequel le produit de la cadence d'événements estimée par l'intervalle de temps entre l'instant mémorisé et l'instant de détection de l'événement est le plus proche de 1. 100271 Dans une réalisation du procédé, la détermination du modèle mis à jour comporte une estimation d'une transformation spatiale définie par un ensemble de paramètres, et une application de la transformation spatiale estimée au modèle. L'estimation de la transformation spatiale comporte un calcul des paramètres de la transformation spatiale en fonction du gradient d'une distance, dans le plan de la matrice -7 de pixels, entre le pixel de la matrice d'où provient l'événement détecté et un point obtenu en appliquant la transformation spatiale au point du modèle associé à l'événement détecté. [0028] Un cas particulier est celui où la transformation spatiale est une transformation rigide, incluant une translation et une rotation dans le plan de la matrice de pixels. Une possibilité est de prendre pour la translation un vecteur AT égal à - ru.VTf(Aeo, ATo) et pour la rotation un angle AO égal à - rp.Vof(Aeo, 4T0), où ru et 112 sont des pas de convergence positifs prédéfinis et Aeo et ATo sont des valeurs particulières de l'angle de A rotation et du vecteur de translation. Par exemple, on peut prendre Aeo = mcp et 4T0 = cp - RAe0[cm], où p désigne le pixel de la matrice d'où provient l'événement détecté, m désigne le point du modèle associé à l'événement détecté, c désigne le centre de la rotation, cp désigne un vecteur allant de c à p, cm désigne un vecteur allant de c à m, et RAe0[.] est la rotation de centre c et d'angle Aeo. [0029] Un autre cas d'intérêt est celui où la transformation spatiale est une transformation affine incluant en outre une application de facteurs d'échelle respectifs suivant deux axes compris dans la matrice de pixels. Les facteurs d'échelle sx, sy suivant les deux axes x, y peuvent être calculés selon sx = 1 + ru.( - 111),(1 ) et sy = 1 + 13.( - 1111371 ), respectivement, où ru est un pas de convergence positif prédéfini, Px et py sont les coordonnées suivant les axes x et y du pixel de la matrice d'où provient l'événement détecté, et mx et my sont les coordonnées suivant les axes x et y du point du modèle associé à l'événement détecté. [0030] Un autre aspect de la présente invention se rapporte à un dispositif de suivi de forme dans une scène, comprenant un calculateur configure pour exécuter un procédé tel que défini ci-dessus à partir d'information asynchrone reçue d'un capteur de lumière. [0031] D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels : - la figure 1 est un schéma synoptique d'un dispositif adapté à la mise en oeuvre de l'invention ; -8 - la figure 2A est un diagramme montrant un exemple de profil d'intensité lumineuse au niveau d'un pixel d'un capteur asynchrone ; - la figure 2B montre un exemple de signal délivré par le capteur asynchrone en réponse au profil intensité de la figure 2A ; - la figure 2C illustre la reconstruction du profil intensité à partir du signal de la figure 2B ; - les figures 3A-B sont des diagrammes analogues à ceux des figures 2A-B illustrant un mode d'acquisition lumineuse utilisable dans un autre exemple de réalisation du procédé ; - la figure 4 est un schéma synoptique d'un capteur asynchrone de lumière de type ATIS ; - la figure 5 est un diagramme montrant des événements générés par un capteur asynchrone placé en regard d'une scène comportant une étoile tournante ; - la figure 6A et une vue d'un équipement utilisé pour tester le fonctionnement du procédé de poursuite de forme selon l'invention ; - la figure 6B montre un exemple de carte d'accumulation d'événements obtenue dans la configuration de la figure 5A ; - la figure 7 montre différentes images pour illustrer le fonctionnement d'un algorithme ICP dans l'exemple d'une étoile tournante ; - la figure 8 est un organigramme d'un exemple d'algorithme utilisable dans certaines mises en oeuvre de l'invention ; - les figures 9 et 10 sont des diagrammes montrant des éléments géométriques servant à décrire certaines réalisations de l'invention ; - la figure 11 est un organigramme d'un exemple d'algorithme utilisable dans d'autres mises en oeuvre de l'invention ; - la figure 12 est un diagramme illustrant un mode de calcul de transformation spatiale lors d'une itération d'un mode de réalisation d'un procédé selon la figure 11; - la figure 13 est un graphique montrant les points d'un espace à trois dimensions, incluant deux dimensions spatiales et une dimension temporelle, où sont enregistrés -9 les événements attribués à une arête en mouvement dans le champ de vision d'un capteur asynchrone, et leur interpolation par un plan de déplacement ; - la figure 14 est un organigramme d'un exemple de procédure utilisable à l'étape 44 de la figure 11 ; - les figures 15 et 16 sont des organigrammes d'exemples de procédures utilisables à l'étape 56 de la figure 14 ; - la figure 17 est un graphique montrant une distribution de distances entre des événements et un plan de déplacement du type de celui montré sur la figure 13 ; - la figure 18 est un organigramme d'une procédure utilisable pour estimer un intervalle de valeurs admissibles de distance tel que représenté sur la figure 17 ; - la figure 19 est un graphique indiquant des erreurs de poursuite constatées en appliquant trois méthodes de poursuite différentes dans une expérience réalisée dans les conditions des figures 6 et 7 ; - la figure 20 est un diagramme illustrant la poursuite de trois formes d'objets dans un exemple d'exécution de l'invention ; - la figure 21 est un graphique illustrant les résultats d'une expérience réalisée en prenant en compte des facteurs d'échelle s,, sy dans la transformation spatiale appliquée au modèle d'un objet dans une réalisation de l'invention ; - la figure 22 montre des images obtenues dans une autre expérimentation de l'invention ; - les figures 23 et 24 sont des graphiques indiquant des erreurs de poursuite constatées en appliquant deux méthodes de poursuite différentes dans l'expérimentation de la figure 22 ; - les figures 25 et 26 sont des graphiques illustrant deux mode possibles de levée d'ambiguïté entre plusieurs objets dans une autre expérimentation de l'invention ; - les figure 27-32 sont des graphiques indiquant les vitesses de modèles observés lors de la poursuite de deux formes d'objets en mouvement selon six méthodes différentes dans la même expérimentation que les figures 25-26 ; - la figure 33 est un graphique montrant deux plans de déplacement suivant la figure 13, utilisés pour décider de l'attribution d'événements aux objets dans le cadre de la poursuite dans les résultats sont montrés sur la figure 32 ; et - 10 - - les figure 34 et 35 sont des graphiques montrant des vitesses de modèle obtenues dans deux expérimentations de l'invention dans lesquelles le capteur asynchrone était lui-même en mouvement. 100321 Le dispositif représenté sur la figure 1 comporte un capteur de vision asynchrone basé sur événement 10 placé en regard d'une scène et recevant le flux lumineux de la scène à travers une optique d'acquisition 15 comprenant une ou plusieurs lentilles. Le capteur 10 est placé dans le plan image de l'optique d'acquisition 15. Il comporte un groupement d'éléments photosensibles organisés en une matrice de pixels. Chaque pixel correspondant à un élément photosensible produit des événements successifs dépendant des variations de lumière dans la scène. 100331 Un calculateur 20 traite l'information asynchrone issue du capteur 10, c'est-à- dire les séquences d'événements ev(p, t) reçues de manière asynchrone des différents pixels p, pour en extraire de l'information Ft sur certaines formes évoluant dans la scène. Le calculateur 20 fonctionne sur des signaux numériques. Il peut être implémenté par programmation d'un processeur approprié. Une implémentation matérielle du calculateur à l'aide de circuits logiques spécialisés (ASIC, FPGA, ...) est également possible. [00341 Pour chaque pixel p de la matrice, le capteur 10 engendre une séquence de signal asynchrone basé sur événement à partir des variations de lumière ressenties par le pixel dans la scène apparaissant dans le champ de vision du capteur. 20 100351 Le capteur asynchrone réalise une acquisition par exemple selon le principe illustré par les figures 2A-C. L'information délivrée par le capteur comprend une succession d'instants tk (k = 0, 1, 2, ...) auxquels un seuil d'activation Q est atteint. La figure 2A montre un exemple de profil d'intensité lumineuse P1 vue par un pixel de la matrice du capteur. Chaque fois que cette intensité augmente d'une quantité égale au seuil d'activation Q à partir de ce qu'elle était au temps tk, un nouvel instant tk+1 est identifié et une raie positive (niveau +1 sur la figure 2B) est émise à cet instant tk+1. Symétriquement, chaque fois que l'intensité du pixel diminue de la quantité Q à partir de ce qu'elle était au temps tk, un nouvel instant tk+1 est identifié et une raie négative (niveau -1 sur la figure 2B) est émise à cet instant tk+1. La séquence de signal asynchrone pour le pixel consiste alors en une succession d'impulsions ou raies (« spikes ») positives ou négatives positionnées dans le temps aux instants tk dépendant du profil lumineux pour le pixel. Ces raies peuvent être représentées mathématiquement par des pics de Dirac positifs ou négatifs et caractérisées chacune par un instant d'émission tk et un bit de signe. La sortie du capteur 10 est alors sous la forme d'une représentation adresse-événement (AER, « address-event representation »). La figure 2C montre le profil d'intensité P2 qu'on est capable de reconstruire comme une approximation du profil Pl par intégration dans le temps du signal asynchrone de la figure 2B. 100361 Le seuil d'activation Q peut être fixe, comme dans le cas des figures 2A-C, ou adaptatif en fonction de l'intensité lumineuse, comme dans le cas des figures 3A-B. Par exemple, le seuil ±Q peut être comparé aux variations du logarithme de l'intensité lumineuse pour la génération d'un événement ±1. 10037] À titre d'exemple, le capteur 10 peut être un capteur de vision dynamique (DVS, "Dynamic Vision Sensor") du genre décrit dans « A 128x128 120 dB 15 i_ts Latency Asynchronous Temporal Contrast Vision Sensor », P. Lichtsteiner, et al., IEEE Journal of Solid-State Circuits, Vol. 43, No. 2, février 2008, pp. 566-576, ou dans la demande de brevet US 2008/0135731 Al. La dynamique d'une rétine (durée minimum entre les potentiels d'action) de l'ordre de quelques millisecondes peut être approchée avec un DVS de ce type. La performance en dynamique est en tout cas largement supérieure à celle qu'on peut atteindre avec une caméra vidéo classique ayant une fréquence d'échantillonnage réaliste. Il est à noter que la forme du signal asynchrone délivré pour un pixel par le DVS 10, qui constitue le signal d'entrée du calculateur 20, peut être différente d'une succession de pics de Dirac, les événements représentés pouvant avoir une largeur temporelle ou une amplitude ou une forme d'onde quelconque dans ce signal asynchrone basé sur événement. 100381 Un autre exemple de capteur asynchrone avantageusement utilisable dans le contexte de la présente invention est le capteur d'image asynchrone à base temporelle (ATIS, « Asynchronous Time-based Image Sensor ») dont une description est donnée dans l'article «A QVGA 143 dB Dynamic Range Frame-Free PWM Image Sensor With Lossless Pixel-Level Video Compression and Time-Domain CDS », C. Posch, et al., IEEE Journal of Solid-State Circuits, Vol. 46, No. 1, janvier 2011, pp. 259-275. - 12 - [0039] La figure 4 illustre le principe de l'ATIS. Un pixel 16 de la matrice constituant le capteur comporte deux éléments photosensibles 17a, 17b, tels que des photodiodes, respectivement associés à des circuits électroniques de détection 18a, 18b. Le capteur 17a et son circuit 18a ont un fonctionnement similaire à ceux du DVS précédemment mentionné. Ils produisent une impulsion Po lorsque l'intensité lumineuse reçue par la photodiode 17a varie d'une quantité prédéfinie. L'impulsion Po marquant ce changement d'intensité déclenche le circuit électronique 18b associé à l'autre photodiode 17b. Ce circuit 18b génère alors une première impulsion Pi puis une deuxième impulsion P2 dès qu'une quantité de lumière donnée (nombre de photons) est reçue par la photodiode 17b. L'écart temporel Ôt entre les impulsions P1 et P2 est inversement proportionnel à l'intensité lumineuse reçue par le pixel 16 juste après l'apparition de l'impulsion Po. L'information asynchrone issue de l'ATIS est une autre forme de représentation AER, comprenant deux trains impulsions pour chaque pixel: le premier train des impulsions Po indique les instants où l'intensité lumineuse a changé au-delà du seuil de détection, tandis que le second train se compose des impulsions P1 et P2 dont l'écart temporel Ôt indique les intensités lumineuses, ou niveaux de gris, correspondants. Un événement ev(p, t) issu d'un pixel 16 de position p dans la matrice de l'ATIS comporte alors deux types d'information: une information temporelle donnée par la position de l'impulsion Po, donnant l'instant t de l'événement, et une information de niveau de gris donnée par l'écart temporel Ôt entre les impulsions Pi et P2. [0040] Dans le cas où le capteur 10 consiste en une matrice bidimensionnelle de pixels, on peut placer les événements provenant des pixels dans une représentation espace-temps à trois dimensions telle que celle présentée sur la figure 5. Sur cette figure, chaque point repère un événement ev(p, t) engendré de manière asynchrone à un instant t au (x niveau d'un pixel p du capteur, de position p = , par le mouvement d'une étoile 02) tournant à vitesse angulaire constante comme schématisé dans l'encadré A. La majeure partie de ces points se répartissent à proximité d'une surface de forme générale hélicoïdale. En outre, la figure montre un certain nombre d'événements à distance de la surface hélicoïdale qui sont mesurés sans correspondre au mouvement effectif de l'étoile. Ces événements sont du bruit d'acquisition. - 13 - [0041] Le principe d'un algorithme ICP est d'utiliser un ensemble de points formant un modèle représentant la forme d'un objet, par exemple décrivant le contour de cet objet, pour le faire correspondre avec un ensemble de points fourni par des données d'acquisition, puis de calculer la relation géométrique entre cet ensemble de points et le modèle par minimisation d'une fonction d'erreur. [0042] La figure 6A montre de l'équipement utilisé dans une expérimentation de l'invention, le capteur 10, par exemple de type DVS ou ATIS, étant placé en face d'un plateau tournant 11 sur lequel est dessinée une forme d'étoile. Le capteur 10 acquiert des données à partir de la rotation de la forme en étoile sur le plateau. À titre simplement de comparaison et d'illustration, la figure 6B montre schématiquement les événements observés au cours d'un intervalle de temps de l'ordre de quelques microsecondes, en superposition sur la forme noire de l'étoile. [0043] La figure 7 montre, à titre d'illustration, un exemple de poursuite de la forme en étoile. Sur cette figure, la rangée du haut est une séquence d'images conventionnelle montrant l'étoile en rotation sur son plateau, comme dans le cas de la figure 6A. La rangée du milieu montre des cartes d'accumulation d'événements, c'est-à-dire la projection de tous les événements survenus au cours d'une période de temps sur un plan, indépendamment des instants précis de détection des événements dans la période de temps. Enfin, la rangée du bas montre la mise en correspondance du modèle (montré en trait plein) avec les points d'acquisition. Dans la colonne de gauche (a), on voit un état initial où l'étoile commence sa rotation. L'algorithme essaie de faire correspondre le modèle avec les événements les plus proches. Une position initiale du modèle pas trop éloignée des événements est utile pour que l'algorithme converge vers le minimum global. Dans la colonne (b), l'étoile passe à proximité de la position initiale du modèle, et celui-ci converge vers la position de l'étoile. Enfin, dans les colonnes (c) et (d), l'étoile continue à tourner et le modèle est mis à jour en lui appliquant une rotation RAe et une translation AT dont les paramètres sont calculés par minimisation d'une fonction erreur. [0044] Dans le cas où la scène est observée par un capteur asynchrone basé sur événement plutôt que par une caméra conventionnelle, les événements sont reçus avec une datation précise au fur et à mesure qu'ils se produisent. Un algorithme de type ICP n'a pas besoin d'attendre de disposer d'informations sur la totalité de l'étendue de la scène pour pouvoir traiter simultanément tous les événements qu'elle contient. - 14 - [0045] Un événement ev(p, t) décrit une activité dans le domaine spatio-temporel. Dans la version basée sur événement de l'algorithme ICP illustrée sur la figure 8, on considère, de façon semblable aux neurones biologiques, que chaque événement exerce une influence pendant un certain laps de temps après son apparition. Cette propriété temporelle des événements peut être introduite sous la forme d'une fonction de persistance. On note alors S(t) l'ensemble spatio-temporel des événements qui sont actifs à un instant t: S(t) = { ev(p, t') / 0 t - At au test 23. [0051] L'algorithme procède alors à l'association d'un point de G au nouvel événement à l'étape 25. Ce point associé est celui dont la position m est la plus proche du pixel p d'où provient l'événement ev(p, t) parmi les points du modèle qui n'ont pas déjà été associés à un point de l'ensemble S(t), c'est-à-dire parmi les points de l'ensemble G-M: 25 m = Arg min [d(p, q)] (3) qeG-M [0052] Le critère de distance d(.,.) utilisé à cette étape 25 est par exemple la distance euclidienne dans le plan de la matrice. Avant de décider si l'événement ev(p, t) sera inclus dans l'ensemble S(t), l'algorithme examine à l'étape 26 si la distance minimisée est inférieure à un seuil dmax. À titre d'exemple, on peut choisir le seuil dmax comme 30 correspondant à 6 pixels. Une valeur de seuil différente peut naturellement être retenue si - 16 - des essais montrent que cela convient mieux à une application particulière. Si d(p, m) > dmax, l'événement est écarté et l'algorithme revient à l'étape 21 d'attente du prochain événement. 100531 Si l'événement est attribué à l'objet recherché (d(p, m) a + L - 1), une opération de minimisation 31 est effectuée pour choisir un angle de rotation 40 et un vecteur de translation AT dans le cas où la transformation spatiale Ft, qu'on recherche à partir du modèle G, est la combinaison d'une rotation RA0 d'angle 40 et d'une translation de vecteur AT. 100561 La figure 9 précise les notations utilisées ici. On note H le motif de points définissant la forme poursuivie dans la scène, placé à une position fixe, et O le centre de gravité de cet ensemble de points H. À un instant t, ce motif H s'est déplacé selon une translation de vecteur T et une rotation d'angle 0 autour de son centre de gravité O, ce qui donne le modèle G = G(t) auquel il est fait référence lors du traitement d'un événement reçu au temps t. Le traitement donne lieu à l'estimation de variations 40, AT de l'angle de rotation 0 et du vecteur de translation T. 100571 L'opération de minimisation 31 consiste à trouver les paramètres 40, AT qui minimisent un critère de distance tel que par exemple une somme de la forme: ± cP(n) - RAo[cM (n)] - Air (4) - 17 - qui est un cas particulier de l'expression (1) où les paramètres à estimer sont l'angle 40 de la rotation RAe, définie par la matrice RA, = cos 40 - sin 40 sin 40 cos 40 , et les coordonnées du vecteur AT. Dans l'expression (4), les notations cP(n) et cM(n) représentent les vecteurs ayant pour origine le centre c de la rotation RAe et pointant respectivement vers P(n) et M(n). La position du centre c de la rotation RAe peut être définie par rapport au modèle G(t). Par exemple, on peut placer le point c au centre de gravité des points du modèle G(t), comme représenté sur la figure 9 (le vecteur T de la translation globale est alors égal au vecteur Oc). [0058] La transformation spatiale Ft composée de la rotation RAe et de la translation AT est ici celle qui déplace le modèle G(t) pour l'amener au plus près des pixels où ont été détectés des événements récemment pris en compte, c'est-à-dire des événements de l'ensemble S(t). C'est ce que montre la figure 10, où les signes + représentent les positions des pixels P(n) où ont été détectés les événements de S(t), les signes - représentent les positions des points M(n) du modèle G qui ont été associés à ces événements, et G' représente le prochain modèle, de centre c', qui place les points M(n) au plus près des pixels P(n) et résulte d'un déplacement de G selon la rotation RAe et la translation de vecteur AT. 100591 La rotation RAe et la translation AT qui minimisent le critère (4) traduisent le mouvement de la forme correspondant au modèle G entre l'instant de mise à jour de la transformation spatiale et le précédent instant de mise à jour. À l'étape 32, la même transformation est appliquée aux points des ensembles G et M pour mettre à jour ces deux ensembles. Chaque position X du modèle G (ou de l'ensemble M) est remplacée par une position Y telle que cY = RAe[cX] + AT. Après cette étape 32, l'algorithme revient à l'étape 21 d'attente du prochain événement. [0060] Les transformations spatiales Ft ainsi caractérisées par les angles 40 des rotations RAe successivement estimées et par les vecteurs de translation AT correspondants représentent les mouvements de la forme poursuivie dans la scène. Leurs paramètres sont les sorties du calculateur 20 de la figure 1. Il est possible d'accumuler les valeurs 40 et AT - 18 - successivement déterminées pour obtenir les angles 0 et les vecteurs de translation T définis par rapport à la position de référence fixe de la forme H. [0061] Le mode de réalisation illustré par la figure 8 permet de contrôler la fréquence de mise à jour des informations de poursuite de la forme recherchée dans la scène, c'est-à- dire des paramètres de la transformation spatiale Ft. Typiquement, cette fréquence de mise à jour correspond à une périodicité comprise entre 10 ps et 1 ms. Elle peut donc être beaucoup plus rapide que les fréquences de trames des caméras classiques. [0062] Le temps de persistance At est réglé en fonction du contenu dynamique de la scène. Dans une implémentation à base de calculs SVD, il est souhaitable que l'intervalle de temps At soit suffisamment long pour que l'ensemble S(t) garde un contour complet de l'objet mobile recherché, de façon que presque tous les points de se contour puissent être mis en correspondance avec des événements. D'un autre côté, une durée At trop longue augmente la charge de calcul, et ne permet pas de bien poursuivre des objets rapides. La durée At est typiquement choisie entre 10 ps et 20 ms. [0063] Une autre approche de la poursuite de forme dans la scène vue par le capteur asynchrone 10 est illustrée par la figure 11. Dans cette approche, qui fournit une meilleure dynamique tout en requérant moins de calculs, la transformation spatiale Ft qui permet de mettre à jour le modèle mis à jour est déterminée en fonction du pixel p de la matrice d'où provient un événement détecté ev(p, t) (pour autant que cet événement a été attribué à l'objet recherché) et du point m associé, de manière indépendante des associations effectuées avant la détection de l'événement ev(p, t). [0064] Dans la représentation de la figure 11, on considère qu'un nombre K d'objets sont recherchés dans la scène observée par le capteur asynchrone. Ces objets sont numérotés par un entier k (k = 1, 2, ..., K), et chacun a un modèle de points noté Gk(t) ou simplement Gk. Le cas fréquent où un seul objet est poursuivi est inclus en prenant K = 1. [0065] Pour amorcer la poursuite de chaque objet k, son modèle Gk est initialisé (étape 40) avec un positionnement assez proche de celui de cet objet dans le champ de vision du capteur 10. Puis, à l'étape 41, l'algorithme attend les nouveaux événements en provenance du capteur 10. - 19 - [0066] Suite à la réception d'un événement ev(p, t) en provenance d'un pixel de position p dans la matrice au temps t (étape 42), une étape 43 d'association d'un point mk du modèle Gk à l'événement détecté est effectuée pour chaque objet k (k = 1, 2, ..., K). Pour chaque objet k, cette étape 43 est identique à l'étape 25 précédemment décrite en référence à la figure 8, à ceci près que le point mk du modèle Gk qui minimise le critère de distance d(mk, p) est choisi sans exclure des points antérieurement associés à des événements, l'algorithme ne mémorisant pas les associations antérieures à l'événement ev(p, t). [0067] À l'étape 44, l'événement ev(p, t) qui a été détecté à l'étape 42 est attribué à un objet k ou, à défaut, exclu comme n'étant pas en relation avec le mouvement d'un objet poursuivi dans la scène. Si l'événement ev(p, t) n'est attribué à aucun objet, l'algorithme revient à l'étape 41 d'attente du prochain événement. En cas d'attribution à un objet k, la transformation spatiale Ft est calculée à l'étape 45 pour le modèle Gk de cet objet. [0068] Plusieurs tests ou filtrages peuvent être effectués à l'étape 44 pour prendre la décision d'attribuer ou non l'événement ev(p, t) à un objet k. [0069] Le plus simple est de procéder comme à l'étape 26 décrite plus haut en référence à la figure 8, par comparaison de la distance d(mk, p) à un seuil dmax. Si d(mk, p) 1), la résolution des cas d'occlusion, ou plus généralement des cas d'ambiguïté entre plusieurs objets pour l'attribution d'un événement. - 24 - À l'étape 43, les distances respectives d(mk, p) entre l'événement ev(p, t) et les points mk les plus proches des modèles Gk des différents objets poursuivis ont été calculées. Si seulement une de ces distances d(mk, p) est inférieure à un seuil dth, par exemple dth = 3 pixels, alors l'événement est attribué à cet objet. Dans le cas contraire, il est considéré comme un événement ambigu, attribuable à plusieurs objets différents. [00871 Ce traitement est illustré par la figure 14. Il commence à l'étape 50 par une initialisation d'index k et j à 1 et 0, respectivement. Il est examiné lors du test 51 si la distance d(mk, p) qui a été minimisée à l'étape 43 est inférieure au seuil dth et dans l'affirmative, l'index j est incrémenté d'une unité à l'étape 52 et la j-ième entrée d'un tableau k(j) est prise égale à k à l'étape 53. Après l'étape 53, ou quand d(mk, p) dth lors du test 51, il est examiné lors du test 54 si tous les objets ont été parcourus (k = K). Si k 1, il faut procéder à une levée d'ambiguïté 56 entre les objets k(1), k(j). 100881 La prise en compte de contraintes spatiales dans la levée des ambiguïtés 56 peut s'opérer suivant plusieurs stratégies : - Attribuer au plus proche : un nouvel événement ev(p, t) est attribué à l'objet k (parmi k(1), k(j)) dont le modèle Gk est le plus proche, c'est-à-dire celui qui minimise d(mk, p). En théorie, cette stratégie fonctionne correctement si le nouvel événement correspond parfaitement au modèle Gk et si les données ne contenaient pas de bruit et en l'absence d'ambiguïté due aux occlusions ; - Rejeter tous : cette approche ignore simplement les événements ambigus, c'est-à- dire que les étapes 45-47 de la figure 11 ne sont pas exécutées pour l'événement ev(p, t). Cette approche paraît logique puisqu'a priori il n'est pas possible de prendre une décision claire. Néanmoins, la poursuite peut échouer dans la mesure où la dynamique de la forme risque d'être perdue ; - 25 - - Mettre à jour tous : tous les modèles Gk avoisinant un événement ambigu ev(p, t) sont mis à jour. En d'autres termes, les étapes 45-47 de la figure 11 sont exécutées pour chaque objet k tel que d(mk, p) Si D' 1). Après détection de l'événement ev(p, t) à l'étape 42, la distance D =legk.nkl est calculée à l'étape 80 puis le test 81 est exécuté pour déterminer si cette distance D tombe dans l'intervalle Ik. Si D est en dehors de Ik, le processus revient à l'étape 41 de la figure 11. Si D tombe dans Ik, l'événement ev(p, t) est attribué à l'objet k plutôt qu'au mouvement du fond. La distribution des distances relativement au plan de déplacement IIk de l'objet k (courbe 78) est alors mise à jour avec la distance D à l'étape 82, puis l'intervalle Ik est recalculé à l'étape 83. Le processus passe alors l'étape 45 de la figure 11. 1001021 Les traitements décrits en référence aux figures 14-18 ont été présentés dans le contexte d'une réalisation de l'invention suivant la figure 11. Cependant, on observera que ces traitements, servant à prendre en compte les éventuelles occlusions entre objets multiples poursuivis ainsi que le mouvement éventuel du fond de la scène, sont également - 29 - utilisables avec d'autres modes d'exécution du procédé de poursuite de forme, notamment lorsqu'on a recours à une technique de type SVD comme décrit en référence à la figure 8 1001031 Des expériences numériques ont été conduites pour mettre en évidence les performances du procédé exposé ci-dessus. Ces expériences sont rapportées dans les exemples qui suivent. Exemple 1 1001041 L'expérience a été réalisée dans le cas d'une étoile dessinée sur un disque tournant, comme indiqué précédemment en référence aux figures 6A et 7, en recherchant une transformation spatiale rigide Ft, c'est-à-dire composée d'une translation et d'une rotation dans le plan des images. 1001051 Le disque tournait à une vitesse de 670 tours par minute. Le motif H donnant la forme du modèle G a été généré manuellement en sélectionnant 6 points par côté de l'étoile à partir d'un cliché. Un seuil de distance de 6 pixels a été utilisé pour éliminer l'impact du bruit et réduire la charge de calcul. Comme illustré par la figure 7, l'algorithme réussit à poursuivre la forme tournante de manière efficace malgré la vitesse de rotation élevée. 1001061 La figure 19 permet de comparer la précision de la poursuite de la forme en étoile obtenue avec trois méthodes de poursuite : - algorithme ICP traitant les images d'une caméra classique dont le signal de sortie se compose de trames (courbe 85 sur la figure 19). Pour que la comparaison soit juste, seuls les emplacements de pixels restant après différenciation des trames sont considérés par l'algorithme ICP ; - méthode de poursuite de forme utilisant le capteur asynchrone basé sur événement 10 avec estimation en forme analytiquereposant sur une approche SVD, de la manière indiquée en référence à la figure 8 (courbe 86), en considérant des événements collectés sur une période de temps de 50 µs ; - méthode de poursuite de forme utilisant le capteur asynchrone basé sur événement 10 avec estimation du modèle mis à jour en fonction de l'association courante entre un pixel p de la matrice d'où provient un événement ev(p, t) et un point m du -30- modèle, indépendamment des associations effectuées avant la détection de cet événement, de la manière indiquée en référence à la figure 11 (courbe 87). 1001071 Pour évaluer la précision de la poursuite de formes, la distance moyenne entre l'ensemble modèle et les emplacements des événements actifs est calculée toutes les 200 ûs. Les erreurs moyennes sont respectivement de 2,43, 1,83 et 0,86 pixels pour les courbes 85, 86 et 87, avec des écarts-type respectifs de 0,11, 0,19 et 0,20 pixels. De la prise en compte du signal asynchrone du capteur permet une amélioration notable de la méthode de poursuite de formes, spécialement dans le cas de la figure 11. 1001081 La précision temporelle supérieure conduit à une poursuite plus précise. La courbe d'erreur présente des oscillations (encadré de la figure 19) dues à la rotation répétitive du stimulus. L'erreur de poursuite démontre les bonnes propriétés de reproductibilité et fiabilité de l'algorithme. L'erreur résiduelle est due à la géométrie de la matrice carrée des pixels combinée à la résolution spatiale limitée du capteur, qui ne fournit pas une réponse isotrope par rapport à la position angulaire de la forme. 1001091 Le nombre de points retenus pour le modèle G a une influence sur le coût et la précision des calculs. 100110] Dans le cas d'une réalisation selon la figure 11, on peut définir une cadence d'images équivalente comme l'inverse du temps de calcul nécessaire pour traiter un événement. 1001111 Dans l'exemple, le programme de poursuite était exécuté sur un ordinateur équipé d'une unité de traitement centrale (CPU) de type « Intel Core i5 » cadencée à 2,8 GHz et occupait 25 % de la capacité de ce CPU. Dans cette configuration, il est apparu qu'une taille de 90 points dans le modèle peut fournir une fréquence de détection correspondant à une cadence d'images équivalente de 200 kHz. Jusqu'à environ 2000 points dans le modèle, celui-ci peut être mis à jour avec une cadence d'images équivalente d'au moins 11 kHz. L'expérience a montré que pour un modèle de 60 à 70 points, l'algorithme est capable de poursuivre en temps réel une forme se déplaçant à une vitesse allant jusqu'à 1250 tr/m. -31- 1001121 De façon générale, il y a intérêt à inclure les coins du contour de l'objet dans le modèle. Le long d'un bord rectiligne de la forme de l'objet, on peut cependant réduire le nombre de points sans influencer négativement la précision finale de la poursuite. 1001131 Quand le nombre de points augmente, l'erreur de poursuite ne tend pas vers zéro, mais vers une valeur d'environ 0,84 pixels, liée à la limite de résolution spatiale du capteur asynchrone. De façon logique, plus le modèle contient de points, meilleure est la précision de la poursuite, mais avec un coût de calcul plus élevé. Une taille de 60 à 100 points pour le modèle est un bon compromis pour obtenir une précision raisonnable (autour de 0,90 pixels) en préservant une fréquence de poursuite élevée (autour de 200 kHz). Exemple 2 1001141 L'expérience a été réalisée dans le cas de plusieurs formes (une forme en H, une forme de voiture et une forme en étoile) en prenant en compte une transformation spatiale affine calculée à l'aide des expressions (6), (7), (11) et (12) dans une réalisation selon la figure 11. Au cours de cette expérience, les formes des objets se sont déformées et redimensionnées de la manière montrée sur la figure 20 (a-d pour la forme en H, e-h pour la forme de voiture, i-1 pour la forme en étoile). [00115] La figure 21 montre les facteurs d'échelle s,, sy par rapport à la taille d'origine de la forme, au cours de la poursuite de la forme de voiture (courbes 90 et 91, respectivement). Les rapports d'échelle sont différents le long des deux axes parce que les changements de perspective ont eu lieu plus souvent le long de l'axe vertical que le long de l'axe horizontal au cours de l'expérience. L'erreur de poursuite (tracé 92) a montré une valeur moyenne de 0,64 pixels et un écart-type de 0,48 pixels. 1001161 Le procédé décrit ci-dessus en référence à la figure 11 fournit donc de bonnes performances lors de la recherche d'une transformation affine. Exemple 3 1001171 Dans cette expérience, des données de trafic automobile ont été acquises avec le capteur asynchrone. Comme le montre la figure 22 à quatre instants successifs, -32- plusieurs véhicules se déplaçaient simultanément sur plusieurs files. La colonne (a) de la figure 22 montre les événements générés par le capteur asynchrone et accumulées pendant quelques microsecondes, tandis que la colonne (b) montre des images à niveaux de gris correspondantes. On voit que la scène choisie présentait des instants critiques avec de fortes occlusions dues à des objets statiques (arbres, lampadaires, ...) et à des objets mobiles (véhicules) qui constituaient un défi significatif pour la poursuite robuste. [00118] Deux formes 95, 96 correspondant respectivement à une voiture et à une camionnette ont été poursuivies au moyen du procédé illustré par la figure 11, en recherchant des transformations affines Ft. Les pas de convergence ru, 112 et 113 des 1() expressions (6), (7), (11) et (12) ont respectivement été fixés 0,1, à 0,002 et à 10-5. Le modèle G1 pour la voiture comportait 67 points, tandis que le modèle G2 pour la camionnette comportait 102 points. Ces modèles ont été générés en pointant manuellement des pixels d'une image acquise. 1001191 La figure 23 montre les erreurs de poursuite constatées avec un procédé 15 conforme à la figure 11 et un capteur asynchrone basé sur événement, tandis que la figure 24 montre les mêmes erreurs constatées avec un procédé classique utilisant les images issues d'une caméra à base de trames. Pour que la comparaison soit pertinente, la technique ICP classique à base de trames a été appliquée à des images à niveaux de gris reconstruites à une fréquence de 100 trames par seconde. Chaque image était prétraitée de 20 façon à obtenir des bords mobiles en calculant une différence entre les trames successives et en appliquant une opération de seuillage. La précision temporelle de la méthode basée sur événement était de l'ordre de 1 ps. 1001201 L'erreur de poursuite moyenne était de 0,86 pixels avec un écart-type de 0,19 pixels pour la méthode basée sur événement selon la figure 11 (figure 23), tandis que la 25 méthode classique à base de trames donnait lieu à une erreur de poursuite moyenne de 5,70 pixels avec un écart-type de 2,11 pixels (figure 24). Les vignettes (a1)-(a5) sur la figure 23 et (b1)-(b5) sur la figure 24 montrent des situations ou l'objet « camionnette » rencontre des occlusions, donnant lieu à des maxima de l'erreur de poursuite. [00121] Il est remarquable que la précision temporelle supérieure procurée par le 30 procédé selon l'invention s'accompagne d'une meilleure stabilité de poursuite que la méthode classique à base de trames. Dans la méthode classique, la solution (coûteuse) - 33 - consistant à augmenter la fréquence d'acquisition ne suffit pas toujours à traiter correctement les situations d'occlusion. À l'inverse, le contenu dynamique du signal basé sur événement produit par le capteur asynchrone procure des données d'entrée plus stables pour l'algorithme. Les obstacles statiques n'engendrent pas d'événements et n'ont donc quasiment pas d'impact sur le processus de poursuite. Exemple 4 1001221 Plusieurs stratégies de levée d'ambiguïté ont été testées pour la poursuite d'objets multiples susceptibles de présenter des occlusions. 1001231 Les formes d'un objet « voiture » et d'un objet « camionnette » se déplaçant dans le même sens mais avec des vitesses différentes ont été poursuivies simultanément dans une scène réelle comportant du trafic automobile. Pendant un temps, les formes de la camionnette et de la voiture se superposent dans le champ de vision du capteur 10, jusqu'à ce que la camionnette dépasse la voiture. Les objets autres que la camionnette et la voiture sont traités comme du bruit de fond. [00124] La figure 25 montre : - les distances observées entre un événement provenant de l'objet « camionnette » et le centre de gravité de l'objet « camionnette » (courbe 100) ; - les distances observées entre un événement provenant de l'objet « voiture » et le centre de gravité de l'objet « voiture » (courbe 101) ; - les distances observées entre un événement provenant de l'objet « camionnette » et le centre de gravité de l'objet « voiture » (courbe 102) ; et - les distances observées entre un événement provenant de l'objet « camionnette » et le centre de gravité de l'objet « voiture » (courbe 103). [00125] Des ambiguïtés se produisent lorsque ces courbes passent par des valeurs similaires, signifiant que les formes des deux véhicules se chevauchent dans le champ de vision (entre environ 2,2 et 2,9 s). Dans ce cas, l'utilisation d'informations spatiales peut être insuffisante, à moins que la taille de la région commune soit très petite. [00126] La figure 26 montre les cadences d'événements moyennes rk de l'objet « camionnette » (courbe 105) et de l'objet « voiture » (courbe 106). Dans cette expérience, -34- on voit que les deux courbes sont disjointes, de sorte que les formes des deux véhicules restent séparables pendant toute la séquence en faisant référence à des cadences d'événements de l'ordre de 3000 événements par seconde pour la voiture et de l'ordre de 5000 événements par seconde pour la camionnette. Cependant, cette propriété de séparabilité n'est pas nécessairement garantie pour une séquence quelconque. [00127] Dans le cas général, il est typiquement préférable de combiner la contrainte temporelle avec des contraintes additionnelles, comme par exemple des contraintes spatiales. [00128] Les figures 27-32 montrent les vitesses des modèles de l'objet « camionnette » (courbe 110) et de l'objet « voiture » (courbe 111) estimées lors de la mise en oeuvre d'une méthode selon la figure 11, en les comparant aux vitesses réelles (courbes en pointillés 112 et 113, respectivement) déterminées manuellement en identifiant les points correspondants sur des images successives. Les vitesses moyennes étaient respectivement de 42,0 pixels/0 pour la camionnette est de 24,3 pixels/s pour la voiture. Les six figures correspondent à six stratégies différentes pour la levée d'ambiguïté : « Attribuer au plus proche » (figure 27) ; « Rejeter tous » (figure 28) ; «Mettre à jour tous » (figure 29) ; « Mise à jour pondérée » (figure 30) ; « Contrainte temporelle basée sur la cadence rk » (figure 31) ; et « Combinaison de contraintes spatiale et temporelle utilisant le plan de déplacement Ilk » (figure 32). Les vignettes incluses dans les figures 27-32 présentent les instants les plus intéressants pour étudier les différences entre les méthodes. Le début de chaque courbe est le même tant qu'aucune occlusion ne s'est produite. Les pourcentages indiqués dans les parties droites des graphiques correspondent à l'écart relatif moyen entre les courbes 110 et 112 d'une part et entre les courbes 111 et 113 d'autre part. [00129] On voit sur la figure 27 que la stratégie « Attribuer au plus proche » fournit des résultats assez médiocres puisque le modèle de la camionnette et perdu suite à son occlusion par le modèle de la voiture. La stratégie « Rejeter tous » (figure 28) n'est pas plus satisfaisante puisque, cette fois, c'est le modèle de la voiture qui est perdu après l'occlusion. [00130] La stratégie « Mettre à jour tous » (figure 29) paraît préférable puisque les formes des 2 véhicules restent poursuivies, sans perte. À la fin de la séquence, les événements générés par la camionnette attirent le modèle de la voiture, de sorte que la -35- trajectoire résultant pour la voiture dévie légèrement vers celle de la camionnette et que la vitesse estimée de la camionnette diminue lorsque celle de la voiture augmente (voir (c3) sur la figure 29). [00131] La stratégie « Mise à jour pondérée » répartit la dynamique introduite par les événements ambigus entre les différents objets avec des pondérations dépendant des distances. La figure 30 montre que la camionnette et la voiture sont poursuivies sans perte et que les courbes de vitesse correspondent mieux aux vitesses réelles. Il demeure des différences à la fin de la séquence, pour la même raison que dans la stratégie « Mettre à jour tous », mais avec une moindre amplitude de ces erreurs. Cette stratégie « Mise à jour pondérée » préférée parmi celles reposant sur des contraintes spatiales lorsque des objets multiples se croisent ou se heurtent. [00132] La stratégie « Contrainte temporelle basée sur la cadence rk » (figure 31) donne de bons résultats dans le cadre de cette expérience. Toutefois, sa fiabilité n'est pas assurée lorsque les objets-cibles ont des cadences d'événements similaires. [00133] La stratégie « Combinaison de contraintes spatiale et temporelle utilisant le plan de déplacement Ilk » a été utilisée avec une période At de 3 s pour l'estimation des plans de déplacement Hi de l'objet « camionnette » et H2 de l'objet « voiture » (figure 33). Comme le montre la figure 32, cette stratégie est celle qui donne lieu à l'erreur la plus faible dans la poursuite des deux véhicules. Ceci s'explique par le fait que les plans spatio- temporels locaux H1, H2 contraignent fortement le voisinage en éliminant des mauvaises attributions et en procurant une meilleure robustesse au bruit. Il est intéressant de remarquer que les erreurs sont réparties de façon plus uniforme entre la camionnette et la voiture grâce au processus d'attribution plus fiable. Exemple 5 [00134] Deux séquences de signal asynchrone générées par un capteur mobile ont été testées en appliquant la méthode d'élimination des événements engendrés par le fond qui a été décrite en référence à la figure 16. -36- 1001351 Dans la première séquence, une forme en étoile était déplacée dans un environnement intérieur tandis que le capteur asynchrone était tenu à la main et remué simultanément. La figure 34 montre plusieurs clichés de la scène (a1)-(a5). 1001361 Pour évaluer les résultats, la vitesse de l'étoile calculée par le procédé selon la figure 11 (combinant le mouvement de l'étoile et celui du capteur) est montrée par la courbe 116 sur la figure 34, et comparée à la vitesse réelle pointée manuellement et indiquée par la courbe en pointillés 117. L'erreur moyenne entre les données estimées et les données réelles est estimée à 6 %. Bien que la scène comporte de nombreuses arêtes dans le fond, le processus de poursuite reste robuste. 1001371 La seconde séquence provient d'une scène extérieure avec de nouveau du trafic automobile. Une forme de voiture est poursuivie à l'aide d'un capteur de vision asynchrone 10 déplacé manuellement. 1001381 La figure 35 montre les résultats des estimations de la vitesse de la voiture (courbe 118) et les compare aux vitesses réelles déterminées manuellement (courbe 119). Malgré des situations difficiles à traiter (par exemple lorsque des trottoirs ou des passages piétons sont proches de la voiture ou en superposition), les bonnes propriétés spatio-temporelles de l'algorithme fournissent des résultats acceptables. L'erreur d'estimation moyenne sur la vitesse est de 15 %. La qualité de la poursuite se dégrade à partir d'environ 3,5 secondes (b5 sur la figure 35), lorsque la voiture commence à subir des changements de perspective importants. [001391 Globalement, la poursuite basée sur événement telle qu'exposée ci-dessus est robuste même lorsque le capteur et les objets poursuivis sont en mouvement. 1001401 Les modes de réalisation décrits ci-dessus sont des illustrations de la présente invention. Diverses modifications peuvent leur être apportées sans sortir du cadre de l'invention qui ressort des revendications annexées. REVENDICATIONS1. Procédé de suivi de forme dans une scène, comprenant : - recevoir de l'information asynchrone d'un capteur de lumière (10) ayant une matrice de pixels disposée en regard de la scène, l'information asynchrone comprenant, pour chaque pixel de la matrice, des événements successifs provenant dudit pixel ; et - mettre à jour un modèle (G) représentant la forme poursuivie d'un objet après détection d'événements attribués audit objet dans l'information asynchrone, la mise à jour comprenant, suite à la détection d'un événement (ev(p, t)) : - associer un point (m) du modèle à l'événement détecté par minimisation d'un critère de distance par rapport au pixel (p) de la matrice d'où provient l'événement détecté ; et - déterminer le modèle mis à jour en fonction du pixel (p) de la matrice d'où provient l'événement détecté et du point (m) associé et indépendamment des associations effectuées avant la détection dudit événement (ev(p, t)). 2. Procédé selon la revendication 1, dans lequel lorsqu'aucun point du modèle (G) n'est situé à une distance inférieure à un seuil (dmax, dth) par rapport au pixel (p) d'où provient un événement détecté (ev(p, t)), le modèle n'est pas mis à jour suite à la détection dudit événement qui n'est pas attribué à l'objet. 3. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre: estimer un plan de déplacement de l'objet, le plan de déplacement (1Ik) étant estimé dans un espace à trois dimensions, à savoir deux dimensions spatiales correspondant à deux directions de la matrice de pixels et une dimension temporelle, par minimisation d'un critère de distance par rapport à un ensemble de points marquant des événements détectés qui ont été attribués à l'objet au cours d'une fenêtre temporelle se terminant à un instant courant ; et suite à la détection d'un événement (ev(p, t)), tenir compte du plan de déplacement estimé de l'objet pour décider d'attribuer ou non ledit événement à l'objet.-38- 4. Procédé selon la revendication 3, dans lequel plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif (Gk) mis à jour après détection d'événements qui lui sont attribués et un plan de déplacement estimé (1Ik), le procédé comprenant en outre, suite à la détection d'un événement (ev(p, t)) attribuable à au moins deux des objets : - calculer des distances respectives, dans l'espace à trois dimensions, entre un point marquant ledit événement détecté et les plans de déplacement respectivement estimés pour lesdits objets ; et - attribuer ledit événement détecté à l'objet pour lequel la distance calculée est minimale. 5. Procédé selon la revendication 3 ou la revendication 4, comprenant en outre: - estimer une distribution statistique de distances entre le plan de déplacement (1Ik) de l'objet et des points marquant des événements détectés qui ont été attribués à l'objet; et - suite à la détection d'un événement (ev(p, t)), tenir compte du plan de déplacement estimé de l'objet et de la distribution statistique estimée pour décider d'attribuer ou non ledit événement à l'objet. 6. Procédé selon la revendication 5, comprenant en outre: - déterminer un intervalle (Ik) de valeurs admissibles de distance d'après la distribution statistique estimée; et - ne pas attribuer un événement détecté à l'objet si le point marquant ledit événement détecté dans l'espace à trois dimensions présente, par rapport au plan de déplacement estimé, une distance tombant en dehors de l'intervalle de valeurs admissibles de distance. 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif (Gk) mis à jour après détection d'événements qui lui sont attribués, le procédé comprenant en outre, suite à la détection d'un événement (ev(p, t)):-39- - si un seul des objets remplit la condition d'avoir dans son modèle un point ayant une distance inférieure à un seuil (dth) par rapport au pixel (p) de la matrice d'où provient l'événement détecté, attribuer l'événement détecté audit objet. 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif (Gk) mis à jour après détection d'événements qui lui sont attribués, le procédé comprenant en outre, suite à la détection d'un événement (ev(p, t)) attribuable à au moins deux des objets: - pour chaque objet auquel l'événement détecté est attribuable, associer à l'événement détecté un point (m) du modèle (Gt) dudit objet par minimisation d'un critère de distance respectif par rapport au pixel (p) de la matrice d'où provient l'événement détecté; et - attribuer l'événement détecté à l'objet pour lequel le critère de distance minimisé est le plus faible. 9. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif (Gk) mis à jour après détection d'événements qui lui sont attribués, et dans lequel, suite à la détection d'un événement (ev(p, t)) attribuable à au moins deux des objets, l'événement détecté n'est affecté à aucun des objets. 10. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif (Gk) mis à jour après détection d'événements qui lui sont attribués, et dans lequel, suite à la détection d'un événement (ev(p, t)) attribuable à au moins deux des objets, l'événement détecté est affecté à chacun des objets auxquels l'événement détecté est attribuable. 11. Procédé selon la revendication 10, dans lequel la mise à jour des modèles (Gk) des objets auxquels l'événement détecté est attribué est effectuée avec des pondérations dépendant des critères de distance respectivement minimisés pour lesdits objets.- 40 - 12. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel plusieurs objets ont des formes respectives poursuivies dans la scène, chacun des objets ayant un modèle respectif (Gk) mis à jour après détection d'événements qui lui sont attribués, le procédé comprenant en outre: - pour chaque objet, estimer une cadence d'événements attribués audit objet et mémoriser l'instant auquel a été détecté le dernier événement attribué audit objet; et - suite à la détection d'un événement (ev(p, t)) attribuable à au moins deux des objets, attribuer l'événement détecté à celui des objets pour lequel le produit de la cadence d'événements estimée par l'intervalle de temps entre l'instant mémorisé et l'instant de détection dudit événement est le plus proche de 1. 13. Procédé selon l'une quelconque des revendications précédentes, dans lequel la détermination du modèle mis à jour comporte une estimation (45) d'une transformation spatiale (Fi) définie par un ensemble de paramètres, et une application (46) de la transformation spatiale estimée au modèle (Gk), et dans lequel l'estimation de la transformation spatiale comporte un calcul desdits paramètres en fonction du gradient d'une distance, dans le plan de la matrice de pixels, entre le pixel (p) de la matrice d'où provient l'événement détecté et un point obtenu en appliquant la transformation spatiale au point (m) du modèle associé à l'événement détecté. 14. Procédé selon la revendication 13, dans lequel la transformation spatiale (Fi) inclut une translation et une rotation dans le plan de la matrice de pixels, la translation ayant un vecteur AT pris égal à - rii.VTf(Aeo, ATo) et la rotation ayant un angle Ae pris égal à - rp.Vof(Aeo, 4T0), où ru et ru sont des pas de convergence positifs prédéfinis et Mo et ATo sont des valeurs particulières de l'angle de rotation et du vecteur de translation. 15. Procédé selon la revendication 14, dans lequel lesdites valeurs particulières de A l'angle de rotation et du vecteur de translation sont respectivement Aeo = mcp et 4T0 = cp - RAe0[cm], où p désigne le pixel de la matrice d'où provient l'événement détecté, m désigne le point du modèle associé à l'événement détecté, c désigne le centre de la- 41 - rotation, cp désigne un vecteur allant de c à p, cm désigne un vecteur allant de c à m, et RA00[1 est la rotation de centre c et d'angle 40o. 16. Procédé selon la revendication 14 ou la revendication 15, dans lequel la transformation spatiale (Fi) est une transformation affine incluant en outre une application de facteurs d'échelle respectifs suivant deux axes compris dans la matrice de pixels. 17. Procédé selon la revendication 16, dans lequel les facteurs d'échelle s,, sy suivant les deux axes x, y sont respectivement calculés selon sx = 1 +1-13.( - Imx1) et sy = 1 + n3.(lpyl - ), où 13 est un pas de convergence positif prédéfini, Px et py sont des coordonnées respectives, suivant les axes x et y, du pixel (p) de la matrice d'où provient l'événement détecté, et mx et my sont des coordonnées respectives, suivant les axes x et y, du point (m) du modèle associé à l'événement détecté. 18. Dispositif de suivi de forme dans une scène, comprenant un calculateur (20) configuré pour exécuter un procédé selon l'une quelconque des revendications précédentes à partir d'information asynchrone reçue d'un capteur de lumière (10).