FR2858447A1 - Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications - Google Patents
Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications Download PDFInfo
- Publication number
- FR2858447A1 FR2858447A1 FR0350381A FR0350381A FR2858447A1 FR 2858447 A1 FR2858447 A1 FR 2858447A1 FR 0350381 A FR0350381 A FR 0350381A FR 0350381 A FR0350381 A FR 0350381A FR 2858447 A1 FR2858447 A1 FR 2858447A1
- Authority
- FR
- France
- Prior art keywords
- signal
- stn
- module
- angle
- pair
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/59—Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
L'invention concerne un dispositif et un procédé automatisés de perception d'un objet dans un espace spatio-temporel multidimensionnel représenté par un signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, dans lequel on caractérise le signal par des signaux temporels et on produit en concordance un signal spatial, on met en oeuvre sous contrôle d'un programme applicatif, au moins un couple (11A,11B) (12A,12B) (15,16) (25,26) (35,36) de neurones spatio-temporels. Selon l'invention on détermine et caractérise des bords d'objets avec, d'une part, un signal temporel de bord orienté, valeur d'angle α d'orientation du bord en un point avec un axe de coordonnées, et, d'autre part, une valeur binaire de validation ou non Val-α associée à α. Des applications complètent l'invention. On peut également caractériser les bords avec un signal de variation d'orientation de bords associé à un signal de validation correspondant. Des applications à la détection et caractérisation de limites de voie de circulation pour un véhicule et à la sécurité routière sont également présentées.
Description
La présente invention concerne un procédé ainsi qu'un
dispositif automatisé de perception pour la détermination et caractérisation de bords et de frontières d'objets d'un espace qui est analysé, I'espace avec ses objets étant matérialisé par des 5 signaux électriques évoluant dans le temps sous forme de séquences organisées en sous séquences de données. L'invention permet également, à des fins de synthèse, la construction de contours à partir des bords déterminés et caractérisés par l'analyse. L'invention peut être mise en oeuvre dans diverses 10 applications. L'invention permet ainsi l'analyse automatisée d'un espace qui est matérialisé en signaux électriques avec séquences et sous séquences par un transducteur ainsi qu'une synthèse d'objets à partir de l'analyse. Le transducteur est adapté à l'espace, par exemple pour un espace visuel, le transducteur est 15 une caméra vidéo ou pour un espace sonore, le transducteur est un microphone avec analyseur spectral. L'invention est plus particulièrement adaptée à être utilisée avec des neurones spatiotemporels, dits unités STN ou encore appelés modules STN qui permettent l'analyse de paramètres d'un signal par calcul 0 d'histogrammes.
On connaît déjà des procédés et dispositifs de traitement de flux de données, notamment flux vidéo, permettant, en temps réel, de repérer, localiser et/ou d'extraire de leur contexte des objets ou parties d'objets correspondants à certains critères dans un espace, 2S notamment une image d'une scène. Les critères de sélections peuvent être extrêmement variés, il peut s'agir d'une vitesse, d'une forme, d'une couleur... ou d'une combinaison de ces critères. Dans certains d'entre eux il est proposé l'analyse statistique des critères sélectionnés. Ces dispositifs peuvent être utilisés pour faciliter 30 I'appréhension d'une scène ou d'un phénomène par un observateur ou pour commander un automatisme à partir des informations ainsi extraites.
On connaît ainsi par la demande FR01/02539 publiée sous le numéro FR2.821. 459 (WO02/069265), dont l'inventeur est le même 35 que celui de la présente demande, un procédé et un dispositif de repérage d'un objet par sa forme, sa dimension et/ou son orientation et dans lequel des signaux numériques représentant par des paramètres des objets d'un espace sont analysés par un ensemble d'unités ou modules élémentaires de calcul 5 d'histogramme du même type, encore appelées unités/modules STN (neurones spatio-temporels). Ces unités STN sont fonctionnellement interconnectées entre-elles afin de produire des résultats d'analyse des paramètres. Les unités STN traitent chacune des données d'entrée en rapport avec les paramètres par 10 une fonction (fog) pour produire individuellement, sous la dépendance d'une rétro-annotation, une valeur de sortie S et ces valeurs de sortie, toutes ensembles, forment une rétro- annotation disponible sur un bus. En même temps, chacune de ces unités STN constitue et met à jour un ensemble de registres d'analyse rega 15 fournissant des informations statistiques sur le paramètre correspondant. Le choix du paramètre traité et la rétro annotation utilisée par chaque module STN, le contenu du registre de sortie d'analyse ainsi que la fonction (fog) qu'il remplit, sont déterminés par l'intermédiaire d'un logiciel API (Application Program 20 Interface). Parmi les interconnections fonctionnelles des modules STN, des associations de modules STN permettant d'obtenir des résultats pour des combinaisons de paramètres (Figures 2 à 6 de FR2.821.459), et l'association d'un module STN traitant des données temporelles, notamment le mouvement MVT, et d'un 25 module STN traitant des données spatiales, notamment la position X-Y (Figure 7 de FR2.821.459), ont été présentées. Enfin une association de modules STN dans une application à la reconnaissance de visage (Figure 13 de FR2.821.459) à également été présentée.
30J L'analyse des signaux numériques qui est effectuée selon cette même demande est hiérarchique par décomposition progressive des objets qui sont analysés. On y propose de déterminer d'abord la forme générale d'un objet en mouvement par rapport à un fond relativement stable, puis rechercher à l'intérieur 35 de cette forme générale des éléments caractéristiques par leur teinte, leur couleur, leur position relative... Une telle approche permet l'élaboration rapide d'applications multiples mettant en jeu le repérage d'un objet. Ces applications peuvent être développées, soit à partir d'une formalisation antérieure ayant dégagé les 5 caractéristiques significatives de l'objet, soit, grâce à une fonction d'apprentissage par l'examen d'une scène dans laquelle l'objet en question est présent, le dispositif permettant lui-même d'extraire des paramètres caractéristiques de l'objet.
Toujours dans cette demande FR2.821.459, la structure et le 10 fonctionnement détaillé d'un module STN (ou unité STN ces termes étant équivalents) ont été expliqués, notamment en relation avec les Figures 1, 3, 4 de l'annexe et selon plusieurs modalités dont l'auto-adaptation, I'anticipation et l'apprentissage. De même on y a expliqué la réalisation d'un dispositif associant plusieurs t5 modules STN en relation matricielle avec la Figure 32 de l'annexe où une unité de traitement temporel 5 produit des données en relation avec les paramètres suivis, notamment des signaux L (lumière), T (teinte), S (saturation), VMVT (vitesse du mouvement), DMVT (direction du mouvement) associés chacun à chaque pixel de 20 manière synchrone et où une unité de traitement spatial 6 permet d'effectuer des changement d'axe prédéfinis pour des données spatiales x,y. Il y est en effet indiqué que la position d'un pixel dans l'espace est représentée par rapport à un système d'axes.
Selon la forme, I'orientation,... des objets dans la scène, certains 25 systèmes d'axes fournissent de meilleurs résultats que les autres et il est donc proposé de choisir des axes permettant d'obtenir des histogrammes optimisés, c'est-à-dire présentant un maximum particulièrement marqué. C'est le rôle de l'unité Space transform qui y est décrite.
t30 On connaît également - W098/05002 pour procédé et dispositif fonctionnant en temps réel, pour le repérage et la localisation d'une zone en mouvement relatif dans une scène, ainsi que pour la détermination de la vitesse et la direction du déplacement . Ce dispositif met en 35 oeuvre des unités de traitement spatial et temporel qui, recevant un signal S(PI) de type vidéo, produisent un certain nombre de paramètres pour chaque pixel. Il s'agit par exemple de la vitesse V d'un mouvement, de la direction DL dudit mouvement, d'une constante de temps CO, et d'un paramètre binaire de validation VL 5 en plus du signal vidéo retardé VR et des différents signaux de synchronisation de trame, de ligne et de pixel regroupés sous la dénomination F. Des histogrammes de ces paramètres permettant la constitution, la manipulation et l'exploitation d'informations statistiques sont calculés par des modules de calculs STN qui 10 reçoivent des données par un bus de données et qui sont interconnectés par un bus de rétro annotation véhiculant des résultats après classification.
- WO00/11610 ( image processing apparatus and method ) donnant des moyens avec traitement temporel et spatial 15 permettant de localiser une zone en mouvement et sa vitesse et direction en fonction de paramètres pouvant être la luminance, la teinte, la saturation....
- WO00/11609 ( image processing apparatus and method ) donnant des moyens permettant d'identifier l'orientation d'une 20 ligne dans une image et une application routière (détection de ligne ou de véhicule).
- WO01/63557 présentant une mise en oeuvre modulaire configurable avec unité de contrôle, bus de données, bus de rétro annotation et unité de calcul d'histogramme et qui met en oeuvre une auto-adaptation, une anticipation et un apprentissage.
- W002/075659 ( method and device for adapting the sensitivity for detecting a parameter carried by a signal ) donnant des moyens permettant d'adapter un signal utilisé pour détecter un mouvement et décrivant également la structure et le.0 fonctionnement des modules STN.
Dans une unité STN telle que décrite dans WO01/63557, pour un paramètre donné, on détermine à partir de l'histogramme calculé et stocké dans une mémoire, le maximum RMAX de l'histogramme, la position dudit maximum POSRMAX, un nombre 35 de points NBPTS de l'histogramme. On détermine également des bornes de classification qui permettent de délimiter une zone d'intérêt pour le paramètre et il a été proposé de prendre comme critère pour détermination des bornes, un ratio du maximum de l'histogramme, par exemple RMAX/2, et d'obtenir les bornes par un 5 balayage des données de la mémoire depuis l'origine à la recherche des limites de zones correspondant au critère.
- FR02/10067, FR02/10066, FR02/10065, FR02/10064, ont divulguent d'autres réalisations et, par exemple, en ce qui concerne les modules STN, en plus de l'auto-adaptation, 10 l'anticipation et l'apprentissage, la réalisation de modules STN multilinéaires (un seul module pouvant traiter directement un paramètre complexe au lieu d'associer des modules traitants chacun un paramètre simple), de modules STN multiclasses (plusieurs maximum RMAX et positions POSRMAX étant 15 déterminés et classés automatiquement) ou, en ce qui concerne les applications des modules STN, le recrutement dynamique, la variation de résolution permettant de faire apparaître, au fur et à mesure du retour à une résolution de base élevée, des informations de perception ou, encore, la définition de LABELS par)2 reconnaissance, identification et mémorisation de caractéristiques de perception d'objets (les LABELS peuvent être ensuite comparés à une perception en cours pour la faciliter et/ou reconnaître des objets particuliers et permettre une conceptualisation de la reconnaissance).
Toutes ces réalisations du module STN ont eu pour but d'optimiser les calculs statistiques et de permettre plus de souplesse dans l'association fonctionnelle des modules STN et dans l'utilisation des résultats obtenus. On comprend qu'il soit donc possible d'utiliser des modules STN et des associations de 30 modules plus ou moins évolués en fonction des besoins.
L'invention concerne donc un procédé automatisé de perception d'un objet dans un espace spatio-temporel représenté par un transducteur en un ensemble de données associées à des pixels ou points formant ensemble un espace multidimensionnel 35 évoluant dans le temps et représenté à une succession de moments T, lesdites données étant sous forme d'un signal de transducteur numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les 5 données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, lesdites données étant caractérisables par au moins un paramètre (par exemple pour un transducteur qui est une caméra, les paramètres sont la 10 luminosité, la teinte, la saturation, la vitesse, DP, CO..., pour un transducteur qui est une oreille électronique, les paramètres sont l'amplitude, le pitch , la fréquence...), ledit procédé comportant une première étape dans laquelle, d'une part, on caractérise le signal du transducteur sous forme de signaux temporels 15 représentatifs desdits paramètres au cours du temps pendant ladite période et, d'autre part, on produit en concordance un signal spatial représentatif des coordonnées des données successives du signal du transducteur, ledit procédé comportant une seconde étape d'analyse pendant au moins une séquence du signal du 20 transducteur et dans laquelle on met en oeuvre sous contrôle d'un programme applicatif, au moins un couple de neurones spatiotemporels, dits modules STN (STN1, STN2), recevant chacun des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro 25 annotation, des résultats de classification en sortie et des résultats statistiques dans des registres, le premier module STN (STN2) du couple recevant en entrée de paramètre(s) au moins un signal temporel et le second module STN (STN1) du couple recevant en entrée de paramètre(s) le signal spatial ayant subit une opération 20 de rotation d'angle pour changement d'axes de coordonnées, la sortie du premier module STN étant renvoyée en entrée de rétro annotation sur le second module STN et la sortie du second module STN étant renvoyée en entrée de rétro annotation sur le premier module STN.
Selon l'invention, lors de la première étape, en complément des signaux temporels initiaux, on calcule un nouveau signal temporel de bord orienté qui caractérise la présence ou non de points correspondants à des bords d'objets, ledit calcul consistant 5 à associer à chaque point, d'une part, au moins une valeur d'angle oc d'orientation du bord en ce point avec un axe de coordonnées (dans le cas où le nombre de dimensions de l'espace est supérieur à deux, plusieurs angles peuvent être calculés), soit dans le cas d'un espace à deux dimensions par calcul de cx=arctg(u/v) avec u 10 et v des dérivées directionnelles du premier ordre pour deux directions orthogonales du ou des signaux temporels initiaux servant à calculer le nouveau signal temporel de bord orienté et, d'autre part, une valeur binaire de validation ou non Val-(x associée à oc et prenant une première valeur de validation si le 15 module p=(Ywi2)1/2 est supérieur à un seuil S1, I'indice i étant la dimension de l'espace (w1 correspond aux coordonnées du point selon les i axes du référentiel de l'espace: wi={u,v,
.}), soit dans le cas d'un espace à deux dimensions p= /(u2 +v2), et prenant une seconde valeur de non validation dans le cas contraire, le procédé 20 permettant ainsi une détermination et caractérisation de bords d'objets...DTD: Dans divers modes de mise en oeuvre de l'invention, les moyens suivants pouvant être utilisés seuls ou selon toutes les combinaisons techniquement envisageables, sont employés: - pour le calcul d'un nouveau signal temporel de bord orienté on utilise un sous-ensemble des données du/des signaux temporels initiaux et une résolution spatiale réduite par un filtrage passe-bas desdites données par application d'une fonction de filtrage multidimensionnelle, la résolution étant fonction de la valeur d'un 30 paramètre de résolution W, - la fonction de filtrage multidimensionnelle est une fonction de Gauss multidimensionnelle, - dans le cas d'un espace à deux dimensions, la fonction de filtrage multidimensionnelle est une fonction de Gauss 35 bidimensionnelle, - pour le calcul d'un nouveau signal temporel de bord orienté dans le cas d'un espace à deux dimensions, on utilise un sous-ensemble matriciel sxs des données duldes signaux temporel initiaux et une résolution spatiale réduite par un filtrage passe bas desdites 5 données par application d'une fonction de Gauss bidimensionnelle sur les données, la résolution étant fonction de la valeur d'un paramètre de résolution W, - dans le cas d'un espace à deux dimensions, u et v sont calculés par les produits scalaires suivants avec L correspondant aux i0 données, fx et fy correspondant à deux matrices de dérivation intégrant un filtrage spatial gaussien suivant deux axes orthonormés: m=W n=W m=W n=W U(ijt) = E L(i+mj+ ,) * fx (i+ Ij+n) et v(i,j,t) = Z Y L(i+mj+nt) * fY(i+mj+n) n=-W n=-W mn=-W n=-W - pendant une séquence, on envoie la valeur d'angle ca du signal 15 temporel de bord orienté en entrée de paramètre d'un premier module STN d'au moins un couple de neurones spatio-temporels et on utilise les résultats du calcul d'histogramme sur les angles oc du premier module STN pour modifier l'angle 0 de rotation pour la séquence suivante et en ce que pour l'analyse de l'angle 20 d'orientation ca dans le premier module STN, on ne prend en compte que les points dont Val-a est égal à la première valeur de validation, - I'angle de rotation 0 pour la séquence suivante correspond au résultat d'un registre POSRMAX, position de la raie maximale de 25 I'histogramme du premier module STN, - I'angle de rotation 0 pour la séquence suivante correspond au résultat d'un registre POSMOY, position de la valeur médiane du cumul de l'histogramme du premier module STN, - on détermine pour chaque couple de neurones spatio-temporels 0 analysant le signal de bord orienté au moins un barycentre de zone (BarZ,) et une orientation de zone ac, - en outre, lors de la première étape, on calcule à partir du signal temporel de bord orienté un nouveau signal temporel de variation d'orientation de bord qui caractérise la variation 8( d'angle de points de bords d'objets, ledit calcul consistant a effectuer pour chaque point considéré une différence en valeur absolue entre les valeurs d'angles a de deux points de bords adjacents situés de 5 part et d'autre du point considéré sur une même ligne passant par le point considéré, ligne fonction de l'angle a du point considéré, afin d'obtenir une information sur la courbure locale du bord et en ce que l'on y associe une valeur binaire de validation ou non Val8co prenant une première valeur de validation si la variation est n0 valide et prenant une seconde valeur de non validation dans le cas contraire, une variation étant valide si, lors du calcul, le point considéré et les points adjacents fonction de l'angle a du point considéré ont tous la première valeur de validation pour Valcc, - pendant une séquence, on envoie la valeur de variation ôa C5 d'angle du signal temporel de variation d'orientation de bord en entrée de paramètre d'un premier module STN d'au moins un couple de neurones spatio-temporels et pour l'analyse de la variation ôa de l'angle d'orientation dans le premier module STN, on ne prend en compte que les points dont Val-6a est égal à la 0 première valeur de validation, - dans le cas de couples de neurones spatio-temporels traitant le signal temporel de variation d'orientation de bord, I'angle de rotation y reste constant au cours des séquences, - I'angle de rotation y restant constant au cours des séquences est 25 égal à zéro, - I'angle de rotation y est modifié d'une séquence à la suivante, l'angle de rotation y pour une séquence suivante correspond au résultat d'un registre POSRMAX, position de la raie maximale de l'histogramme d'un premier module STN d'un couple de neurones 30 spatio-temporels analysant le signal a de bord orienté à la séquence précédente, - I'angle de rotation y est modifié d'une séquence à la suivante, l'angle de rotation y pour la séquence suivante correspond au résultat d'un registre POSMOY, position de la valeur médiane du 35 cumul de l'histogramme d'un premier module STN d'un couple de neurones spatiotemporels analysant le signal a de bord orienté à la séquence précédente, - on détermine dans l'histogramme d'analyse de 8(x trois groupes de valeurs de variations d'angles, le groupe des valeurs 5 approximativement nulles correspondant à un bord sensiblement linéaire, le groupe des valeurs approximativement les plus élevées correspondant à un coin, et le groupe des valeurs intermédiaires correspondant à un bord courbé, - on détermine pour chaque couple de neurones spatio-temporels 10 analysant le signal de variation d'orientation de bord au moins un barycentre de zone (BarZsa) et une variation ca, - on répète au cours du temps sur plusieurs séquences l'étape d'analyse du signal temporel de bord orienté avec recrutement progressif de couples de neurones spatio-temporels afin de 15 déterminer une suite de bords orientés et de façon à ce que: pendant la première séquence avec un premier couple de neurones spatio-temporels on utilise un angle de rotation 0 nul et que à la deuxième séquence, un nouveau couple de neurones 20 spatio-temporels est mis en oeuvre avec un angle de rotation 0 résultant du calcul d'histogramme du premier couple à la première séquence et le signal de sortie de classification du second module STN du premier couple étant envoyé en entrée de rétro annotation pour inhibition du second module STN du nouveau couple, et ainsi de suite, un nouveau couple étant mis en oeuvre à chaque nouvelle séquence, I'angle de rotation 0 pour le nouveau couple résultant du calcul d'histogramme par un couple précédent à la séquence précédente, le second module STN du nouveau couple recevant en entrée de rétro annotation pour inhibition 30 I'ensemble des sorties de classification des second module STN mis en oeuvre, - on détermine un bord orienté en fonction de la variation de l'orientation dudit bord, un module STN supplémentaire étant ajouté à un couple de neurones spatio-temporels analysant ca, ledit 35 module STN supplémentaire recevant en entrée de paramètre le 1 1 signal temporel de variation d'orientation 8o et en entrée de rétro annotation le signal de classification produit en sortie du second module STN du couple et ledit module STN supplémentaire produisant en sortie un signal de classification envoyé en entrée de rétro annotation du premier module STN du couple, - on détermine pour chaque couple de neurones spatio-temporels au moins un barycentre de zone et une orientation de zone et on exécute une phase de synthèse permettant de construire un contour par ajustement d'une courbe par rapport aux barycentres, 10 - on détermine en outre des labels par mémorisation de résultats d'analyse et/ou de synthèse d'objets, - on utilise des bords orientés pour lesquels la variation d'orientation ôoc est particulièrement élevée, lesdits bords correspondant alors à des coins d'objets, comme points d'accroche 1 par rapport à un fichier d'objet maillé 3D afin de produire une animation de synthèse, - I'animation de synthèse consiste en une reconstruction projective ou euclidienne adaptative temporellement par utilisation d'une triangulation des points d'accroche, 0 - le transducteur est une caméra vidéo, I'espace est une scène et sa dimension est deux et, dans le cas où une variation ôc de l'angle a est calculée, les points adjacents pouvant être utilisés pour le calcul de la variation Scc sont compris dans une matrice 3x3 centrée sur le point de bord considéré, 92 - le signal du transducteur est envoyé de façon à ce que le premier point envoyé d'une séquence est dans une sous-séquence représentant des objets de l'environnement les plus proches de la caméra, (par exemple pour une caméra filmant une route, on envoie d'abord les points de la partie basse de l'image qui 30 correspondent à la chaussée plutôt que les points de la partie haute qui correspondent au ciel afin de charger dans le système d'abord les données les plus pertinentes pour l'analyse et obtenir des résultats utiles plus rapidement) - I'espace est une route et l'on dispose au moins une caméra dans 35 le rétroviseur d'un véhicule, la caméra étant orientée vers l'avant du véhicule et on détermine au moins deux limites de voie de circulation latéralement au véhicule à partir des bords orientés déterminés, - des caméras sont disposées latéralement au véhicule et orientées latéralement et vers l'arrière, - les caméras latérales sont dans les rétroviseurs latéraux, - on dispose au moins une caméra latéralement au véhicule, ladite caméra étant orientée latéralement et vers l'arrière et étant dans un rétroviseur latéral, - on détermine pour chaque bord orienté d'un couple de neurones spatio- temporels au moins un barycentre de zone et une orientation de zone et on détermine parmi les zones des zones appariées de limite de voie de circulation, pour chaque zone appariée de limite de voie on détermine l'équation d'une droite 1 portée par ladite zone et on calcule la position H de leur point de croisement, - on détermine en outre des équations de changement de repère permettant de passer d'une représentation dans le repère de la caméra vers un repère route vue de dessus et centré sur le 20 véhicule et inversement, - on caractérise un virage d'une voie de circulation par un arc de cercle et on calcule au moins les rayons de ses limites latérales, la présence d'un virage étant détectée par un décalage linéaire de la position H du point de croisement de droites de zones appariées 2: successives dans une même séquence dans un repère caméra, - en cas de détection d'un virage on actionne un dispositif de rotation de l'éclairage du véhicule disposé dans le phare du véhicule en vue d'éclairer la voie de circulation dans le virage, - pour actionnement du dispositif de rotation de l'éclairage, la 30 caméra et les moyens d'analyse sont dans le phare du véhicule, - en outre on effectue une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une partie de la caméra, - en outre on effectue une recherche de I'endormissement du 35 conducteur du véhicule, le visage du conducteur étant capté par une seconde caméra. (les traitements se font de préférence dans le même dispositif que celui servant à l'analyse de la voie de circulation) L'invention concerne également un dispositif automatisé de 5 perception d'un objet dans un espace spatio-temporel représenté par un transducteur en un ensemble de données associées à des pixels ou points formant ensemble un espace multidimensionnel évoluant dans le temps et représenté à une succession de moments T, lesdites données étant sous forme d'un signal de 10 transducteur numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en 1 sous séquences successives de données, lesdites données étant caractérisables par au moins un paramètre, ledit dispositif comportant des moyens permettant dans une première étape, d'une part, la caractérisation du signal du transducteur sous forme de signaux temporels représentatifs desdits paramètres au cours 2 du temps pendant ladite période et, d'autre part, en concordance, la production d'un signal spatial représentatif des coordonnées des données successives du signal du transducteur, lesdits moyens permettant dans une seconde étape une analyse pendant au moins une séquence du signal du transducteur avec, sous contrôle d'un s programme applicatif, au moins un couple de neurones spatiotemporels, dits modules STN (STN1, STN2), recevant chacun des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro annotation, des résultats de classification en sortie et des résultats 3O statistiques dans des registres, le premier module STN (STN2) du couple recevant en entrée de paramètre(s) au moins un signal temporel et le second module STN (STN1) du couple recevant en entrée de paramètre(s) le signal spatial ayant subit une opération de rotation d'angle pour changement d'axes de coordonnées, la 35 sortie du premier module STN étant renvoyée en entrée de rétro annotation sur le second module STN et la sortie du second module STN étant renvoyée en entrée de rétro annotation sur le premier module STN.
Selon l'invention, le dispositif permet une détermination et 5 caractérisation de bords d'objets avec, lors de la première étape, en complément des signaux temporels initiaux, le calcul d'un nouveau signal temporel de bord orienté qui caractérise la présence ou non de points correspondants à des bords d'objets, ledit calcul consistant a associer à chaque point, d'une part, au 1o moins une valeur d'angle a. d'orientation du bord en ce point avec un axe de coordonnées (dans le cas où le nombrede dimensions de l'espace est supérieur à deux, plusieurs angles peuvent être calculés), soit dans le cas d'un espace à deux dimensions par calcul de o=arctg(u/v) avec u et v des dérivées directionnelles du premier ordre pour deux directions orthogonales du ou des signaux temporels initiaux servant à calculer le nouveau signal temporel de bord orienté et, d'autre part, une valeur binaire de validation ou non Val-(a associée à a et prenant une première valeur de validation si le module p=(Ewj2)1/2 est supérieur à un seuil SI, 20 I'indice i étant la dimension de l'espace, soit dans le cas d'un espace à deux dimensions p= (u2 +v2), et prenant une seconde valeur de non validation dans le cas contraire.
Dans divers modes de mise en oeuvre du dispositif, les moyens suivants pouvant être utilisés seuls ou selon toutes les 25 combinaisons techniquement envisageables, sont employés: - le dispositif comporte des moyens qui, pour le calcul d'un nouveau signal temporel de bord orienté, utilisent un sousensemble des données du/des signaux temporels initiaux et une résolution spatiale réduite par un filtrage passe-bas desdites 30 données par application d'une fonction de filtrage multidimensionnelle, la résolution étant fonction de la valeur d'un paramètre de résolution W, la fonction de filtrage multidimensionnelle est une fonction de Gauss multidimensionnelle, - dans le cas d'un espace à deux dimensions, la fonction de filtrage multidimensionnelle est une fonction de Gauss bidimensionnelle, - pour le calcul d'un nouveau signal temporel de bord orienté dans 5 le cas d'une matrice a deux dimensions, le dispositif utilise un sous- ensemble matriciel sxs des données du/des signaux temporel initiaux et une résolution spatiale réduite par un filtrage passe bas desdites données par application d'une fonction de Gauss bidimensionnelle sur les données, la résolution étant fonction de la 10 valeur d'un paramètre de résolution W, - dans le cas d'un espace à deux dimensions u et v sont calculés par les produits scalaires suivants avec L correspondant aux données, fx et fy correspondant à deux matrices de dérivation intégrant le filtrage spatial gaussien suivant deux axes 15 orthonormées: m=W n=W rn=W n=W u(ij,) = L(,+ mn,+,) *fx(i+m,j+n) et v(i,j,t) L(I+mj+n,) *f(i+mj+n) m?=-W n=-W m=-W n=-W - le dispositif comporte des moyens permettant d'envoyer, pendant une séquence, la valeur d'angle ox du signal temporel de bord orienté en entrée de paramètre d'un premier module STN d'au 20 moins un couple de neurones spatio-temporel et d'utiliser les résultats du calcul d'histogramme sur les angles oa du premier module STN pour modifier l'angle 0 de rotation pour la séquence suivante et en ce que pour l'analyse de l'angle d'orientation a dans le premier module STN, les moyens ne prennent en compte que les 25 points dont Val-a est égal à la première valeur de validation, - I'angle de rotation 0 pour la séquence suivante correspond au résultat d'un registre POSRMAX, position de la raie maximale de l'histogramme du premier module STN, - l'angle de rotation 0 pour la séquence suivante correspond au 30 résultat d'un registre POSMOY, position de la valeur médiane du cumul de l'histogramme du premier module STN, - le dispositif comporte des moyens permettant de déterminer pour chaque couple de neurones spatio-temporels analysant le signal de bord orienté au moins un barycentre de zone (BarZ) et une orientation de zone Ca, - le dispositif comporte des moyens permettant en outre, lors de la première étape, le calcul à partir du signal temporel de bord 5 orienté d'un nouveau signal temporel de variation d'orientation de bord qui caractérise la variation ca d'angle de points de bords d'objets, ledit calcul consistant à effectuer pour chaque point considéré une différence en valeur absolue entre les valeurs d'angles aE de deux points de bords adjacents situés de part et n d'autre du point considéré sur une même ligne passant par le point considéré, ligne fonction de l'angle a du point considéré, afin d'obtenir une information sur la courbure locale du bord et y est associée une valeur binaire de validation ou non Val-6a prenant une première valeur de validation si la variation est valide et 15 prenant une seconde valeur de non validation dans le cas contraire, une variation étant valide si, lors du calcul, le point considéré et les points adjacents fonction de l'angle ca du point considéré ont tous la première valeur pour Val-a, - le dispositif comporte des moyens permettant d'envoyer, pendant 0 une séquence, la valeur de variation 3a d'angle du signal temporel de variation d'orientation de bord en entrée de paramètre d'un premier module STN d'au moins un couple de neurones spatiotemporels et en ce que pour l'analyse de la variation 8Oa de l'angle d'orientation dans le premier module STN, lesdits moyens ne prennent en compte que les points dont Val-8a est égal à la première valeur de validation, - dans le cas de couples de neurones spatio-temporels traitant le signal temporel de variation d'orientation de bord, I'angle de rotation y reste constant au cours des séquences, - I'angle de rotation y restant constant au cours des séquences est égal à zéro, - I'angle de rotation y est modifié d'une séquence à la suivante, l'angle de rotation y pour une séquence suivante correspond au résultat d'un registre POSRMAX, position de la raie maximale de 35 I'histogramme d'un premier module STN d'un couple de neurones spatio-temporels analysant le signal a de bord orienté à la séquence précédente, - I'angle de rotation y est modifié d'une séquence à la suivante, l'angle de rotation y pour la séquence suivante correspond au 5 résultat d'un registre POSMOY, position de la valeur médiane du cumul de l'histogramme d'un premier module STN d'un couple de neurones spatio-temporels analysant le signal ca de bord orienté à la séquence précédente, - le dispositif comporte des moyens permettant de déterminer dans 10 lI'histogramme d'analyse de ôa trois groupes de valeurs de variations d'angles, le groupe des valeurs approximativement nulles correspondant à un bord sensiblement linéaire, le groupe des valeurs approximativement les plus élevées correspondant à un coin, et le groupe des valeurs intermédiaires correspondant à 15 un bord courbé, - le dispositif comporte des moyens permettant de déterminer pour chaque couple de neurones spatio-temporels analysant le signal de variation d'orientation de bord au moins un barycentre de zone (BarZôa) et une variation ôa, a0 - le dispositif comporte des moyens permettant de répéter au cours du temps sur plusieurs séquences l'étape d'analyse du signal temporel de bord orienté avec recrutement progressif de couples de neurones spatio-temporels afin de déterminer une suite de bords orientés et de façon à ce que: 2 5 pendant la première séquence avec un premier couple de neurones spatio-temporels un angle de rotation 0 nul est utilisé et que à la deuxième séquence, un nouveau couple de neurones spatio-temporels est mis en oeuvre avec un angle de rotation 0 30 résultant du calcul d'histogramme du premier couple à la première séquence et le signal de sortie de classification du second module STN du premier couple étant envoyé en entrée de rétro annotation pour inhibition du second module STN du nouveau couple, et ainsi de suite, un nouveau couple étant mis en oeuvre à 35 chaque nouvelle séquence, I'angle de rotation 0 pour le nouveau couple résultant du calcul d'histogramme par un couple précédent à la séquence précédente, le second module STN du nouveau couple recevant en entrée de rétro annotation pour inhibition l'ensemble des sorties de classification des second module STN mis en oeuvre, - le dispositif comporte des moyens permettant de déterminer un bord orienté en fonction de la variation de l'orientation dudit bord, un module STN supplémentaire étant ajouté à un couple de neurones spatio- temporels analysant a, ledit module STN n supplémentaire recevant en entrée de paramètre le signal temporel de variation d'orientation 8oa et en entrée de rétro annotation le signal de classification produit en sortie du second module STN du couple et ledit module STN supplémentaire produisant en sortie un signal de classification envoyé en entrée de rétro annotation du 15 premier module STN du couple, - le dispositif comporte des moyens permettant de déterminer pour chaque couple de neurones spatio-temporels au moins un barycentre de zone et une orientation de zone et qui exécutent en outre une phase de synthèse permettant de construire un contour 20 par ajustement d'une courbe par rapport aux barycentres, - le dispositif comporte des moyens permettant de déterminer en outre des labels par mémorisation de résultats d'analyse et/ou de synthèse d'objets, - le dispositif comporte des moyens permettant l'utilisation des 25 bords orientés pour lesquels la variation d'orientation 8a est particulièrement élevée, lesdits bords correspondant alors à des coins d'objets, comme points d'accroche par rapport à un fichier d'objet maillé 3D afin de produire une animation de synthèse, - I'animation de synthèse consiste en une reconstruction projective 30 ou euclidienne adaptative temporellement par utilisation d'une triangulation des points d'accroche, - le transducteur est une caméra vidéo, I'espace est une scène et sa dimension est deux et dans le cas où une variation 3cx de l'angle a est calculée, les points adjacents pouvant être utilisés pour le calcul de la variation 8(o sont compris dans une matrice 3x3 centrée sur le point de bord considéré, - le dispositif comporte des moyens permettant d'envoyer le signal du transducteur de façon à ce que le premier point envoyé d'une 5 séquence est dans une sous-séquence représentant des objets de l'environnement les plus proches de la caméra, - I'espace est une route et au moins une caméra est disposée dans le véhicule dans le rétroviseur, la caméra étant orientée vers l'avant du véhicule et le dispositif permet de déterminer au moins 10) deux limites de voie de circulation latéralement au véhicule à partir des bords orientés déterminés, - des caméras sont disposées latéralement au véhicule et orientées latéralement et vers l'arrière, - les caméras latérales sont dans les rétroviseurs latéraux, au moins une caméra est disposée latéralement au véhicule, ladite caméra étant orientée latéralement et vers l'arrière et étant dans un rétroviseur latéral, - le dispositif comporte des moyens permettant la détermination pour chaque bord orienté d'un couple de 20 neurones spatio-temporels d'au moins un barycentre de zone et d'une orientation de zone, la détermination parmi les zones de zones appariées de limite de voie de circulation, pour chaque zone appariée de limite de voie, la 25 détermination l'équation d'une droite portée par ladite zone et le calcul de la position H de leur point de croisement, - le dispositif comporte des moyens permettant de déterminer en outre des équations de changement de repère permettant de passer d'une représentation dans le repère de la caméra vers un 30 repère route vue de dessus et centré sur le véhicule et inversement, - le dispositif comporte des moyens permettant de caractériser un virage d'une voie de circulation par un arc de cercle et de calculer au moins les rayons de ses limites latérales, la présence d'un 35 virage étant détectée par un décalage linéaire de la position H du point de croisement de droites de zones appariées successives dans une même séquence dans un repère caméra, - le dispositif comporte des moyens permettant, en cas de détection d'un virage, I'actionnement d'un appareillage de rotation 5 de l'éclairage du véhicule disposé dans le phare du véhicule en vue d'éclairer la voie de circulation dans le virage, - pour actionnement du dispositif de rotation de l'éclairage, la caméra et les moyens d'analyse sont dans le phare du véhicule, - le dispositif comporte des moyens permettant en outre une 10 recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une partie de la caméra, - le dispositif comporte des moyens permettant en outre une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une seconde caméra. (les 15 traitements se font de préférence dans le même dispositif que celui servant à l'analyse de la voie de circulation) L'invention concerne également les applications suivantes du procédé et du dispositif précédent selon toutes leurs variantes possibles - le suivi et l'anticipation de la trajectoire d'un véhicule dans un environnement routier dans lequel au moins un transducteur qui est une caméra orientée vers l'avant du véhicule et un espace à deux dimensions sont mis en oeuvre, - une alerte anti-collision par détection d'autres véhicules en 25 fonction d'au moins la trajectoire du véhicule comportant le dispositif de l'invention, - la sécurité routière dans laquelle le visage du conducteur du véhicule est en outre analysé pour détection d'endormissement.
La présente invention va maintenant être exemplifiée dans la 30 description qui suit, sans pour autant en être limité, et en relation avec les figures suivantes: - la figure 1 représente, dans sa généralité, un dispositif selon l'invention pour la détermination et la localisation, dans une scène, d'un bord orienté faisant partie d'une frontière recherchée, ainsi 35 qu'éventuellement de la courbure de ce bord, afin de repérer et délimiter cette frontière, avec mise en oeuvre d'un caméscope, comme convertisseur d'image, pour observer la scène et la convertir en une succession de trames de type vidéo, ce dispositif comportant une unité de traitement temporel et au moins une unité 5 de traitement spatial des trames, ainsi qu'au moins une paire de modules STN bouclées qui coopèrent avec les unités de traitement, - la figure 2 illustre une variante d'une portion de la figure 1, comportant un imageur MOS substitué au caméscope de celle-ci, 0 - la figure 3 illustre deux bords orientés, I'un courbe et l'autre cunéiforme (c'est-à-dire en forme de coin), tels qu'obtenus par mise en oeuvre du dispositif de la figure 1, éventuellement modifié selon la figure 2, - les figures 4 et 5 montrent les phases successives du traitement, respectivement pour l'orientation et pour la courbure d'un bord, dans le dispositif de la figure 1, éventuellement modifié selon la figure 2, - les figures 6 et 7 représentent l'organigramme illustrant les étapes du procédé de traitement selon l'invention, respectivement 20 pour l'orientation et pour la courbure d'un bord, avec mise en oeuvre du dispositif de la figure 1 (éventuellement modifié selon la figure 2), - la figure 8 représente la visualisation de la valeur angulaire discrète de la tangente en un point d'un bord orienté et de son 2 voisinage immédiat, pour chacun des pixels validés, - la figure 9 illustre le calcul de la variation angulaire d'une frontière, par mise en oeuvre d'une matrice carrée de 3X3 pixels, à partir des résultats obtenus dans la figure 8, la figure 10 représente la visualisation de la variation de la valeur 30 angulaire, donc la courbure, d'un bord orienté, pour chacun des pixels validés. avec sa légende sur la figure 10a, - la figure 11 montre la relation entre le traitement en flot continu des pixels dans l'unité de traitement temporel de la figure 1 (éventuellement modifiée selon la figure 2) et sa représentation 35 spatiale affichée, - la figure 12 illustre un mode de réalisation préféré de l'unité de traitement temporel du dispositif selon la figure 1, - la figure 13 représente un mode de réalisation préféré des deux unités de la figure 12 effectuant le calcul du produit scalaire de la 5 valeur du pixel et de la fonction de dérivation, pour une résolution spatiale donnée, - les figures 14 et 15 représentent les valeurs de paramètres pour les fonctions de dérivation, respectivement suivant l'axe des x et suivant l'axe des y, mises en oeuvre pour déterminer, pour la 10 résolution spatiale précitée, ledit produit scalaire, dans le mode de réalisation de la figure 13, - la figure 16 illustre la multiplication de l'unique unité de traitement spatial angulaire et de la paire 11A,11B de modules STN de la figure 1, en vue de la détermination d'une succession de 15 plusieurs bords orientés, pour former la frontière à déterminer, - la figure 17 est une représentation des bords orientés successifs, mis bout à bout pour former ladite frontière, obtenus par mise en oeuvre du dispositif de la figure 1 (éventuellement modifié selon la figure 2), avec multiplication de certaines unités selon la figure16, 20 - la figure 18 illustre une extension d'un dispositif selon l'invention pour réaliser le couplage, pour une position de pixel, de l'orientation et de la courbure du bord traité, avec la courbure comme critère de classification, afin de choisir entre des frontières rectilignes, courbes ou cunéiformes, - la figure 19 représente une extension du dispositif selon l'invention dans le but de combiner analyse et synthèse, - les figures 20 et 21 représentent le contour obtenu en mettant en oeuvre une courbe cubique, respectivement hermitienne et de Béziers, avec le dispositif de la figure 19, 0 - les figures 22 et 23 illustrent le résultat résumé des calculs analytiques d'un contour, respectivement non fermé et fermé, constitué par une suite de bords orientés, à partir des valeurs perçues précédemment, par mise en oeuvre du dispositif selon la figure 19, - les figures 24 à 35 illustrent l'application de l'invention à l'assistance à la conduite apportée au conducteur d'un véhicule sur une route et, en particulier: la figure 24 représente la visualisation des paramètres 5 obtenus par la détermination et la localisation d 'une portion droite de limites de voie de circulation (ou route) par mise en oeuvre d'un dispositif selon l'ensemble des figures 1 (éventuellement modifiée selon la figure 2), 16 et 19, ainsi qu'éventuellement 18, les figures 25 et 26 illustrent la définition mathématique des 10 paramètres de la portion droite de limites de voie de circulation (ou route) selon la figure 24, telle que vue respectivement par le convertisseur d'image et à la verticale du véhicule, la figure 27 représente l'organigramme décrivant les opérations effectuées sur les deux triplets de données d'entrée en [5 provenance du dispositif mis en ceuvre dans la figure 24 pour obtenir les vues des figures 25 et 26 afin de faire l'analyse et la synthèse d'une route, la figure 28 illustre une application de l'invention à la perception d'une portion courbe d'une limite de voie de circulation 20 (ou route) par mise en ceuvre des dispositions selon les figures 24 à 27, la figure 29 représente schématiquement la portion courbe de la figure 28 vue de dessus, la figure 30 illustre l'organigramme permettant de déterminer, 25 pour ladite portion courbe de limite de voie de circulation (ou route), le passage de la représentation selon la figure 28 à celle selon la figure 29, la figure 31 représente une visualisation des deux limites de la voie de circulation d'une portion courbe de route, telle 30 qu'obtenue par mise en oeuvre des dispositions selon les figures 24 à 30, la figure 32 illustre la représentation calculée de la portion courbe de route de la figure 31 vue de dessus, la figure 33 est une représentation du label, ou étiquette, de 35 cette portion courbe de la route des figures 31 et 32, les figures 34 et 35 illustrent l'application de l'invention pour présenter, au conducteur d'un véhicule automobile, une vue panoramique de l'environnement global du véhicule, la figure 34 montrant schématiquement les moyens mis en oeuvre et la figure 35 cette vue elle-même, - les figures 36 à 39 illustrent l'application de l'invention à la détection de la tendance à l'endormissement d'un conducteur de véhicule roulant sur une route et, en particulier: la figure 36 qui représente schématiquement les moyens mis 0 en oeuvre pour cette détection, comprenant au moins un convertisseur d'image dans un dispositif selon la figure 1 (éventuellement modifié selon la figure 2), comportant éventuellement en outre une ou plusieurs des modifications précitées, la figure 37 qui illustre ce que voit le convertisseur d'image mis en oeuvre dans le montage de la figure 36, les figures 38 et 39 qui représentent deux possibilités de réalisation du montage de la figure 36, respectivement avec un seul convertisseur et un élément optique de réflexion de renvoi pour le visage du conducteur et avec deux convertisseurs d'image, - les Figures 40 et 41 illustrent, quant à elles, I'état de la technique connu du domaine de l'invention tel que l'on peut, par exemple, le retrouver dans la demande FR2.821.459 qui a précédemment été mentionnée.
Pour la mise en oeuvre de l'invention, un transducteur analyse un espace spatio-temporel multidimensionnel avec des objets et en déduit un signal électrique numérique sous forme de séquences périodiques organisées en sous séquences de données représentatif du phénomène que l'on désire observer dans cet S0 espace à un instant donné.
Alors que l'invention s'applique, d'une manière générale, au traitement d'un flot de signaux numériques débités par un transducteur approprié observant l'évolution, dans un espace spatio-temporel, d'un phénomène donné (notamment visuel, 3S sonore, odorant) représenté par au moins un paramètre représentatif, et traduisant ce phénomène en un signal électrique numérique structuré en séquences temporelles périodiques successives, qui représentent chacune le phénomène pendant une courte période de temps donnée, découpées elles-mêmes en sous5 séquences spatiales successives, les séquences temporelles étant traitées dans une unité de traitement temporel et les sousséquences spatiales étant traitées dans au moins une unité de traitement spatial angulaire afin de déterminer et caractériser un bord orienté qui correspond à une localisation spatiale où se 10 produit une variation brusque de la valeur dudit paramètre. Un objet de l'espace est délimité par un ensemble de bords formant une frontière. On considérera, dans la description détaillée qui va suivre de modes de réalisation préférés de l'invention illustrés sur les figures correspondantes, essentiellement le cas où le 1 phénomène est de type visuel (espace à deux dimensions) et où les signaux électriques numériques représentent les images successives d'une scène observées par un transducteur vidéo et traitées soit en direct, soit après mémorisation (enregistrement).
On va donc décrire maintenant l'invention en détail, dans ses 0 modes de réalisation préférés, dans le cas de l'observation d'une scène au moyen d'un caméscope (éventuellement après stockage sur un support approprié et lecture de celui-ci, par exemple au moyen d'un magnétoscope ou d'un lecteur de DVDs) ou d'une webcam à imageur de type CMOS.
On rappelle que le but de l'invention, dans le cas d'un phénomène de type visuel, est de détecter au cours d'une activité d'analyse, dans une scène, une succession de bords orientés, ou chaîne de bords orientés (ou frontière), déterminés par la variation de la luminosité (éventuellement de la coloration) au niveau de ces 30 bords et de placer, toujours lors de l'analyse, bout à bout les bords successivement détectés afin d'en déduire par reconstruction, au cours d'une activité de synthèse, un contour.
Notons que le cas de bords qui se suivent d'une manière continue (ininterrompue) pour former une frontière ne pose pas de 35 difficulté car on passe directement d'un bord au suivant. Par contre, il se peut que les bords ne se suivent pas d'une manière continue. Dans ce cas, outre la mise en oeuvre de critères de recherche du type association de bords présentant des caractéristiques communes (orientation, couleur par exemple) 5 et/ou étant proches selon un critère de seuil absolu ou relatif (par rapport aux autres bords), une méthode particulièrement efficace est basée sur la recherche de critères spécifiques (orientations, disposition relative de barycentres...) concernant une frontière ayant été préalablement analysées et qui sont mémorisés par le 10 système ou pré-configurés dans l'application. Ces critères sont de préférence présentés sous forme de LABELS.
Sur la figure 1, on a illustré un mode de réalisation préféré d'un dispositif, selon l'invention, pour la détermination et la localisation d'un bord orienté C. Ce dispositif comprend 15 essentiellement: - un générateur de signaux 1, constitué par: un caméscope 2 débitant un signal vidéo numérique classique S(PI)t, fonction du temps t, qui comporte une succession de trames constituant une succession de séquences temporelles, 20 qui représentent chacune la scène observée pendant la durée d'une trame, constituées chacune par une succession de lignes constituant une succession de sous-séquences spatiales, constituées chacune par une succession de points images ou pixels PI, et 25> une unité électronique de commande 3, qui sépare, de ce signal vidéo S(PI)t, d'une part, les signaux d'image DATA(i,j,t), fonctions du temps t et des positions de pixel i et j, respectivement de ligne et de colonne, et, d'autre part, les signaux classiques de synchronisation de trame ST et de synchronisation de ligne SL, et 30 qui comporte une horloge 4 débitant, à intervalles réguliers, égaux à l'intervalle de temps entre deux pixels successifs, des signaux d'horloge CL pour la synchronisation des pixels P(ij) successifs; - un séquenceur 5 qui reçoit les signaux ST, SL et CL du générateur de signaux 1 et en déduit trois signaux de 35 séquencement du traitement, à savoir les signaux INIT de début ou d'initialisation du traitement, CALCUL de traitement proprement dit (après INIT) pendant un nombre prédéterminé de P(i,j) de la séquence et enfin RESULTATS d'inscription des résultats du traitement réalisé pendant la phase CALCUL; - une unité 6 de traitement temporel comportant au moins deux sous-unités 6A et 6B, à savoir: - une sous-unité 6A qui, à partir du signal DATA(i,j,t) reçu de l'unité 3, détermine, pour chaque pixel P(i,j) et au temps t, au moins un signal correspondant à un paramètre du signal 10 DATA(i,j,t), soit dans le cas présent d'un phénomène visuel, au moins le signal L(i,j,t) de luminance, ainsi qu'éventuellement les signaux MVT(i,j) de mouvement (ou déplacement) et/ou de direction de mouvement et/ou, dans le cas d'un signal vidéo en couleur, T(i,j) de teinte et S(i,j) de saturation (ou un autre couple 15 de signaux permettant, avec le signal L(i,j,t), de reconstituer la couleur), ces signaux étant également fonction du temps t (non figuré entre les parenthèses), et - une sous-unité 6B de détermination et caractérisation angulaire qui, à partir du signal L(i,j,t) élaboré dans la sous-unité 20 6A, détermine le signal a(i,j), coordonnée polaire d'angle d'orientation ca des pixels PI, de positions i,j, relativement à un axe Ox, avec son drapeau (flag) ou signal de validation Val-c(i,j), et éventuellement p(i,j), coordonnée polaire de module de ces pixels relativement à l'origine O, et, en outre éventuellement, pour certaines applications: - une sous-unité 6C de détermination et caractérisation de la variation angulaire qui, à partir de l'angle a élaboré dans la sousunité 6B, détermine ca(i,j), variation spatiale de l'angle ca autour de ox(i,j), cette variation donnant une indication sur la courbure du 30 bord et donc de la frontière à l'emplacement correspondant, avec son drapeau (flag) ou signal de validation Val-âao(i,j); - deux unités successives 7 et 8 de traitement spatial, à savoir: - une unité 7 de traitement spatial positionnel qui, à partir des signaux ST, SL et CL reçus du générateur de signaux 1, détermine les positions i et j de pixel dans une trame et - une unité 8 de traitement spatial angulaire comportantau moins 5 un module de rotation 9 pour un traitement spatial angulaire qui effectue un calcul de rotation d'angle O sur les coordonnées cartésiennes rectangulaires x et y de position i et j de pixel, cet angle étant égal à zéro pendant la séquence d'initialisation et successivement, en fonction de la valeur du drapeau (flag) de 10 validation Val-cx(i,j), à a1, a.2... pendant les séquences ultérieures, ce dernier angle a1, oa2... étant défini par la valeur de a issue du résultat du traitement de la séquence précédente dans la sousunité 6B et les unités STN 11A et 11B discutées ci- après (par exemple cal résultant du traitement de la première trame, ca2 15 résultant du traitement de la deuxième trame, etc.), et qui détermine, à partir des positions de pixel i et j reçues de l'unité 7, les coordonnées X et Y de pixel après une rotation de cet angle, à savoir par exemple XO1(i,j) et YO1(i,j), pour a1; au cas où l'unité 6 comporte une sous-unité 6C, qui détermine 8a et son drapeau 20 (flag) de validation Val-a(i,j), I'unité 8 comporte, en plus du module de rotation 9 qui réalise des rotations d'angle 0, un module 10 analogue qui effectue un calcul de rotation d'angle y sur les coordonnées cartésiennes x et y de position i et j de pixel, cet angle étant égal à zéro pendant la séquence d'initialisation et ensuite, pendant les séquences ultérieures, soit maintenu égal à zéro, soit porté successivement à 8a1, 8o2... en fonction de la valeur du drapeau (flag) Val-8oc(i,j); - une paire d'unités STN à registres (de types précisés cidessous), à savoir une unité bi-linéaire 11A, à double entrée de 30 données e2, et une unité uni-linéaire 11B, à simple entrée de données el, connectées en boucle, la sortie de données de classification s de chacune étant connectée à une entrée de rétroannotation r de l'autre, I'unité STN 11A recevant, sur sa double entrée de données e2, les sorties successives du module de 35 rotation 9, telles que la paire Xo1(i,j)-Yo1(i,j) pour a1, et débitant, sur sa sortie de données s, la portion Z(1l(i,j) de zone de bord orienté C (qui, sur la figure 3, correspond à une orientation du bord C d'angle al), fonction de l'angle 0 de rotation (0=0,a1, ca2...), tandis que l'unité STN 11B reçoit, sur sa simple entrée de données el, I'angle (x(i,j), déterminé par la sous-unité 6B, et débite, sur sa sortie s, la classification acl(i,j) de l'angle a(i,,j); lorsque l'unité 6 comporte une sous-unité 6C, qui détermine ôa et son drapeau (flag) de validation Val-6a(i,j), et donc l'unité 8 comporte un module de rotation 10, qui débite le résultat d'une M rotation d'angle 8a, le dispositif selon la figure 1 comporte, en plus de la paire d'unités STN 11A et 11B, une paire analogue d'unités STN bouclées12A et 12B, qui reçoivent respectivement, sur leurs entrés e2 et el, des signaux de type Xy et Yy du module10 et y de la sous-unité 6C; et - un micro-contrôleur ou microprocesseur 13 qui contrôle l'ensemble du système y compris la sous-unité 6B, avec un programme applicatif (à travers l'API), en effectuant, à cet effet, la lecture (flèche F1l) des données inscrites dans les registres Reg des unités STN 11A et 11B, à savoir la position de la 0 raie maximale POSRMAX, ou mieux la position de la médiane POSMED, de l'histogramme des données correspondantes calculées pendant la validation du signal CALCUL et correspondant respectivement à la valeur du barycentre BarZal de la zone Zc1 (unité 11A) et à la valeur al, u2... de l'orientation locale du bord C 25 (unité STN11B), ainsi que le nombre NBPTS de données participant au calcul des histogrammes, et l'inscription (flèche F2), à partir de la deuxième séquence opérationnelle, de l'angle 0 de rotation de plan dans le module de rotation 9 (après la première séquence pour laquelle 0=0), soit l0 1,a 2.. si NBPTS est supérieur à un seuil S1, soit zéro dans le cas contraire; le microprocesseur contrôlant d'une manière analogue le système avec la sous-unité 6C, lorsqu'elle existe, à partir de la lecture de la paire d'unités STN 12A et 12 B, qui existent alors également, et avec inscription de l'angle y de rotation de plan dans le module de rotation 10.
Par rapport à la combinaison fonctionnelle de modules STN telle que présentée sur la Figure 40 de l'état de la technique qui 5 est tirée de l'annexe de la demande FR2.821.459, on constate, dans la présente demande qui, elle, traite des paramètres caractéristiques d'un bord, c'est à dire d'une transition particulière de la valeur d'un paramètre (ou d'une combinaison de paramètres), la présence, d'une part, d'une sous-unité 6B de détermination et 10 de caractérisation angulaire et, d'autre part d'une sous unité 6C de détermination et caractérisation de variation angulaire. Ces sousunités 6B et 6C (ainsi que la 6A) de la Figure 1 correspondent in fine à des unités de traitement temporelles.
Notons que l'utilisation des signaux produits par les sous5 unités 6B et 6C, notamment dans des associations de couples de deux modules/unités STN (ou neurones spatio-temporels, ces termes étant équivalents), un premier traitant des données temporelles (notamment l'angle d'orientation a ou la variation d'angle 6ô), et un second traitant des données spatiales 20 (notamment la position X, Y des pixels), peut se faire d'une manière isolée, c'est à dire dans une application dans laquelle on ne met en oeuvre que les orientations des bords ou dans une application dans laquelle on ne met en oeuvre que les variations d'orientations des bords ou elle peut se faire dans une application 92 dans laquelle on met en oeuvre les orientations des bords et leurs variations. Ainsi, sur la Figure 1 avec les deux couples de modules STN et les sous-unités 6B et 6C, on a représenté une application dans laquelle on met en oeuvre les orientations des bords (utilisation de a et Val-a dans le couple de modules STN 11A et 30 11B) et leurs variations (utilisation de ca et Val8a dans le couple de modules STN 12A et 12B).
Pour comparaison, sur la Figure 40 dérivant de l'annexe de la demande FR2. 821.459, les signaux d'entrée du système 520 sont envoyés, d'une part, dans une unité de traitement temporel 50 et, 35 d'autre part, dans une unité séquenceur 90. Dans l'unité de S1 traitement temporel 50 sont générés des signaux représentatifs de paramètres du signal d'entrée tel que la luminosité, la teinte, la saturation et le mouvement (vitesse et direction). L'unité séquenceur 90 permet la génération de signaux permettant 5 d'assurer les étapes de fonctionnement du système (initialisation, calculs, résultats) tels que INIT (initialisation), WRITE (équivalent de CALCUL pour la présente demande) et END (équivalent de RESULTAT pour la présente demande). Une unité de traitement spatial 96 permet de générer des signaux selon un 10 référentiel particulier PO à P15. Les signaux des unités 50 et 96 sont envoyés sur un bus 510 de données qui est en relation avec une organisation matricielle de modules STN laOO à 1la33 qui produisent des signaux de rétro-annotation sur un bus 111. La configuration fonctionnelle des modules STN (choix des 15 paramètres d'entrée, de rétro annotation, modalités de calcul, résultats...) est sous la dépendance d'une unité de contrôle 513 avec un programme de supervision embarqué ( embedded application ) et une interface de programme applicatif (API).
D'autres éléments fonctionnels sont présents (qui peuvent être 20 utilisés dans la présente demande) tels qu'un bloc de commande de visualisation 365, un écran 80, un bloc curseur 366, une mémoire semi- graphique 367.
Toujours pour comparaison, par rapport aux unités rotationnelles 96 de la Figure 40 dérivant de l'annexe de la 25 demande FR2.821.459; dans la présente demande l'unité de traitement spatial angulaire 8 avec ses modules de rotation 9 et 10, utilise des valeurs d'angle O qui résultent de calculs de couples de modules STN. Ces modules 9 et 10 de l'unité 8 (ainsi que de l'unité 7) de la Figure 1 correspondent in fine à des unités de -0 traitement spatiales.
Enfin, en ce qui concerne les couples de modules STN de la Figure 1, on peut retrouver une association approchante sur la Figure 41 dérivant de la demande FR2.821.459, où un premier module STN 91 recevant du bus 510 un signal de mouvement, 35 travaille dans le domaine temporel, et un second module STN 92 recevant un signal de position X,Y, travaille dans le domaine spatial. Ces deux modules sont interconnectés entre eux par rétro annotation, chacun validant l'autre, afin de produire un signal ZA de zone 94 et un signal de vitesse V1 correspondant.
La figure 2 illustre une variante la du générateur de signaux 1 de la figure 1; le générateur de signaux la de la figure 2 comprend, d'une part, un imageur CMOS ou CCD, référencé 2a, ou une webcam d'un autre type, dont le signal de sortie DATA(i,j,t), qui reproduit la succession de scènes observées, ne comporte pas, 10 contrairement au signal de sortie S(PI)t du caméscope 2 de la figure 1, de signaux de synchronisation ST et SL, et, d'autre part, une unité électronique de commande 3a qui génère les signaux de synchronisation de trame ST et de synchronisation de ligne SL, en plus des signaux d'horloge CL synchronisant les pixels.
On peut donc constater que, alors que dans le mode de réalisation de la figure 1, on prévoit la séparation, à partir du signal S(PI)t débité par le camescope 2, des signaux de synchronisation ST et SL et des signaux d'image DATA(i,j,t) par l'unité de commande 3 qui, par ailleurs génère le signal d'horloge 0 CL, le caméscope ayant un rôle de maître vis-à-vis de l'unité électronique de commande, au contraire, dans le mode de réalisation de la figure 2, c'est l'unité de commande électronique 3a qui asservit l'imageur 2a. Mais toutefois, dans les deux modes de réalisation des figures 1 et 2, ce sont les même signaux 25 DATA(i,j,t) à destination de l'unité 6 de traitement temporel, et ST, SL et CL, à destination de l'unité 7 de traitement spatial positionnel, qui sont débités par les deux générateurs de signaux 1 et la. A ce sujet, on pourra se référer à la figure 1 de la demande de brevet internationale numéro de publication WO-01/63557 (A2) 30 et à la description de cette figure.
On va décrire maintenant plus en détail les unités des figures 1 et 2 et leurs composants.
Le générateur de signaux 1 de la figure 1 comporte un camescope 1 de type quelconque ou plus généralement un 35 transducteur traduisant des vues successives d'une scène en une 3 3 succession de signaux électriques numériques représentatifs; plus particulièrement, dans les modes de réalisation préférés envisagés ci-après, ces signaux sont constitués par des signaux vidéo numériques classiques, en noir et blanc ou en couleurs, comportant: d'une part, des signaux d'image DATA(i,j,t) formés par une succession de trames (dans le cas de trames entrelacées deux par deux, on appellera ci-après trames successives les trames successives de même nature, c'est à dire une trame sur deux) qui!0 représentent chacune une vue d'une scène à un instant (durée d'une trame, soit en général 1/25, 1/50, 1/30 ou 1/60 de seconde) donné et sont constitués elles mêmes par une succession de lignes qui comportent chacune une succession de pointsimages ou pixels P(i,j) (disposés suivant une matrice rectangulaire et représentés I5 chacun par un emplacement de ligne i et de colonne j), et d'autre part, des signaux classiques de synchronisation de trame ST (au début de chaque trame) et de synchronisation de ligne SL (au début de chaque ligne).
L'unité électrique de commande 3 sépare les signaux d'image 20 DATA(i,j,t) , d'une part, et les signaux de synchronisation ST et SL, d'autre part, en réalisant successivement les opérations suivantes comme dans un séparateur classique du type de celui d'un récepteur de télévision: a) séparation, par limitation d'amplitude ( amplitude 25 clipping ), de l'information d'image DATA(i,j) et de l'ensemble des informations de synchronisation ST et SL; b) séparation de l'information de synchronisation de trame ST, d'une part, et de l'information de synchronisation de ligne SL, d'autre part; et c) élimination par limitation d'amplitude, dans chacun de ces signaux de synchronisation ST et SL, des signaux de bruit de plus forte amplitude que ces signaux de synchronisation.
Notons que dans le cas d'un transducteur, une caméra dans l'exemple donné, produisant des signaux analogiques, un moyen de numérisation desdits signaux est mis en oeuvre afin de produire des signaux numériques représentatifs du type précédent.
On obtient donc ainsi les signaux DATA(i,j,t), ST et SL bien séparés en sortie du générateur de signaux 3, qui débite 5 également les signaux d'horloge CL, régulièrement espacés, à une fréquence d'horloge.
La structure de l'unité 6 est détaillée sur les figures 11 et 12 (la figure 12 représentant la structure détaillée de deux unités de la figure 11) et, de ce fait, le fonctionnement détaillé de l'unité 6 10 sera décrit ci-après avec référence à ces deux figures. Il suffit pour le moment de préciser que la sous-unité 6A de l'unité 6 détermine au moins la luminance L(x,y,t) du signal vidéo DATA(i,j,t) (x et y étant les coordonnées cartésiennes qui correspondent aux positions i et j de pixel et t la coordonnée de temps), tandis que la sous-unité 6B, détermine, à partir des valeurs successives de cette luminance L(x,y,t), trame par trame, les valeurs successives de l'angle a(i,j), c'est-à-dire l'angle de la tangente d'un bord orienté éventuel avec l'axe Ox, en utilisant la variation de luminance de part et d'autre de ce bord (en particulier 20 bord d'un objet sombre sur fond plus clair ou inversement bord d'un objet clair sur un fond plus sombre), le signal a(i,j) étant accompagné de son drapeau (flag) de validation Val-oL(i,j) lorsque la différence de luminance de part et d'autre du bord dépasse une valeur de seuil déterminée (mais pouvant être ajustée à la nature 2 de la scène observée).
Dans cet exemple, le bord correspond à une zone de variation importante du paramètre luminance L(x,y,t) du signal vidéo. L'invention peut également être mise en oeuvre en considérant un autre paramètre ou une autre combinaison de 30 paramètre. Ainsi, un bord peut être défini comme par exemple une zone de variation importante de vitesse avec MVT (mouvement) à la place de L (luminance), de saut de couleur avec T (teinte) à la place de L, de température dans le cas d'un transducteur produisant un signal de type vidéo dont on peut extraire un 35 paramètre température, etc... En dehors de tels paramètres 3S considérés isolément, on peut définir un bord à partir d'une combinaison de paramètres comme par exemple une variation importante de la luminosité ET un changement de couleur. Enfin si on considère plus particulièrement dans l'exemple détaillé de S réalisation qu'un bord correspond à une zone où se produit une variation importante de la luminosité, on peut, au lieu de la variation considérer, au choix, une gamme de valeur(s) particulière(s) de la luminosité ou des valeurs inférieures à un seuil ou des valeurs supérieures à un seuil. Dans sa généralité, un i bord est donc défini par une caractéristique détectable d'au moins un paramètre du signal du transducteur.
Avantageusement la sous-unité 6C, lorsqu'elle existe, détermine, à partir de l'angle a(i,j) (calculé par le module 6B), la variation spatiale 8oc(i, j) de cet angle entre deux pixels voisins, 15 ainsi que son drapeau (flag) de validation Val-6a(i,j) lorsque cette variation spatiale est effective (les deux valeurs a(i+k,j+l) et a(i+k,j+l) avec k={-1,0,1} et l={-1,0,1} adjacentes à la valeur oc(i,j) dans l'orientation de cette valeur existent et permettent donc le calcul de 8a(i,j) égal à la valeur absolue de la différence entre ces 20 deux valeurs adjacentes).
La valeur de l'angle a(i,j) et son drapeau (flag) Val-cx(i,j) sont débités par la sous-unité 6B sur l'entrée el du bloc STN2 11B, tandis que la valeur de 68a et son drapeau (flag) Val-6O(i,j) sont débités par la sous-unité 6C (lorsqu'elle existe) sur l'entrée el du 25 bloc STN2 12B.
L'unité de traitement spatial positionnel 7 (par exemple de type connu en réception de signaux de télévision) déduit, des signaux de synchronisation ST et SL et du signal d'horloge CL (en provenance, tous les trois, du générateur de signaux 1), les sous30 séquences i,j repérant les positions de pixel suivant les coordonnées cartésiennes x et y de la matrice de pixels d'une trame.
Le module de rotation 9 de traitement spatial angulaire effectue une rotation d'angle 0 sur les coordonnées cartésiennes 35 d'entrée (en x et en y) représentant les positions i et j de pixel pour obtenir les coordonnées de sortie X et Y après une telle rotation, en soumettant le couple de coordonnées d'entrée à l'opération symbolique Y(ij) -sin cos x Dans cette formule 0 a successivement, comme indiqué précédemment, les valeurs 0,ca1, ac2... (ces dernières valeurs angulaires étant déterminées, à partir du couple de blocs STN 11A et 11B par le microprocesseur 13, comme exposé ultérieurement).
Le module 10 de traitement spatial angulaire (lorsqu'il existe) 0 effectue une rotation d'angle y de la même manière que le module de rotation 9 en utilisant la formule symbolique ci-dessus dans laquelle toutefois l'angle 0 est remplacé par l'angle y.
Des modules, tels que 9 et 10, de traitement spatial angulaire opérant une rotation sur les coordonnées cartésiennes sont bien 15 connus et mis en oeuvre, par exemple, sous le nom de space transform , dans les demandes de brevet international publiées WO01/63557 en relation avec les figures 26 et 27 (unité 60) et la description correspondante et dans W098/05002 en relation avec la figure 12 et la description correspondante, ces deux demandes 20 ayant le même inventeur que la présente.
Quant aux paires d'unités STN bouclées, telles que 11A-11B et 12A-12B, elles sont décrites dans la demande de brevet internationale numéro de publication W002/069265 avec référence à la figure 7 de celle-ci (voir également la description en relation à 25 la Figure 41 de la présente demande) et dans la demande de brevet français 02/10066, avec référence aux figures 41 (pour la paire bouclée) et 20 et 23a-23b (pour les unités uni-linéaire et bilinéaire respectivement), ayant également le même inventeur. On rappellera seulement que chaque unité STN comporte une unique 30 entrée el ou une double entrée e2 (module STN bilinéaire de préférence) de données, pour les paramètres à traiter, une sortie s de classification, une entrée de rétro-annotation r (connectée à la sortie s de l'autre unité STN de la paire dans le cas d'une paire bouclée d'unités STN), un groupe de registres Reg dans lesquels s'inscrivent les résultats des valeurs caractéristiques recherchées à partir de l'histogramme des données d'entrée, une fonction de 5 traitement fog, notamment pour le registre, et une API avec programme de commande et contrôle qui détermine, entre autres, la fonction fog. Dans le cas du dispositif selon la figure 1, I'API (et programme) par le microprocesseur 13 et les flèches F1 (de lecture des registres) et F2 (d'inscription dans les modules de 10 rotation 9 et éventuellement 10).
Se référant maintenant à la figure 3, sur laquelle on a porté les résultats obtenus par la mise en ceuvre du dispositif selon la figure 1 (éventuellement modifié selon la figure 2), on constate que le bord orienté B, faisant partie de la frontière C à déterminer et 15 correspondant à l'angle ax, a été rendu sensiblement parallèle à l'axe OXo1 déduit de l'axe originel Ox par une rotation d'axes d'angle c1, préalablement déterminé à cet effet (comme expliqué ci-après avec référence à la figure 4). Plus précisément ce bord B est délimité par la zone Za1, de barycentre BarZa1 et comprise 0 entre les deux BorneA et les deux BorneB, suivant les axes OXon1 et OYcal, déduits des axes Ox, Oy par la rotation d'angle a1, et au temps t-DT, à savoir lors de la trame antérieure, DT désignant la durée d'une trame.
Quant à la seconde paire (éventuelle) d'unités STN 12A-12B, 25 elle permet, lorsqu'elle révèle une forte courbure, correspondant à un 8a très élevé, par exemple pour o2 résultant du traitement de la deuxième trame, à une valeur 8cx2(i,j) très élevé, de déterminer une zone Z8a2 de forte courbure de la frontière C entre quatre bornes (non illustrées), analogues aux deux Bornes A (BorneA) et 30 aux deux Bornes B (BorneB), en X et en Y, de la zone encadrant le bord B, le barycentre BarZ6ol de cette zone permettant de localiser un coin K (ou bord cunéiforme) de la frontière C et donc au moins un point repère bien localisé dans la scène observée. En effet, 8ox(i,j) correspond à la différence entre a(i+k,j+l) et a(i+k,j+l) 35 avec k={-1,0,1} et l={-1,0,1}, valeurs inscrites dans une matrice de S8 3x3 pixels de centre a(i,j) dans l'orientation de celle-ci (voir la figure 9 et sa description ci-après). Une différence élevée indique une variation d'angle importante pour une frontière, ce qui correspond à un coin, une différence nulle indique une absence de 5 variation d'angle et donc une frontière qui est sur une droite, entre ces valeurs de différence, on obtient une indication d'une courbure plus ou moins prononcée pour la frontière.
La figure 4 est une extension de la figure 3 illustrant la mise en oeuvre du dispositif de la figure I (éventuellement modifié selon 10 la figure 2) pour repérer une figure géométrique en forme de demicercle, prise à titre d'exemple, dans une scène observée.
Sur cette figure 4, qui concerne l'angle a et son drapeau (flag) de validation Val-a, on a représenté: - suivant quatre bandes horizontales successives, de haut en 15 bas, la séquence temporelle initiale, notée 1, et les trois séquences temporelles suivantes, notées respectivement 11, III et IV, (ces quatre séquences étant constituées par quatre trames successives de signal vidéo de même nature, dans le cas particulier envisagé), et 0 - suivant deux bandes verticales, de gauche à droite, la phase CALCUL et la phase RESULTATS d'une même séquence, cette seconde bande verticale étant sub-divisée en deux colonnes, l'une représentant les résultats obtenus par l'unité bi-linéaire STN1 11A et l'autre les résultats obtenus par l'unité uni-linéaire SNT2 11B.
La première bande horizontale, qui représente la séquence initiale 1, à partir du démarrage, illustre, dans sa première bande verticale, le cadre général rectangulaire (la figure en demi-cercle à déterminer n'ayant pas encore été repérée), et, dans sa seconde 30 bande verticale, les classifieurs des unités STN1 11A et STN2 11B complètement ouverts (en réalisant une représentation plein écran ) pour toutes les valeurs possibles des paramètres (respectivement les coordonnés cartésiennes et l'angle de rotation) afin de pouvoir percevoir la totalité de l'information, la première 35 unité, pour les coordonnées cartésiennes X et Y, étant ouverte de 0 à I et de 0 à J en tant que bornes en x, d'une part, et bornes en y, d'autre part, comme illustré (I et J représentant le nombre de pixels respectivement par ligne et par colonne dans une trame), tandis que la seconde unité, pour l'angle de rotation a, est ouverte de 0 à 180 en tant que bornes en a.
La deuxième bande horizontale, qui représente la deuxième séquence Il, illustre, dans sa première bande verticale de la phase CALCUL, la frontière en demi-cercle relativement aux axes de coordonnées initiaux (pour 0=0), tel que perçu en totalité à partir 0 du calcul des valeurs de l'angle a et de son drapeau (flag) Val-oL, et, dans sa seconde bande verticale, - d'une part, dans sa première colonne pour l'unité STN1 11A, les BorneA et les BorneB en X et en Y (fonctions du temps t) encadrant le demi-cercle à repérer, relativement aux mêmes axes 15 de coordonnées que dans la première bande horizontale de la séquence 1, et - d'autre part, dans sa seconde colonne pour l'unité STN2 11B, I'histogramme des valeurs de l'angle de rotation à impartir en vue d'aligner la frontière rectiligne du demi-cercle avec l'axe des 20 abscisses après rotation d'angle a, cet histogramme révélant, par son pic RMAX et la position POSRMAX de celui-ci, la valeur de l'angle a1 à choisir en tant qu'angle 0 à utiliser dans le module de rotation 9 pour la séquence suivante, à savoir la troisième sequence.
En outre, le calcul du cumul du nombre de points ou pixels suivant les deux axes X et Y arrêté à la demi-somme de ce nombre, à savoir NBPTS, permet de définir la position du barycentre BarZ1 de la frontière en demicercle à la fin de cette deuxième séquence.
La troisième bande horizontale, qui représente la troisième séquence Ill, illustre, dans sa première bande verticale, la rotation des coordonnées d'un angle 8=al déterminé au cours de la phase calcul de la séquence précédente (à savoir la deuxième séquence), avec les BorneA et BorneB en X et en Y et le barycentre BarZ 35 calculés suivant les nouveaux axes de coordonnées (ayant subi une rotation d'angle a1 par rapport aux axes d'origine), et dans sa seconde bande verticale des opérations de calcul similaires à celles effectuées dans la même bande au cours de la deuxième séquence, mais relativement aux nouvelles coordonnées, le bord 5 rectiligne du demi-cercle étant parallèle au nouvel axe des abscisses en ce qui concerne l'unité STN1 et par conséquent l'histogramme pour définir a2 étant très étroit et pointu entre les Bornes Au et Bo, en ce qui concerne l'unité STN2.
La quatrième bande horizontale, qui représente la quatrième 10 séquence IV, est analogue à la troisième bande horizontale Ill, mais après une rotation de 0=c2 (et non plus de a1), angle déterminé par l'histogramme de la troisième séquence; I'histogramme, encore mieux délimité, de cette quatrième phase définit, par l'abscisse de son pic, soit POSRMAX, I'angle de 15 rotation c3 qui sera utilisé par le module de rotation 9 en tant que nouvel angle 0 de rotation des axes de coordonnées.
La quatrième séquence est, en général suivie d'une ou plusieurs séquences supplémentaires se déroulant de manière analogue, mais non représentées sur la figure 4.
20) Alors que sur la figure 4 on a exposé la détermination de l'angle de rotation a destiné au module de rotation 9 en tant qu'angle 0, la figure 5 concerne la détermination de la variation 6a de l'angle de rotation destiné à l'unité de traitement rotationnel 10 en tant qu'angle y, lorsque le dispositif de la figure 1 comporte en 2J outre la sous-unité 6C, la paire d'unités STN1 12A et STN2 12B et le module de rotation 10.
Sur cette figure 5, on a représenté, comme sur la figure 4: - suivant quatre bandes horizontales successives, de haut en bas, la séquence temporelle initiale (après le démarrage), notée 1, 30 et les trois séquences temporelles suivantes, notées respectivement 11, IlIl et IV, et - suivant deux bandes verticales, de gauche à droite, la phase CALCUL et la phase RESULTATS d'une même séquence, cette seconde bande verticale étant sub-divisée en deux colonnes, 35 I'une représentant les résultats obtenus par l'unité bi-linéaire STN1 12A et l'autre les résultats obtenus par l'unité uni-linéaire SNT2 12B.
La première bande horizontale, qui représente la séquence 1, après le démarrage, illustre, dans sa première bande verticale, le 5 cadre général rectangulaire (la figure en demi-cercle à déterminer n'ayant pas encore été repérée) et, dans sa seconde bande verticale, les classifieurs des unités STN1 12A et STN2 12B complètement ouverts pour toutes les valeurs possibles des paramètres (respectivement les coordonnés cartésiennes et la10 variation ôa de l'angle a d'orientation) afin de pouvoir percevoir la totalité de l'information, la première unité, pour les coordonnées cartésiennes X et Y, étant ouverte de 0 à I et de 0 à J en tant que BorneA et BorneB en X, d'une part, et en Y, d'autre part, comme illustré (I et J représentant le nombre de pixels respectivement par 15 ligne et par colonne dans une trame), tandis que la seconde unité, pour la variation ôa de l'angle ca d'orientation, est ouverte de 0 à 180 en tant que BorneA et BorneB en 8(.
L'utilisation de la valeur de l'angle de rotation y est facultative et on choisira, pour la suite de l'exposé relatif à la 0 figure 5, de conserver y=0 dans les séquences Il, 111 et IV ultérieures.
La deuxième bande horizontale, qui représente la deuxième séquence Il, illustre, dans sa première bande verticale de la phase CALCUL, la frontière en demi-cercle relativement aux axes de 5 coordonnées initiaux (pour y=0), avec sa portion telle que perçue en totalité à partir du calcul des valeurs de variation Sa de l'angle (a et de son drapeau (flag) Val-8a, et, dans sa seconde bande verticale, - d'une part, dans sa première colonne pour l'unité STN1 30 12A, les BorneA et BorneB en X et en Y encadrant le demi-cercle à repérer, relativement aux mêmes axes de coordonnées que dans la première bande horizontale de la séquence I (du fait que y a été maintenu à 0), et - d'autre part, dans sa seconde colonne pour l'unité STN2 35 12B, I'histogramme des valeurs de variation 8a1 de l'angle d'orientation; on constate que, dans le cas de la figure en demicercle choisie, à titre d'exemple, cet histogramme comporte trois pics notés E, F, G de gauche à droite à partir de l'abscisse O; le pic E, au voisinage immédiat de cette abscisse, représente une 5 variation 8a1 d'angle nulle (aux fluctuations de mesure près), c'est-à-dire une portion de frontière rectiligne, à savoir celle notée E' dans la colonne CALCUL de cette seconde bande horizontale; le pic F représente une variation ôa1 d'angle constante (aux fluctuations de mesure près) et relativement faible, c'est-à-dire 10 une portion de frontière de forme courbe, ici circulaire, à savoir celle notée F' dans la colonne CALCUL de cette deuxième bande horizontale; et enfin le pic G représente une variation c1l d'angle forte, à savoir celle des deux coins G' et G" dans la colonne CALCUL de la dite bande.
On peut choisir de s'intéresser, suivant la scène observée et la frontière à repérer, soit uniquement à l'un des trois pics E, F, G, soit successivement à deux de ces pics ou aux trois pics.
Lorsqu'on choisit le pic E, on considère alors une portion de frontière rectiligne, par contre lorsqu'on choisi un pic de type F 20 correspondant à une variation d'angle moyenne, on considère alors des portions circulaires (ou plus généralement courbes) et on peut repérer, dans une scène, des portions de frontière circulaires (ou plus généralement courbes), telles que des roues (automobiles par exemple) ou des têtes (humains par exemple) par exemple. Ainsi, la variation d'angle 80x peut servir à réaliser un filtrage (sélection) pour le traitement des bords comme cela sera expliqué ultérieurement en relation avec la Figure 18.
Pour le mode de réalisation illustré sur la figure 5, on a choisi de sélectionner le pic G représentatif de coins (lieux de forte S0 variation d'angle et donc de courbure) et on a donc représenté, dans la portion RESULTATS de cette seconde bande, BorneA et BorneB encadrant le pic G, notées au temps t BorneA(la,t) et Borne B(6o,t) pour 8oa=ôal.
La troisième bande horizontale, qui représente la troisième 3 séquence III, illustre, dans sa première bande verticale, un encadrement plus serré de la frontière en demi-cercle par les quatre BorneA et BorneB en X et en Y et illustre, dans sa colonne RESULTATS, - d'une part, dans la première colonne relative à l'unité STN1 5 12A, I'encadrement très étroit de BarZ2, barycentre du pic G choisi et pour le coin G1 de gauche, ce barycentre ayant été déterminé au cours de la séquence précédente 11, et - d'autre part, dans la seconde colonne relative à l'unité STN2 12B, I'histogramme déterminé par cette unité pour ce coin 10 G1, plus étroit que l'histogramme du pic G (pour les deux coins G' et G") déterminé par ladite unité pendant la séquence précédente Il, I'histogramme relatif au coin G' permettant de définir une nouvelle valeur de variation 8ox d'angle, à savoir bca2, et un nouveau barycentre BarZ2, qui seront utilisés dans la séquence 15 ultérieure IV.
La quatrième bande horizontale, qui représente cette quatrième séquence IV, est analogue à la séquence antérieure III en utilisant toutefois BarZ2 et 3a2 et en déterminant ca3 et BarZ3.
La quatrième séquence est, en général suivie d'une ou 20 plusieurs séquences supplémentaires se déroulant de manière analogue, mais non représentées sur la figure 5, permettant d'obtenir une définition de plus en plus précise et éventuellement évolutive du coin G' choisi.
On procédera d'une manière analogue pour suivre le coin G" 2 ou si l'on choisit de s'intéresser au pic E ou au pic F de la seconde bande horizontale, seconde colonne relative à STN2, plutôt qu'au pic G'.
Le fonctionnement du dispositif selon la figure 1 (éventuellement modifié selon la figure 2), d'une part, en relation 30 avec les figures 3 et 4, pour l'angle d'orientation oa, est illustré par l'organigramme de la figure 6 et, d'autre part, en relation avec les figures 3 et 5, pour la variation 8ox d'angle, est illustré par l'organigramme de la figure 7.
Sur les organigrammes des figures 6 et 7, dont les calculs et 35 opérations sont englobés dans la présente description par référence, on retrouve les références des blocs schématiques 6B, 6C, 9, 10, 11A, 11B, 12A, 12B et 13 et les flèches F1 et F2 de la figure 1.
Sur la figure 6, on a représenté les trois traitements T1, T2, 5 et T3, coopérant simultanément, qui permettent d'extraire et de positionner des bords successifs orientés définissant une frontière recherché.
Le premier traitement T1 opère deux filtrages orthogonaux de manière à convertir chaque pixel en un vecteur d'axe Z à variables 10 multiples.
Le second traitement T2 concerne le suivi spatial du traitement T1, avec une orientation de plan conforme à l'orientation du bord.
Le troisième traitement T3 est du type spatio-temporel et 15 consiste en un regroupement coopératif pour détecter des zones de l'image perceptivement homogènes à l'aide du couple d'unités STN1 11Aet STN2 11B.
Le bloc 21 de la figure 6 illustre une image initiale IM(t) à l'instant t comprenant une matrice de.J pixels ayant des 20 abscisses i variant de 0 à I-1 le long d'un axe horizontal Ox et des ordonnées variant de 0 à J-1 le long d'un axe vertical Oy. Chaque pixel P(i, j) à l'instant t est défini par une intensité lumineuse L(i, j, t) propre à l'image.
Dans le traitement T1, I'image initiale IM(t) selon le (ou les) 25 paramètre(s) considéré(s) et dans cet exemple avec L(x,y,t), est traitée avec une résolution spatiale réduite de dimension W définie par un motif carré sxs, dont le coté s est égal à (2W+1l)u et est centré sur un pixel courant P(i,j), formule dans laquelle u est ici le module du vecteur unitaire séparant deux pixels consécutifs et W:30 un nombre entier positif déterminant la résolution spatiale. Par exemple, sur la figure 6, W est égal à 3 et le motif carré autour du point P(i,j) comprend les (2W+ 1)2 = 49 pixels P(i-W,j-W) à P(i+W,j+W) des figures 14 et 15, décrites ciaprès. En pratique, aucun motif n'est associé aux pixels sur les lignes de l'image ayant.35 pour ordonnées 0 à W-1, et (l-1)-(W-1) à (1-1) et sur les colonnes de l'image ayant pour abscisses 0 à W-1 et (J-1)-(W-1) à (1- 1). La taille de la résolution spatiale W peut être par exemple choisie entre 2 et 16.
Dans le traitement T1, pour une résolution spatiale donnée 5W, lI'invention associe deux fonctions dépendant d'une fonction de Gauss bidimensionnelle telle que: -(x2 +Y) e 2 2 G(x,y) = dans laquelle x et y sont les coordonnées dans un repère centré sur le pixel courant P(i,j) dans le motif [(i-W,j-W), 10 (i+W,j+W)], et s, représentant l'écart type de la fonction gaussienne, est calculé en fonction de la résolution spatiale donnée par la formule a = 0,3217 * W + 0,481 Pour chaque pixel P(i,j) et avec une résolution spatiale I5 donnée W, la dérivée directionnelle du premier ordre est calculée pour deux directions orthogonales, telles que les axes Ox et Oy, dans le domaine spatial du motif associé.
-(x2-+y2) -(x2+y2) ôG(x,y) -x e 2a'2 G(x, y) -y e 2,2 -=- et =Dx r2 2*ir y 2 * En posant fx= DG(x, y) et fy= =ôG(x,y) ax Dy Les dérivées partielles en x et y pour chaque pixel courant P(i,j), les unités 22a et 22b (discutées ci-après) réalisent des filtrages orthogonaux pour les fonctions précédentes et pour une 25 résolution spatiale donnée W selon le produit scalaire suivant, qui représente une moyenne pondérée par les intensités lumineuses L(x,y,t) pour la résolution spatiale W autour du pixel courant, l'unité 22a calculant u(i, j,t) et l'unité 22b calculant v(i,j,t): mn=W n=W m=W n=W u(ijt) = E E L(i+ pj+..o *fx(î+,,j+n) et V(i,j,t) -= Z E L(i+mj+t) *fY(i+mj+n) nî=-W n=-W nm=-W n=-W formules dans lesquelles: L(i,j,t) est l'intensité lumineuse du pixel P(i,j) dans l'image IM(t), fx(i,j) et fy(i,j) sont les deux fonctions dérivées directionnelles du premier ordre pour les deux directions orthogonales telles que celles des axes Ox et Oy, et u(i,j) et v(i,j) sont les gradients orthogonaux calculés pour le pixel P(i, j).
1M Le gradient VG(x,y), perpendiculaire au bord, extrait par les dérivées directionnelles u et v pour la position de pixel P(i,j), possède un module égal à p= (u2 +v2) et un angle a correspondant à la tangente au bord, donné par 15 la formule classique u o = Arctg v ces calculs étant effectués par l'unité 23.
Un test de validité du module est fait par l'unité 24 qui valide (met à 1) un drapeau (flag) Val-ax si ce module est supérieur à un 20 seul S1 et met le drapeau (flag) à O dans le cas contraire.
Le second traitement T2, réalisé dans le module de rotation 9, consiste à effectuer une rotation de plan par un changement de coordonnées, les nouvelles coordonnées X(i,j,0),Y(i,j,O) étant déterminées à partir des anciennes coordonnées i,j et de l'angle 0 25 à l'aide de la matrice de rotation: YX(ij) cos 0 sin 0o x i] y(,) -sin 0 cosO 0 x L'angle de rotation 0 sert à la convergence du calcul. Ainsi pour un angle 0 égal à zéro, correspondant à un bord orienté de pente a nulle, X(i,j) = i et Y(i,j) = j.
Le troisième traitement T3 utilise les deux unités STN 11A et 5 11B bouclées l'une sur l'autre, successivement pour les trois phases INIT, CALCUL et RESULTATS: - dans la phase INIT, le signal INIT commande, pour chaque unité STN, la mise à zéro de la mémoire de calcul de l'histogramme; l0 - dans la phase CALCUL, se déroulent, pour chacun des pixels, en deux temps: a) le calcul de la validation du classifieur de chaque unité STN et b) la mise à jour de l'histogramme dans chacune des unités 15 STN 11A, STN 11B en fonction de la validation de la classification de l'autre unité STN; et - dans la phase RESULTATS s'effectuent d'abord la vérification de la validité du traitement durant la séquence, en déterminant si le nombre d'éléments de 20 I'histogramme est supérieur à un seuil S2; puis, si la réponse à cette question est oui: a) la mise à jour des bornes de classification en fonction du résultat de l'histogramme, b) la sélection de la position de la raie maximale de l'histogramme de l'angle a de l'unité STN 11B en tant que valeur 0 pour le module 9 de rotation de plan et c) éventuellement, en option, la détermination de la médiane de l'histogramme pour déterminer le barycentre de la zone et 30 l'orientation du bord; d) dans l'unité STN bilinéaire 11A - le repositionnement du barycentre correspondant à la variation angulaire entre le résultat trouvé et la valeur antécédente, -la mise à jour des bornes de classification dans ce nouveau référentiel, sinon, les bornes de classifications sont réinitialisées et la valeur de 0 est remise à 0.
L'extraction pixel à pixel de la valeur de la pente du bord orienté permet le calcul de variation locale 8ox de cette valeur de pente, correspondant au résultat 8a, par mise en oeuvre de l'organigramme de la figure 7.
Le synoptique de traitement des données selon cet 10 organigramme de la figure 7 pour la détermination de Sa (variation d'angle) de l'angle a est analogue à celui mis en oeuvre dans l'organigramme de la figure 6 pour la détermination de l'angle c( lui-même, excepté le traitement T1 et l'exploitation des registres pour obtenir les résultats, à savoir les 8oc. On ne décrira donc 1 maintenant que les différences de l'organigramme de la figure 7 relativement à celui de la figure 6.
Le traitement T1 de la figure 7 reprend les résultats du traitement T1 de la figure 6, à savoir les valeurs trouvées pour l'angle oa lorsque Val-oa n'est pas nul, et opère une série de tests,2' suivant quatre orientations possibles décalées de 180 :4=45 , par exemple sur la Figure 9(o), est<-> ouest (Ao), nord-est<->sud-ouest (A45), nord<->sud (Ago), nord-ouest<-> sud-est (A135) à partir d'un pixel P(i,j) afin de calculer une variation éventuelle d'angle représentatif de la courbure (et la valeur de cette variation 25 lorsqu'elle apparaît), la représentation de ces orientations étant illustrée sur la figure 9(o) décrite ci-après (en tant que Ao, A45, Ago, A135, respectivement). On considère ici quatre éléments car on s'intéresse à des orientations et non des sens ou directions.
A partir de la valeur de o.(i,j) pour la position choisie comme 30 centrale du pixel P(i,j), un premier test de présence d'un bord est effectué par interrogation de la valeur de Val-oa(i,j) pour le pixel P(i, j): a) si Val-oa(i,j) est nul, le traitement T se termine et force Val8a=0 en sortie en tant que résultat de T1, tandis que b) si, au contraire, Val-c(i,j) est différent de zéro, un deuxième test détermine l'orientation quantifiée de l'angle a, en P(i,j), de la tangente du bord, selon l'une des quatre orientations possibles précitées, I'une de ces quatre orientation déterminant les 5 valeurs de a à prendre en compte dans les deux positions adjacentes de pixel par rapport à P(i,j) dans le prolongement de la tangente à la courbe de frontière à partir de cette valeur a(i,j).
Un troisième test de validité de ces deux valeurs adjacentes est réalisé en déterminant si les Val-ax pour ces deux valeurs de a,0 en ces deux positions voisines sont nuls ou non: a) si ces deux Val-a sont nuls, le traitement T1 est terminé et force Val-8a,(i,j)=0 en sortie en tant que résultat de T1 b) si, au contraire, au moins un de ces Val-a, n'est pas nul, le traitement T1 calcule la valeur absolue de la différence entre deux 15 valeurs de a voisines et il se termine en débitant, en sortie, cette valeur absolue en tant que 3a(i,j), ainsi que le drapeau (flag) correspondant Val-86a(i,j)=0.
Comme indiqué précédemment, avec référence à la figure 5, on garde en général y nul pour les séquences postérieures à la 0 première et dans ce cas le traitement T2 est neutre avec X=x et Y=y, c'est-à-dire les coordonnées de i et j.
Enfin le traitement T3 de l'organigramme de la figure 7, pour réaliser le suivi de zone, correspond à celui de l'organigramme de la figure 6.
> Les figures 8 à 10 représentent la visualisation des valeurs de l'angle d'orientation oa et de la variation $a d'angle pour les pixels voisins d'une portion de frontière en demi-cercle selon les figures 4 et 5, par mise en oeuvre du procédé selon les organigrammes des figures 6 et 7, ainsi que la matrice de 3x3 30 pixels illustrant les axes principaux d'orientation décalés de 45 .
Plus précisément, sur la figure 8 on a indiqué, pour les pixels d'abscisses comprises entre 10 et 17 et d'ordonnées comprises entre 20 et 30, les valeurs, en degrés, de l'angle a (calculé par la sous-unité 6B de la figure 1) au voisinage de ladite portion de 35 frontière, plus précisément ceux pour lesquels Val-a, n'est pas nul et qui sont en grisé; on constate que, conformément à ce qui a été indiqué antérieurement, cet angle est faible (de l'ordre de 20), relativement constant et orienté sensiblement à 0 (flèche horizontale pointant vers la droite) pour les pixels voisins d'une J portion rectiligne de frontière, qu'il augmente brusquement pour les pixels dans la région du coin G' de la frontière, les angles dépassant 90 (flèches verticales, puis dirigées vers la gauche) et qu'enfin il garde des valeurs relativement élevées pour les pixels entourant la portion curviligne de frontière.
La relation entre la valeur exacte de l'angle indiquée sur la figure 8 et l'orientation de la flèche pour chaque pixel va être expliqué avec référence à la figure 9 sur laquelle on a représenté sur l'image 9(o), une matrice carrée de 3x3 pixels centrée sur le pixel central P(i,j) de référence, noté e, encadré de huit pixels f, c, 15 b, a, d, g, h et i suivant quatre orientations décalées de 180 :4=45 , notées A0, A45, Ao90, A135.
A partir de cette position e, si Val-a est différent de zéro, la valeur de l'angle ac est lue et comparée à quatre intervalles délimités par les quatre paires de bornes successives parmi les 20 cinq bornes B-22,5, B22, 5, B67,5, B112,5, et B157,5 correspondant aux pixels f, c, b et a représentés par les images 9(a), 9(b), 9(c) et 9(d) de la figure 9, (et les quatre intervalles opposés correspondant aux pixels d, g, h et i).
Les flèches des pixels de la figure 8 représentent les huit 21 directions centrales possibles des quatre intervalles selon les images 9(a), 9(b), 9(c) et 9(d) de la figure 9, à savoir Ao à A135, suivant que la valeur de ca est comprise dans l'un de ces intervalles; ainsi les valeurs de a de 18 à 22 (de la figure 8) encadrant une portion rectiligne de frontière sont comprises dans.0l I'intervalle limité par les bornes -22,5 et +22, 5 et correspondent donc à une flèche orientée de e vers f, donc horizontale et pointant vers la droite, tandis que les valeurs de a de 127 à 154 (de cette figure) encadrant une portion curviligne de frontière, inclinée par rapport à l'axe des abscisses, sont comprises dans l'intervalle S5 limité par les bornes 112,5 et 157,5 et correspondent donc à une flèche orientée de e vers a, donc oblique pointant vers le haut et à gauche (direction nord-ouest).
Par ailleurs l'intervalle contenant la valeur de l'angle ca sert au calcul de 8ox en utilisant les pixels adjacents à la tangente pour 5 lesquels Val-aC a une valeur non nulle. Dans ce cas, la valeur de ca. calculée à la position P(i,j) correspond à la différence en valeur absolue des angles de ces pixels adjacents.
La figure 10 est une représentation, pour les pixels compris entre les mêmes coordonnées que ceux de la figure 8, des valeurs 10 de 8a, les pixels grisés (pour lesquels Val-x est différent de zéro) plus ou moins foncés illustrant les gammes de valeurs de ca suivant la légende de la figure 10a. On retrouve des valeurs très faibles (de 0 à 2) de ao (variation d'angle) pour les pixels entourant la portion rectiligne de frontière éloignée du coin G', des 15 valeurs assez élevées de cette variation d'angle 8o (de 13 à 17) pour les pixels entourant la portion curviligne de frontière éloignée du coin G' et des valeurs très élevées de ôa (supérieures en général à 27) au voisinage de ce coin G'.
Les traitements temporels de calcul, pour chaque pixel P(i,j), i2 d'une valeur de tangente à un bord, à savoir l'angle ca, et de sa valeur de variation (indicative de courbure), à savoir Sa, selon les organigrammes des figures 6 et 7 avec mise en oeuvre des tableaux des figures 8 à 10 peuvent avantageusement être réalisés par les ensembles illustrés sur les figures 11, 12 et 15 (qui 25 illustrent un mode de réalisation préféré de l'unité 6 de la figure 1) avec mise en oeuvre des tableaux selon les figures 13 et 14.
La figure 11 représente un mode de réalisation électronique des calcul effectués dans une unité 6 comportant une sous-unité 6C de calcul ca et de son drapeau (flag) de validation en utilisant 30 un mode de traitement en flot de données numériques séquence avec sous-séquences, comme précédemment, chaque séquence correspondant à un défilement de I colonnes et J lignes consécutivement, ce qui nécessite des retards de lignes et de colonnes afin d'avoir, pour chaque cycle élémentaire séparant 35 deux pixels successifs (déterminé par l'horloge pixel CL) toutes les données nécessaire au calcul de la fonction de transfert réalisée par l'unité 6, à savoir IxJ cycles élémentaires d'horloges CL par trame d'image IM(t), c'est-à-dire de séquence, présentes.
La partie gauche de la figure 11 illustre l'unité 6 répartie en ses sousunités 6A, 6B, et 6C, débitant en sorties AT(i,j), MVT(i,j), ca(i,j), Vala(i,j), 8ox(i,j), Val-6a(i,j), à partir de la donnée d'entrée L, tandis que la partie droite de cette même figure représente la visualisation de l'image IM(t) balayée par ce flot d'entrée L et se déplaçant d'un pixel, par cycle d'horloge CL, à partir de la position 10 P(0,0) en ligne, en recommençant par la colonne 0, ligne par ligne, jusqu'à la position P(I-1, J-1) qui correspond à la fin de IxJ cycles élémentaires; la position P(i, j) correspond, à un pixel déjà complètement traité dans l'unité 6 et à partir de la donnée d'entrée L, donc avec un retard de 8 lignes et 9 colonnes.
La sous-unité 6A, a été décrite dans la publication de demande PCT numéro WO-98/05002 possède une unité référencée 57 sur la figure 11, délivrant deux signaux CO et DP, CO correspondant à une variation temporelle, donc ici à AT, et DP signalant un dépassement caractéristique d'un seuil de sensibilité 0 de détection, donc ici à VAL (non représenté sur la figure 11), et une unité référencée 58 sur la figure 11, qui, à partir de deux fois huit lignes de retard R-1 du signal AT, analyse une matrice spatiale de 17x17 pixels, (17 étant égal à 2x8+1) et délivre un signal de direction et d'intensité de mouvement éventuel par pixel, ce 25 dernier étant dénommé ici MVT(i,j) au centre de la matrice Ma. Le retard entre les données DATA et les sorties AT(i,j) et MVT(i,j) est donc de 8 lignes et de 9 colonnes, DATA étant donc égal à DATA(i9,j-8).
Le fonctionnement des sous-unités 6B et 6C se fait par.30 rapport à la position finale des résultats en P(i,j), en étant synchrones avec les résultats de la sous-unité 6A, ce qui nécessite des unités à retard R de ligne et C de colonne, I'indice numérique affecté à chacune des unités indiquant la durée du retard correspondant en nombre de lignes et/ou de colonnes 35 respectivement. De ce fait, pour faciliter la compréhension on va effectuer la description ci-après à I'envers, en commençant par le dernier traitement, à savoir le calcul de 8a(i,j) et de Val-8a(i,j).
Ce traitement s'opère sur une matrice 3x3, dénommé Mc, dans l'image IM(t), ce qui nécessite un retard de 2 lignes et de 2 5 colonnes pour effectuer un calcul valide au cycle suivant, correspondant à la position centrale de la matrice décalée (retardée) d'une colonne, soit un retard total de 21+3 entre la valeur d'entrée Val-a, a étant le résultat du calcul précédent, et la première valeur Val-8a(i,j) et 8(a(i,j) valide à la position P(i,j), 10 centre de la matrice 3x3, d'où la position de cette matrice Mc par rapport à P(ij) au cycle (jxl+i) et une position instantané de la donnée d'entrée Val-ca, a au cycle CyC2. La valeur valide en P(i,j) est retardée de une ligne et de deux colonnes par rapport à l'entrée Val-a, a.
Les valeurs Val-a et a sont obtenues à partir des valeurs de u et de v calculées par les unités 22a et 22b, en faisant un calcul en coordonnées polaires pendant un cycle horloge; le retard entre les donnée d'entrée u et v et le résultat Val-a et a est d'une colonne, ce qui correspond au cycle CyC1.
Les valeurs u et v, au centre de la matrice Mb au cycle CyC1, sont obtenues à partir d'un produit scalaire entre les données du flot d'entrée L et un motif carré de taille 2W+1 nécessitant un retard de 2W lignes et de 2W+1 colonnes pour obtenir le premier résultat des (2W+1)2 données correspondant à la position spatiale 25 (W+I,W) pour un démarrage de la séquence à la position spatiale 0,0. Par exemple, pour une valeur de W=3, il faut un défilement de 2W lignes, puis un défilement de 2W+1 colonnes soit (61+7) pixels pour avoir le premier résultat du calcul en position i,j =(4,3), correspondant à la donnée d'entrée du cycle numéro 61+7. Pour 30 une position spatiale générique P(i,j), la matrice Mb représente la position des éléments calculés dans l'image IM(t). Le résultat u et v au cycle CyC1 est celui pour la position instantanée de la donnée d'entrée L au cycle CyB. Il y a donc un retard de 3 lignes et de quatre colonnes entre l'entrée et le résultat.
Ce traitement rajoute (41+3) cycles aux (1+3) cycles précédents. En résumé, le traitement le plus long nécessite (51+6) cycles pour valider le premier résultat; ensuite, à chaque cycle horloge, un nouveau résultat est élaboré, excepté pendant les W S premiers cycles de début de ligne.
La donnée d'entrée DATA est la même pour les sous-unités 6A et 6B en retardant cette donnée de la différence entre les cycles CyA et CyB, soit 4 lignes et deux colonnes, représentés par le retard colonne 60 et les 4 lignes à retard 59.
Les calculs étant synchronisés, il ne reste qu'à synchroniser les résultats sur la position P(i,j): - Val-8a, 8a est par construction à la bonne place, et donc sa sortie est directe.
- Val-(x, oc est valide au cycle CyC2 et donc il faut retarder ce 15 résultat d'une ligne, soit la valeur prise après un retard d'une ligne, et de deux colonnes, d'où l'introduction d'une unité retard colonne 61, pour être à la position P(i,j).
- L est valide au cycle CyB, il faut donc retarder cette donnée de quatre lignes, soit sa valeur prise après quatre retard d'une 20 ligne, et de sept retards d'une colonne, d'où l'ajout d'une unité retard colonne 62, pour être à la position P(i,j).
En général, le retard entre l'entrée DATA et la position P(i,j) est compensé par une harmonisation des signaux de synchronisations i et j dans l'unité 7, en introduisant un retard égal 25 au temps de calcul, soit dans le cas présent, (91+8) cycles horloge pixel.
La figure 12 illustre en détail les calculs inclus dans les sousunités 6B et 6C de l'unité 6 présentées dans la figure précédente.
Un signal numérique L(x,y,t), issu d'un flot de données DATA 30 séquencé pixel à pixel par une horloge CL, retardé de quatre lignes et de deux colonnes est introduit dans la sous-unité 6B en L0 et est retardé de la durée R d'une ligne, soit I colonnes, au passage de chacune des unités à retard 25.
Etant donné que l'on travaille en flot continu et avec des 35 blocs électroniques, ce qui provoque des retards internes successifs, tant en lignes qu'en colonnes, dans les opérations électroniques, le signal d'entrée sur la figure 12 correspond à l'instant actuel, la position P(i, j) calculé étant en retard de quatre lignes et de sept colonnes, il est donc mentionné en tant que L(i+7,j+4,t).
La valeur choisie pour W détermine le nombre d'unités à retard nécessaires, qui est égal à 2W. A titre d'exemple non limitatif, on a choisi W égal à trois, d'où les six unités à retard lignes 25 présente sur la figure 12, et donc les 2W+1 signaux 10 d'entrées, dénommés LO à L6 (lepremier non retardé, le deuxième retardé de R, le troisième de 2R, et ainsi de suite), appliqué à l'unité 27. Ainsi le signal L4 est constitué par L(i+7,j,t). Par ailleurs une unité à retard colonne 26 impose un retard de sept colonnes au signal L4 qui devient, en sortie de cette unité à retard, L(i,j) 15 fonction de t, (c'est la sortie L(i,j) de la sous-unité 6A de la figure 1).
Pour chaque pixel courant P(i,j), les unités 22a et 22b réalisent des filtrages orthogonaux, pour les fonctions précédentes et pour une résolution spatiale donnée W, en effectuant un produit 20 scalaire, qui représente une moyenne pondérée par les intensités lumineuses dans la configuration de valeurs de paramètres de la résolution spatiale selon les figures 14 et 15 autour du pixel courant, I'unité 22a calculant u, à l'aide de la configuration matricielle 27a pour fx donnée à la figure 14, et l'unité 22b 25 calculant v à l'aide de la configuration matricielle 27b pour fy donnée à la figure 15 avec: m=,W n=W m=W n=W u(,j,t) = Z Y L(i+m,+nt.) *fx(i+m,j+n) et V(,ijt) = L(i+m,,j+n,) * fY(i+mj+n) m=-W n=wV m=-W n=-W Le gradient 8G(x,y) qui est normalement perpendiculaire au bord extrait par les dérivées directionnelles u et v pour la position 30 de pixel P(i,j) extrait, est rendu parallèle au bord en utilisant le fait que le produit de pentes perpendiculaires est égal à moins un, donc ici le rapport u/v correspond à une variation dx/dy, possède un module égal à: p=(u +v2) et un angle a correspondant à la tangente au bord, donné par la formule classique: u = Arctg v D5 Ces calculs sont effectués par l'unité 23 avec une méthode de calcul CORDIC en un cycle horloge.
Un test de validité du module ainsi calculé est également fait par l'unité 24 qui valide, met à 1, un drapeau (flag) Val-ax si ce module est supérieur à un seul S1, le drapeau (flag) étant nul dans 10 le cas contraire.
Les sorties Val-a, a, et p, sont en avance d'une ligne et de deux colonnes par rapport à la position P(i,j), le signal p est donc retardé d'une durée R-1 égale à une ligne et d'une durée C-2 égale à deux colonnes et devient p(i,j), il en est de même pour le signal s Val-a, a qui devient Val-a(i,j) et ca(i,j).
L'unité 6C calcule la variation spatiale du signal a autour de la position P(i,j) au centre d'une matrice 3x3 et donc le signal Valc, ca est introduit en cascade dans deux unités retard ligne R afin de générer trois signaux d'entrées dénommés L0 à L2, appliqués à 20 la sous-unité 6C qui possède, pour chacune de ces entrées, deux registres à décalage colonnes en cascade, les neuf valeurs de a servant alors pour le calcul de 8a. Le calcul étant fait à la position P(i,j) et le résultat Val-8oL(i, j), 8a(i,j) est directement exploitable.
La figure 13 représente l'ensemble des éléments de calcul 25 nécessaire au produit scalaire entre un motif carré de taille 2W+1 et les données associées issues du flot de données d'entrée. Ces éléments de calcul sont organisés suivant une matrice carrée de même taille, avec un premier cumul du produit scalaire par ligne en parallèle, et, un cumul global, par les sommateurs 48 de tous les 301 cumuls primaires précédents, au cycle d'horloge suivant.
L'élément de base e(a,b) est constitué en général par trois entrées, deux fonction de calcul, et deux registres de mémorisation imposant un retard d'un cycle horloge pour l'élément suivant. Une exception est faite pour chaque extrémité de ligne: le premier élément ne possède pas encore d'élément de cumul ligne, et le dernier élément n'a pas besoin de retarder le flot de données d'entrée.
Cet élément de base e(a,b) est donc constitué par: - une entrée numérique correspondant à L(b) retardé de (a) colonnes et mémorisé dans un registre 44 de retard une colonne pour l'élément de colonne suivante. Sur la Figure 13 Z-1 correspond à un retard d'une colonne.
- une entrée numérique correspondant à la valeur G(a,b) sélectionnée dans la matrice 2W+1 du produit scalaire (le balayage de la matrice est de -W à +W).
- une unité 45 de multiplication entre les valeurs des deux entrées précédentes et - une unité 46 d'addition entre le résultat de la multiplication précédente et le résultat de l'addition de l'élément de colonne antécédente, la sortie de cette unité 46 étant mémorisée dans un registre retard colonne 47 pour l'élément de la colonne suivante.
La figure 16 représente une extension de la figure 1, à savoir 20 I'utilisation multiple de couples STN en vue d'extraire plusieurs zones d'une frontière telle que représentée en figure 17. Sur la figure 16, un premier couple de STN récupère l'orientation la plus représentée a50, I'unité de contrôle 13 recrute alors un autre couple de STN avec en inhibition la zone Z50 précédemment 5 trouvée, et initialise le processus décrit en figure 3, une seconde zone Z30 est alors trouvée et l'unité de contrôle 13 recommence le processus avec recrutement d'un nouveau couple STN qui permet de trouver une troisième zone Z10, le recrutement s'arrête lorsque le nombre de points de bords orientés devient inférieur à un seuil 30 S1. L'unité 8 de traitement spatial angulaire de la Figure 1 comporte donc, en plus, dans cette extension, au moins trois modules 8a, 8b, 8c de traitement spatial angulaire qui effectuent des calculs de rotation d'angle sur les coordonnées cartésiennes rectangulaires x et y de position i et j de pixel. L'angle 35 correspondant à chacun des calculs de rotation est représenté par une valeur 050, 030, 010, introduite dans le module correspondant.
Ces valeurs sont fournies par la combinaison fonctionnelle de la sousunité 6B de détermination et caractérisation angulaire de la Figure 1 avec les couples STN recrutés afin de produire au cours 5 de cycles successifs les valeurs d'angle de bords a50, ot30 et a10 ainsi que les zones et les barycentres correspondants. On a enfin représenté sur la partie droite de la figure 16 une ligne verticale symbolisant un bus de données numériques permettant de récupérer les résultats de calculs des registres des modules STN.
IX La figure 17 représente le résultat du traitement précédent.
Chaque zone Zi est étiquetée par son orientation ai et son centre BarZi de coordonnées Xzi et Yzi dans le repère orienté aid.
En d'autres termes, le procédé mis en oeuvre avec le dispositif précédemment décrit dans ses variantes consiste à effectuer en plusieurs étapes, sur au moins un signal temporel (luminosité dans l'exemple) et un signal spatial (coordonnées des points), les opérations successives suivantes sur l'ensemble des points de la représentation matricielle fournie par le transducteur: a) la détermination d'au moins un point correspondant à un 20 bord par détection, dans le signal temporel, d'une variation correspondant à une modification significative de la valeur dudit paramètre, le calcul de la valeur de l'angle a du bord en ce point avec un premier axe de coordonnées, Oc=arctg(u/v) avec u et v des dérivées directionnelles du premier ordre pour deux directions 25 orthogonales dans le signal temporel afin de produire un nouveau signal temporel d'orientation de bord, une donnée de validation Val-a fonction d'un seuil Sl étant associée, b) le traitement statistique des valeurs des angles a dans un couple de modules STN, un premier temporel recevant l'angle et le 30 second spatial recevant les coordonnées du point après rotation (d'angle nul pour la première séquence) afin d'obtenir la valeur la plus fréquente de l'angle définissant l'orientation privilégié du(des) bord(s), c) la rotation de la représentation matricielle du signal 35 spatial, une rotation d'un angle égal à ladite valeur la plus fréquente de l'angle de manière à rendre l'orientation du bord sensiblement parallèle audit premier axe de coordonnées, d) un nouveau un traitement statistique dans un couple de modules STN des positions des valeurs dudit angle calculées 5 précédemment afin d'obtenir au moins la position la plus fréquente définissant une zone (Z50, Z30, Z10) de position entre des bornes (BorneAst, BorneBt) de l'orientation privilégié et la position barycentrique (BarZa50, BarZ,30, BarZ,10) desdites positions, les opérations précédentes à l'intérieur de la zone de 10 position bornée en cours pouvant être répétées afin d'affiner la zone ou en excluant la zone précédemment trouvée afin de déterminer plusieurs zones.
Sur la figure 18 on a représenté une autre extension de l'invention qui peut être appliquée au dispositif de la figure 1 ou de 15 la figure 16 par exemple et qui permet de réaliser un filtrage (sélection) de frontière présentant une ou des courbures particulières: linéaire et/ou courbe et/ou coin. Elle consiste à prendre en compte la courbure du bord pour effectuer les extractions de zones de frontières. A cette fin, la variation d'angle 20 a est analysée dans un module STN 17 et comparé à au moins une valeur de seuil pour produire un signal qui permet de valider ou non le module STN 16 du couple de STN 15 et 16 qui correspond sur la figure 1 au couple STN 11A, 11B et sur la figure 16 au couple STN 15, 16 (ou 25, 26, ou 35, 36 suivant que l'on 25 veuille ou non prendre en compte la courbure du bord pour la zone correspondante). Ainsi on obtient un couplage, pour une position de pixel, de l'orientation et de la courbure du bord traité, avec la courbure comme critère de classification, afin de choisir entre les frontières rectilignes ou courbes ou cunéiformes (éventuellement 30 combinées). Avec une telle configuration fonctionnelle il est notamment possible de suivre des objets dont la frontière est courbe, comme par exemple une roue de véhicule ou un visage.
Comme on l'a vu, I'histogramme d'analyse des variations d'angle peut présenter trois pics et classes principales 35 correspondant à des bords linéaires, courbes ou des coins. Pour sélectionner plus particulièrement un des trois types de bords, par exemple les coins, il peut être avantageux d'utiliser des seuils de valeurs de 8Sa résultant d'un calcul et d'un test plutôt qu'une ou des valeurs absolues. Ces calculs et test permettent de 5 sélectionner des seuils qui donnent un nombre de coins compris dans une gamme de valeur prédéterminée suffisamment élevée pour avoir un nombre de coins significatif mais pas trop pour éviter de prendre en compte du bruit (des coins qui n'en sont pas). La gamme de valeur peut être choisie en fonction de la scène à 10 analyser: par exemple si l'on recherche un immeuble à toit plat dans une scène au moins quatre coins sont à prendre en considération (vue de face) ou six (vue en biais). On peut ainsi adapter les seuils de prise en compte des éléments de la scène.
La figure 19 correspond à une extension de l'invention qui a 15 été vue jusqu'à présent essentiellement dans sa partie analyse, avec introduction d'une partie de synthèse. Le bloc 100 de la figure 19 correspond schématiquement au dispositif et procédé, dans toutes leurs variantes, précédemment décrits et effectuant l'analyse de la scène. Une unité 200 récupère les différents objets 20 perçus de la scène provenant du bloc 100 d'analyse, sous la forme d'une série de paquets de données, chacun des objets étant au moins défini par une orientation et associé à un barycentre BarZoi de coordonnées Xzi et Yzi. Dans une variante, la longueur de la zone Zci est aussi associée aux données précédentes dans les 25 paquets de données. A l'intérieur de l'unité 200 est effectué un traitement spécifique permettant de reconstituer (synthétiser) des formes en rapport avec les objets perçus et ce résultat est transmis vers l'extérieur pour une utilisation ultérieure. En plus des paquets de données d'analyse provenant du bloc 100 et 30 représentés par une flèche pointant vers l'unité 200, on a représenté, en retour vers le bloc 100, des données Zlabel résultant du traitement dans l'unité 200 et qui correspondent à des représentations précédemment identifiées et mémorisées d'objets ou parties d'objets particuliers de la scène, ces objets mémorisés 35 sont transmis sous forme de LABEL qui sont des paquets de données caractérisant l'objet mémorisé, par exemple un barycentre et une orientation ou d'autres caractéristiques perceptibles par le bloc d'analyse, ces LABEL étant alors classiquement utilisés dans le bloc d'analyse soit pour aider à la perception, soit pour identifier spécifiquement les objets correspondants.
Notons qu'il est possible, en particulier lorsque l'on souhaite mémoriser des labels, d'effectuer plusieurs analyses d'une scène et de moyenner les résultats obtenus afin d'améliorer la précision.
Le moyennage des résultats d'analyse peut également être 10 effectué systématiquement ou seulement dans certaines applications comme par exemple celles où le transducteur, notamment une caméra, peut vibrer ou bouger non intentionnellement.
On peut également noter sur la Figure 19 qu'une 15 représentation en trois dimensions, 3D, est également possible en utilisant dans les blocs 300 et 400, les données concernant les variations d'angle produites par analyse dans le bloc 100 et en particulier les coins. On a en effet montré que l'utilisation des coins permet des reconstructions particulièrement robustes et 2{0 efficaces, notamment en considérant les relations entre les divers coins qui sont conservées malgré de possibles variations de l'angle de prise de vue et/ou de focale dans le cas d'images.
L'ouvrage Perception visuelle par imagerie vidéo sous la direction de Michel Dhome, ISBN 2-7462-0662-5, donne des 25 exemples de reconstructions à partir de points à type de coins.
Pour ce qui concerne l'animation de synthèse à partir de coins on peut notamment consulter dans cet ouvrage, dans le chapitre 5, la reconstruction 3D et la modélisation 3D.
Le traitement de synthèse qui va maintenant être explicité 30 permet notamment une représentation en deux dimensions, 2D, de la scène par reconstruction.
Afin de mieux présenter le traitement de synthèse qui est effectué, une présentation générale des outils utilisés, notamment la mise en oeuvre de courbes permettant de joindre et/ou d'ajuster 35 un tracé de courbe à des points, est maintenant effectuée. Les figures 20 et 21 représentent les éléments utiles à la synthèse d'image. Sur la Figure 20 est représentée une unique courbe cubique Q hermitienne permettant de joindre P1 et P4 qui sont deux points de contrôle avec R1 et R4 pour dérivées aux points de 5 contrôle. Sur la figure 21, une courbe de Béziers cubique, qui est une courbe hermitienne particulière, joint les points d'extrémités P1 et P4 avec pour dérivées aux extrémités R1 et R4, approximant une ligne polygonale de 4 points de contrôle P1, P2, P3 et P4, tel que R1=3(P2-P1) et R4=3(P4-P3). On comprend alors qu'à partir T0 de tels outils que sont ces courbes et les méthodes permettant de les faire passer par ou en relation d'ajustement par certains points et en utilisant pour points de contrôles et leurs dérivées successives les données reçues dans les paquets de données provenant de l'analyse, il est possible de passer de l'analyse à la 15 synthèse. Les points de contrôle correspondent alors aux barycentres et les dérivées sont obtenues à partir des valeurs d'angle a résultant de l'analyse, Izi et Jzi représentent un point de contrôle Poc, et tan(ai) la dérivée associée Rc. Pour le traitement de synthèse, un premier calcul assure une rotation de plan de -ci 20 afin d'avoir tous les points de contrôle dans un même référentiel de base l,J et permettre de faire passer une portion de courbe telle que définie précédemment entre les points de contrôle.
La figure 22 est un exemple de résultat d'un tel traitement qui a permis de synthétiser une courbe Cbe-1 passant par trois 25 barycentres de trois zones. Il est possible d'utiliser d'autres types de courbes, notamment, telles que les B-splines ou les courbes Bsplines non uniformes rationnelles (NURBS) découlant des courbes de Béziers précédemment décrites, et qui permettent de synthétiser des objets encore plus complexes tel que celui montré 30 à titre d'exemple sur la figure 23.
La synthèse peut être générique et prévoir la reconstruction de tout type d'objet d'une scène et tout type de relation entre les objets de la scène. On comprend alors que la reconnaissance des objets et la synthèse peuvent être plus coûteux en temps et 35 matériel. La synthèse peut être spécialisée en ce sens que l'espace, notamment la scène observée, et les objets qui peuvent s'y trouver aient des caractéristiques particulières qui sont connues à priori. C'est par exemple le cas dans des applications d'aide à la navigation de véhicules terrestres, maritimes ou aériens 5 qui à partir d'observation visuelle par caméra, radar ou autres moyens de capter l'espace, dans lequel les objets, leurs relations et la structuration de ces objets, notamment de la route, des voies aériennes ou d'une piste, d'un chenal maritime ou canal sont en nombre limité et connus à priori et peuvent être mémorisés sous 10 forme de labels.
Par exemple dans le cas de véhicules automobiles, les bords de voie de circulation sont des objets dont certaines caractéristiques (lignes de délimitation, disposition des lignes...) sont connues à priori. C'est ainsi que les figures 24, 25et 26 15 décrivent la relation géométrique qui existe entre la route et son image, ainsi que la représentation explicite et implicite des courbes formées par les bords de voie et de leur image.
Pour décrire le plus simplement possible la relation géométrique qui existe entre la route et son image, la camera est "- modélisé par une simple projection centrale sur le plan de la matrice des points de l'image de la caméra et le système utilise dans cet exemple quatre repères (ou référentiels) cartésiens bidimensionnels (plans): - Repère de la matrice des points de l'image de la caméra (I,J Figure 24 ou 25 par exemple), Repère de la focale camera (u,v Figure 24 ou 25 par
exemple)
- Repère du véhicule, - Repère de la route vue de dessus centré sur le véhicule V 30 (xv,yv Figure 26 par exemple), La figure 24 est une représentation de l'image perçue par le dispositif de la figure 1 et de ses extensions. Les données produites par l'analyse ont permis de déterminer deux zones Za et Zb appariées les plus proches du véhicule transportant la caméra 35 ainsi que leurs barycentres et leurs orientations de bord. Ces deux zones matérialisent les bords de la voie de circulation (par exemple les lignes blanches latérales continues ou non). A chaque zone est associé un triplet de valeurs {cOa,Xza,Yza} pour Za et {cb,Xzb,Yzb} pour Zb. A partir de ces triplets de valeurs il est possible de calculer l'équation des droites da et db et les coordonnées IH,JH de leur point de croisement que l'on a noté H (point de fuite) sur la Figure 24. Ces deux droites da et db forment un triangle à sommet H vers le haut. On peut alors également calculer le décalage D du point H par rapport à l'origine du repère 10 de la focale camera (0,u,v) ainsi que la relation entre les deux origines de repères matrice et caméra: u0,Vh. Notons que si d'autres zones de limite de voie de circulation que Za et Zb avaient été perçues sur une telle route droite, les droites correspondantes à da et db mais pour ces zones supplémentaires, se seraient 15 croisées sensiblement au même point H (à la précision et résolution près qui décroissent pour les objets les plus éloignés de la caméra).
* La figure 25 représente le modèle mathématique correspondant à la vue précédente de la figure 24 dans le cas de 0 repères matrice (I,J) et caméra (u,v). On a représenté sur cette Figure 25 les équations des droites da et db dans le repère caméra u,v, soit u=alJ3u+a0a(JuX/v)v et à u=alpU+aob(pu/J3v)v, et le décalage horizontal du point H, soit a1u, dans ce même repère.
Cette figure 25 est à mettre en relation avec la figure 26 qui représente le modèle mathématique de l'environnement du véhicule cette fois dans un autre repère qui est celui de la route vue de dessus centré sur le véhicule V d'axes de repère xv,yv. On y a représenté cette fois les équations des droites da et db dans ce repère, soit xv=aoa+a1yv et xv=a0b+ alyv.
0 On peut montrer qu'il existe une relation homomorphique entre ces repères caméra (u,v Figure 25) et route (xv,yv Figure 26) pour les objets de la scène. Les relations permettant de passer d'un repère à l'autre sont données aux Figures 25 (2.1) et 26 (2.2).
On peut constater que lorsque le véhicule se translate le long de 35 I'axe xv sur la route (Figure 26), alors le triangle défini par les droites da et db (Figure 25) tourne, et inversement. De même, lorsque le véhicule tourne sur la route (Figure 26) alors le point H se translate le long de l'axe u (Figure 25) et inversement. On peut donc passer d'un référentiel à l'autre par de simples opérations 5 mathématiques à la portée de tout homme du métier, ce dernier pouvant même classiquement trouver des relations entre le repère caméra et encore d'autres repères.
Ainsi, à partir des résultats issus du calcul du dispositif de l'invention avec les STN et le processeur 13, il est possible de 10 faire correspondre la scène perçue telle que représentée à la figure 24 avec le modèle mathématique de la figure 25 et finalement d'effectuer un changement de repère pour une représentation telle que celle de la figure 26 par l'exécution de l'organigramme de la figure 27 qui va maintenant être détaillé.
En se référant à la figure 27 on a l'organigramme de déterminations des paramètres de représentation en fonction des différents repères mis en jeu. Chaque zone Za et Zb est perçue par un couple k de modules STN et les résultats des couples, les triplets (ak, Xzk, Yzk) (1.1) qui sont dans un repère d'orientation 0 particulière (les coordonnées i,j ayant été passées à travers un module de rotation 9 (d'angle 0) de l'unité 8 de traitement spatial angulaire) sont remis dans un repère i,j par la fonction de rotation (1.2) inverse (d'angle -0) pour donner les triplets (ak, izk, jzk) (1.3). On peut alors déduire les équations des droites passant par 25 ces coordonnées (izk, jzk)et de pente d'angle ck par les équations en (1.4). Ces droites se croisent au point de fuite H de coordonnées iHjH calculées par les équations (1.5). On pose alors que Vh=jh (le point H est sur une horizontale passant par l'origine du repère caméra O,u,v) et que le décalage D de H par rapport à 30 I'origine du repère caméra est égal à iH-u0.comme indiqué en (1.6) On remarque en effet que quand un point au sol s'éloigne pour tendre vers l'infini, son image converge vers un point de la ligne d'horizon d'ordonnée VH égal à jH et si le véhicule est bien aligné sur la voie de circulation, alors u0 est égal à iH, et un écart D 35 correspondant à une orientation du véhicule sur la voie est calculable comme indiqué en (1.6). On pose alors les équations des droites da et db dans le repère caméra u,v comme étant égales respectivement à u=alpu+aoa(u/13v)v et à u=al13U+aob(13u/3v)v. On peut alors déduire les relations suivantes exprimées en (1.7): 5 a13,u=D, aoa(p3u/Pv)=tanoa et aob(J3u/pv)=tanob. On peut alors calculer les paramètres des équations de droites cette fois dans le repère route Xv,Yv comme représenté sur la Figure 26, droites d'équation xv=aOa+alyv et xv=aob+a1yv respectivement grâce aux opération indiquées en (1.8) de la Figure 27. Si certains objets de la scène 10 ont des dimensions connues, notamment la largeur de la voie de circulation (distance L sur la Figure 26) et la longueur d'un élément de bande latérale discontinue (B sur les Figures 25 et 26), il est alors possible d'étalonner le système par les calculs indiqués en (1.9) Figure 27.
Le système de transformation de coordonnées (2.1) de la figure 25 ainsi défini est très simple et c'est une transformation homographique particulière (c'est à dire que chaque coordonnée est un rapport de transformation linéaire de coordonnées, de même dénominateur) entre les points de l'image sous la ligne d'horizon et 20 les points du sol devant le véhicule. La transformation inverse (2.2) de la figure 26 qui fait passer d'un point de l'image à un point au sol est aussi homographique. On note que dans cette configuration particulière, seulement quatre paramètres doivent être estimés pour complètement caractériser la transformation entre le sol et l'image: pu, Pv,, u0, VH et que par connaissance de caractéristiques spécifiques de la voie de circulation telle que L, la largeur de voie et B la longueur d'un élément de la bande discontinue, il est possible d'estimer Pu et 3v. Il est également simple de passer du repère matrice (I,J) au repère caméra (u,v) et 30 inversement avec u0, Vh.
On peut également indiquer que dans le cas de limites de voie de circulation qui sont parallèles entre-elles, la différence tanaa-tancb est une constante. Il est alors possible, lorsque qu'il n'y a plus de perception d'une des limites de voie, de pouvoir 35 effectuer des analyses complémentaires dans la région estimée de présence de la limite qui a été perdue. Il est également possible d'améliorer la rapidité de perception en concentrant l'analyse sur la région estimée de l'une des limites par rapport à l'autre. La possibilité d'anticipation offerte par mise en oeuvre de modules 5 STN ayant cette faculté peut être utilisée dans ce dernier cas: le système anticipant vers la région estimée d'apparition d'une perception.
Dans le cas d'une route droite, la perception correspond à un triangle qui est une figure relativement simple. On peut alors 10 mémoriser cette figure sous forme d'un LABEL définissant les caractéristiques du triangle (relations entre coins, entre barycentres de zones, paramètres des droites...) pour comparaison ultérieure.
On peut noter que ce sont les zones perçues les plus 15 proches de la caméra (du véhicule) qui donnent le maximum de précision par rapport à d'autres zones détectées plus éloignées. Il est donc particulièrement intéressant de pouvoir commencer à analyser les images de la scène en commençant par les points de la matrice correspondant aux objets les plus proches afin d'obtenir L2 un résultat précis le plus rapidement possible. En effet, dans l'exemple présenté où l'origine du repère matriciel est en haut à gauche, il faut attendre la réception de la plus grande partie de l'image pour pouvoir commencer à travailler sur les points donnant les résultats les plus précis. On propose donc de mettre en oeuvre 25 un transducteur qui envoi les séquences et sous séquences de données dans le système d'analyse en commençant par les points correspondant à des objets les plus proches de la caméra. Un tel résultat peut par exemple être obtenu avec un transducteur dont la matrice de captage est balayée à l'envers, c'est à dire en 30 commençant en bas à droite (ou gauche) au lieu d'en haut à gauche comme ce qui est fait classiquement. On peut également obtenir le même résultat en retournant la caméra pour avoir une image inversée, le bas de la scène étant alors analysé en premier.
Jusqu'à présent on a considéré une voie de circulation qui 35 est linéaire. Le dispositif de l'invention peut également être utilisé dans le cas où la voie de circulation s'infléchie et donc que la route présente un virage ou tournant. La figure 28 (repère matriciel) représente un tel cas simplifié où l'on ne considère que la limite droite de la voie de circulation. La Figure 31 (repère 5 matriciel), quant à elle, est avec deux limites latérales. Sur ces deux Figures 28 et 31 les zones perçues de limite(s) de voie de circulation, déterminées par le système d'analyse,présentent des orientations différentes et leurs barycentres m, n, o (ou ma,na,oa et mb,nb,ob si l'on considère les deux limites latérales) sont reliés sur 10 les figures par une courbe synthétisé. La première zone de barycentre m (ou ma,mb) avec la droite dm portée par ladite zone (ou les droites) définit un point de fuite en Vh, U0. La deuxième zone de barycentre n (ou na,nb) avec la droite dn (ou les droites dna,dnb) définit un point de fuite Vh,alu. La troisième zone de 15 barycentre o (ou Oa,Ob) avec la droite do (ou les droites doa,dOb) définit un point de fuite Vh,a23pu. Les écarts a1f3u. et a23U sur l'horizontale correspondent à une rotation tel que cela a été décrit précédemment. Ces points de fuite (équivalents de H) sont obtenus en mettant en oeuvre les opérations présentées pour le cas d'une 2zO route droite et notamment l'organigramme de la Figure 27.
Ainsi, comme précédemment des équations de droites sont calculées à partir de triplets de résultats liés à chaque zone perçues de limite de voie de circulation déterminée par analyse.
Toutefois, sur la Figure 28 (ou 31) et contrairement au cas de la 25 route droite, les points de croisement deux à deux des droites n'arrivent plus au même emplacement (le point H précédent) pour les droites portées par les zones perçues de limite de voie dans la région de courbure de la route mais se répartissent le long de l'horizontale Vh.
On peut donc déterminer simplement l'existence d'un virage, en première intention, par la variation d'orientation aLm n aO des zones de limite de voie de circulation ou, en seconde intention, par calcul des points de fuite (H) pour les différentes zones perçues et en particulier les points de fuite de zones appariées (ma,mb ou.35 na,nb ou Oa,Ob Figure 31) qui ne correspondent alors plus pour les différentes zones: le décalage ai3u évoluant. Il est également possible de déterminer les caractéristiques du virage, notamment son commencement et les rayons des deux limites de voie de circulation par des calculs qui vont maintenant être présentés.
A cette fin, on utilise une procédure simplifiée qui considère par hypothèse que la courbure de la voie de circulation est un arc de cercle et qui utilise deux points (barycentres de zones) adjacents pour ajuster ledit arc de cercle. Cette hypothèse est représentée sur la figure 29 où on a représenté dans un repère du 10 type route, mais avec une origine liée au barycentre m pour faciliter l'explication, la limite de voie de circulation passant par les barycentres m, n, o des zones perçues et qui était vue dans le repère matriciel sur la Figure 28. Comme précédemment, à chaque zone perçue par un couple de modules STN, un triplet (ak, Xzk, 15 Yzk) est associé. Comme précédemment, on effectue une opération de rotation -0 permettant de replacer les triplets dans un repere l,J puis on détermine selon les modalités expliquées précédemment (organigramme de la Figure 27) les paramètres pour pouvoir calculer les relations (2.1) et (2.2) (Figures 25 et 26) 0 permettant de passer d'un repère matriciel ou caméra (Figure 28) vers un repère route (Figure 29) et réciproquement. Connaissant ces relations on peut alors calculer le rayon de l'arc de cercle passant par un des points (barycentres), sur la Figure 29 le point n, par R=xn/(1-sincl), la droite passant par le centre du cercle et 25 le point n ayant une pente -1/al. On peut également calculer la distance d du début du virage par rapport au véhicule par d=yn+(xn-R)/tancl.
L'organigramme de la Figure 30 résume ces étapes de calcul.
Dans un premier temps on considère la zone perçue la plus proche 30 de la caméra et on considère que la route est encore droite entre le véhicule et le barycentre de cette zone, point m en l'espèce. Il en résulte que sur une représentation en repère route simplifié, le point m est sur une droite verticale, que l'on a donc fait croiser pour simplifier les calculs et l'explication l'axe xv à l'origine 0 (de 35 ce fait la droite Om est sur l'axe Yv). On considère la zone suivante perçue, de barycentre n en l'espèce, qui est située en xn,yn dans le repère route simplifié par application des équations (2.1) (2.2) de changement de repère. On peut alors calculer le rayon R et la distance du virage comme indiqué cidessus.
La Figure 32 (repère route) est la pendante de la Figure 31 (repère matrice). Pour simplifier les explications et calculs en relation avec les Figures 29 et 30 on a considéré en repère route simplifié le point m sur l'axe Yv. En pratique et comme vu dans le cas de la route droite, I'origine 0 du repère route est centré sur le 10 véhicule et les points ma et mb sont donc situés latéralement par rapport à l'origine dans un tel repère. Les calculs du rayon du virage et de la distance de début de virage doivent donc prendre en compte ce décalage par rapport à l'origine par rapport aux formules simplifiées d'explication. Sur cette Figure 32 on a E5 déterminé les deux rayons intérieur Rint et extérieur Rext du virage et la distance au début du virage (distance verticale de l'origine 0 à ligne horizontale en pointillés).
Enfin, concernant le nombre de zones à considérer, pour une route avec virage, sur les Figures 28 (ou 31) on a considéré trois 2) (ou six) zones. Toutefois, comme on l'a vu, la méthode de calcul du rayon de la limite de voie de circulation utilise deux points (barycentres de zone) à chaque fois et on peut donc limiter le nombre de zones à percevoir à un minimum de deux. Les outils introduits précédemment permettent d'obtenir des résultats 25 relativement simplement dans le cas de virage sur la voie de circulation. Toutefois, en acceptant des calculs plus importants, il est possible d'utiliser une méthode mathématique qui considère plus de deux zones à la fois et/ou des courbes qui sont plus complexes que des arcs de cercle.
Les exemples d'application à la détermination de limites de voie de circulation ont été basés sur un cas simplifié dans lequel on ne détecte que deux séries de bords orientés correspondants aux limites de voie. Dans la pratique, le dispositif présenté peut être amené à détecter plusieurs séries de bords orientés 35 correspondants à diverses lignes continues ou non de segmentation/délimitation de chaussée. Si l'on peut trouver sur une voie a sens unique seulement deux lignes latérales, le plus souvent sur une voie à double sens on trouve deux lignes latérales et une ligne centrale de séparation de sens de circulation, le 5 nombre de lignes pouvant également varier en fonction du nombre de voies pour un même sens de circulation. Le dispositif sera donc amené d'une part à déterminer les limites de la voie sur laquelle le véhicule circule, les bords latéraux les plus proches, aussi, selon les cas, les limites (possiblement commune d'un coté) des autres 10 voies à partir de bords plus éloignés (sur une horizontale). De même dans ces exemples, on a considéré que la route est plate et que les points de fuite H se retrouvent approximativement sur une horizontale (axe u en l'espèce). Toutefois, dans la pratique, la route peut présenter des ondulations plus ou moins prononcée qui 15 font que le point de fuite peut se déplacer également verticalement et on en tient donc compte par l'intermédiaire d'une tache de supervision contrôlant u0 et vh.
La figure 33 donne la représentation symbolique sous forme d'image correspondant à un LABEL ou étiquette d'un objet voie de 20 circulation (Label_Route) dans le cas d'une route avec virage. Le LABEL peut être obtenu par synthèse en appliquant des courbes telles que définies précédemment en relation avec les figures 20 à 23 sur les données fournies par le dispositif de l'invention lors de l'analyse de la scène. Une manière plus simple de définir un tel 5 LABEL est de considérer les différents rectangles définis par les droites passant par les différentes zones perçues dans le virage (comme on l'a proposé pour la route droite en considérant un rectangle). Dans ce cas on ne considérera que des portions de rectangles qui sont limités latéralement par une zone (il est alors 30 préférable de calculer la longueur de la zone lors de l'analyse et de transmettre cette donnée avec l'angle et la position du barycentre), ces différentes portions de rectangles étant associées entre-elles (OU). Par exemple, en reprenant la Figure 31, la portion de rectangle défini par les zones de barycentre ma et mb 35 s'arrête vers le haut sensiblement le long d'une ligne passant sur les extrémités supérieures des zones de barycentre ma et mb. De même, la portion de rectangle défini par les zones de barycentre na et nb commence vers le bas sensiblement le long d'une ligne passant par les extrémités inférieures desdites zones de 5 barycentre na et nb et s'arrête vers le haut sensiblement le long d'une ligne passant sur les extrémités supérieures desdites zones de barycentre na et nb. Et ainsi de suite.
On rappelle que les labels correspondent à des représentations symboliques d'objets ou parties d'objet de 10 l'espace, soit sous forme d'ensembles de données brutes résultant d'analyse, notamment positions de barycentres, angles, etc., soit sous forme de représentations plus évoluées, notamment résultant de synthèse comme les paramètres des courbes obtenues ou, à la limite, sous forme d'image. Ces labels qui sont mémorisés 15 permettent l'identification d'objets ou parties d'objet au fur et à mesure de leur perception par le dispositif par détection dans la perception d'une correspondance entre les données de perception et les données de labels mémorisés. On comprend qu'il est préférable que les labels soient représentés sous forme de 20 données brutes afin de faciliter la détection d'une correspondance et éviter une étape supplémentaire pouvant consister en une synthèse à partir des données perçues pour permettre la détection d'un label résultant lui aussi d'une synthèse.
Dans la description précédente des procédés mis en oeuvre 25 pour déterminer les limites de voie de circulation on a considéré une caméra qui est situé sur le véhicule, par exemple dans le rétroviseur intérieur, et orientée vers l'avant. On comprend bien que les moyens indiqués puisse également être appliqués avec des caméras orientées vers l'arrière et, par exemple, dans un ou les 30 deux rétroviseurs latéraux, le défilement de la route et les rotations se trouvant toutefois inversés par rapport à ceux d'une caméra orientée vers l'avant.
La figure 34 donne un exemple de mise en oeuvre de l'invention dans un véhicule 500 routier d'un conducteur. Selon le 35 type d'application souhaité qui concerne plus particulièrement la sécurité, notamment suivi de voie, anti-collision frontale, voire encore anti-collision latérale, une caméra frontale, vers l'avant du véhicule est utilisée, voire, en plus, une ou deux latérales dans les rétroviseurs (permettant éventuellement également de venir 5 compléter la fonction de suivi de voie principalement obtenue avec la caméra frontale). Sur la figure 34 on a représenté trois caméras, une frontale vers l'avant (champ de vision 501) et deux latérales vers l'arrière et le coté correspondant (champ de vision 503 pour l'une), avec leurs champs de vision respectifs qui englobent des l0 lignes discontinues latérales au véhicule et délimitant la voie de circulation. Les flux de données produits par ces caméras sont envoyés vers le dispositif de l'invention schématisé à l'intérieur du véhicule sous forme de deux blocs fonctionnels, le premier 100 pour analyse, le second, 505 pour synthèse, visualisation et/ou 15 actionnement d'effecteurs (freinage, direction...).
Le dispositif de l'invention après analyse et synthèse peut présenter au conducteur l'environnement du véhicule sous forme d'une image représentant le véhicule 500 sur la route vu de dessus comme sur la figure 35. Sur cette figure 35, le véhicule du 20 conducteur 500 est symbolisé par un pavé grisé et les différentes voies de circulation par des bandes de roulement délimités par des lignes, ici continues mais pouvant être discontinues en fonction du type de lignes de séparation (continues ou non) de l'espace et qui ont été synthétisé sur l'image présentée. Les autres véhicules 502 5 et 504 perçus dans l'espace sont synthétisés sous forme de pavés se distinguant du véhicule du conducteur. Des alertes de perte de trajectoire dans le cadre de la fonction suivi de trajectoire peuvent être générées en fonction de la position du véhicule du conducteur dans la bande de roulement et/ou position du véhicule par rapport 30 par rapport aux lignes de délimitation latérales de la voie de circulation, en dehors de la position elle-même du véhicule, la trajectoire du véhicule par rapport à la bande de roulement ou les lignes de délimitation peut être prise en compte pour ce type d'alerte. Des alertes anti-collision peuvent être générées en 35 fonction de la distance des véhicules entre-eux et de leurs trajectoires relatives respectives. La trajectoire peut être estimée en fonction de la direction générale passée du véhicule et/ou un transducteur peut être relié au volant du véhicule du conducteur.
Des applications de l'invention sont ainsi possibles à type de 5 suivi et anticipation de la trajectoire d'un véhicule dans un espace quelconque (aérien, maritime, terrestre) et notamment routier. De plus, des alertes anti-collision sont permises par la détection des autres véhicules(ou aéronefs ou navires) en fonction de la trajectoire (et éventuellement vitesse) du véhicule (ou aéronef ou 10 navire) qui comporte l'invention, voire également en fonction des trajectoires de ces autres véhicules (et éventuellement de leurs vitesses) selon des modalités connues notamment dans la surveillance du trafic aérien ou maritime. Ces autres véhicules peuvent être détectés vers l'avant mais également vers l'arrière au cas où une/des caméra latérales seraient mises en oeuvre. On comprend bien que dans le cas de véhicules aériens ou maritimes la caméra puisse être remplacée par un radar tel que classiquement utilisé dans ces domaines.
Les exemples d'applications précédents qui sont 2(0 principalement en relation avec la sécurité peuvent être combinées à d'autres et notamment à la détection de l'endormissement du conducteur comme expliqué dans les demandes WO99/36893 et W099/36894 dont l'inventeur est le même que pour la présente demande et auxquelles on pourra éventuellement se référer. On a 25 donc représenté plusieurs modalités de mise en oeuvre pratique d'une telle combinaison sur les figures 36 à 39.
Pour détection de l'endormissement, le visage du conducteur doit être filmé et le positionnement de la caméra dans le rétroviseur intérieur est particulièrement intéressant. De même, le 30 positionnement de la caméra frontale pour filmer la route dans le rétroviseur est intéressant car la route est alors vue d'un point relativement haut. Une telle configuration avec prise de vue du visage du conducteur et de la route vers l'avant à partir du rétroviseur est représenté sur la figure 36. On peut donc profiter 35 de la présence de ces moyens de prise de vue dans le rétroviseur pour simplifier le traitement des vues en utilisant qu'un seul dispositif selon l'invention pour assurer toutes les fonctions de sécurité souhaitées liées à une prise de vue vers l'avant et avec détection de l'endormissement. A cette fin, le dispositif perçoit une image qui correspond à la figure 37 avec sur la partie gauche le visage et sur la partie droite la route à l'avant. Un tel résultat peut être obtenu d'une manière simplifiée avec un seul transducteur 2a de type caméra et un moyen de réflexion de renvoi optique soit pour la route, soit pour le visage. Sur la Figure 38, c'est la 10 dernière configuration qui est représentée avec renvoi pour le visage avec un prisme réflecteur 180 qui permet de renvoyer sur une première partie du transducteur (caméra) le visage, I'autre partie du transducteur recevant directement la route. Des moyens de mise au point permettent la mise au point rapprochée sur le 15 visage d'une part, et la mise au point lointaine pour la route. En alternative, deux transducteurs 2a peuvent être utilisés comme représentés sur la figure 39. Dans ce dernier cas, les transducteurs sont de préférence synchronisés entre eux afin de faciliter le traitement des deux images reçues séparément. 2o
Claims (39)
1. Procédé automatisé de perception d'un objet dans un espace spatiotemporel représenté par un transducteur en un 5 ensemble de données associées à des pixels ou points formant ensemble un espace multidimensionnel évoluant dans le temps et représenté à une succession de moments T, lesdites données étant sous forme d'un signal de transducteur numérique composé d'une suite de nombres binaires associés à des signaux de 10 synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des séquences périodiques organisées en sous séquences successives de données, lesdites données étant caractérisables par au moins 15 un paramètre, ledit procédé comportant une première étape dans laquelle, d'une part, on caractérise le signal du transducteur sous forme de signaux temporels représentatifs desdits paramètres au cours du temps pendant ladite période et, d'autre part, on produit en concordance un signal spatial représentatif des coordonnées 20 des données successives du signal du transducteur, ledit procédé comportant une seconde étape d'analyse pendant au moins une séquence du signal du transducteur et dans laquelle on met en oeuvre sous contrôle d'un programme applicatif, au moins un couple (11A,11B) (12A,12B) (15,16) (25,26) (35,36) de neurones 2û spatio- temporels, dits modules STN (STN1, STN2), recevant chacun des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro annotation, des résultats de classification en sortie et des résultats statistiques dans des registres, le premier module (11B) (12B) (16) 30 (26) (36) STN (STN2) du couple recevant en entrée de paramètre(s) au moins un signal temporel et le second module (11A) (12A) (15) (25) (35) STN (STN1) du couple recevant en entrée de paramètre(s) le signal spatial ayant subit une opération de rotation (9) (10) (8a) (8b) (8c) d'angle pour changement d'axes 35 de coordonnées, la sortie du premier module STN étant renvoyée en entrée de rétro annotation sur le second module STN et la sortie du second module STN étant renvoyée en entrée de rétro annotation sur le premier module STN, caractérisé en ce que lors de la première étape, en complément 5 des signaux temporels initiaux, on calcule (6B) un nouveau signal temporel de bord orienté qui caractérise la présence ou non de points correspondants à des bords d'objets, ledit calcul consistant à associer à chaque point, d'une part, au moins une valeur d'angle a d'orientation du bord en ce point avec un axe de coordonnées, 10 soit dans le cas d'un espace à deux dimensions par calcul de c=arctg(u/v) avec u et v des dérivées directionnelles du premier ordre pour deux directions orthogonales du ou des signaux temporels initiaux servant à calculer le nouveau signal temporel de bord orienté et, d'autre part, une valeur binaire de validation ou 1 non Val-ca associée à a et prenant une première valeur de validation si le module p=(Ewi2)112 est supérieur à un seuil S1, l'indice i étant la dimension de l'espace, soit dans le cas d'un espace à deux dimensions p= (u2 +v2), et prenant une seconde valeur de non validation dans le cas contraire, afin de permettre 0 une détermination et caractérisation de bords d'objets.
2. Procédé selon la revendication 1, caractérisé en ce que pour le calcul (6B) d'un nouveau signal temporel de bord orienté on utilise un sousensemble des données duldes signaux temporels initiaux et une résolution spatiale réduite par un filtrage 25 passe-bas desdites données par application d'une fonction de filtrage multidimensionnelle, la résolution étant fonction de la valeur d'un paramètre de résolution W. 3. Procédé selon la revendication 2, caractérisé en ce que dans le cas d'un espace à deux dimensions, u et v sont calculés 30 par les produits scalaires suivants avec L correspondant aux données, fx et fy correspondant à deux matrices de dérivation intégrant un filtrage spatial gaussien suivant deux axes orthonormés: m=W n=W m=W n=W u(iJt): = L(i+m j+ n,) * fx (i+mj+n) et V(i,j,t) = E L(=+m,,+,,) * fY(,+mJ+.) m=-W n-W m=-W n=-W 4. Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que, pendant une séquence, on envoie la valeur d'angle a du signal temporel de bord orienté en entrée de paramètre d'un premier module (11B) (16) (26) (36) STN d'au moins un couple de 5 neurones spatio-temporels et en ce que l'on utilise les résultats du calcul d'histogramme sur les angles a du premier module STN pour modifier l'angle O de rotation (9) (8a) (8b) (8c) pour la séquence suivante et en ce que pour l'analyse de l'angle d'orientation a dans le premier module STN (11B) (16) (26) (36), on ne prend en 10 compte que les points dont Val-a est égal à la première valeur de validation.
Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'on détermine pour chaque couple de neurones spatio-temporels (11A,11B) (15,16) (25,26) 15 (35,36) analysant le signal de bord orienté au moins un barycentre de zone (BarZJ) et une orientation de zone a.
6. Procédé selon l'une quelconque des revendications I à 5, caractérisé en ce qu'en outre, lors de la première étape, on calcule à partir du signal temporel de bord orienté (6C) un nouveau signal I2 temporel de variation d'orientation de bord qui caractérise la variation 8a d'angle de points de bords d'objets, ledit calcul consistant à effectuer pour chaque point considéré une différence en valeur absolue entre les valeurs d'angles a de deux points de bords adjacents situés de part et d'autre du point considéré sur 25 une même ligne passant par le point considéré, ligne fonction de l'angle ao du point considéré, afin d'obtenir une information sur la courbure locale du bord et en ce que l'on y associe une valeur binaire de validation ou non Val-8a prenant une première valeur de validation si la variation est valide et prenant une seconde valeur 30 de non validation dans le cas contraire, une variation étant valide si, lors du calcul, le point considéré et les points adjacents fonction de l'angle a du point considéré ont tous la première valeur de validation pour Val-a.
7. Procédé selon la revendication 6, caractérisé en ce que, 35 pendant une séquence, on envoie la valeur de variation ôa d'angle du signal temporel de variation d'orientation de bord en entrée de paramètre d'un premier module (12B) STN d'au moins un couple de neurones spatio- temporels et en ce que pour l'analyse de la variation 6Sa de l'angle d'orientation dans le premier module STN 5 (12B), on ne prend en compte que les points dont Val-6a est égal à la première valeur de validation.
8. Procédé selon la revendication 7, caractérisé en ce que dans le cas de couples de neurones spatio-temporels (12A,12B) traitant le signal temporel de variation d'orientation de bord, 10 lI'angle de rotation y (10) reste constant au cours des séquences.
9 Procédé selon l'une quelconque des revendications 6 à 8, caractérisé en ce que l'on détermine pour chaque couple de neurones spatio-temporels (12A,12B) analysant le signal de variation d'orientation de bord au moins un barycentre de zone 1 (BarZô,) et une variation Sa.
10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'on répète au cours du temps sur plusieurs séquences l'étape d'analyse du signal temporel de bord orienté avec recrutement progressif de couples (15,16) 20 (25,26) (35,36) de neurones spatio-temporels afin de déterminer une suite de bords orientés et de façon à ce que: pendant la première séquence avec un premier couple (15,16) de neurones spatio-temporels on utilise un angle de rotation 0 nul et que à la deuxième séquence, un nouveau couple (25,26) de neurones spatio- temporels est mis en oeuvre avec un angle. de rotation 0 résultant du calcul d'histogramme du premier couple à la première séquence et le signal de sortie de classification du second module STN du premier couple étant envoyé en entrée de,30 rétro annotation pour inhibition du second module STN du nouveau couple, et ainsi de suite, un nouveau couple étant mis en oeuvre à chaque nouvelle séquence, I'angle de rotation 0 pour le nouveau couple résultant du calcul d'histogramme par un couple précédent 35 à la séquence précédente, le second module STN du nouveau couple recevant en entrée de rétro annotation pour inhibition l'ensemble des sorties de classification des second module STN mis en oeuvre.
11. Procédé selon l'une quelconque des revendications 6 à 9, 5 caractérisé en ce que l'on détermine un bord orienté en fonction de la variation de l'orientation dudit bord, un module STN supplémentaire (17) étant ajouté à un couple (15,16) de neurones spatio-temporels analysant oa, ledit module STN supplémentaire (17) recevant en entrée de paramètre le signal temporel de 10 variation d'orientation ôa et en entrée de rétro annotation le signal de classification produit en sortie du second module STN (15) du couple et ledit module STN supplémentaire (17) produisant en sortie un signal de classification envoyé en entrée de rétro annotation du premier module (16) STN du couple.
12. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'on détermine pour chaque couple de neurones spatio-temporels (11A,11B) (15,16) (25,26) (35,36) au moins un barycentre de zone et une orientation de zone et on exécute une phase de synthèse permettant de construire un 210 contour par ajustement d'une courbe par rapport aux barycentres.
13. Procédé selon la revendication 12, caractérisé en ce que l'on détermine en outre des labels par mémorisation de résultats d'analyse et/ou de synthèse d'objets.
14. Procédé selon l'une quelconque des revendications 6 à i5 13, caractérisé en ce que l'on utilise des bords orientés pour lesquels la variation d'orientation 8oa est particulièrement élevée, lesdits bords correspondant alors à des coins d'objets, comme points d'accroche par rapport à un fichier d'objet maillé 3D afin de produire une animation de synthèse.
0 15. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le transducteur est une caméra vidéo, I'espace est une scène et sa dimension est deux et en ce que dans le cas où une variation 8o de l'angle a est calculée, les points adjacents pouvant être utilisés pour le calcul de la variation 8ox sont compris dans une matrice 3x3 centrée sur le point de bord considéré.
16. Procédé selon la revendication 15, caractérisé en ce que le signal du transducteur est envoyé de façon à ce que le premier 5 point envoyé d'une séquence est dans une sous-séquence représentant des objets de l'environnement les plus proches de la caméra.
17. Procédé selon la revendication 15 ou 16, caractérisé en ce que l'espace est une route et que l'on dispose au moins une n caméra dans le rétroviseur d'un véhicule, la caméra étant orientée vers l'avant du véhicule et que l'on détermine au moins deux limites de voie de circulation latéralement au véhicule à partir des bords orientés déterminés.
18. Procédé selon la revendication 17, caractérisé en ce que 15 l'on dispose au moins une caméra latéralement au véhicule, ladite caméra étant orientée latéralement et vers l'arrière et étant dans un rétroviseur latéral.
19. Procédé selon la revendication 17 ou 18, caractérisé en ce que l'on détermine pour chaque bord orienté d'un couple de 20 neurones spatiotemporels (11A,11B) (15,16) (25,26) (35,36) au moins un barycentre de zone et une orientation de zone et on détermine parmi les zones des zones appariées de limite de voie de circulation, pour chaque zone appariée de limite de voie on détermine l'équation d'une droite portée par ladite zone et on 25 calcule la position H de leur point de croisement.
20. Procédé selon la revendication 19, caractérisé en ce que l'on détermine en outre des équations de changement de repère permettant de passer d'une représentation dans le repère de la caméra vers un repère route vue de dessus et centré sur le 30 véhicule et inversement.
21. Procédé selon la revendication 20, caractérisé en ce que l'on caractérise un virage d'une voie de circulation par un arc de cercle et que l'on calcule au moins les rayons de ses limites latérales, la présence d'un virage étant détectée par un décalage 35 linéaire de la position H du point de croisement de droites de zones appariées successives dans une même séquence dans un repère caméra.
22. Procédé selon la revendication 21, caractérisé en ce qu'en cas de détection d'un virage on actionne un dispositif de 5 rotation de l'éclairage du véhicule disposé dans le phare du véhicule en vue d'éclairer la voie de circulation dans le virage.
23. Procédé selon l'une quelconque des revendications 17 à 22, caractérisé en ce qu'en outre on effectue une recherche de l'endormissement du conducteur du véhicule, le visage du 10 conducteur étant capté par une partie de la caméra.
24. Procédé selon l'une quelconque des revendications 17 à 22, caractérisé en ce qu'en outre on effectue une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une seconde caméra.
IS 25. Dispositif automatisé de perception d'un objet dans un espace spatio-temporel représenté par un transducteur en un ensemble de données associées à des pixels ou points formant ensemble un espace multidimensionnel évoluant dans le temps et représenté à une succession de moments T, lesdites données t0 étant sous forme d'un signal de transducteur numérique composé d'une suite de nombres binaires associés à des signaux de synchronisation permettant de définir le moment T de l'espace et la position dans cet espace auxquels les données reçues à un instant donné sont associées, le signal numérique comportant des 25 séquences périodiques organisées en sous séquences successives de données, lesdites données étant caractérisable par au moins un paramètre, ledit dispositif comportant des moyens permettant dans une première étape, d'une part, la caractérisation du signal du transducteur sous forme de signaux temporels représentatifs 30 desdits paramètres au cours du temps pendant ladite période et, d'autre part, en concordance, la production d'un signal spatial représentatif des coordonnées des données successives du signal du transducteur, lesdits moyens permettant dans une seconde étape une analyse pendant au moins une séquence du signal du 35 transducteur avec, sous contrôle d'un programme applicatif, au recevant chacun des données en entrée de paramètre(s) et produisant par calcul d'histogrammes, en fonction d'au moins une entrée de rétro annotation, des résultats de classification en sortie et des résultats statistiques dans des registres, le premier module 5 (11B) (12B) (16) (26) (36) STN (STN2) du couple recevant en entrée de paramètre(s) au moins un signal temporel et le second module (11A) (12A) (15) (25) (35) STN (STN1) du couple recevant en entrée de paramètre(s) le signal spatial ayant subit une opération de rotation (9) (10) (8a) (8b) (8c) d'angle pour 10 changement d'axes de coordonnées, la sortie du premier module STN étant renvoyée en entrée de rétro annotation sur le second module STN et la sortie du second module STN étant renvoyée en entrée de rétro annotation sur le premier module STN, caractérisé en ce que le dispositif permet une détermination et 15 caractérisation de bords d'objets avec, lors de la première étape, en complément des signaux temporels initiaux, le calcul (6B) d'un nouveau signal temporel de bord orienté qui caractérise la présence ou non de points correspondants à des bords d'objets, ledit calcul consistant à associer à chaque point, d'une part, au 20 moins une valeur d'angle a d'orientation du bord en ce point avec un axe de coordonnées, soit dans le cas d'un espace à deux dimensions par calcul de a=arctg(u/v) avec u et v des dérivées directionnelles du premier ordre pour deux directions orthogonales du ou des signaux temporels initiaux servant à calculer le nouveau 25 signal temporel de bord orienté et, d'autre part, une valeur binaire de validation ou non Val-a associée à a et prenant une première valeur de validation si le module p=(Ewi2)1/2 est supérieur à un seuil S1, I'indice i étant la dimension de l'espace, soit dans le cas d'un espace à deux dimensions p= J(u2+v2), et prenant une seconde 30 valeur de non validation dans le cas contraire.
26. Dispositif selon la revendication 25, caractérisé en ce qu'il comporte des moyens qui, pour le calcul (6B) d'un nouveau signal temporel de bord orienté, utilisent un sous-ensemble des données du/des signaux temporels initiaux et une résolution 35 spatiale réduite par un filtrage passe-bas desdites données par données du/des signaux temporels initiaux et une résolution spatiale réduite par un filtrage passe-bas desdites données par application d'une fonction de filtrage multidimensionnelle, la résolution étant fonction de la valeur d'un paramètre de résolution W. 27. Dispositif selon la revendication 26, caractérisé en ce que dans le cas d'un espace à deux dimensions u et v sont calculés par les produits scalaires suivants avec L correspondant aux données, fx et fy correspondant à deux matrices de dérivation 10 intégrant le filtrage spatial gaussien suivant deux axes orthonormées: n=W n=W m=W n=W u(ij,) f (.I) (ijt) = Y Z L((+ .j+,)*fx(+ +)et vj. = L((i+m,j+.)*f(i+ n) m=-W n=-W m=-W n=-W 28. Dispositif selon la revendication 25, 26 ou 27, caractérisé en ce qu'il comporte des moyens permettant d'envoyer, pendant 15 une séquence, la valeur d'angle a du signal temporel de bord orienté en entrée de paramètre d'un premier module (11B) (16) (26) (36) STN d'au moins un couple de neurones spatio-temporel et d'utiliser les résultats du calcul d'histogramme sur les angles a du premier module STN pour modifier l'angle 0 de rotation (9) (8a) 20 (8b) (8c) pour la séquence suivante et en ce que pour l'analyse de l'angle d'orientation cx dans le premier module STN (11B) (16) (26) (36), les moyens ne prennent en compte que les points dont Val-o.
est égal à la première valeur de validation.
29. Dispositif selon l'une quelconque des revendications 25 à 25 28, caractérisé en ce qu'il comporte des moyens permettant de déterminer pour chaque couple de neurones spatio-temporels (11A,11B) (15,16) (25,26) (35, 36) analysant le signal de bord orienté au moins un barycentre de zone (BarZ") et une orientation de zone a.
0 30. Dispositif selon l'une quelconque des revendications 25 à 29, caractérisé en ce qu'il comporte des moyens permettant en outre, lors de la première étape, le calcul (6C) à partir du signal temporel de bord orienté d'un nouveau signal temporel de variation d'orientation de bord qui caractérise la variation 8a d'angle de points de bords d'objets, ledit calcul consistant à effectuer pour chaque point considéré une différence en valeur absolue entre les valeurs d'angles a de deux points de bords adjacents situés de 5 part et d'autre du point considéré sur une même ligne passant par le point considéré, ligne fonction de l'angle a du point considéré, afin d'obtenir une information sur la courbure locale du bord et en ce qu'y est associée une valeur binaire de validation ou non Val-6a prenant une première valeur de validation si la variation est valide l et prenant une seconde valeur de non validation dans le cas contraire, une variation étant valide si, lors du calcul, le point considéré et les points adjacents fonction de l'angle a du point considéré ont tous la première valeur pour Val-a.
31. Dispositif selon la revendication 30, caractérisé en ce 15 qu'il comporte des moyens permettant d'envoyer, pendant une séquence, la valeur de variation cSa d'angle du signal temporel de variation d'orientation de bord en entrée de paramètre d'un premier module (12B) STN d'au moins un couple de neurones spatiotemporels et en ce que pour l'analyse de la variation Sa de l'angle 20 d'orientation dans le premier module STN (12B), lesdits moyens ne prennent en compte que les points dont Val-6a est égal a la première valeur de validation.
32. Dispositif selon la revendication 31, caractérisé en ce que dans le cas de couples de neurones spatio-temporels 5 (12A,12B) traitant le signal temporel de variation d'orientation de bord, l'angle de rotation y (10) reste constant au cours des sequences.
33 Dispositif selon l'une quelconque des revendications 30 à 32 caractérisé en ce qu'il comporte des moyens permettant de 30 déterminer pour chaque couple de neurones spatio-temporels (12A,12B) analysant le signal de variation d'orientation de bord au moins un barycentre de zone (BarZs3) et une variation oa.
34. Dispositif selon l'une quelconque des revendications 25 à 33, caractérisé en ce qu'il comporte des moyens permettant de 35 répéter au cours du temps sur plusieurs séquences l'étape d'analyse du signal temporel de bord orienté avec recrutement progressif de couples (15,16) (25,26) (35,36) de neurones spatiotemporels afin de déterminer une suite de bords orientés et de façon à ce que: D pendant la première séquence avec un premier couple (15,16) de neurones spatio-temporels un angle de rotation 0 nul est utilisé et que à la deuxième séquence, un nouveau couple (25,26) de neurones spatio- temporels est mis en oeuvre avec un angle de 10 rotation O résultant du calcul d'histogramme du premier couple à la première séquence et le signal de sortie de classification du second module STN du premier couple étant envoyé en entrée de rétro annotation pour inhibition du second module STN du nouveau couple, et ainsi de suite, un nouveau couple étant mis en oeuvre à chaque nouvelle séquence, I'angle de rotation 0 pour le nouveau couple résultant du calcul d'histogramme par un couple précédent à la séquence précédente, le second module STN du nouveau couple recevant en entrée de rétro annotation pour inhibition 20 lI'ensemble des sorties de classification des second module STN mis en oeuvre.
35. Dispositif selon l'une quelconque des revendications 30 à 34, caractérisé en ce qu'il comporte des moyens permettant de déterminer un bord orienté en fonction de la variation de 2J I'orientation dudit bord, un module STN supplémentaire (17) étant ajouté à un couple (15,16) de neurones spatio-temporels analysant ax, ledit module STN supplémentaire (17) recevant en entrée de paramètre le signal temporel de variation d'orientation bcu et en entrée de rétro annotation le signal de classification produit en 30 sortie du second module STN (15) du couple et ledit module STN supplémentaire (17) produisant en sortie un signal de classification envoyé en entrée de rétro annotation du premier module (16) STN du couple.
36. Dispositif selon l'une quelconque des revendications 25 à 35 35, caractérisé en ce qu'il comporte des moyens permettant de déterminer pour chaque couple de neurones spatio-temporels (11A,11B) (15,16) (25,26) (35, 36) au moins un barycentre de zone et une orientation de zone et qui exécutent en outre une phase de synthèse permettant de construire un contour par ajustement d'une courbe par rapport aux barycentres.
37. Dispositif selon la revendication 36, caractérisé en ce qu'il comporte des moyens permettant de déterminer en outre des labels par mémorisation de résultats d'analyse et/ou de synthèse d'objets.
38. Dispositif selon l'une quelconque des revendications 30 à 37, caractérisé en ce qu'il comporte des moyens permettant l'utilisation des bords orientés pour lesquels la variation d'orientation ôa, est particulièrement élevée, lesdits bords correspondant alors à des coins d'objets, comme points d'accroche 15 par rapport à un fichier d'objet maillé 3D afin de produire une animation de synthèse.
39. Dispositif selon l'une quelconque des revendications 25 à 38, caractérisé en ce que le transducteur est une caméra vidéo, l'espace est une scène et sa dimension est deux et en ce que dans 20 le cas où une variation Sa de l'angle a est calculée, les points adjacents pouvant être utilisés pour le calcul de la variation Sa sont compris dans une matrice 3x3 centrée sur le point de bord considéré.
40. Dispositif selon la revendication 39, caractérisé en ce 25 qu'il comporte des moyens permettant d'envoyer le signal du transducteur de façon à ce que le premier point envoyé d'une séquence est dans une sousséquence représentant des objets de l'environnement les plus proches de la caméra.
41. Dispositif selon la revendication 39 ou 30, caractérisé en) ce que l'espace est une route, qu'au moins une caméra est disposée dans le véhicule dans le rétroviseur, la caméra étant orientée vers l'avant du véhicule et qu'il permet de déterminer au moins deux limites de voie de circulation latéralement au véhicule à partir des bords orientés déterminés.
42. Dispositif selon la revendication 41, caractérisé en ce qu'au moins une caméra est disposée latéralement au véhicule, ladite caméra étant orientée latéralement et vers l'arrière et étant dans un rétroviseur latéral.
S 43. Dispositif selon la revendication 41 ou 42, caractérisé en ce qu'il comporte des moyens permettant: la détermination pour chaque bord orienté d'un couple de neurones spatio-temporels (11A,11B) (15,16) (25,26) (35,36) d'au moins un barycentre de zone et d'une orientation de zone, l0 la détermination parmi les zones de zones appariées de limite de voie de circulation, pour chaque zone appariée de limite de voie, la détermination l'équation d'une droite portée par ladite zone et le calcul de la position H de leur point de croisement.
44. Dispositif selon la revendication 43, caractérisé en ce qu'il comporte des moyens permettant de déterminer en outre des équations de changement de repère permettant de passer d'une représentation dans le repère de la caméra vers un repère route vue de dessus et centré sur le véhicule et inversement.
)20 45. Dispositif selon la revendication 44, caractérisé en ce qu'il comporte des moyens permettant de caractériser un virage d'une voie de circulation par un arc de cercle et de calculer au moins les rayons de ses limites latérales, la présence d'un virage étant détectée par un décalage linéaire de la position H du point 25 de croisement de droites de zones appariées successives dans une même séquence dans un repère caméra.
46. Dispositif selon la revendication 45, caractérisé en ce qu'il comporte des moyens permettant, en cas de détection d'un virage, I'actionnement d'un appareillage de rotation de l'éclairage 0 du véhicule disposé dans le phare du véhicule en vue d'éclairer la voie de circulation dans le virage.
47. Dispositif selon l'une quelconque des revendications 41 à 46, caractérisé en ce qu'il comporte des moyens permettant en outre une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une partie de la caméra.
48. Dispositif selon l'une quelconque des revendications 41 à 46, caractérisé en ce qu'il comporte des moyens permettant en S outre une recherche de l'endormissement du conducteur du véhicule, le visage du conducteur étant capté par une seconde caméra.
49. Application du procédé de l'une quelconque des revendications 1 à 24 au suivi et anticipation de la trajectoire d'un 10 véhicule dans un environnement routier et comportant un dispositif selon l'une quelconque des revendications 25 à 48 dans lequel au moins un transducteur qui est une caméra orientée vers l'avant du véhicule et un espace à deux dimensions sont mis en oeuvre.
50. Application du procédé de la revendication 49 à une 15 alerte anti-collision par détection d'autres véhicules en fonction d'au moins la trajectoire du véhicule comportant le dispositif.
51. Application selon la revendication 49 ou 50 à la sécurité routière dans laquelle le visage du conducteur du véhicule est en outre analysé pour détection d'endormissement.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0350381A FR2858447A1 (fr) | 2003-07-29 | 2003-07-29 | Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications |
PCT/FR2004/002047 WO2005010820A2 (fr) | 2003-07-29 | 2004-07-29 | Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0350381A FR2858447A1 (fr) | 2003-07-29 | 2003-07-29 | Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2858447A1 true FR2858447A1 (fr) | 2005-02-04 |
Family
ID=34043808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0350381A Pending FR2858447A1 (fr) | 2003-07-29 | 2003-07-29 | Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2858447A1 (fr) |
WO (1) | WO2005010820A2 (fr) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2805685A1 (fr) | 2013-05-24 | 2014-11-26 | Surgiris | Système d'éclairage médical, notamment d'éclairage operatoire, et procédé de commande d'un tel système d'éclairage |
WO2018197693A1 (fr) | 2017-04-28 | 2018-11-01 | Another Brain | Procédé et dispositif automatisés aptes à assurer l'invariance perceptive d'un évènement spatio-temporel dynamiquement en vue d'en extraire des représentations sémantiques unifiées |
EP4322116A1 (fr) | 2022-08-12 | 2024-02-14 | Another Brain | Procédé et système d'extraction de caractéristiques à partir d'un ensemble de données matricielles |
EP4322117A1 (fr) | 2022-08-12 | 2024-02-14 | Another Brain | Procédé et système pour coder une forme de sujet à partir d'un ensemble de données matricielles |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3051275A1 (fr) * | 2016-05-13 | 2017-11-17 | Inst Vedecom | Procede de traitement d’image pour la reconnaissance de marquage au sol et systeme pour la detection du marquage au sol |
US10192319B1 (en) * | 2017-07-27 | 2019-01-29 | Nanning Fugui Precision Industrial Co., Ltd. | Surveillance method and computing device using the same |
CN109934908B (zh) * | 2019-02-28 | 2023-06-27 | 东华大学 | 一种基于无人机的实际场景建模方法 |
CN110288674A (zh) * | 2019-05-20 | 2019-09-27 | 昇显微电子(苏州)有限公司 | 一种异形平滑处理的方法及*** |
CN110531351B (zh) * | 2019-08-16 | 2023-09-26 | 山东工商学院 | 一种基于Fast算法的GPR图像双曲波顶点检测方法 |
CN113112412B (zh) * | 2020-01-13 | 2024-03-19 | 株式会社理光 | 垂直校正矩阵的生成方法、装置及计算机可读存储介质 |
CN113255405B (zh) * | 2020-02-12 | 2024-06-25 | 广州汽车集团股份有限公司 | 车位线识别方法及其***、车位线识别设备、存储介质 |
CN111640114B (zh) * | 2020-06-16 | 2024-03-15 | 北京安德医智科技有限公司 | 图像处理方法及装置 |
CN112565130B (zh) * | 2020-12-08 | 2023-02-03 | 上海擎昆信息科技有限公司 | 一种低时延并行数字下变频方法及*** |
CN112666944A (zh) * | 2020-12-18 | 2021-04-16 | 广东嘉腾机器人自动化有限公司 | 一种agv轨迹线的求值方法、存储设备和电子设备 |
CN114111768B (zh) * | 2021-10-29 | 2023-10-13 | 北京自动化控制设备研究所 | 一种基于偏角异常补偿的轨道线型拟合方法 |
CN114049323B (zh) * | 2021-11-15 | 2024-04-30 | 武汉易思达科技有限公司 | 一种基于双目视觉的厢式车形变实时测量方法 |
CN114610544B (zh) * | 2022-03-07 | 2023-03-28 | 丁跃辉 | 一种基于区块链的人工智能大数据分析处理***及方法 |
CN114863025B (zh) * | 2022-05-18 | 2023-03-10 | 禾多科技(北京)有限公司 | 三维车道线生成方法、装置、电子设备和计算机可读介质 |
CN117636270B (zh) * | 2024-01-23 | 2024-04-09 | 南京理工大学 | 基于单目摄像头的车辆抢道事件识别方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000011609A1 (fr) * | 1998-08-25 | 2000-03-02 | Holding B.E.V. S.A. | Appareil et procede pour le traitement d'images |
FR2821459A1 (fr) * | 2001-02-23 | 2002-08-30 | Holding Bev Sa | Procede et dispositif de reperage d'un objet par sa forme, sa dimension et/ou son orientation |
-
2003
- 2003-07-29 FR FR0350381A patent/FR2858447A1/fr active Pending
-
2004
- 2004-07-29 WO PCT/FR2004/002047 patent/WO2005010820A2/fr active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000011609A1 (fr) * | 1998-08-25 | 2000-03-02 | Holding B.E.V. S.A. | Appareil et procede pour le traitement d'images |
FR2821459A1 (fr) * | 2001-02-23 | 2002-08-30 | Holding Bev Sa | Procede et dispositif de reperage d'un objet par sa forme, sa dimension et/ou son orientation |
Non-Patent Citations (1)
Title |
---|
BALLARD D H ET AL: "Computer vision", , ENGLEWOOD CLIFFS, NJ, USA, PRENTICE-HALL, USA, 1982, XP002283575, ISBN: 0-13-165316-4 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2805685A1 (fr) | 2013-05-24 | 2014-11-26 | Surgiris | Système d'éclairage médical, notamment d'éclairage operatoire, et procédé de commande d'un tel système d'éclairage |
WO2018197693A1 (fr) | 2017-04-28 | 2018-11-01 | Another Brain | Procédé et dispositif automatisés aptes à assurer l'invariance perceptive d'un évènement spatio-temporel dynamiquement en vue d'en extraire des représentations sémantiques unifiées |
FR3065825A1 (fr) * | 2017-04-28 | 2018-11-02 | Patrick Pirim | Procede et dispositif automatises aptes a assurer l'invariance perceptive d'un evenement spatio-temporel dynamiquement en vue d'en extraire des representations semantiques unifiees |
EP3616132A1 (fr) * | 2017-04-28 | 2020-03-04 | Another Brain | Procédé et dispositif automatisés aptes à assurer l'invariance perceptive d'un évènement spatio-temporel dynamiquement en vue d'en extraire des représentations sémantiques unifiées |
JP2020519984A (ja) * | 2017-04-28 | 2020-07-02 | アナザー・ブレイン | 一体化された意味論的表現を時空事象から抽出することを目的として時空事象の動的知覚的不変性を提供することができる自動化方法及び装置 |
US11164049B2 (en) | 2017-04-28 | 2021-11-02 | Another Brain | Automated method and device capable of providing dynamic perceptive invariance of a space-time event with a view to extracting unified semantic representations therefrom |
EP4322116A1 (fr) | 2022-08-12 | 2024-02-14 | Another Brain | Procédé et système d'extraction de caractéristiques à partir d'un ensemble de données matricielles |
EP4322117A1 (fr) | 2022-08-12 | 2024-02-14 | Another Brain | Procédé et système pour coder une forme de sujet à partir d'un ensemble de données matricielles |
WO2024033226A1 (fr) | 2022-08-12 | 2024-02-15 | Another Brain | Procédé et système d'extraction de caractéristiques d'un ensemble de données matriciel |
WO2024033229A1 (fr) | 2022-08-12 | 2024-02-15 | Another Brain | Procédé et système de codage d'une forme de sujet à partir d'un ensemble de données matriciel |
Also Published As
Publication number | Publication date |
---|---|
WO2005010820A2 (fr) | 2005-02-03 |
WO2005010820A3 (fr) | 2005-08-18 |
WO2005010820A9 (fr) | 2005-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2858447A1 (fr) | Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d'objets d'un espace, construction de contours et applications | |
US10891715B2 (en) | Deep neural network for image enhancement | |
Zhou et al. | Bridging the view disparity between radar and camera features for multi-modal fusion 3d object detection | |
Choi et al. | Thermal image enhancement using convolutional neural network | |
Yahiaoui et al. | Fisheyemodnet: Moving object detection on surround-view cameras for autonomous driving | |
US10229341B2 (en) | Vector engine and methodologies using digital neuromorphic (NM) data | |
EP3264367A2 (fr) | Appareil et procédé de production d'images et support d'enregistrement | |
WO2018114868A1 (fr) | Réseau de capteurs neuromorphique numérique (nm), détecteur, moteur et méthodologies | |
CN105006175B (zh) | 主动识别交通参与者的动作的方法和***及相应的机动车 | |
EP2593907A1 (fr) | Procédé de détection d'une cible dans des images stéréoscopiques par apprentissage et classification statistique à partir d'une loi de probabilité | |
EP2432660B1 (fr) | Procede et dispositif pour etendre une zone de visibilite | |
FR3074941A1 (fr) | Utilisation de silhouettes pour une reconnaissance rapide d'objets | |
Zanfir et al. | Hum3dil: Semi-supervised multi-modal 3d humanpose estimation for autonomous driving | |
FR2899363A1 (fr) | Procede et dispositif de detection de mouvement d'objets sur des images d'une scene | |
Snidaro et al. | Fusing multiple video sensors for surveillance | |
WO2018143277A1 (fr) | Dispositif de sortie de valeur de caractéristique d'image, dispositif de reconnaissance d'image, programme de sortie de valeur de caractéristique d'image et programme de reconnaissance d'image | |
Ramirez et al. | Panoramic stitching for driver assistance and applications to motion saliency-based risk analysis | |
Khan et al. | Towards monocular neural facial depth estimation: Past, present, and future | |
Lee et al. | SAM-net: LiDAR depth inpainting for 3D static map generation | |
Jhong et al. | Density-Aware and Semantic-Guided Fusion for 3D Object Detection using LiDAR-Camera Sensors | |
Munir et al. | Multimodal fusion for sensorimotor control in steering angle prediction | |
Schamm et al. | Vision and ToF-based driving assistance for a personal transporter | |
JP2023539865A (ja) | リアルタイムなクロススペクトルオブジェクトの関連付け及び深度推定 | |
Diskin et al. | Dense point-cloud creation using superresolution for a monocular 3d reconstruction system | |
Garcia-Dopico et al. | Locating moving objects in car-driving sequences |