FR2931006A1 - Systeme et procede pour la reconnaissance visuelle - Google Patents

Systeme et procede pour la reconnaissance visuelle Download PDF

Info

Publication number
FR2931006A1
FR2931006A1 FR0901789A FR0901789A FR2931006A1 FR 2931006 A1 FR2931006 A1 FR 2931006A1 FR 0901789 A FR0901789 A FR 0901789A FR 0901789 A FR0901789 A FR 0901789A FR 2931006 A1 FR2931006 A1 FR 2931006A1
Authority
FR
France
Prior art keywords
image
icon
points
icons
learned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0901789A
Other languages
English (en)
Other versions
FR2931006B1 (fr
Inventor
Simon Melikian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RECOGNITION ROBOTICS Inc
Original Assignee
RECOGNITION ROBOTICS Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by RECOGNITION ROBOTICS Inc filed Critical RECOGNITION ROBOTICS Inc
Publication of FR2931006A1 publication Critical patent/FR2931006A1/fr
Application granted granted Critical
Publication of FR2931006B1 publication Critical patent/FR2931006B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/11Technique with transformation invariance effect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

Un procédé pour la reconnaissance visuelle d'un objet dans une image électronique (122) comprend l'extraction de points uniques (124) d'un objet à apprendre et/ou d'un objet cible. Ces points uniques sont obtenus par corrélation croisée de l'image avec une structure. Généralement, la structure et/ou la taille de la structure peuvent varier pour détecter l'information sur extremum associée à l'objet appris et/ou à l'objet cible. Une icône correspondant à chacun des points uniques est extraite (128). La taille de cette icône correspond à l'échelle du point unique. Après l'extraction des diverses icônes, un objet devient un groupe d'icônes. Chacune de ces icônes a sa rotation éliminée et elle est normalisée et redimensionnée (130) à une taille constante de façon à pouvoir être comparée à d'autres icônes (132). Une des propriétés uniques de ces icônes est leur stabilité relativement à l'échelle et à l'angle. Ainsi, cette invention permet la reconnaissance très rapide d'une image ou d'un objet ou d'images et d'objets parmi un grand nombre d'images ou d'objets appris.

Description

SYSTÈME ET PROCÉDÉ DE RECONNAISSANCE VISUELLE La présente invention porte sur le domaine de la vision artificielle et, plus particulièrement, sur un système et sur un procédé de reconnaissance visuelle destinés à être utilisés dans diverses applications. La vision artificielle est généralement associée à la théorie et à la technologie utilisée pour construire des systèmes artificiels qui obtiennent des informations à partir d'images ou de données multidimensionnelles. Tel qu'il est utilisé ici, le terme "information" signifie n'importe quelle donnée sur laquelle on peut se baser complètement et/ou partiellement pour prendre une décision. On peut citer comme applications exemplaires de la vision artificielle : la reconnaissance visuelle d'objets et l'interprétation de scènes, particulièrement pour le repérage d'images, l'indexation vidéo, la commande de processus (par exemple la commande d'un robot ou d'un véhicule autonome tel qu'un véhicule aérien/terrestre/marin sans pilote), la détection d'évènements (pour la surveillance visuelle par exemple), l'organisation de l'information (par exemple pour l'indexation de bases de données d'images et de séquences d'images), la recherche d'images sur Internet (par exemple la recherche d'une image similaire sur Internet), la modélisation d'objets ou d'environnements (par exemple l'analyse d'images médicales ou la modélisation topographique), l'interaction (par exemple l'introduction dans un dispositif en vue d'une interaction humain- ordinateur), etc. Un objectif de la vision artificielle est de faire un ordinateur "qui voit" réellement tout comme les êtres humains. La compréhension du contenu des images et des vidéos de tous les jours est un des défis fondamentaux de la vision artificielle. Afin de faire un ordinateur "qui voit" dans un environnement sans limites, il est probable qu'une quantité extraordinaire de puissance de calcul, peut-être de l'ordre de 1015 opérations par seconde, soit nécessaire.
Même si une telle vitesse était possible dans un système de vision
artificielle commercial, il serait difficile d'effectuer des recherches visuelles rapides dans des environnements naturels sans limites. Afin de rendre les tâches de recherche et de reconnaissance résolubles dans la vision artificielle commerciale, les concepteurs limitent généralement la complexité visuelle de la tâche. Cela peut être fait de diverses façons. Par exemple, le système de vision peut être établi de façon à voir et à reconnaître seulement un objet ou une petite classe d'objets. Deuxièmement, la présentation (position, orientation, taille, vue etc.) de ces objets est strictement contrôlée. Ainsi, la variabilité de l'objet est limitée jusqu'au point où la grande majorité des variables sont éliminées et la recherche peut être mise en oeuvre moyennant un coût raisonnable aussi bien en temps de calcul qu'en argent. Les systèmes de vision artificielle n'ont généralement pas les connaissances nécessaires pour limiter et interpréter une recherche visuelle générale (par exemple recherches effectuées dans un environnement non contrôlé). Par conséquent la recherche pratique par vision artificielle nécessite que le concepteur limite radicalement ce que le système de vision voit et ajoute des connaissances a priori sur ce qu'il verra de façon à ce qu'il puisse interpréter le résultat. Ainsi, un désavantage majeur pour la vision artificielle dans les applications du monde réel est le temps, l'argent et les connaissances spécialisées nécessaires pour que de telles applications soient exécutées de manière adéquate. L'évolution de la vision artificielle au cours des vingt dernières années a été stimulée par les améliorations apportées au matériel et aux algorithmes. Une variété de procédés de vision artificielle ont été développés pour la détection des images (désignée aussi ci-après 'reconnaissance des formes'). Ces techniques comprennent, par exemple, l'utilisation d'images binaires pour représenter les images à niveaux de gris, la corrélation en niveaux de gris normalisés, l'analyse des nuées, la recherche et la reconnaissance basées sur la géométrie, la recherche basée sur les contours, la reconnaissance basée sur la constellation invariante affine, la
détection des coins, la détection des icônes saillantes, la transformée de propriétés invariantes à l'échelle, etc. Il existe un besoin important dans le domaine de la vision artificielle de reconnaître les objets dans une image ou dans une séquence d'images d'une manière similaire à la vision des êtres humains. Par exemple, dans un aéroport, un véhicule sans pilote a besoin de reconnaître les autres véhicules et les obstacles afin de pouvoir les éviter et/ou manoeuvrer dans l'aéroport. Dans un véhicule sans pilote ou dans une autre application de vision robotique, l'application robotique a généralement besoin de "voir" le chemin et de naviguer de manière autonome ou d'atterrir de manière autonome. Dans la reconnaissance visuelle, il est difficile d'obtenir l'invariance à la présentation (position, orientation, distance (échelle) et perspective), à l'éclairage, à l'occlusion et au fond des objets. Les aspects de la présente invention fournissent une invariance excellente à la présentation, à l'éclairage, à l'occlusion et au fond des objets et une généralisation excellente pour la reconnaissance réelle des objets. Le cerveau humain traite l'information visuelle associée aux objets totalement indépendamment de la position, de l'orientation, de la distance (échelle) et de la perspective. Par exemple, si un être humain voit une "canette de boisson gazeuse", il peut la reconnaître quelle que soit la distance et/ou l'orientation (par exemple la distance de la canette, sa rotation, si elle est renversée, inclinée etc.) Le cerveau "normalise" essentiellement la vue. Les êtres humains sont capables d'apprendre un grand nombre d'objets et de repérer facilement les objets appris. Les aspects de la présente invention permettent d'apprendre virtuellement un nombre illimité d'objets et de reconnaître n'importe lequel de ces objets appris, quelle que soit la présentation de l'objet. Cela est analogue à la capacité de reconnaissance visuelle humaine. Par exemple, des aspects de l'invention permettent la reconnaissance de centaines d'objets appris très rapidement (par exemple en moins d'une seconde) et il n'y a fondamentalement pas de limites à l'apprentissage et à la reconnaissance de millions d'objets. Cette
capacité vient de la possibilité d'extraire les mêmes icônes (parcelles d'image) d'une image d'un objet quelle que soit la distance, la rotation, la présentation de cet objet par rapport à la personne qui le voit et/ou au dispositif en train d'acquérir l'image ou la série d'images.
Les aspects de l'invention se rapportent à l'extraction de points uniques (par exemple les points de coordonnées x et y) dans une image. Chacun de ces points uniques à sa propre échelle unique (par exemple taille) et sa propre orientation unique qui est liée directement à la présentation de l'objet. Le fait que l'information sur l'échelle et l'orientation soit mesurée par point unique permet une reconnaissance visuelle qui est complètement invariante à la présentation. Autrement dit, lorsqu'un objet est plus près, plus loin, tourné, renversé, et/ou incliné, ces points uniques ont des emplacements relatifs similaires par rapport à l'objet, une échelle unique qui est liée à la proximité/distance de l'objet et des valeurs de rotation qui sont liées directement à la rotation planaire de l'objet. Essentiellement, ces points uniques "normalisent la vue" de l'objet. Une icône (parcelle d'image) d'une image d'un objet est extraite de chacun de ces points uniques. La taille de l'icône correspond à l'échelle du point unique. Et l'angle de l'icône est l'angle du point unique. Après l'extraction des diverses icônes, un objet devient un groupe d'icônes. Chacune de ces icônes à sa rotation éliminée par l'angle de l'icône et elle est redimensionnée de façon à pouvoir être comparée (mesure de distance telle que la différence absolue) individuellement avec une autre icône (ce qui est désigné aussi dans ce mémoire descriptif par le terme "normalisé"). II a été déterminé que les icônes étaient virtuellement identiques, quelle que soit la présentation de l'objet. Autrement dit, les icônes (parcelles d'image) sont les mêmes, que l'objet soit près ou loin, tourné, incliné et/ou renversé. Une des propriétés uniques de ces icônes est leur stabilité relativement à l'échelle et à l'angle. La comparaison d'une icône relativement à la similarité peut aussi comprendre une information de couleur. Généralement, lorsqu'on compare deux icônes, chaque icône peut aussi être normalisée en intensité.
La recherche d'un objet dans une base de données d'images d'objets appris devient une recherche de vecteurs associés aux images des objets appris. Les techniques d'indexation sont une façon de représenter une image pour la recherche.
Le calcul de la transformation géométrique entre un objet appris et un objet trouvé est effectué en calculant la transformation entre la position de l'icône apprise correspondante et la position de l'icône trouvée, comme cela est décrit ci-après. La matrice de transformation entre l'objet appris et l'objet trouvé est calculée en utilisant une matrice de perspective qui utilise les moindres carrés de toutes les positions des icônes correspondantes ou en choisissant deux ensembles de positions d'icônes quadruples parmi les objets appris et trouvés. En se basant sur des suppositions qu'un corps est rigide, chaque ensemble de quatre icônes peut calculer une matrice de perspective. De nombreux ensembles de quatre icônes donnent la même transformation, ce qui fournit une mesure robuste de concordance correcte, désignée aussi dans ce mémoire descriptif "redondance de mesure", comme décrit ci-après. Un aspect de la présente invention se rapporte à un procédé de reconnaissance visuelle d'au moins un objet dans une image, ce procédé comprenant : la fourniture d'une image sous format électronique, cette image comprenant au moins un objet à apprendre ; la production d'une information sur extremum associée à l'image par corrélation croisée avec au moins une structure sur au moins une partie de l'image, cette information sur extremum comprenant au moins un point de coordonnée associé à la corrélation croisée avec la structure sur l'image ; l'extraction d'au moins une icône de l'image, cette icône comprenant le point de coordonnée associé à l'information sur extremum ; la détermination d'un angle associé à l'icône ; la normalisation de l'icône à une taille fixe ; et le stockage de l'information sur l'icône sous une forme lisible par ordinateur, l'information sur l'icône comprenant des valeurs d'image associées à au moins une partie de l'icône ;
le point de coordonnée associé à l'information sur extremum ; et l'angle associé à l' icône. Un autre aspect de l'invention se rapporte à un procédé pour faire concorder un objet appris avec un objet cible, ce procédé comprenant : la fourniture d'au moins un objet appris et d'au moins un objet cible, l'objet appris et l'objet cible ; l'extraction de points uniques de l'objet cible, les points uniques étant générés à partir de l'information sur extremum obtenue de l'image cible par corrélation croisée avec au moins une structure sur l'image cible ; l'extraction d'une icône de l'image cible correspondant à chacun des points uniques ; la détermination d'un angle associé à l' icône ; la normalisation de l'icône extraite ; et la détermination de si oui ou non l'icône extraite des images cibles correspond à un objet appris Un autre aspect de l'invention se rapporte à un programme stocké sur un support lisible par une machine qui est approprié pour être utilisé de façon à faire concorder un objet appris avec un objet cible, comme quoi, lorsque ce programme est chargé dans la mémoire d'un ordinateur associé et exécuté, il permet l'extraction de points uniques de l'objet cible, les points uniques étant générés à partir de l'information sur extremum obtenue de l'image cible par corrélation croisée avec au moins une structure sur l'image cible ; l'extraction d'une icône de l'image cible correspondant à chacun des points uniques ; la détermination d'un angle associé à l' icône ; la normalisation de l'icône extraite ; et la détermination de si oui ou non l'icône extraite des images cibles concorde avec l'objet appris. D'autres systèmes, dispositifs, procédés, caractéristiques et avantages de la présente invention seront compris de l'homme du métier lors de l'examen des dessins et de la description détaillée ci-après. Il convient de souligner que le terme "comprennent/comprenant", lorsqu'il est utilisé dans ce mémoire descriptif, est sensé spécifier la présence de caractéristiques, de nombres entiers, d'étapes ou de composants indiqués mais qu'il n'exclut pas la présence ou l'addition d'une ou de plusieurs autres caractéristiques, nombres entiers, étapes, composants ou groupes de ceux-ci.
Les modes de réalisation de l'invention susmentionnés et d'autres modes de réalisation de l'invention sont décrits ci-après en référence aux dessins. Les composants dans les dessins ne sont pas nécessairement à l'échelle ; l'accent est mis plutôt sur l'illustration claire des principes de la présente invention. De même, les caractéristiques et les éléments illustrés sur un dessin peuvent être combinés à des caractéristiques et des éléments illustrés sur des dessins supplémentaires. De plus, sur les dessins, des numéros de référence similaires désignent des parties correspondantes sur toutes les vues multiples.
Les figures 1A à 1D sont une illustration d'un exemple d'une structure et d'un procédé de corrélation selon des aspects de la présente invention. La figure 2 est une illustration d'un exemple d'une structure ayant diverses échelles selon un aspect de la présente invention. Les figures 3A à 3N illustrent les résultats de la corrélation et l'information sur extremum correspondante associée à ceux-ci selon des aspects de la présente invention. Les figures 4A et 4B illustrent des vecteurs d'angle d'icône selon des aspects de la présente invention. La figure 5 est une illustration d'exemples d'icônes normalisées 20 obtenues selon des aspects de la présente invention. Les figures 6A et 6B illustrent des exemples d'icônes selon des aspects de la présente invention. Les figures 7A et 7B illustrent des exemples d'icônes selon des aspects de la présente invention. 25 Les figures 8A à 8C illustrent des exemples de structures selon des aspects de la présente invention. Les figures 9 à 13 sont des exemples de procédés selon des aspects de la présente invention. Les figures 14A et 14B illustrent des exemples d'objets ayant 30 différentes échelles et orientations selon des aspects de la présente invention.
La figure 15 est un schéma fonctionnel d'un système selon des aspects de la présente invention. La présente invention se rapporte à un système et à un procédé pour l'identification des formes d'une image apprise (ou d'une forme apprise) dans une image cible. Des points uniques et stables (par exemple les points de coordonnées x et y) sont extraits d'une image d'un objet, quelle que soit la présentation de l'objet. Le caractère unique des points extraits vient du fait que ces points ont la même position relative dans l'objet, quelle que soit la distance, l'orientation (par exemple renversement, inclinaison, rotation etc.) et l'éclairage de l'objet par rapport à la personne ou au dispositif qui le voit. Autrement dit, les points extraits sont invariants à la présentation de l'objet. Les premiers algorithmes de vision artificielle utilisaient généralement un procédé de soustraction d'image, désigné aussi 'golden template matching' (concordance avec modèle de référence), comme procédé primitif de reconnaissance. La soustraction d'image est une forme de mesure de distance entre deux images. Pour que le procédé de soustraction d'image marche, l'objet dans l'image apprise doit être presque identique à l'objet dans l'image (la scène) cible. Par exemple, l'objet doit généralement être dans la même position, à la même échelle, au même angle planaire etc. que l'objet appris. Tout changement d'emplacement ou toute autre transformation produirait un résultat faux. De telles conditions étaient généralement nécessaires parce que le procédé de soustraction soustrayait simplement des valeurs de pixels ayant des coordonnées dans une image avec des valeurs de pixels situées à des coordonnées correspondantes dans une autre image. Si un procédé peut trouver des régions dans une image d'objet qui sont les mêmes quelle que soit la présentation de l'objet, il est concevable que le concept du modèle de référence puisse être utilisé pour reconnaître des régions de cet objet, ce qui pourrait résulter en la reconnaissance de l'objet tout entier. Les procédés antérieurs pour trouver ces points uniques et les icônes associées produisaient des points instables en regard de leur
position, leur échelle instable, et/ou leur angle. Les procédés antérieurs produisaient quelques valeurs concordantes et une majorité de valeurs discordantes, ce qui rendait généralement problématique la reconnaissance des formes. Les chercheurs universitaires ont mené des expérimentations avec plusieurs types de ces points uniques. Comme exemples de quelques-uns des types connus de ces points, on peut citer le détecteur Harris-Corner, Harris-Laplace, Laplacien de Gaussienne et SIFT (différence de Gaussien). Généralement, ces détecteurs manquent de stabilité dans la position, l'échelle et l'angle, ce qui entraîne divers problèmes pendant le processus de reconnaissance. Par exemple, ces procédés antérieurs produisent des centaines et/ou des milliers de points uniques et il est possible que seulement quelques-uns de ces points survivent d'une position d'objet à une autre pour faciliter la reconnaissance de formes. Un point invariant dans une image a généralement besoin d'avoir la caractéristique d'extremum pour quelque mesure. Par exemple, dans un signal dimensionnel, tel qu'une parabole, le point maximum d'une parabole est un point invariant quels que soient les paramètres de la parabole (par exemple que la parabole soit large, étroite, déplacée ou tournée). En se reportant aux figures 1A à ID, un procédé exemplaire 10 d'extraction de points uniques et très stables (par exemple les points de coordonnées x et y) est illustré. Ces points sont très stables en matière de position, d'échelle et d'angle. En conséquence, ces points sont désignés dans ce mémoire comme des points invariants en échelle et en rotation (SRI) ou (SRIP). Une façon d'extraire les points SRI est par corrélation croisée de l'image de l'objet avec une structure 12. La corrélation croisée est généralement une mesure de la similarité des deux signaux. La corrélation croisée est utilisée couramment pour trouver des caractéristiques dans un signal inconnu en le comparant à un signal connu. C'est une fonction du temps relatif entre les signaux et on l'appelle parfois le produit scalaire glissant.
La structure 12 peut être de forme circulaire, conique ou gaussienne. Dans un mode de réalisation, la structure 12 est une structure de forme conique. En se reportant à la figure 1A, la structure 12 de forme conique est illustrée dans deux dimensions.
La structure de forme conique 12 a un angle de cône e qui correspond généralement à la hauteur (h) de la structure 12. Par exemple, les points SRI ont généralement des propriétés très intéressantes qui facilitent la reconnaissance. En se basant sur le score de corrélation entre la structure de forme conique (ou toute autre structure désirée) et l'image : un score de corrélation proche de 1,0 identifie des structures rondes ; un score de corrélation d'environ 0,5 identifie des structures à forme de bande, et un score de corrélation d'environ 0,7 identifie une structure à forme d'extrémité de bande. L'homme du métier appréciera facilement que la forme de la structure choisie peut correspondre à un changement du score de corrélation pour la structure identifiée. En se reportant à la figure 1B, une "plaque d'acier" 14 est illustrée. Cette plaque d'acier 14 a des trous 16 de tailles diverses le long d'une surface 18. Cette plaque d'acier est analogue à l'image de l'objet ou à l'image de la scène.
On essaie d"'insérer" la structure 12 dans la plaque d'acier 14 d'une manière numérisée (par exemple un pixel après un autre pixel). Comme cela est montré sur la figure 1C, la structure de forme conique 12 est illustrée comme étant insérée dans une "plaque d'acier" 14, pour les besoins d'illustration. Un objectif est de trouver les trous (ou une autre structure significative) en enfonçant (d'une manière numérisée) (c'est-à-dire pixel par pixel et/ou groupe de pixels par groupe de pixels) la structure 12 (par exemple une cheville conique) dans la plaque d'acier. La structure 12 (par exemple la forme conique est l'image de corrélation croisée connue) est utilisée pour produire les points uniques. Si un point sur la surface 18 ne contient pas de trou, la cheville ne pénètre pas dans la plaque d'acier 14, ce qui donne un faible score de concordance de corrélation (par exemple, voir
"D" sur la figure 1C). En se reportant à la figure 1C, si la structure 12 est insérée (ou enfoncée) dans un trou, le cône pénètre sur une certaine distance suivant la taille conique de la cheville et la taille du trou dans la plaque. Par exemple, en "A", la structure 12 pénètre dans le trou 16 environ jusqu'à mi-chemin. En "C", la structure 12, qui a essentiellement la même taille que la structure en "A", pénètre presque complètement dans le trou. En conséquence, "C" a une corrélation plus élevée que "A". Notez aussi qu'en "B", une plus grande structure 12 que celle utilisée en "A" et "C" est illustrée. La plus grande structure pénètre approximativement 80% dans le trou 16 en "B". Si la structure de la même taille que celle utilisée en "A" et en "C" était insérée dans le trou en "B", cette structure heurterait le fond sans toucher aucune des parois associées au trou 16, et n'aurait donc pas de forte corrélation, aucun extremum. Dans un mode de réalisation, il est souhaitable de faire la corrélation croisée d'une image avec des structures ayant une variété d'échelles afin d'identifier la totalité ou au moins une partie de l'information sur extremum disponible sur l'image. En se reportant à la figure 1 D, la quantité de pénétration du cône (par exemple le score de concordance de corrélation) est liée à la structure, à l'angle du cône et à la taille du trou ou de la structure. Par exemple, on peut voir cela comme une analyse de fréquence bidimensionnelle d'une image. Le résultat de la corrélation croisée d'une structure de forme conique avec l'image à une échelle différente est un ensemble de points de coordonnées (x, y) et un rayon unique (échelle) pour chacun de ces points. La valeur du rayon est liée directement à l'échelle de l'image et à la taille de la structure autour du point de coordonnée. La figure 2 illustre la structure de forme conique 12 dans une image bidimensionnelle pour six échelles 21 différentes. La taille de l'échelle peut être n'importe quelle taille désirable pour chacune des diverses structures utilisées pour identifier les points SRI. Les points SRI pour chacune des diverses tailles de structure varieront généralement lorsqu'ils sont mis en corrélation croisée avec une image. Le groupe de points SRI pour toutes les
tailles de structure est généralement utilisé pour définir l'objet, comme cela est décrit ci-après. Par exemple, la taille de l'échelle de la structure 12 peut varier entre un contact ponctuel (par exemple 5 x 5 pixels) jusqu'à la taille de l'image et/ou de l'objet en question. Les gradations 22 de changement de couleur correspondent à la hauteur de la structure de forme conique 12. Les figures 3A à 3G illustrent un exemple d'image qui a été mise en corrélation croisée avec une structure 12 d'une taille de cône (échelle) variable (par exemple les structures coniques illustrées sur les figures 1 et 2). L'image exemplaire peut être n'importe quelle image numérique, une partie d'un objet ou d'une image, une représentation électronique d'une image, etc. Comme cela est montré sur les figures 3A à 3G, l'image est une image numérique d'un objet. Il peut être souhaitable pour une machine de déterminer l'emplacement et/ou l'orientation précise d'un ou de plusieurs éléments (ou formes) dans cette scène. Cette information peut être utilisée de n'importe quelle manière désirable. Par exemple, l'information peut être utilisée de façon à ce qu'un contrôleur, un dispositif ou un autre dispositif électronique puisse interagir correctement avec un logiciel qui est capable de détecter des objets optiques afin de faciliter le contrôle, la localisation, l'assemblage et/ou le traitement de l'information associée à l'élément.
Une fois que l'image a été mise en corrélation croisée, un ensemble résultant de points uniques (désignés aussi dans ce mémoire comme les points de coordonnées x et y) et des valeurs de rayon (échelle) pour chacun des points sont obtenus, comme cela est illustré par les cercles blancs dans chacune des images. Comme cela a été indiqué plus haut, n'importe quelle structure 12 peut être utilisée selon les aspects de la présente invention. Par exemple, un Gaussien bidimensionnel a fourni des résultats similaires à la structure de forme conique. La structure de forme conique 12 est utilisée pour trouver l'extremum dans l'objet, quelle que soit l'échelle. Cela fournit une localisation relative robuste et fiable (par exemple les positions des coordonnées x et y dans l'image), et l'échelle.
Une fois que l'image de corrélation est calculée, un détecteur de crêtes est appliqué pour trouver la coordonnée des crêtes sous forme de sous-pixels, comme cela est illustré sur les figures 3H à 3N. La figure 3H identifie l'extremum correspondant à la figure 3A ; la figure 31 identifie l'extremum correspondant à la figure 3B ; la figure 3J identifie l'extremum correspondant à la figure 3C ; la figure 3K identifie l'extremum correspondant à la figure 3E ; la figure 3L identifie l'extremum correspondant à la figure 3D ; la figure 3M identifie l'extremum correspondant à la figure 3F ; et la figure 3N identifie l'extremum correspondant à la figure 3G. La structure de forme conique 12 est un détecteur d'extremum invariant en rotation pour une gamme d'échelles. De plus, la structure de forme conique 12 offre aussi une localisation de position supérieure quelle que soit l'échelle. Une fois que les points uniques (par exemple les valeurs de coordonnées) sont déterminés, une icône (parcelle d'image) est extraite des points associés à chacune de ces coordonnées. La taille de l'icône est proportionnelle au rayon (échelle) de la structure de forme conique ayant une valeur de concordance de corrélation croisée élevée. L'angle de l'icône 50 est calculé à partir d'un vecteur entre la position de point unique 54 et la position centroïde de niveau des gris 52 de l'icône à l'échelle, comme cela est montré sur les figures 4A et 4B. Comme cela est montré sur la figure 4A, le calcul de l'angle de l'icône est basé sur le centroïde de niveau des gris en utilisant l'image brute de l'icône, par exemple. Le calcul de l'angle de l'icône peut aussi être basé sur l'image détectée par les bords de l'icône, comme cela est montré sur la figure 4B. L'angle de l'icône est le vecteur depuis le centre de l'icône jusqu'au centroïde de niveau des gris. Le centroïde de niveau des gris peut aussi être appliqué sur l'image brute (par exemple comme la détection de bords Sobel ou Canny). Une fois extraite, chacune est icônes est normalisée à une taille fixe, comme cela est montré sur la figure 5. La figure 5 illustre l'ensemble d'icônes extraites de l'image à chaque point de coordonnée pour chaque échelle associée à la structure. Par exemple, la figure 5 illustre une matrice
d'icônes normalisée. L'objectif de la normalisation de ces icônes en une taille constante est d'être capable de les comparer avec d'autres icônes (pour trouver des icônes similaires dans la base de données d'icônes, et donc des objets similaires), en calculant simplement la différence entre les deux images comme dans le "golden template matching". Un autre procédé pour comparer ces icônes est de créer le vecteur descripteur puis de comparer ces descripteurs en utilisant la mesure de distance entre les vecteurs. Par exemple, l'icône de la figure 6A peut être décrite dans le format de vecteur descripteur comme : 6, 17, 22, 23, 16, 0, 0, 11, 3, 26, 25, 3, 0, 0, 20, 20, 6, 5, 4, 10, 5, 60, 0, 7, 6, 14, 4, 12, 9, 22, 12, 16. De même, l'icône de la figure 6B peut être décrite dans le format de vecteur descripteur comme : 13, 7, 21, 11, 4, 5, 24, 11, 0, 58, 38, 0, 0, 0, 2, 0, 0, 5, 20, 11, 4, 28, 28, 1, 7, 6, 0, 0, 0, 84, 1, 0.
L'homme du métier comprendra facilement qu'il y a de nombreuses façons de calculer les descripteurs d'icône (par exemple histogramme d'angle de gradient, analyses de composante principale (PCA) etc.). Chaque objet appris peut être décrit par un ensemble d'icônes. Chaque icône comprend généralement une ou plusieurs valeurs, par exemple : position de coordonnées (x, y), une taille qui correspond à la taille de la structure de l'image de laquelle provient l'icône, et un angle. Par exemple, les figures 7A à 7C illustrent diverses icônes extraites d'une corrélation de structures ayant des tailles diverses. La relation spatiale de ces icônes est assurée par les contours de l'objet. Ces icônes peuvent être stockées dans n'importe quel dispositif de stockage électronique. Par exemple, ces icônes peuvent être stockées dans une base de données d'icônes qui comprend généralement un identificateur, qui est étiqueté et/ou associé autrement à un objet appris spécifique. Dans un autre mode de réalisation, un descripteur associé à chacune des icônes est stocké dans une base de données ou un autre support d'enregistrement de données approprié. Dans un autre mode de réalisation, les icônes peuvent aussi être
extraites à des valeurs à échelle multiple qui produisent des icônes multiples par points uniques, contrairement à l'extraction d'icônes seulement à l'échelle de structure de forme conique. Par exemple, si l'échelle de structure de forme conique est 32 x 32 pixels, on extrait alors des icônes à 32 x 32 pixels et à 48 x 48 pixels, comme cela est illustré sur la figure 7C. Ce procédé garantit généralement une correspondance et une reconnaissance réelles à partir d'un très petit nombre d'icônes. En fait, dans de nombreuses situations, il est possible que seulement une icône unique soit nécessaire pour déterminer la reconnaissance de l'objet.
Les figures 8A à 8C illustrent un processus d'extraction de points uniques d'une image. Sur la figure 8A, des points uniques sont extraits le long d'une région semblable à une bande avec un score de corrélation d'environ 0,5. La figure 8B illustre l'extrémité d'une bande et a un score de corrélation d'environ 0,7. La figure 8C illustre l'extraction de beaucoup d'objets ronds. Le score de corrélation avec les objets ronds est environ 1, indiquant que les objets ronds ont une corrélation élevée avec la structure (par exemple la structure de forme conique) sélectionnée pour la corrélation croisée. La figure 9 illustre un exemple de procédé exemplaire 100 pour extraire d'une image des icônes invariantes à l'échelle et à la rotation. Au bloc 102, une image d'un objet est fournie sous forme électronique. Cette image peut être dans n'importe quel format électronique approprié (par exemple JPEG, TIFF, PDF, bitmap, etc.). Au bloc 104, l'image d'un objet est mise en corrélation croisée avec une ou plusieurs structures 12 (par exemple des structures de forme conique), comme décrit plus haut. Au bloc 106, l'image de sortie de l'opération de corrélation croisée est obtenue pour chacune des structures de corrélation croisée. Au bloc 108, les valeurs de crête sont extraites pour chacune des structures de corrélation croisée. Au bloc 110, une liste de points de coordonnées par structure de corrélation croisée est obtenue est stockée dans une mémoire.
La figure 10 illustre un exemple de procédé 120 pour extraire d'une image des icônes invariantes à l'échelle et à la rotation. Au bloc 122, une image d'un objet est fournie sous forme électronique. Au bloc 124, une liste de points de coordonnées par structure de corrélation croisée est fournie. Au bloc 126, l'angle de l'icône est généré pour chacune des icônes et stocké de manière appropriée pour être utilisé plus tard au bloc 128. Au bloc 130, les icônes sont alors normalisées par une mise à l'échelle appropriée, comme on le désire. Au bloc 132, les icônes sont stockées dans une mémoire ou dans un autre dispositif de stockage électronique.
La figure 11 illustre un autre exemple de procédé 150 pour extraire d'une image des icônes invariantes à l'échelle et à la rotation. Au bloc 152, une image d'un objet est fournie sous forme électronique. Au bloc 154, des points invariants à l'échelle et à la rotation sont extraits à une échelle. Au bloc 156, une sous-échelle est calculée pour chaque icône. Un point extremum est généralement une crête à une échelle et à des échelles voisines. Par conséquent, il est possible de calculer la sous-échelle en prenant la valeur de crête à la "meilleure échelle" et à son échelle voisine. L'échelle d'une icône devient l'échelle de la structure de forme conique plus ou moins la sous-échelle. Un procédé bien connu est l'ajustement de parabole pour trouver sa crête en sous-position. Au bloc 158, l'icône pour chacune des coordonnées est calculée pour l'échelle. Au bloc 160, étant donné l'angle de l'icône et l'échelle pour chacune des coordonnées, on extrait les icônes de l'image. Au bloc 162, les icônes sont normalisées à une taille fixe. Au bloc 162, les blocs 154 à 160 sont répétés jusqu'à ce que toutes les icônes aient été extraites. Au bloc 164, une constante K d'icônes très stables et invariantes qui représentent l'objet est obtenue et peut être stockée dans une mémoire ou dans un autre dispositif de stockage approprié ou pompée dans une base de données d'indexation ou dans une table de hachage.
Un exemple de procédé 200 pour apprendre un objet est illustré sur la figure 12. Au bloc 202, une image d'un objet est fournie sous forme électronique. Au bloc 204, un point de contour d'objet est extrait d'une image et échantillonné. On peut utiliser les points de contour pour la vérification d'hypothèses et pour vérifier la relation spatiale entre les coordonnées de points uniques. En général, les points uniques attirent l'attention et les points de contour vérifient les hypothèses. Des points échantillons venant des points de contour sont sélectionnés, ce qui fournit un processus de vérification rapide. Au bloc 206, les points SRI acquis de l'image et/ou de l'objet à apprendre sont utilisés pour extraire des icônes associées aux points SRI.
Dans un mode de réalisation, chaque icône a ses coordonnées (x, y), sa taille (échelle) et son angle. Au bloc 208, un descripteur est créé pour chaque icône. En plus ou en variante, chaque icône peut aussi être étiquetée ou associée autrement avec un nom d'objet appris. Au bloc 210, des icônes similaires sont trouvées et étiquetées. Des icônes similaires sont généralement appropriées pour la reconnaissance, mais pas suffisamment uniques pour localiser l'objet à moins que la relation spatiale entre les icônes ne soit appliquée comme, par exemple, icône voisine la plus proche ; n voisines les plus proches ; voisine à gauche, en haut, en bas, à gauche ; etc. Des icônes similaires peuvent avoir des correspondances multiples. Les blocs 202-210 sont répétés pour chaque objet devant être appris. Une fois appris, un objet devient un groupe d'icônes (ou de leurs descripteurs) et la relation spatiale qui relie les icônes ensemble est un ensemble de points de contour d'objet. On peut aussi utiliser les coordonnées d'icônes pour détecter, déterminer et/ou vérifier des relations spéciales entre les icônes. L'utilisation de descripteurs présente divers avantages. Ces avantages comprennent, par exemple, le fait qu'ils permettent l'utilisation de techniques d'indexation pour le repérage rapide d'icônes similaires dans une base de données d'icônes, ce qui accélère le repérage d'objets similaires.
Cette fonctionnalité est très désirable lors de la reconnaissance d'un ou de plusieurs objets dans une grande base de données d'objets.
Pendant la phase de reconnaissance, un objet ou des objets multiples peuvent exister dans une image (image de scène) et un but est de reconnaître l'objet ou les objets multiples et de fournir les coordonnées x et y de chaque objet. Un procédé de reconnaissance exemplaire 250 est illustré sur la figure 13. Au bloc 252, une image ayant un ou plusieurs objets à identifier est fournie sous forme électronique. Au bloc 254, la phase de reconnaissance est initialisée. Au bloc 256, les points de contour sont extraits de l'image et les points SRI sont extraits de l'image. Au bloc 258, des icônes de l'image sont extraites à chacun des points uniques et normalisées, comme décrit plus haut. Au bloc 260, pour chaque icône extraite, une icône concordant le mieux est trouvée ou sinon est recherchée dans une base de données d'icônes en utilisant soit un procédé séquentiel si le nombre d'objets appris est petit, soit un procédé d'indexation si le nombre d'objets appris est grand.
Au bloc 262, les objets candidats dans l'image sont identifiés et classés en se basant sur la qualité de la concordance et/ou le nombre de concordances. Au bloc 264, l'emplacement de l'objet ou des objets est déterminé. Au bloc 266, en se basant sur l'icône ou les icônes apprises d'un objet ou d'objets identifiés, des icônes correspondantes dans les icônes reconnues sont trouvées. Cela peut être accompli par divers procédés. Un exemple de procédé commence au bloc 268. Au bloc 268, toutes les icônes correspondantes sont utilisées pour calculer une transformation de perspective. Cela peut être fait en générant une ou plusieurs hypothèses. Ces hypothèses peuvent être générées de n'importe quelle manière désirée.
Par exemple, toutes les icônes d'objet(s) appris peuvent être sélectionnées et comparées avec des icônes concordantes correspondantes. En utilisant un procédé de corrélation aux moindres carrés ou un autre procédé de corrélation, une transformée de perspective est générée entre les coordonnées des points uniques appris et les points concordants correspondants dans l'image de la scène. Un procédé de corrélation aux
moindres carrés est généralement préféré parce qu'il peut y avoir quelques valeurs discordantes à ce moment-là. Au bloc 270, les points de contour appris échantillonnés des objets candidats sont transformés et superposés sur l'image de la scène pour la vérification. Un score de concordance entre le contour échantillonné et le contour de la scène est calculé. La transformation ayant la meilleure concordance de contours est sélectionnée. Au bloc 272, en utilisant la transformation de la meilleure concordance, tous les points uniques de l'objet appris sont transformés avec la transformée de perspective sur l'image. De plus, la distance entre ces points transformés et les points uniques des objets de la scène est calculée. Au bloc 274, toute icône correspondante discordante est enlevée et la transformée ayant la meilleure concordance est enregistrée pour être utilisée plus tard. Les blocs 270 à 274 sont répétés N fois, N étant le nombre de points d'icônes correspondants. Une fois que ce procédé a été appliqué N fois, la transformée ayant la meilleure concordance est enregistrée pour être utilisée plus tard. Un autre procédé pour obtenir une localisation précise d'une icône est illustré dans les blocs 280 à 286. En se reportant au bloc 280, pour chaque ensemble quadruple de points d'icône correspondants (par exemple coordonnées), une transformée de perspective est calculée en utilisant un procédé aux moindres carrés ou quelque autre procédé de corrélation. Au bloc 282, les points de contour de l'objet avec la transformée de perspective sont transformés, de manière similaire au bloc 270. Au bloc 284, les points de contour transformés sont transformés et superposés sur l'image pour vérifier la transformée, comme cela est décrit plus haut relativement au bloc 272. Au bloc 286, la transformée produisant la meilleure concordance est enregistrée et le processus est répété N fois (N étant le nombre d'ensembles quadruples). Les figures 14A et 14B illustrent des échantillons de points uniques qui sont invariants à la présentation. Par exemple, la figure 14A illustre un objet dans une image, l'image ayant été prise à une distance relativement
proche de l'objet et/ou l'image ayant été zoomée "avant" autour de l'objet. La figure 14B illustre une image du même objet pris à une distance plus grande et/ou zoomé plus arrière, et tourné, renversé et incliné par rapport à l'image sur la figure 14A.
En cours d'utilisation, un procédé de génération des hypothèses sélectionne un nombre prédéterminé de points (par exemple quatre points) parmi les points uniques appris et un nombre prédéterminé de points correspondants (par exemple quatre points) dans l'image de la scène. Ce processus est répété pour N nombre de points quadruples. Pour chaque ensemble de quatre points, la transformée de perspective est générée et des points de contour échantillonnés sont transformés et superposés sur les points de contour de la scène. La transformée ayant la meilleure concordance entre les contours appris et le contour de la scène est conservée comme la meilleure transformée de transformation. Pour un ensemble de dix icônes concordantes entre l'objet appris et l'objet trouvé, il y a 210 combinaisons possibles et, bien sûr, la génération de 210 hypothèses possibles et vérifications possibles. La vitesse du processus de reconnaissance (du processus tout entier) pour un objet appris est environ 140 millisecondes en utilisant un processeur Pentium commercial standard avec une vitesse de processeur de 1,6 GHz. Cela prend environ 2 millisecondes de plus pour chaque objet appris en utilisant la concordance d'icônes séquentielle. Cela signifie, par exemple, que pour 430 objets appris, une reconnaissance prendrait 1 seconde ((1000 ù 140)/2). Une indexation basée sur une table de hachage aurait le potentiel d'accomplir la reconnaissance d'un million d'objets en une seconde. Comme contribution pratique, les aspects de la présente invention peuvent être utilisés dans une grande diversité d'applications de vision artificielle comprenant, par exemple : la reconnaissance visuelle d'objets et l'interprétation de scènes, particulièrement pour le repérage d'images, l'indexation vidéo, la commande de processus (par exemple un robot ou un véhicule autonome tel qu'un véhicule aérien/terrestre/marin sans pilote), la
détection d'évènements (par exemple pour la surveillance visuelle), l'organisation de l'information (par exemple pour l'indexation de bases de données d'images et de séquences d'images), la recherche d'images sur Internet (par exemple la recherche d'une image similaire sur Internet), la modélisation d'objets ou d'environnements (par exemple l'analyse d'images médicales ou la modélisation topographique), l'interaction (par exemple l'introduction dans un dispositif pour une interaction humain-ordinateur), les applications dans lesquelles un système de guidage et/ou de commande à boucle fermée est utilisé qui a besoin d'un algorithme de recherche rapide, etc. La figure 15 illustre un exemple de système asservi 300 qu'on peut utiliser selon les aspects de la présente invention. Le système 300 peut comprendre un dispositif d'entrée optique 302 (par exemple une caméra à transfert de charge) et/ou un dispositif de stockage électronique 304 pour fournir une image apprise et/ou une image cible à un processeur 306. La sortie des dispositifs 302, 304 peut être alimentée à un processeur 306 qui a un code informatique qui est fonctionnel pour exécuter la fonctionnalité désirée. Le processeur 306 peut générer un signal de commande destiné à un dispositif de commande 308 (par exemple un automate logique programmable) qui peut être utilisé pour commander un ou plusieurs dispositifs électroniques 310 (par exemple système de navigation de véhicule, système de poursuite etc.). Un signal de réaction peut être généré par le dispositif électronique 310 et envoyé au dispositif de commande 308 et/ou au processeur 306 afin de commander l'application particulière à laquelle l'invention est appliquée. Les éléments de programme informatique de l'invention peuvent être mis en oeuvre dans un matériel et/ou dans un logiciel (y compris un micrologiciel, un logiciel résident, un microcode etc.). L'invention peut prendre la forme d'un produit programme informatique, qui peut être mis en oeuvre par un support d'enregistrement utilisable par ordinateur ou lisible par ordinateur ayant des instructions de programme utilisables par ordinateur ou
lisibles par ordinateur, un "code" ou un "programme d'ordinateur" mémorisés dans le support et destinés à être utilisés par le système d'exécution des instructions ou relativement à celui-ci. Dans le contexte de ce document, un support utilisable par ordinateur ou lisible par ordinateur peut être n'importe quel support qui peut contenir, stocker, communiquer, propager ou transporter le programme destiné à être utilisé par le système, l'appareil ou le dispositif d'exécution des instructions ou relativement à ceux-ci. Ce support utilisable par ordinateur ou lisible par ordinateur peut être, par exemple, sans que cette liste soit exhaustive, un système, appareil, dispositif électronique, magnétique, optique, électromagnétique, infrarouge, ou à semi-conducteurs ou un support de propagation tel qu'Internet. Il convient de noter que le support utilisable par ordinateur ou lisible par ordinateur pourrait même être du papier ou un autre support approprié sur lequel le programme est imprimé, car le programme peut être saisi électroniquement, par exemple par numérisation optique du papier ou d'un autre support, puis compilé, interprété ou traité autrement d'une manière appropriée. Le produit programme informatique et tout logiciel et matériel décrit ici forment les divers moyens pour exécuter les fonctions de l'invention dans les modes de réalisation possibles.
Des modes de réalisation spécifiques d'une invention sont divulgués ici. L'homme du métier reconnaîtra facilement que l'invention peut avoir d'autres applications dans d'autres environnements. En fait, de nombreux modes de réalisation et mises en oeuvre sont possibles. Les revendications ci-après ne sont sensées limiter aucunement la portée de la présente invention aux modes de réalisation spécifiques décrits ci-dessus. Il convient aussi de noter que, bien que ce mémoire descriptif énumère des étapes de procédé se produisant dans un ordre particulier, ces étapes peuvent être exécutées dans n'importe quel ordre, ou en même temps.

Claims (24)

  1. REVENDICATIONS1. Procédé de reconnaissance visuelle d'au moins un objet (14) 5 dans une image, caractérisé en ce que ledit procédé comprend : la fourniture d'une image (102) sous un format électronique, cette image comprenant au moins un objet à apprendre ; la génération de l'information sur extremum associée à l'image par corrélation croisée (104) avec au moins une structure (12) sur au moins 10 une partie de l'image, cette information sur extremum comprenant au moins un point de coordonnée (110) associé à la corrélation croisée avec la structure sur l'image ; l'extraction (108) d'au moins une icône (50) de l'image, cette icône comprenant le point de coordonnée associé à l'information sur 15 extremum ; la détermination d'un angle associé à l'icône ; la normalisation de l'icône à une taille fixe ; et le stockage de l'information sur l'icône sous une forme lisible par ordinateur, l'information sur l'icône comprenant des valeurs d'image 20 associées à la partie de l'icône ; le point de coordonnée associé à l'information sur extremum ; et l'angle associé à l'icône.
  2. 2. Procédé selon la revendication 1, dans lequel l'information sur extremum comprend un ensemble de points de coordonnées pour chaque 25 information sur extremum.
  3. 3. Procédé selon la revendication 2, dans lequel l'information sur extremum comprend en outre un rayon pour chaque information sur extremum. 30
  4. 4. Procédé selon la revendication 1, dans lequel la structure (12) utilisée pour générer l'information sur extremum est une structure de forme conique.
  5. 5. Procédé selon la revendication 4, dans lequel la au moins une structure a un nombre prédéterminé de tailles et l'information sur extremum associée à l'image est générée pour chaque taille de structure.
  6. 6. Procédé selon la revendication 5, dans lequel l'information sur 10 extremum associée à une taille de structure est normalisée par un facteur d'échelle commun.
  7. 7. Procédé selon la revendication 5, dans lequel l'information sur extremum associée à deux tailles de structures ou plus est normalisée en 15 utilisant différents facteurs d'échelle pour chaque taille de structure.
  8. 8. Procédé selon la revendication 1, dans lequel l'information sur l'icône est stockée dans une base de données, dans lequel au moins une entrée de la base de données comprend une description de l'objet.
  9. 9. Procédé selon la revendication 1, dans lequel l'information sur l'icône est stockée dans un vecteur descripteur.
  10. 10. Procédé selon la revendication 1, dans lequel l'information sur 25 extremum est générée en extrayant des valeurs de crête de l'étape de corrélation croisée.
  11. 11. Procédé pour faire concorder un objet appris avec un objet cible, caractérisé en ce que ledit procédé comprend : 30 la fourniture d'au moins un objet appris et d'au moins un objet 20 cible, l'extraction de points uniques de l'objet cible, ces points uniques étant générés à partir de l'information sur extremum obtenue de l'image cible par corrélation croisée avec au moins une structure sur l'image cible ; l'extraction d'une icône de l'image cible correspondant à chacun des points uniques (54, 124) ; la détermination d'un angle associé à l'icône ; la normalisation (132) de l'icône extraite ; et la détermination de si oui ou non l'icône extraite concorde avec un objet appris.
  12. 12. Procédé selon la revendication 11, dans lequel l'étape de détermination d'une concordance comprend la recherche dans une base de données d'objets afin de déterminer une concordance.
  13. 13. Procédé selon la revendication 12 comprenant en outre le classement des objets détectés dans l'image cible en se basant sur un score de concordance. 20
  14. 14. Procédé selon la revendication 13 comprenant en outre la localisation des objets détectés dans l'image cible pour déterminer l'emplacement des objets dans l'image cible.
  15. 15. Procédé selon la revendication 14 comprenant en outre l'étape 25 consistant à trouver une ou plusieurs icônes correspondantes dans les icônes détectées parmi une ou plusieurs icônes apprises associées à au moins un objet appris.
  16. 16. Procédé selon la revendication 15 comprenant en outre le 30 calcul d'une transformée de perspective pour tous les points uniques.15
  17. 17. Procédé selon la revendication 16 comprenant en outre la transformation des points de contour de l'objet avec la transformée de perspective.
  18. 18. Procédé selon la revendication 17 comprenant en outre la vérification des points de contour transformés en superposant les points de contour transformés sur l'image.
  19. 19. Procédé selon la revendication 17 comprenant en outre la 10 génération d'une mesure de redondance.
  20. 20. Procédé selon la revendication 14 comprenant en outre un nombre prédéterminé de points uniques et le calcul d'une transformée de perspective pour le nombre prédéterminé de points uniques.
  21. 21. Procédé selon la revendication 20 comprenant en outre la transformation des points de contour de l'objet avec la transformée de perspective pour le nombre prédéterminé de points uniques. 20
  22. 22. Procédé selon la revendication 21 comprenant en outre la vérification des points de contour transformés en superposant les points de contour transformés sur l'image.
  23. 23. Procédé selon la revendication 15 comprenant en outre une 25 transformée de perspective pour chaque ensemble de 4 points uniques.
  24. 24. Produit-programme d'ordinateur stocké sur un support lisible par une machine, ce programme étant approprié pour être utilisé afin de faire correspondre un objet appris avec un objet cible, de sorte que, lorsque ce 30 programme est chargé dans la mémoire d'un ordinateur associé et exécuté, il cause l'extraction de points uniques de l'objet cible, ces points uniques étant 15générés à partir de l'information sur extremum obtenue de l'image cible par corrélation croisée avec au moins une structure sur l'image cible ; l'extraction d'une icône de l'image cible correspondant à chacun des points uniques ; la détermination d'un angle associé à la au moins une icône ; la normalisation de l'icône extraite ; et la détermination de si oui ou non l'icône extraite des images cibles correspond à l'objet appris.
FR0901789A 2008-04-11 2009-04-10 Systeme et procede pour la reconnaissance visuelle Active FR2931006B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/101,583 US8150165B2 (en) 2008-04-11 2008-04-11 System and method for visual recognition

Publications (2)

Publication Number Publication Date
FR2931006A1 true FR2931006A1 (fr) 2009-11-13
FR2931006B1 FR2931006B1 (fr) 2014-12-26

Family

ID=40600977

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0901789A Active FR2931006B1 (fr) 2008-04-11 2009-04-10 Systeme et procede pour la reconnaissance visuelle

Country Status (5)

Country Link
US (2) US8150165B2 (fr)
DE (1) DE102009016705B4 (fr)
FR (1) FR2931006B1 (fr)
GB (2) GB0904325D0 (fr)
IT (1) IT1394784B1 (fr)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150165B2 (en) * 2008-04-11 2012-04-03 Recognition Robotics, Inc. System and method for visual recognition
US9576217B2 (en) 2008-04-11 2017-02-21 Recognition Robotics System and method for visual recognition
US8923602B2 (en) 2008-07-22 2014-12-30 Comau, Inc. Automated guidance and recognition system and method of the same
US9196169B2 (en) 2008-08-21 2015-11-24 Lincoln Global, Inc. Importing and analyzing external data using a virtual reality welding system
US9773429B2 (en) 2009-07-08 2017-09-26 Lincoln Global, Inc. System and method for manual welder training
US9221117B2 (en) 2009-07-08 2015-12-29 Lincoln Global, Inc. System for characterizing manual welding operations
US20110006047A1 (en) * 2009-07-08 2011-01-13 Victor Matthew Penrod Method and system for monitoring and characterizing the creation of a manual weld
US8577088B2 (en) * 2010-08-05 2013-11-05 Hi-Tech Solutions Ltd. Method and system for collecting information relating to identity parameters of a vehicle
EP2652726B1 (fr) * 2010-12-13 2019-11-20 Lincoln Global, Inc. Système d'apprentissage de soudage
US9147260B2 (en) * 2010-12-20 2015-09-29 International Business Machines Corporation Detection and tracking of moving objects
US9146559B2 (en) * 2011-03-18 2015-09-29 The Raymond Corporation System and method for gathering video data related to operation of an autonomous industrial vehicle
EP2786309A4 (fr) * 2011-11-30 2015-07-08 Univ Rush Medical Center Systèmes et procédés d'identification de dispositifs médicaux implantés et/ou de détection de corps étrangers chirurgicaux retenus dans des images médicales
US9183884B2 (en) 2013-08-01 2015-11-10 Customplay Llc Downloading video bookmark generating data
US9609395B2 (en) 2012-03-26 2017-03-28 Max Abecassis Second screen subtitles function
US9332241B2 (en) 2012-03-26 2016-05-03 Customplay Llc Video map responsive to a video release
US9576334B2 (en) 2012-03-26 2017-02-21 Max Abecassis Second screen recipes function
US9583147B2 (en) 2012-03-26 2017-02-28 Max Abecassis Second screen shopping function
US9147433B2 (en) 2012-03-26 2015-09-29 Max Abecassis Identifying a locale depicted within a video
US9578370B2 (en) 2012-03-26 2017-02-21 Max Abecassis Second screen locations function
US20160093233A1 (en) 2012-07-06 2016-03-31 Lincoln Global, Inc. System for characterizing manual welding operations on pipe and other curved structures
US9361695B2 (en) 2012-12-11 2016-06-07 Honda Motor Co., Ltd. Method of recognizing a position of a workpiece from a photographed image
US9324378B2 (en) 2013-07-30 2016-04-26 Customplay Llc Synchronizing navigators to play non-sequential segments
US9058846B2 (en) 2013-07-31 2015-06-16 Customplay Llc Video map synchronizing diagnostic information
US9236093B2 (en) 2013-08-01 2016-01-12 Customplay Llc Video bookmark generating data
US20150072323A1 (en) 2013-09-11 2015-03-12 Lincoln Global, Inc. Learning management system for a real-time simulated virtual reality welding training environment
US10083627B2 (en) 2013-11-05 2018-09-25 Lincoln Global, Inc. Virtual reality and real welding training system and method
US9563199B1 (en) * 2013-11-27 2017-02-07 Google Inc. Assisted perception for autonomous vehicles
US9836987B2 (en) 2014-02-14 2017-12-05 Lincoln Global, Inc. Virtual reality pipe welding simulator and setup
WO2015185972A1 (fr) 2014-06-02 2015-12-10 Lincoln Global, Inc. Système et procédé d'apprentissage pour soudeur manuel
US9576218B2 (en) * 2014-11-04 2017-02-21 Canon Kabushiki Kaisha Selecting features from image data
US9857786B2 (en) 2015-03-31 2018-01-02 Recognition Robotics, Inc. System and method for aligning a coordinated movement machine reference frame with a measurement system reference frame
US10061972B2 (en) 2015-05-28 2018-08-28 Tokitae Llc Image analysis systems and related methods
US9836839B2 (en) 2015-05-28 2017-12-05 Tokitae Llc Image analysis systems and related methods
CN105243653A (zh) * 2015-11-05 2016-01-13 北京航天泰坦科技股份有限公司 一种基于动态匹配的无人机遥感影像快速拼接技术
US9596502B1 (en) 2015-12-21 2017-03-14 Max Abecassis Integration of multiple synchronization methodologies
US9516373B1 (en) 2015-12-21 2016-12-06 Max Abecassis Presets of synchronized second screen functions
EP3319066A1 (fr) 2016-11-04 2018-05-09 Lincoln Global, Inc. Sélection de fréquence magnétique pour le suivi de position électromagnétique
US10540562B1 (en) * 2016-12-14 2020-01-21 Revenue Management Solutions, Llc System and method for dynamic thresholding for multiple result image cross correlation
US10438089B2 (en) * 2017-01-11 2019-10-08 Hendricks Corp. Pte. Ltd. Logo detection video analytics
US10366430B2 (en) 2017-02-06 2019-07-30 Qualcomm Incorporated Systems and methods for customizing amenities in shared vehicles
EP3547211B1 (fr) * 2018-03-30 2021-11-17 Naver Corporation Procédés permettant d'entraîner un cnn et de classifier une action effectuée par un sujet dans une vidéo entrée au moyen dudit cnn
US11557223B2 (en) 2018-04-19 2023-01-17 Lincoln Global, Inc. Modular and reconfigurable chassis for simulated welding training
US11475792B2 (en) 2018-04-19 2022-10-18 Lincoln Global, Inc. Welding simulator with dual-user configuration
US20210122062A1 (en) 2019-10-27 2021-04-29 Comau Llc Glass Decking System, Adaptable End Effector and Methods
US11335110B2 (en) 2020-08-05 2022-05-17 Verizon Patent And Licensing Inc. Systems and methods for processing a table of information in a document
CN116433990B (zh) * 2023-06-12 2023-08-15 恒超源洗净科技(深圳)有限公司 基于视觉检测的超声波清洗机反馈调节***

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0586708B1 (fr) * 1992-03-06 2001-09-26 Omron Corporation Dispositif de traitement d'images et procede associe
JP3394322B2 (ja) * 1994-05-19 2003-04-07 ファナック株式会社 視覚センサを用いた座標系設定方法
JP4114959B2 (ja) * 1995-06-20 2008-07-09 キヤノン株式会社 画像処理方法及び装置
TW376492B (en) * 1997-08-06 1999-12-11 Nippon Telegraph & Telephone Methods for extraction and recognition of pattern in an image, method for image abnormality judging, and memory medium with image processing programs
FR2791495B1 (fr) * 1999-03-26 2001-05-04 France Telecom Procede de synchronisation de rythme d'un signal numerique
JP3300682B2 (ja) 1999-04-08 2002-07-08 ファナック株式会社 画像処理機能を持つロボット装置
DE19926559A1 (de) * 1999-06-11 2000-12-21 Daimler Chrysler Ag Verfahren und Vorrichtung zur Detektion von Objekten im Umfeld eines Straßenfahrzeugs bis in große Entfernung
US6477275B1 (en) * 1999-06-16 2002-11-05 Coreco Imaging, Inc. Systems and methods for locating a pattern in an image
US7006694B1 (en) * 2000-10-05 2006-02-28 Coreco Imaging, Inc. System and method for pattern identification
US20030212652A1 (en) * 2002-05-10 2003-11-13 Gold Kevin C. Max, min determination of a two-dimensional sliding window of digital data
DE10242710A1 (de) * 2002-09-13 2004-04-08 Daimlerchrysler Ag Verfahren zum Herstellen eines Verbindungsbereiches auf einem Werkstück
US7206449B2 (en) * 2003-03-19 2007-04-17 Mitsubishi Electric Research Laboratories, Inc. Detecting silhouette edges in images
US7848566B2 (en) * 2004-10-22 2010-12-07 Carnegie Mellon University Object recognizer and detector for two-dimensional images using bayesian network based classifier
US7903141B1 (en) * 2005-02-15 2011-03-08 Videomining Corporation Method and system for event detection by multi-scale image invariant analysis
US7623736B2 (en) * 2005-05-06 2009-11-24 Stereotaxis, Inc. Registration of three dimensional image data with patient in a projection imaging system
US7680748B2 (en) * 2006-02-02 2010-03-16 Honda Motor Co., Ltd. Creating a model tree using group tokens for identifying objects in an image
EP1850270B1 (fr) 2006-04-28 2010-06-09 Toyota Motor Europe NV Détecteur robuste et descripteur de point d'intérêt
JP4603512B2 (ja) * 2006-06-16 2010-12-22 独立行政法人産業技術総合研究所 異常領域検出装置および異常領域検出方法
US7570795B2 (en) * 2006-07-18 2009-08-04 Mitutoyo Corporation Multi-region autofocus tool and mode
US7606777B2 (en) * 2006-09-01 2009-10-20 Massachusetts Institute Of Technology High-performance vision system exploiting key features of visual cortex
US8165407B1 (en) * 2006-10-06 2012-04-24 Hrl Laboratories, Llc Visual attention and object recognition system
KR100770426B1 (ko) * 2006-10-27 2007-10-26 삼성전기주식회사 무선통신 패킷 동기장치 및 그 방법
JP4309439B2 (ja) * 2007-03-30 2009-08-05 ファナック株式会社 対象物取出装置
US8150165B2 (en) * 2008-04-11 2012-04-03 Recognition Robotics, Inc. System and method for visual recognition
US8144193B2 (en) * 2009-02-09 2012-03-27 Recognition Robotics, Inc. Work piece tracking system and method
US8478053B2 (en) * 2009-07-15 2013-07-02 Nikon Corporation Image sorting apparatus
US8340363B2 (en) * 2010-05-27 2012-12-25 Palo Alto Research Center Incorporated System and method for efficient interpretation of images in terms of objects and their parts
US8442321B1 (en) * 2011-09-14 2013-05-14 Google Inc. Object recognition in images

Also Published As

Publication number Publication date
US8768065B2 (en) 2014-07-01
ITTO20090278A1 (it) 2009-10-12
GB2459043B (en) 2012-06-13
GB0904325D0 (en) 2009-04-22
US20120213444A1 (en) 2012-08-23
US20090257655A1 (en) 2009-10-15
US8150165B2 (en) 2012-04-03
GB0906254D0 (en) 2009-05-20
IT1394784B1 (it) 2012-07-13
DE102009016705A1 (de) 2009-10-15
FR2931006B1 (fr) 2014-12-26
GB2459043A (en) 2009-10-14
DE102009016705B4 (de) 2024-03-21

Similar Documents

Publication Publication Date Title
FR2931006A1 (fr) Systeme et procede pour la reconnaissance visuelle
Lu et al. Immature citrus fruit detection based on local binary pattern feature and hierarchical contour analysis
Tombari et al. A combined texture-shape descriptor for enhanced 3D feature matching
US8538164B2 (en) Image patch descriptors
WO2019091787A1 (fr) Procédé d'estimation de pose d'une caméra dans le référentiel d'une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d'ordinateur associé
FR3009635A1 (fr) Procede de recherche d'une image similaire dans une banque d'images a partir d'une image de reference
Khurana et al. A survey on object recognition and segmentation techniques
WO2019228471A1 (fr) Procédé et dispositif de reconnaissance d'empreinte digitale et support d'informations lisible par ordinateur
EP2839410B1 (fr) Procédé de reconnaissance d'un contexte visuel d'une image et dispositif correspondant
EP3311333B1 (fr) Appariement d'images d'articles postaux avec des descripteurs de singularites du champ de gradient
Sahin et al. A learning-based variable size part extraction architecture for 6D object pose recovery in depth images
Karpushin et al. Local visual features extraction from texture+ depth content based on depth image analysis
WO2020002810A1 (fr) Détection de nerfs dans une série d'images échographiques par la détermination de régions d'intérêts définies par la détection d'artères
Barra et al. Unconstrained ear processing: What is possible and what must be done
Paul et al. Multiclass object recognition using smart phone and cloud computing for augmented reality and video surveillance applications
CN105074729A (zh) 光度边缘描述
Sanguino et al. Improving 3D object detection and classification based on Kinect sensor and hough transform
Roy et al. Detection and classification of geometric shape objects for industrial applications
CN108875612A (zh) 一种足迹图像的处理方法
Matveev et al. Dependency of optimal parameters of the iris template on image quality and border detection error
Venkatesan et al. Supervised and unsupervised learning approaches for tracking moving vehicles
Cheddad et al. On points geometry for fast digital image segmentation
Dai et al. Night-time road boundary detection with infrared channel features classifier
WO2023031305A1 (fr) Procédé de mise en relation d'une image candidate avec une image de référence
WO2012107696A1 (fr) Procédés, dispositif et programmes d'ordinateur pour la reconnaissance de formes, en temps réel, à l'aide d'un appareil comprenant des ressources limitées

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16