Brevet FR2597636A1 — publié le 19871023

Procédé_ de reconnaissance automatigyegd'-2biets susce2!i-bles de se chevaucher. La présente invention concerne un procédé de reconnaissance automatique d'objets susceptibles de se chevaucher. Elle s'applique aux machines de vision et plus particulièrement à la robotique, domaine dans lequel les études s'orientent actuellement vers les robots dits "intelligents", pouvant interpréter des données issues du milieu extérieur. La reconnaissance d'objets partiellement cachés, par 10 exemple par suite d'un chevauchement partiel de ces différents objets, est un atout très important pour la prochaine génération de machines de vision. Différents procédés de reconnaissance d'objets susceptibles de se chevaucher sont connus dans l'état de la 15 technique. L'un de ces procédés consiste à segmenter la ligne de contour de l'image de chaque objet à reconnaître, et à définir dans la segmentation de chaque contour, des segments "privilégiés" qui sont en fait Les segments les plus longs. Cette définition de segments "privilégiés" est effectuée au cours d'une 20 période d'apprentissage. Dans ce procédé connu, lors de la période de reconnaissance des différents objets, on émet des hypothèses à partir d'un examen des segments "privilégiés" et des segments connexes reconnus dans le contour de l'image des objets à 25 reconnaître. On attribue ensuite une "étiquette" à chaque segment "privilégié" reconnu dans le contour de l'image des objets à reconnaître. Ensuite, à partir des différentes étiquettes ainsi obtenues, on définit un critère global qui est une mesure de la consistance et de la non-ambiguité de l'ensemble des étiquetages. 30 On calcule ensuite un score de qualité pour évaluer les hypothèses. Ce type de procédé est très long et très coûteux puisqu'il génère une très grande quantité d'hypothèses qu'il s'agit de vérifier selon des critères complexes de mesure de consistance et de non-ambigulté des étiquetages. Ce type de procédé est par exemple celui qui est décrit dans la thèse de doctorat intitulée "un système de vision bidimensionnelle en robotique industrielle", par N. AYACHE - 1983. L'invention a pour but de remédier aux inconvénients de ce type de procédé et notamment de permettre une reconnaissance automatique et rapide d'objets susceptibles de se chevaucher, sans qu'il soit nécessaire d'émettre, lors de cette reconnaissance, un très grand nombre d'hypothèses et de critères 10 de vérification de ces hypothèses. Ces buts sont atteints notamment en utilisant une segmentation particulière des contours des images des objets de référence et des images de l'objet à reconna tre, et grâce aux choix de couples de segments caractéristiques, permettant de définir des "vecteurs de 15 transition" à partir desquels les hypothèses et les critères de reconnaissance sont développés. L'invention vise un procédé de reconnaissance automatique d'objets susceptibles de se chevaucher, à partir des images respectives de référence de ces objets et de l'image de 20 l'ensemble des objets à reconnaître, ces images étant mémorisées sous forme de valeurs numériques représentant pour chaque image les coordonnées des points d'une ligne de contour de cette image, dans un repère de référence, ce procédé consistant à coder, pour chaque image, des segments élémentaires successifs dont les 25 extrémités sont sensiblement situées sur la ligne de contour correspondante, ce codage donnant pour chaque segment, la longueur de ce segment, ainsi que son angle par rapport à une direction de référence, cette opération de codage étant effectuée aussi bien dans une phase "d'apprentissage" des différents objets 30 à reconnaitre ultérieurement, que dans une phase subséquente de reconnaissance" des objets susceptibles de se chevaucher, caractérisé en ce qu'il consiste dans la phase d'apprentissage: - à rechercher pour chaque contour d'image de référence, des couples de segments caractéristiques successifs ou non de ce 35 parcours, formés chacun d'un ou plusieurs segments élémentaires, ces segments caractéristiques étant orientés dans un sens prédéterminé de parcours du contour, chaque couple déterminant un vecteur de transition caractéristique défini par des paramètres qui sont La valeur de l'angle, orienté dans Le 5 sens du parcours, entre les deux segments caractéristiques orientés du couple, Les coordonnées de L'origine et La Longueur de chaque segment caractéristique du couple, un vecteur de transition étant caractéristique lorsque ses paramètres procurent un pouvoir de discrimination du contour de l'objet 10 correspondant, mime en cas de chevauchement de cet objet par un ou plusieurs autres objets, Les paramètres des vecteurs de transition étant mémorisés, - à hiérarchiser les vecteurs de transition d'un contour en fonction de leur pouvoir de discrimination, - à modifier cette hiérarchisation des vecteurs de transition au fur et à mesure de l'acquisition des vecteurs de transition des contours des différents objets, de manière à éliminer les vecteurs de transition semblables pour les différents contours, ce procédé consistant ensuite, dans La phase de reconnaissance: 20 - à effectuer la même opération de détermination de vecteur de transition dans des segments caractéristiques du contour de L'image des objets à reconnaître, - à comparer dans l'ordre de hiérarchisation, les valeurs des paramètres des vecteurs de transition du contour de l'image des 25 objets à reconnaître et du contour des images de référence de chaque objet de manière à rechercher des similarités de valeurs de ces paramètres, - à faire une hypothèse de présence d'un objet correspondant à un vecteur de transition pour lequel la comparaison a établi une 30 similarité, - à établir une vérification fine de cette hypothèse en comparant les segments élémentaires successifs du contour de l'image de référence de cet objet avec les segments élémentaires successifs du contour de l'image des objets à reconnaître. Selon une autre caractéristique, les segments élémentaires successifs codés sont obtenus par un codage de Freeman permettant d'obtenir des segments successifs définis par Leurs orientation et dont les extrémités sont sensiblement situées sur la Ligne de contour de chaque image, ce codage de 5 Freeman étant suivi d'un traitement correctif permettant de déduire à partir de chaque segment codé selon Freeman, un ou plusieurs segments élémentaires successifs dont Les extrémités sont situées sur la ligne de contour de l'image, ces segments élémentaires successifs étant de longueurs égales et permettant 10 un codage isotrope. Selon une autre caractéristique, le traitement correctif consiste pour chaque segment codé selon Freeman,à différentier ce segment par rapport à son numéro d'ordre dans le contour afin de compenser Les irrégularités d'orientation, à 15 effectuer une conversion des valeurs résultant de La différentiation de chaque segment afin de compenser Les irrégularités de Longueur, à filtrer Le signal résultant de cette conversion, à échantillonner ce signal à fréquence constante, puis à intégrer Le signal échantillonné, cette intégration 20 produisant lesdits segments élémentaires successifs codés. Ledit traitement correctif permet par ailleurs d'extraire les points anguleux, donc facilite l'extraction des segments caractéristiques. Par ailleurs, ladite conversion peut être soit une 25 conversion numérique-analogique permettant un échantillonnage sur Le signal analogique, soit une conversion numérique-numérique. Les caractéristiques et avantages de l'invention ressortiront mieux de la description qui va suivre, donnée en référence aux dessins annexés dans lesquels - La figure 1 représente schématiquement des segments caractéristiques d'une ligne de contour L, la figure 2 représente schématiquement, la segmentation d'une Ligne de contour selon un code de Freeman, - la figure 3 représente des vecteurs de Freeman, 35 utilisés pour coder une Ligne de contour, - La figure 4 représente schématiquement en (a) une ligne de contour segmentée selon un code de Freeman, et en (b), la même ligne de contour segmentée à la suite d'un traitement effectué sur les segments de Freeman, - la figure 5 représente schématiquement L'étape de dérivation intervenant dans le procédé de l'invention, - la figure 6 représente les segments caractéristiques, selon l'invention, de la ligne de contour d'un objet, la figure 7 permet de mieux comprendre la notion de 10 vecteur de transition entre deux vecteurs caractéristiques, - la figure 8 représente schématiquement certains segments caractéristiques dans le contour de l'image de plusieurs objets se chevauchant, - la figure 9 représente schématiquement un système 15 permettant de mettre en oeuvre le procédé de l'invention. Le procédé de reconnaissance automatique d'objets susceptibles de se chevaucher, selon l'invention, utilise tout d'abord un codage particulier des contours des images respectives de référence de ces objets pris individuellement, au cours d'une 20 période d'apprentissage de chaque objet; ce codage particulier est aussi utilisé pour l'image de l'ensemble des objets à reconnaître au cours d'une période de reconnaissance, les objets étant susceptibles de se chevaucher de sorte qu'un ou plusieurs objets sont partiellement cachés par des objets environnants. Les images de référence ainsi que l'image globale des objets à reconnaître sont mémorisées sous forme de valeurs numériques représentant, pour chacune de ces images, les coordonnées des points d'une ligne de contour de cette image, dans un repère de référence. Ces images sont fournies par exemple 30 par des moyens opto-électroniques tels qu'une caméra de télévision. De manière connue, cette caméra est reliée à un convertisseur analogique-numérique lui-même relié à une unité de traitement; cette unité a notamment pour but, au cours de la période de reconnaissance, de déterminer les valeurs numériques 35 correspondant aux coordonnées des points de la ligne de contour caractéristique de L'image de référence de chaque objet. Ces moyens de traitement permettent également de fournir des valeurs numériques correspondant à des coordonnées de points d'une ligne de contour caractéristique de L'image de L'ensembLe des objets à 5 reconnaître, au cours d'une période de reconnaissance, Lorsque ces objets sont susceptibles de se chevaucher. Toutes les valeurs numériques sont bien entendu enregistrées dans une mémoire de l'unité de traitement précitée. L'opération suivante consiste à définir des segments 10 caractéristiques codés, dont les extrémités sont situées sensiblement sur chaque ligne de contour des images de référence au cours de la période d'apprentissage, et sur La ligne de contour de l'image des objets à reconnaître, au cours de la période de reconnaissance. Des segments caractéristiques C de ce 15 type, dont les extrémités sont situées sur La ligne de contour L d'une image, sont représentés en exemple sur la figure 1. Comme on le verra plus loin en détail, chaque segment caractéristique comporte généralement une pluralité de segments élémentaires successifs alignés. Le codage de chaque segment caractéristique 20 fournit notamment la longueur de chaque segment ainsi que son angle par rapport à une direction de référence. Ce codage est bien entendu effectué aussi bien dans une phase d'apprentissage des différents objets à reconnaître ultérieurement, que dans une phase subséquente de reconnaissance des objets susceptibles de se 25 chevaucher. De préférence, selon le procédé de l'invention, le codage des segments caractéristiques consiste tout d'abord à coder des segments permettant d'approcher la ligne de contour de chaque image selon une méthode dite de "codage par vecteurs de 30 Freeman". Ce codage est ensuite suivi d'un traitement correctif qui permet d'obtenir les segments successifs élémentaires précités qui permettent de définir les segments caractéristiques de la ligne de contour L de l'image considérée. La méthode de codage par vecteurs de Freeman sera mieux 35 comprise à l'aide des figures 2 et 3: On suppose tout d'abord que Le contour L de L'image considérée (image de référence d'un objet ou image de l'ensembte des objets à reconnaître) est numérisé spatialement dans une matrice présentant MxN points dans un repère de référence XY. La 5 méthode de codage de Freeman consiste à coder des déplacements élémentaires qu'on effectue en suivant La Ligne de contour L selon des segments tels que représentés sur la figure 2. Dans la représentation matricielle choisie, si L'on considère que chaque élément d'image est carré, il n'y a que huit possibilités 10 d'orientation, selon Freeman, pour passer d'un point à un autre du contour. Ces huit possibilités sont représentées par Les huit vecteurs dits vecteurs de Freeman, numérotés de O à 7 sur La figure 3. Ces huit vecteurs sont en fait décalés de - dans l'exemple de représentation matricielte considérée. Les vecteurs 15 de Freeman permettent ainsi de définir des segments orientés codés successifs, dont les extrémités sont situées sur chaque ligne de contour. Les coordonnées de ces extrémités sont bien entendu connues à partir des coordonnées des points de chaque ligne de contour. Dans l'exemple du contour segmenté L de la figure 2, si le point de départ du parcours de ce contour, est le point A, de coordonnées 2, 3, dans la matrice choisie, la chaîne de Freeman associée au contour L peut être exprimée en fonction des numéros de vecteurs de la figure 3 de la façon suivante: 25 7,0,1,6,6,6,5,4,3,2,2, 2. Ce codage est particulièrement intéressant car il fait apparaître l'orientation des segments de la ligne de contour, par rapport à la direction de référence X. Le codage d'une ligne de contour d'une image par 30 vecteurs de Freeman entraîne des imprécisions dans La représentation approchée du contour par des segments codés. En effet, les vecteurs de Freeman sont inscrits dans un carré, comme représenté sur la figure 3, ou dans un rectangle; et it en résulte que les vecteurs de Freeman perpendiculaires aux côtés du 35 carré ou du rectangle, ainsi que les vecteurs situés dans les diagonales de ce carré ou de ce rectangle ne présentent pas tous la mime longueur. Le codage de Freeman est décrit en exemple dans la demande de brevet français nO 8304447 déDosée le 31 janvier 1983, au nom du mime demandeur. On sait que le codage de Freeman décompose une ligne de contour en une succession de vecteurs élémentaires dont ta direction est codée sur trois bits. Ce codage est très intéressant par sa concision, mais présente aussi des inconvénients: - un bruit de digitalisation important car l'orientation sur 360 est codée sur trois bits, - les longueurs réelles représentées par les codes sont irrégulières, comme indiqué plus haut, - Les orientations représentées par les codes ne sont pas 15 isotropes dans le cas o les pixels sont rectangulaires. Ces défauts sont inadmissibles pour la reconnaissance d'objets se recouvrant car ils conduisent à une erreur dans la représentation codée des contours et induisent des directions privilégiées. Cette anisotropie est d'autant plus ginante dans La 20 phase de reconnaissance qu'une partie des informations est déjà dégradée par le chevauchement des objets. Le codage de Freeman présente cependant un intérêt essentiel. Il permet d'obtenir une représentation du contour précise et invariante, en translation et en rotation. Cette notion d'invariance en translation et en 25 rotation est bien connue dans l'état de la technique. Elle est notamment décrite dans la demande de brevet précité. Selon l'invention, pour remédier aux imprécisions du codage de Freeman, on effectue un traitement correctif permettant de déduire, à partir de chaque segment codé selon Freeman, un ou 30 plusieurs segments élémentaires successifs dont les extrémités sont situées sensiblement sur la ligne de contour de l'image, ces segments élémentaires étant alors isotropes et de longueurs égales. Le traitement correctif du contour codé selon Freeman, 35 est effectué de manière préférentielle, dans l'invention, de la 9 2597636 façon suivante: - on effectue tout d'abord une différentiation de chaque segment codé, par rapport à son numéro d'ordre. Le principe de cette différentiation est le suivant: soit F(n) le code de Freeman qui est un entier compris entre O et 7; n est l'ordre du segment de contour associé à ce code; soit Od(F(i), F(j)) une fonction de différentiation correspondant à la variation réelle d'orientation entre deux codes F(i) et F(j), et soit C une constante permettant la normalisation d'amplitude, ce 10 traitement peut être représenté par: Fd(n)=Cgd(F(n+1),F(n)), o Fd(n) sont les codes générés par ce traitement; - on effectue ensuite une conversion de ces données correspondant à une normalisation d'abscisses des segments codés. Cette normalisation d'abscisses est effectuée de la 15 manière suivante: si un code Freeman F(n) représente une longueur réelle P(F(n)), cette étape transforme Fd(n) en une forme pseudo-continue Fd(p), l'entier n et le réel p obéissant à la relation suivante: n-1 n P(F(j)) P 2597636 variation moyenne d'orientation du contour sur un voisinage dont la taille dépend principalement de la fréquence de coupure du filtre passe- bas. Le signe de G(k) indique la convexité ou la concavité du contour. Ces caractéristiques sont très intéressantes car elles préparent et améliorent la segmentation, - la segmentation est suivie d'une intégration du signal échantillonné, cette intégration permet d'obtenir les segments élémentaires successifs à partir desquels, selon le procédé de 10 l'invention, vont être déterminés, dans la phase d'apprentissage et dans la phase de reconnaissance, des vecteurs de transition qui seront définis plus loin en détail. La figure 4 montre en exemple une portion d'un contour L d'une image obtenue par codage de Freeman. Cette portion est formée de segments successifs S. qui permettent d'approcher la . 15 ligne de contour de façon peu précise. Cette figure représente en (b) la mme portion de contour L après le traitement indiqué plus haut et avant échantillonnage et intégration. On voit que cette portion de contour est définie par un plus grand nombre de 20 segments S, dits segments successifs élémentaires. Le traitement e décrit plus haut permet, comme on le verra plus loin en détail, de déterminer des segments dits caractéristiques groupant plusieurs segments élémentaires. En fait, le codage et le traitement qui viennent d'être décrits permettent d'approcher la 25 ligne de contour par le plus grand nombre possible de segments de plus grande longueur groupant chacun plusieurs segments élémentaires. Ces segments de grande longueur sont les segments caractéristiques mentionnés plus haut. Ce codage et ce traitement permettent également d'obtenir un paramètre important qui est 30 l'orientation de chaque segment caractéristique par rapport à une direction de référence. L'opération de différentiation des segments élémentaires successifs, mentionnée plus haut, fournit en fait une succession d'impulsions. L'amplitude de chaque impulsion est 35 beaucoup plus importante lorsque l'angle entre deux segments il 2597636 élémentaires successifs correspondants est important. L'opération de filtrage ne retient que les variations d'orientation moyenne importantes, comme le montre la figure 5 qui représente les signaux obtenus après dérivation et filtrage. L'échantillonnage 5 et l'intégration qui suivent ce filtrage permettent de reconstituer une image caractéristique de l'objet 0, constituée par des segments caractéristiques C, équivalents chacun à une association de plusieurs segments élémentaires. Ce sont ces segments caractéristiques qui permettent, comme on le verra plus 10 loin en détail, de définir des vecteurs de transition. La figure 6 représente schématiquement l'image du contour d'un objet, obtenue après le codage et Le traitement mentionnés plus haut. Le contour réel de cet objet n'est pas représenté sur la figure. On a représenté simplement son contour 15 approché après ce codage et ce traitement. Le contour ainsi obtenu est formé de segments caractéristiques C1, C2, C3,..., C8. Chacun de ces segments caractéristiques est équivalent à plusieurs segments élémentaires successifs tels que les segments S de la figure 4(b) , eux-mêmes obtenus à partir des segments e successifs S de Freeman de la figure 4(a). On suppose que le i contour représenté en exemple sur cette figure est celui qui est obtenu après codage et traitement, d'une image de référence d'un objet 0, pendant la phase d'apprentissage. Le procédé de l'invention consiste à choisir un sens 25 prédéterminé de parcours de ce contour, tel que celui qui est indiqué par la flèche sur cette figure. Le procédé consiste ensuite à choisir des couples caractéristiques de segments caractéristiques, successifs ou non de ce contour. Ces segments caractéristiques sont orientés dans le sens prédéterminé de 30 parcours du contour. Un couple de segments caractéristiques peut être par exemple le couple de segments Cl, C8. Ce pourrait être également le couple de segments C8, C9. Chaque couple de segments caractéristiques permet, comme on le verra plus loin en détail, de déterminer un vecteur de transition caractéristique. La figure 7 permet de mieux comprendre la notion de vecteur de transition, en se référant par exempLe au couple de segments caractéristiques Cl, C8 de l'objet 0 1. Les couples de I segments caractéristiques d'un objet prédéterminé sont ceux qui Lors de La phase de reconnaissance, des différents objets, et 5 même en cas de chevauchement uLtérieur de ces objets, vont permettre de mieux discriminer l'objet prédéterminé, tel ceLui dont le contour codé est représenté sur la figure 6. On définit un vecteur de transition comme une relation entre deux segments caractéristiques d'un contour. Dans l'exemple 10 représenté sur cette figure, le segment C8 peut être quaLifié par exemple de segment d'entrée dans la zone du contour de t'image de l'objet 0, tandis que Le segment Cl peut être qualifié de segment de sortie de cette zone. Les portions du contour qui n'appartiennent pas aux couples de segments caractéristiques 15 choisis sont considérées comme une partie non intéressante de la zone du contour car selon le procédé, on ne s'intéresse pas au cheminement du contour à l'intérieur de cette zone. Un vecteur de transition pour Le couple de segments caractéristiques Cl, C8 est défini par les trois paramètres 20 suivants: - l'orientation d'entrée a qui est l'angle orienté dans le sens prédéterminé de parcours, entre l'axe de référence Ox d'un repère de référence (0, x, y), et Le segment caractéristique d'entrée C8, orienté dans le sens du parcours, L'orientation de sortie, qui est l'angle orienté 1 entre I l'axe de référence Ox et le segment caractéristique de sortie Cl, orienté dans le sens du parcours, - l'espace "valable". Cet espace peut être défini par les coordonnées des points de départ P (x,y) et P (x,y), et par les 8 1 longueurs L8, L1 des segments orientés C8, C1. Un vecteur de transition est caractéristique, seLon l'invention, lorsque ses paramères (orientation d'entrée, orientation de sortie, origine des segments caractéristiques du couple et longueur de ces segments) procurent un pouvoir de 35 discrimination du contour de l'objet considéré, même lorsque dans 13 2597636 la phase ultérieure de reconnaissance, cet objet est chevauché par un ou plusieurs autres objets. En particulier, la différence a = a - a reste d I 8 valide, même en cas de chevauchement partiel de l'objet considéré par d'autres objets, comme le montre la figure 8. Cette figure montre qu'en cas de chevauchement partiel de l'objet considéré 01, par deux autres objets 02, 03, l'espace valable est plus réduit puisque les vecteurs caractéristiques C8, Cl ont des longueurs tronquées, mais la différence a = a - a 8 reste d 1 8 valide. On voit bien sur cette figure l'importance des vecteurs de transition puisque, lors de la phase de reconnaissance, le vecteur de transition constitué par le couple C8, Cl de vecteurs caractéristiques, permet de reconnaître l'objet O 1, même si certaines parties de celui-ci sont cachées par d'autres objets 15 environnants. En fait, l'information essentielle concernant un vecteur de transition réside dans la différence d'orientation a d entre les vecteurs caractéristiques du couple concernant ce vecteur de transition. Compte tenu de ce critère, il est possible 20 d'arranger les paramètres des vecteurs de transition de façon hiérarchique, selon la probabilité d'apparition d'une même orientation a pour un objet considéré et pour d'autres objets d environnants susceptibles de chevaucher cet objet considéré. Plus l'orientation ad est particulière pour un objet, plus le vecteur 25 de transition correspondant prend de l'importance dans le dictionnaire des paramètres des vecteurs de transition qui est constitué lors de la phase d'apprentissage des différents objets. La hiérarchisation des vecteurs de transition est donc une phase importante du procédé de l'invention. Ces vecteurs de 30 transition sont classés selon leur pouvoir de discrimination d'un même objet et sont aussi classés selon leur pouvoir de discrimination d'un objet par rapport à un autre. Les vecteurs de transition sont considérés comme les identificateurs les plus significatifs d'un objet. Ces vecteurs sont hiérarchiquement 35 arranges selon les critères mentionnés plus haut: la quantité d'informations, la probabilité de disparition et de fausse génération, en cas de chevauchement. Selon le procédé de l'invention, on traite également l'interaction entre les vecteurs de transition d'un nouvel objet dont il faut "apprendre" le contour, et les vecteurs de transition des objets dont les contours ont déjà été "appris". Pour un nouvel objet, la manière d'enregistrer et de classer les vecteurs de transition dépend de celle des objets existants. Les vecteurs de transition des objets existants doivent être 10 réarrangés selon ceux du nouvel objet. Il se peut qu'un vecteur de transition considéré initialement comme pertinent perde beaucoup de sa valeur d'importance au fur et à mesure de l'apprentissage. Dans ce cas, le premier groupe d'informations du dictionnaire que l'on constitue pendant la phase d'apprentissage, 15 permet de calculer un nouveau vecteur de transition pour remplacer un vecteur de transition déjà enregistré et qui est moins pertinent. Les opérations qui viennent d'être décrites pour la phase d'apprentissage sont également effectuées lors de la phase 20 de reconnaissance du contour des différents objets se chevauchant. On effectue la même opération de détermination des vecteurs de transition dans des segments caractéristiques du contour de l'image des objets à reconnaîre. Pendant la phase de reconnaissance, on effectue une 25 comparaison, dans l'ordre de hiérarchisation, entre les valeurs des paramètres des vecteurs de transition du contour de l'image des objets à reconnaître et les valeurs des paramètres des vecteurs de transition du contour de l'image de référence de chaque objet, de manière à rechercher des similarités de valeurs 30 de ces paramètres. Cette comparaison est une analyse préliminaire qui va être suivie, comme on le verra plus loin en détail, d'une vérification fine. Le but de l'analyse préliminaire est de générer le plus rapidement possible des hypothèses sur la présence des objets, 35 ainsi que sur leurs orientations. Ces hypothèses sont bien entendu émises à partir de la reconnaissance dans le contour de l'image de L'objet à reconnaître, de vecteurs de transition de certains objets. Le procédé de l'invention recherche tout d'abord une 5 similarité entre les premiers vecteurs de transition de chaque objet du dictionnaire et un vecteur de transition du contour de l'image des objets à reconnaître. Si aucune coïncidence n'est trouvée, le procédé consiste à rechercher des coïncidences avec les deuxièmes vecteurs de transition de chaque objet du 10 dictionnaire, et ainsi de suite. Lorsqu'une coïncidence est trouvée entre des vecteurs de transition du contour d'une image d'un objet de référence et des vecteurs de transition du contour de l'image des objets à reconnaître, on procède alors à une vérification fine de 15 l'hypothèse de présence de l'objet partiellement reconnu. Cette vérification fine consiste à comparer les segments élémentaires successifs du contour de l'image de référence de l'objet partiellement reconnu à partir des vecteurs de transition, avec les segments élémentaires successifs du contour de L'image des 20 objets à reconnaître. La vérification fine consiste en fait à rechercher s'il y a superposition du contour (défini par les segments élémentaires) de l'image de l'objet de référence, selon son orientation indiquée par le vecteur de transition trouvé, avec 25 une partie du contour de l'image de cet objet, retrouvée dans Le contour de l'image des objets à reconnaître. Trois conditions sont nécessaires pour conclure à la présence d'un objet: il est tout d'abord nécessaire de vérifier qu'aucun segment de L'objet présumé reconnu ne se trouve hors de 30 la silhouette des objets à reconnaître, la deuxième condition est que le rapport du périmètre identifié de l'objet dans le contour de l'image des objets à reconnaître, au périmètre de cet objet (dans le contour de référence), est supérieur à un seuil prédéterminé. Cette vérification est possible puisque les 35 Longueurs de tous les segments élémentaires du contour de l'image 16 2597636 de L'objet de référence sont connues et que L'on connaÂt également les Longueurs des segments élémentaires de cet objet partielLement reconnu dans L'image du contour des objets à reconnaître. On vérifie également que le rapport de la somme des valeurs absolues des angles correspondant aux points anguleux identifiés dans le contour de L'image des objets à reconnaître, à la somme totale des valeurs absolues des angles correspondant aux points anguleux contenus dans le contour de l'image de référence 10 de cet objet, est supérieur à un autre seuil predetermine. Lorsque ces trois conditions sont réunies, Le procédé de L'invention permet d'affirmer que L'objet considéré est reconnu parmi tous les autres objets qui éventuelLement Le chevauchent partiellement. Apres cette étape, s'il reste des vecteurs de transition ou des-segments du contour à analyser, qui ne font pas partie du contour de l'objet déjà reconnu, on procède aux mêmes opérations, pour un autre objet dont on pense avoir reconnu un ou plusieurs vecteurs de transition. Sur la figure 8 par exemple, lors de la phase de reconnaissance, on compare pour Le contour L de l'image des objets à reconnaître, le vecteur de transition correspondant au couple de segments A8, B8 et A1, B1, avec le vecteur de transition correspondant au couple de segments C8, Cl de l'objet 25 o0 (partiellement occultés par chevauchement Lors de la reconnaisance). Il est évident que dans L'exemple représenté sur cette figure, une similarité de vecteurs de transition est détectée. L'étape suivante consiste à effectuer une comparaison 30 plus fine entre Les segments élémentaires successifs S (voir e figure 4b) constituant les segments A8,B8 et C8 et les segments A1,B1 et Cl. Le procédé qui vient d'être décrit permet de reconnaître des objets isolés, partiellement cachés par 35 chevauchement, par référence à un dictionnaire de formes, 17 2597636 constitué au cours de la phase d'apprentissage. Le temps de reconnaissance varie suivant la nature de la scène à analyser. Si on utilise un microprocesseur 16 bits à usage général, un objet isolé est reconnu en moins d'une seconde tandis qu'une scène 5 constituée de plusieurs objets qui se chevauchent est analysée en deux à cinq secondes. Ce procédé présente une fiabilité très satisfaisante car le traitement de contour qui utilise des vecteurs de transition, tient compte essentiellement des disparités entre les objets. Lorsqu'un objet a été reconnu, on cherche à reconnaÂtre les autres objets présents dans la scène. Pour cela on marque toutes les informations concernant les segments de cet objet reconnus dans la scène. La figure 9 représente schématiquement un système 15 permettant de mettre en oeuvre le procédé de l'invention. Ce système comprend par exemple une caméra vidéo 1 qui transmet vers un ensemble de traitement et pendant la phase d'apprentissage des signaux vidéo relatifs aux contours des images de référence de différents objets. Cette caméra transmet pendant la phase de 20 reconnaissance des signaux vidéo relatifs au contour de l'image des objets 0, 02, 03, 04 à reconnaÂtre. I 4 Les moyens de traitement comportent un calculateur 2 relié à une mémoire 3 dans laquelle sont enregistrés un programme de traitement ainsi que les valeurs numériques à traiter ou les 25 valeurs numériques traitées qui correspondent aux contours des images de référence ou au contour de l'image des objets à reconnaître. Le calculateur 2 peut être muni d'un clavier de commande 4. Ce calculateur commande un ensemble de numérisation et de mémorisation 5 des signaux reçus de la caméra. Le calculateur 2 reçoit les signaux de sortie de cet ensemble 5 et effectue la totalité du traitement précédemment décrit. Un appareil de visualisation 6 permet par exemple d'afficher le contour de l'imaoe de référence de chaque objet lors de la phase d'apprentissage, ou le contour de l'image des objets à 35 reconnaître, lors de la phase de reconnaissance. Le calculateur 2 peut commander par une sortie, un robot 7 venant par exemple saisir un objet reconnu si cela est nécessaire. Dans une variante de l'invention, l'ensemble 5 réalise de plus une partie du traitement des signaux reçus de La caméra. 5 Ce traitement comprend les opérations d'extraction du contour, de codage par vecteurs de Freeman, de différentiation, de conversion numérique-analogique, de filtrage, d'échantillonnage et d'intégration mentionnées plus haut. Le calculateur reçoit les signaux de sortie de cet ensemble de traitement 5 et recherche 10 Les segments caractéristiques à partir des segments élémentaires successifs déterminés par l'ensemble de traitement 5; il calcule les vecteurs de transition. 19 2597636 REVENDICATIONS 1. Procédé de reconnaissance automatique d'objets susceptibles de se chevaucher, à partir des images respectives de référence de ces objets et de l'image de L'ensembLe des objets à 5 reconnaître, ces images étant mémorisées sous forme de valeurs numériques représentant pour chaque image les coordonnées des points d'une ligne de contour (L) de cette image, dans un repère de référence, ce procédé consistant à coder, pour chaque image, des segments élémentaires successifs (S) dont Les extrémités e sont situées sensiblement sur la Ligne de contour correspondante, ce codage donnant pour chaque segment, La longueur (L ou L) de 1 8 ce segment, ainsi que son angle ( a ou a) par rapport à une I 8 direction de référence (Ox), cette opération de codage étant effectuée aussi bien dans une phase "d'appre 'ntissage" des 15 différents objets à reconnaître ultérieurement, que dans une phase subséquente de "reconnaissance" des objets susceptibles de se chevaucher, caractérisé en ce qu'il consiste dans la phase d'apprentissage: - à rechercher pour chaque contour d'image de référence, des 20 couples de segments (Cl, C8) caractéristiques successifs ou non de ce parcours, formés chacun d'un ou plusieurs segments élémentaires (S), ces segments caractéristiques étant orientés dans un sens prédéterminé de parcours du contour, chaque couple déterminant un vecteur de transition caractéristique défini par 25 des paramètres qui sont La valeur de l'angle ( a), orienté dans le sens du parcours, entre Les deux segments caractéristiques orientés du couple, les coordonnées (P(x, y)) de l'origine et la longueur de chaque segment (L, L) i 8 caractéristique -du couple, un vecteur de transition étant 30 caractéristique lorsque ses paramètres procurent un pouvoir de discrimination du contour de l'objet correspondant, même en cas de chevauchement de cet objet par un ou plusieurs autres objets, les paramètres des vecteurs de transition étant mémorisés, - à hiérarchiser Les vecteurs de transition d'un contour en fonction de leur pouvoir de discrimination, - à modifier cette hiérarchisation des vecteurs de transition au fur et à mesure de l'acquisition des vecteurs de transition des 5 contours des différents objets, de manière à éliminer les vecteurs de transition semblables pour Les différents contours, ce procédé consistant ensuite, dans la phase de reconnaissance: - à effectuer Les mimes opérations de détermination des vecteurs de transition dans les segments caractéristiques du contour de 10 l'image des objets à reconnaître, - à comparer dans l'ordre de hiérarchisation, tes valeurs des paramètres des vecteurs de transition du contour de L'image des objets à reconnaître et du contour des images de référence de chaque objet de manière à rechercher des similarités de valeurs 15 de ces paramètres, - à faire une hypothèse de présence d'un objet correspondant à un vecteur de transition pour lequel la comparaison a établi une similarité, - à établir une vérification fine de cette hypothèse en comparant 20 les segments élémentaires (S) successifs du contour de l'image e de référence de cet objet avec les segments élémentaires successifs du contour de l'image des objets à reconnaître. 2. Procédé selon la revendication 1, caractérisé en ce que les segments élémentaires successifs (S) codés sont obtenus e par un codage de Freeman permettant d'obtenir des segments successifs (S) définis par leurs orientations et dont les i extrémités sont situées sur la ligne de contour (L) de chaque image, ce codage de Freeman étant suivi d'un traitement correctif permettant de déduire à partir de chaque segment (S) codé selon i Freeman, un ou plusieurs segments élémentaires successifs (S) e dont les extrémités sont situées sur la ligne de contour (L) de l'image, ces segments élémentaires successifs étant isotropes et de longueurs égales. 3. Procédé selon la revendication 2, caractérisé en ce 35 que le traitement correctif consiste pour chaque segment (S) i 21 2597636 codé selon Freeman, à différentier ce segment par rapport à son numéro d'ordre dans Le contour afin de compenser les irrégularités d'orientation, à effectuer une conversion des valeurs résultant de la différentiation de chaque segment afin de 5 compenser les irrégularités de Longueur, à filtrer Le signal résultant de cette conversion, à échantiLlonner ce signal à fréquence constante, puis à intégrer le signal échantillonné, cette intégration produisant Lesdits segments élémentaires (S) e successifs codés, le traitement correctif précédent permettant 10 par ailleurs d'extraire les points anguleux, donc Les segments caractéristiques.