Brevet FR3005188A1 — publié le 20141031

SUIVI VISUEL D'OBJET DESCRIPTION DOMAINE TECHNIQUE La présente invention concerne le suivi visuel d'objet, et plus particulièrement le suivi d'objet en temps réel à haute vitesse. Le suivi d'objet trouve des applications dans de nombreux domaines, tels que la vidéosurveillance, la surveillance de trafic, l'analyse de mouvement, la réalité augmentée, la robotique et les interfaces homme-machine. Le suivi d'objet en temps réel à haute vitesse, typiquement à une fréquence supérieure à 1kHz, s'applique plus particulièrement à la micro-robotique, à l'étude du comportement de micro-organismes, ou encore au domaine de l'haptique. ÉTAT DE LA TECHNIQUE ANTÉRIEURE L'acquisition de données à partir d'une caméra conventionnelle peut être très rapide, de l'ordre de plusieurs dizaines de kilohertz, mais la répétition d'informations similaires dans des images successives limite la vitesse de traitement de ces informations. Il faut donc limiter la quantité d'informations traitées. Cela se traduit en pratique par des limitations telles que le sous-échantillonnage de l'image ou la réduction du champ de l'image. En outre, le traitement doit être très simple et souvent implémenté de manière matérielle plutôt que logicielle. EXPOSÉ DE L'INVENTION L'invention vise à résoudre les problèmes de la technique antérieure en fournissant un procédé de suivi visuel d'au moins un objet représenté par un nuage de points auxquels sont associées des informations, caractérisé en ce qu'il comporte les étapes de : - réception de données représentant un jeu d'évènements spatio- temporels, - détermination de la probabilité qu'un évènement du jeu appartienne au nuage de points représentant l'au moins un objet, pour chaque évènement du jeu reçu, - détermination du fait qu'un évènement appartient ou non au nuage de points en fonction de la probabilité déterminée pour l'évènement considéré, - mise à jour des informations associées au nuage de point de l'au moins un objet, lorsqu'il a été déterminé à l'étape précédente qu'au moins un évènement appartient au nuage de points, - calcul de la position, de la taille et de l'orientation de l'au moins un objet en fonction des informations mises à jour. Grâce à l'invention, un suivi visuel d'objet à grande vitesse et sans réduction du champ, c'est-à-dire sur l'intégralité du champ, est possible. Le suivi d'objet est robuste. L'invention permet de détecter et suivre un objet dans une scène non structurée. L'invention permet de suivre simultanément plusieurs objets en mouvement dans une même scène. L'invention s'applique en deux dimensions ou en trois dimensions. Selon une caractéristique préférée, le jeu d'évènements spatio- temporels est fourni par un capteur asynchrone. Ce type de capteur fournit des données sous la forme d'évènements, en supprimant la redondance d'information, en réduisant le temps de latence et avec une dynamique temporelle élevée, par rapport aux capteurs conventionnels. Selon une caractéristique préférée, la détermination du fait qu'un évènement appartient ou non au nuage de points comporte la comparaison de la probabilité déterminée pour l'évènement considéré avec un seuil prédéterminé. Les calculs à effectuer sont simples et fournissent un résultat rapidement. Selon une caractéristique préférée, la taille et l'orientation de l'au moins un objet sont calculées en modélisant l'objet par une ellipse et en calculant ses demis axes et son orientation. Là aussi, les calculs sont simples, rapides et fournissent un résultat précis. Selon une caractéristique préférée, le procédé comporte en outre la détermination de la vitesse de l'au moins un objet. Selon une caractéristique préférée, les étapes de réception, détermination, mise à jour et calcul sont effectuées de manière itérative. Selon une caractéristique préférée, le procédé comporte en outre l'étape d'affichage de données représentatives de la position, de la taille et de l'orientation de l'au moins un objet calculées en fonction des informations mises à jour. L'invention concerne aussi un dispositif de suivi visuel d'au moins un objet représenté par un nuage de points auxquels sont associées des informations, caractérisé en ce qu'il comporte : - des moyens de réception de données représentant un jeu d'évènements spatio-temporels, - des moyens de détermination de la probabilité qu'un évènement du jeu appartienne au nuage de points représentant l'au moins un objet, pour chaque évènement du jeu reçu par les moyens de réception, - des moyens de détermination du fait qu'un évènement appartient ou non au nuage de points en fonction de la probabilité déterminée pour l'évènement considéré, - des moyens de mise à jour des informations associées au nuage de point de l'au moins un objet, lorsqu'il a été déterminé qu'au moins un évènement appartient au nuage de points, - des moyens de calcul de la position, de la taille et de l'orientation de l'au moins un objet en fonction des informations mises à jour. Le dispositif présente des avantages analogues à ceux précédemment présentés. Dans un mode particulier de réalisation, les étapes du procédé selon l'invention sont mises en oeuvre par des instructions de programme d'ordinateur. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé tel que décrit ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions de programme d'ordinateur adaptées à la mise en oeuvre des étapes d'un procédé tel que décrit ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé selon l'invention. BRÈVE DESCRIPTION DES DESSINS D'autres caractéristiques et avantages apparaîtront à la lecture de la description suivante d'un mode de réalisation préféré donné à titre d'exemple non limitatif, décrit en référence aux figures dans lesquelles : La figure 1 représente un procédé de suivi visuel d'au moins un objet selon la présente invention, La figure 2 représente un signal fourni par un capteur asynchrone utilisé dans la présente invention, La figure 3 représente la modélisation d'un objet selon la présente invention, et La figure 4 représente un dispositif de suivi visuel d'au moins un objet selon la présente invention. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS Selon un mode de réalisation préféré représenté à la figure 1, le procédé de suivi visuel d'au moins un objet comporte des étapes El à E6. L'étape El est la réception de données représentant un jeu d'évènements spatio-temporels. Ces données sont fournies par un capteur asynchrone. Ce type de capteur permet d'acquérir des informations relatives à au moins une grandeur physique, telle que lumière, champ électrique, champ magnétique par exemple. Le capteur asynchrone fournit des données sous la forme d'évènements, en supprimant la redondance d'information, en réduisant le temps de latence et avec une dynamique temporelle élevée, par rapport aux capteurs conventionnels. Un capteur asynchrone fournit un signal qui n'est pas échantillonné dans le temps selon une fréquence d'horloge prédéfinie, comme l'horloge des trames dans un signal vidéo classique. Un capteur asynchrone fournit une représentation adresse-évènement (AER, d'après l'anglais Address-Event Representation) d'une scène à visualiser. A chaque pixel correspond une séquence de signal basé sur évènement dépendant des variations d'intensité lumineuse correspondant à ce pixel. Par exemple, la séquence de signal asynchrone basé sur évènement pour un pixel comporte une séquence d'impulsions positives ou négatives positionnées dans le temps en fonction des variations d'au moins une grandeur physique comme la lumière concernant le pixel. Comme illustré à la figure 2, pour chaque pixel considéré indépendamment, le capteur détecte un changement d'intensité logarithmique supérieur à un seuil par rapport à l'intensité liée à l'évènement précédent. Lorsqu'un tel changement est détecté, un évènement +1 ou -1 est généré, selon que l'intensité logarithmique augmente ou diminue. Puisque le capteur est asynchrone, les évènements peuvent être fournis à une résolution temporelle très fine, par exemple 1 us. Un temps est associé à chaque évènement. Ainsi, un évènement est mathématiquement représenté par e(x,t), où x est un vecteur de coordonnées représentant la localisation de l'évènement dans un repère spatial et t représente l'instant de l'évènement. La valeur e(x,t) vaut +1 ou -1, comme exposée plus haut. On suppose que l'on dispose de données représentant au moins un objet. Ces données sont sous la forme d'un nuage de points, où chaque point est un évènement tel que précédemment défini. Il est à noter que les données représentant au moins un objet sont initialisées grâce à un maillage du plan focal par un ensemble de trackeurs gaussiens. Comme il sera détaillé dans la suite, le nuage de points d'un objet d'indice i peut être modélisé par une distribution gaussienne bidimensionnelle dont la moyenne li(t) indique la position de l'objet dans un repère et la matrice de covariance Z,(t) est relative à sa taille et à sa position. L'étape suivante E2 est la détermination de la probabilité qu'un évènement du jeu reçu à l'étape El appartienne à un nuage de points représentant un objet, pour chaque évènement du jeu reçu. On considère le ième objet, associé au ième nuage de points, dont la moyenne li(t) = Lad/ -a121T est un vecteur qui représente la position de l'objet à l'instant t dans un repère donné à deux dimensions, l'indice 1 étant affecté à l'axe des abscisses et l'indice 2 étant affecté à l'axe des ordonnées. La position de l'objet est la position du centre d'une ellipse modélisant cet objet. La matrice de covariante Z,(t) du ième nuage de points vaut : (t) = [(31 CY 12 2 (312 " 2 La probabilité qu'un évènement e(x,t) du jeu appartienne au ième nuage de points vaut : (x) (2.7r rlEi e 12(x (tg (t)) Dans cette expression, le vecteur x = x2f est la position à l'instant t de l'évènement considéré dans le même repère bidimensionnel et 1E (t)i est le déterminant de la matrice de covariance. A un instant t donné auquel un ou des évènements e(x,t) sont produits par le capteur asynchrone, la probabilité pi(x) est calculée pour tous les évènements produits à cet instant, et pour tous les objets. Il y a donc autant de probabilités p,(x) calculées à un instant donné t que de couples objet-évènement à cet instant. L'étape suivante E3 est la détermination du fait qu'un évènement appartient ou non au nuage de points en fonction de la probabilité déterminée, pour chaque évènement pour lequel une probabilité p,(x) a été calculée à l'étape précédente. Pour cela, la probabilité p,(x) est comparée à un seuil prédéterminé S qui dépend de l'éclairage. Le seuil S est une probabilité qui vaut par exemple 2,5%. Si la probabilité p,(x) est inférieure au seuil S, alors l'évènement e(x,t) n'appartient pas à l'objet considéré. Si la probabilité p,(x) est supérieure au seuil S, alors l'évènement e(x,t) appartient à l'objet considéré. Si plusieurs probabilités calculées pour l'évènement e(x,t) sont supérieures au seuil S, alors l'évènement e(x,t) appartient à l'objet pour lequel la probabilité est la plus grande. 7 L'étape suivante E4 est la mise à jour des informations associées au nuage de points de l'au moins un objet, lorsqu'il a été déterminé à l'étape précédente qu'au moins un évènement appartient au nuage de points considéré. On considère des gains, ou coefficients de pondération, al, a2 et a3. A l'instant t, pour un objet donné, la position li(t) de l'objet est mise à jour en fonction de la position à l'instant (t-1) de cet objet et de l'évènement e(x,t) qui a été déterminé à l'étape E3 comme appartenant au nuage de points représentant cet objet: = al. ii(t-1) + (1- al).x La matrice de covariante Z,(t) du nuage de points à l'instant considéré t est mise à jour en fonction de la matrice de covariante Z,(t-1) à l'instant (t-1) : Z,(t) = a2.Z,(t-1) + (1 - Dans cette formule, AZ, est la différence de covariance calculée à partir de la position courante li(t) du nuage de points et de la position de l'évènement e(x,t) qui a été déterminé à l'étape E3 comme appartenant au nuage de points. AE = (x1 -14 (t)f (x1 -14 (t)).(x2 -11,2(t))1 [(x1- (t)).(x2 1112(t)) (x2 -11,2(t))2 Selon une variante de réalisation, la vitesse du nuage de point considéré est en outre déterminée et mise à jour. Il s'agit de la vitesse dans le plan image en pixel par seconde. A l'instant t, le vecteur vitesse v(t) = [v l',2(t)IT est déterminé selon la formule : v(t) = a3.v,(t-1) + (1- a3).( u.,(t)- u.,(t-1))/At où At est la différence entre les instants t et (t-1). Ces calculs de détermination de position, matrice de covariance et éventuellement vitesse de nuage de point sont répétés pour tous les évènements qui ont été déterminés comme appartenant au nuage de points à l'étape E3. Ils sont également répétés pour chaque nuage de points pour lequel il a été déterminé qu'un évènement lui appartient à l'étape E3. L'étape suivante E5 est le calcul de la taille et de l'orientation de l'au moins un objet en fonction des informations mises à jour. Ce calcul est effectué pour tous les objets pour lesquels les informations ont été mises à jour à l'étape E4. L'objet est modélisé par une ellipse. Les demis axes a et b et l'orientation a de l'ellipse sont déterminées en fonction de la matrice de covariance Z,(t) calculée à l'étape E4. On détermine tout d'abord deux grandeurs Âmax et Âmin de la manière suivante : max 1 ( r.7 2 ± ± 2)2 +4. 122 I 2 1 2 L ( 2 2 Xllu = 1 - . +a2 -(522)2+4.(52 2 Les demis axes a et b et l'orientation a de l'ellipse sont ensuite calculée selon les formules : a= b .\127nin -1.arctan 2 L'étape suivante E6 est un affichage de l'objet ou des objets dont la position, la taille et l'orientation ont été déterminées, sur un écran d'affichage. Si les traitements des étapes précédentes sont effectués sur les données qui ont été modifiées 20 entre les instants (t-1) et t, l'affichage est de préférence un affichage de tous les objets, même ceux qui n'ont pas été modifiés par les traitements précédents. L'étape E6 est facultative. Il est à noter que le suivi d'objet a été exposé pour un système à deux 25 dimensions. Cependant, il est possible d'effectuer le suivi d'objet selon l'invention en trois dimensions. 15 ( 12 2 2 G 2 - G 1 Pour cela, une calibration permet de lier une modification de la taille de la gaussienne à la taille de l'objet. Connaissant la taille de l'objet suivi, on déduit ensuite sa profondeur, c'est-à-dire s'il s'éloigne ou s'il s'approche du capteur, à partir de la variation des paramètres de la gaussienne. L'ensemble des traitements exposés est réalisé de manière itérative, de sorte que la position, la taille et l'orientation d'un objet sont calculées et actualisées dès que le capteur asynchrone fournit des données représentant un jeu d'évènements spatio-temporels affectant cet objet. La figure 4 représente un mode de réalisation particulier de dispositif de suivi visuel d'au moins un objet, selon l'invention. Le dispositif de suivi visuel d'au moins un objet représenté par un nuage de points auxquels sont associées des informations comporte : - des moyens de réception de données représentant un jeu d'évènements spatio-temporels, - des moyens de détermination de la probabilité qu'un évènement du jeu appartienne au nuage de points représentant l'au moins un objet, pour chaque évènement du jeu reçu par les moyens de réception, - des moyens de détermination du fait qu'un évènement appartient ou non au nuage de points en fonction de la probabilité déterminée pour l'évènement considéré, - des moyens de mise à jour des informations associées au nuage de point de l'au moins un objet, lorsqu'il a été déterminé qu'au moins un évènement appartient au nuage de points, - des moyens de calcul de la position, de la taille et de l'orientation de l'au moins un objet en fonction des informations mises à jour. Le dispositif de suivi visuel d'au moins un objet a la structure générale d'un ordinateur. Il comporte notamment un processeur 100 exécutant un programme d'ordinateur mettant en oeuvre le procédé selon l'invention, une mémoire 101, une interface d'entrée 102 et une interface de sortie 103. Ces différents éléments sont classiquement reliés par un bus 105. L'interface d'entrée 102 est reliée à un capteur asynchrone 90 et est destinée à recevoir les données représentant un jeu d'évènements spatio-temporels. Le processeur 100 exécute les traitements précédemment exposés. Ces traitements sont réalisés sous la forme d'instructions de code du programme d'ordinateur qui sont mémorisées par la mémoire 101 avant d'être exécutées par le processeur 100. La mémoire 101 mémorise également les informations des nuages de points traités selon l'invention. L'interface de sortie 103 est reliée à un écran d'affichage 104 pour afficher l'objet. Il est à noter que tout type de densité de probabilité peut être utilisé à la place de la gaussienne dans le cadre de l'invention. Par exemple, on peut envisager des distributions aléatoires et toute somme de gaussienne et de dérivée de gaussienne non limitée dans l'ordre de la puissance et de la dérivée en tenant compte de toutes les orientations possibles. Les applications potentielles de l'invention sont les pinces optiques, le microassemblage , la microrobotique et la téléopération avec force aux petites échelles. De même, des domaines comme la robotique mobile, aérienne ou humanoïde sont des applications potentielles ainsi que le filtrage particulaire. REVENDICATIONS1. Procédé de suivi visuel d'au moins un objet représenté par un nuage de points auxquels sont associées des informations, caractérisé en ce qu'il comporte les étapes de : - réception (El) de données représentant un jeu d'évènements spatio-temporels, - détermination (E2) de la probabilité qu'un évènement du jeu appartienne au nuage de points représentant l'au moins un objet, pour chaque évènement du jeu reçu, - détermination (E3) du fait qu'un évènement appartient ou non au nuage de points en fonction de la probabilité déterminée pour l'évènement considéré, - mise à jour (E4) des informations associées au nuage de point de l'au moins un objet, lorsqu'il a été déterminé à l'étape précédente qu'au moins un évènement appartient au nuage de points, - calcul (E4, E5)de la position, de la taille et de l'orientation de l'au moins un objet en fonction des informations mises à jour. 2. Procédé de suivi visuel d'au moins un objet selon la revendication 1, caractérisé en ce que le jeu d'évènements spatio-temporels est fourni par un capteur asynchrone (90). 3. Procédé de suivi visuel d'au moins un objet selon la revendication 1 ou 2, caractérisé en ce que la détermination (E3) du fait qu'un évènement appartient ou non au nuage de points comporte la comparaison de la probabilité déterminée pour l'évènement considéré avec un seuil prédéterminé. 4. Procédé de suivi visuel d'au moins un objet selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la taille et l'orientation de l'au moins un objet sont calculées (E5) en modélisant l'objet par une ellipse et en calculant ses demis axes et son orientation. 5. Procédé de suivi visuel d'au moins un objet selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comporte en outre la détermination de la vitesse de l'au moins un objet. 6. Procédé de suivi visuel d'au moins un objet selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les étapes de réception, détermination, mise à jour et calcul sont effectuées de manière itérative. 7. Procédé de suivi visuel d'au moins un objet selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comporte en outre l'étape d'affichage (E6) de données représentatives de la position, de la taille et de l'orientation de l'au moins un objet calculées en fonction des informations mises à jour. 8. Dispositif de suivi visuel d'au moins un objet représenté par un nuage de points auxquels sont associées des informations, caractérisé en ce qu'il comporte : - des moyens de réception de données représentant un jeu d'évènements spatio-temporels, - des moyens de détermination de la probabilité qu'un évènement du jeu appartienne au nuage de points représentant l'au moins un objet, pour chaque évènement du jeu reçu par les moyens de réception, - des moyens de détermination du fait qu'un évènement appartient ou non au nuage de points en fonction de la probabilité déterminée pour l'évènement considéré,- des moyens de mise à jour des informations associées au nuage de point de l'au moins un objet, lorsqu'il a été déterminé qu'au moins un évènement appartient au nuage de points, - des moyens de calcul de la position, de la taille et de l'orientation de l'au moins un objet en fonction des informations mises à jour. 9. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté par un ordinateur. 10. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 7. 15