Reconnaissance d`Objets 3D
Transcription
Reconnaissance d`Objets 3D
Reconnaissance d’Objets 3D Mathieu AUGÉ Louis-Sébastien EL HACHEM École Centrale Nantes Option Informatique 23 mars 2010 Résumé Ce rapport effectué dans le cadre de notre Projet de Veille Technologique a pour but de synthétiser le résultat de nos recherches. Nous nous sommes intéressés à la problématique de la Reconnaissance d’Objets 3D dans un échantillon d’images et en particulier à la recherche des différents traitements algorithmiques existant à l’heure actuelle. Précisons que ce document se focalise sur l’aspect reconnaissance et non modélisation des objets 3D. Ce document présente les différentes méthodes utilisées en reconnaissance 3D et a pour but d’orienter le lecteur vers une sélection d’articles pertinents 2 Les techniques de traitement d’image 1 3 Les techniques de traitement d’image 1.1 1.1.1 Composantes bidimensionnelles Détection de points La détection de points est utilisée pour extraire certains types de propriétés et en déduire le contenu d’une image. Elle est fréquemment utilisée en reconnaissance d’objets. Formalisation : Un sommet peut être défini comme l’intersection de deux bords. Il peut également être défini comme un point dont le voisinage local contient deux bords de directions dominantes différentes. Un point d’intérêt est un point d’une image qui a une position bien définie et peut être détecté de façon robuste. Ceci signifie qu’un point d’intérêt peut être un sommet, mais aussi par exemple un point isolé d’intensité locale maximale ou minimale, comme les points d’arrêt ou les points pour lesquels la courbure atteint un maximum local. En pratique, la plupart des méthodes de détection de sommets détectent en fait des points d’intérêt. En conséquence, si seuls les sommets sont détectés, il est nécessaire de réaliser une analyse des points d’intérêt détectés pour déterminer lesquels sont de véritables sommets. (source wiki)http://en.wikipedia.org/wiki/Corner_detection 1.1.2 Détection de contours La détection de contours dans une image 2D est réalisable en recherchant une forte variation locale d’intensité lumineuse. Plusieurs algorithmes permettent de réaliser cette détection. L’algorithme de Sobel (http://en.wikipedia.org/wiki/ Sobel_operator par exemple est utilisé en détection de contours en se servant de matrices de convolution. Les trois critères d’une détection optimale (définis par J. Canny) sont : une bonne détection : détecter un maximum de contours une bonne localisation : les points détectés doivent être les plus proches possibles du vrai contour une réponse unique : minimiser le nombre de contours détectés plusieurs fois Le filtre de Canny, bâti à partir de l’algorithme de Sobel, utilise un seuillage par hystérésis pour éliminer les faux contours et un filtre gaussien pour plus de robustesse face aux images fortement bruitées. 1.1.3 SIFT SIFT (Scale-invariant feature transform) est un algorithme de détection et description des propriétés locales dans les images. Il a été publié pas David Lowe en Les techniques de traitement d’image 4 1999. Il est fréquemment utilisé en reconnaissance d’objets. Breveté aux États-Unis, il est détenu par l’Université de British Columbia. http://en.wikipedia.org/ wiki/scale-invariant_feature_transform 1.1.4 SURF SURF (Speeded Up Robust Features) est un détecteur et descripteur robuste d’image, qui fut d’abord présenté par Herbert Bay et al. en 2006, et qui peut-être utilisé pour la reconnaissance d’ objet ou la reconstruction 3D. Il est partiellement inspiré de SIFT. Sa version standard est bien plus rapide que SIFT et ses auteurs affirment qu’il est plus robuste aux différentes transformations d’images. SURF is based on sums of approximated 2D Haar wavelet responses and makes an efficient use of integral images. http://en.wikipedia.org/wiki/SURF 1.2 1.2.1 Pour la reconnaissance d’objets 3D Invariants et descripteurs locaux Les descripteurs invariants locaux : Il ne s’agit pas seulement d’une méthode pour sélectionner les zones d’intérêt dans l’image, ou pour accélérer l’analyse, mais plutôt d’une nouvelle représentation de l’image, qui permet de décrire les objets et parties de l’image sans recourir à la segmentation. Quand la transformation est appliquée à l’image, une mesure invariante reste inchangée. Une mesure covariante change d’un façon consistante avec la transformation. Les descripteurs locaux sont communément utilisés pour caractériser un objet, et permettent de gérer les occlusions partielles ou les changements de fond. http://homes.esat.kuleuven.be/~tuytelaa/tutorial-ECCV06.pdf 1.2.2 Modèles de Markov (Cachés) Méthode de probabilité utilisé pour prévoir un état ou la probabilité que le système arrive dans cet état sans avoir aucune indication sur comment le système est arrivé dans cet état. Par exemple, en utilisant un MMC (Hidden Markov Model en anglais), on peut estimer quel temps il fera demain en sachant le temps qu’il fait aujourd’hui mais sans savoir ce qui détermine ce temps. Autre exemple : déterminer un lancer de pièce sans savoir si la pièce est faussée ou non. Ici, en reconnaissance 3D, les HMM servent à déduire un élément en ayant qu’une partie de celui ci. (occlusion, différence de point de vue, zoom). On utilise généralement les MMC pour 3 sortes de problèmes différents : – En connaissant l’automate, calculer la probabilité d’obtenir une séquence particulière. Les techniques de traitement d’image 5 – En connaissant l’automate, et en ayant une séquence de sortie, trouver l’enchainement de séquences le plus probable y ayant conduit. – Ayant une séquence de sortie, retrouver l’ensemble d’états les plus probables menant là, et les probabilités associées. – – – – http://fr.wikipedia.org/wiki/Modèle_de_Markov_caché http://people.binf.ku.dk/krogh/publications/pdf/KroghRiis99.pdf HMM_cours_ECN_2009.pdf Une architecture pour la reconnaissance d’objets en imagerie aérienne SADGAL Mohammed, EL FAZZIKI Aziz & AIT OUAHMAN Abdellah – 3D object recognition in range images using hidden markov models and neural networks Young Kug Ham, Rae-Hong Park 1.2.3 Réseaux de neurones Inspirés du principe de fonctionnement du réseau de neurones naturels (de l’homme par exemple). Le type de réseau de neurones dépend de différents paramètres, dont la fonction de seuil utilisée (Gauss par les chercheurs dont nous avons lu les travaux). Les réseaux de neurones peuvent stocker des connaissances expérimentales acquises à partir d’un environnement formel épargnant ainsi l’étape difficile de formalisation. Les méthodes d’apprentissage automatiques font que plusieurs neurones participent à la représentation d’une connaissance et qu’il soit possible qu’un neurone participe au codage de plusieurs d’entre elles. On les utilise pour savoir si l’objet que l’on a extrait existe dans notre banque de données. Cette reconnaissance doit prendre en compte des caractéristiques telles que les couleurs, textures, etc. et pour cela, les réseaux de neurones servent à stocker cette information et la ressortir au moment voulut c’est à dire au moment même de la reconnaissance. – http://fr.wikipedia.org/wiki/Réseau_de_neurone – HMM_cours_ECN_2009.pdf – Une architecture pour la reconnaissance d’objets en imagerie aérienne SADGAL Mohammed, EL FAZZIKI Aziz & AIT OUAHMAN Abdellah – 3D object recognition in range images using hidden markov models and neural networks Young Kug Ham, Rae-Hong Park 1.2.4 Hachage géométrique La méthode du hachage géométrique permet de mettre en correspondance des sommets d’un modèle 3D avec des sommets de segments dans une image. Domaines d’application 1.2.5 6 Graphes Un graphe est un ensemble de points, dont certaines paires sont directement reliées par un lien. Ces liens peuvent être orientés, c’est-à-dire qu’un lien entre deux points u et v relie soit u vers v, soit v vers u : dans ce cas, le graphe est dit orienté. Sinon, les liens sont symétriques, et le graphe est non-orienté. Les graphes sont utiles pour la détection de contours et la reconnaissance de formes (caractères, objets 2D ou 3D...), reconnaissance de visages (avec ou sans modèle). http://perso.telecom-paristech.fr/~tupin/cours/voir/graphes.pdf 1.2.6 Transformée de Fourier La transformation de Fourier est un analogue de la théorie des séries de Fourier pour les fonctions non périodiques, et permet de leur associer un spectre en fréquences. La transformées de Fourier 2D est utilisée en dans le pré-traitement pour la reconnaissance de formes. 1.2.7 Transformée en ondelettes L’utilisation des bases d’ondelettes en traitement d’images s’est généralisée durant les vingt dernières années. Leur intérêt pour la compression et le débruitage a été démontré (elles ont intégré le standard de compression JPEG 2000). Les ondelettes mettent en évidence des informations sur les contours, les textures, leur localisation et leur orientation. 2 Synthèse La reconnaissance d’objets 3D est un domaine de recherche actif depuis des dizaines d’années. C’est pourquoi la plupart des algorithmes existants aujourd’hui n’ont pas pour vocation d’introduire de nouveaux concepts fondamentaux, mais bien d’améliorer / adapter / optimiser des techniques existantes. Dans le domaines de la reconnaissance 3D, des concepts fondamentaux mathématiques viennent s’ajouter aux mécanismes plus classiques de traitement d’image. La plupart des algorithmes existants s’appuient sur des Modèles de Markov Cachés, des réseaux de neurones des graphes ainsi que sur le hachage géométrique (Bayesien). 3 3.1 Domaines d’application Robotique Le traitement d’image et la reconnaissance d’objets sont en grande partie arrivés par la robotique. En effet, pour se mouvoir dans leur environnement, les robots ont besoin de le percevoir et de l’analyser. Des tâches tels que le tri d’une production où le déplacement dans un environnement inconnu nécessitent avant tout Domaines d’application 7 de pouvoir obtenir des informations sur les objets environnement et la manière approprié d’interagir avec. 3.2 Industrie De nombreuses applications industrielles bénéficient des technologies de reconnaissance d’objets, on peut par exemple citer les processus dans lesquels de nombreux objets sont à identifier et/ou à trier, comme le passage sur un tapis roulant (ligne de production, tri des déchets, bagages dans les aéroports...) On trouve par exemple le logiciel VC Smart Finder qui permet la reconnaissance. 3.3 Architecture et urbanisme En architecture, des recherches ont été faites pour la reconnaissance d’objets par imagerie aérienne. Cette reconnaissance d’images 2D peut aboutir à une identification ou simplement une catégorisation de la zone photographié. Elle est effectuée en se basant notamment sur les couleurs, les textures et les formes géométriques. Maintenant, d’autres recherches sont venus complétés ce type d’application de la reconnaissance d’images, en complétant ces techniques par de la reconnaissance d’objets 3D. 3.4 Biométrie La reconnaissance de visages est une des applications les plus en vue dans l’utilisation de reconnaissance 3D en biométrie. Elle sera par exemple utilisée lors des Jeux Olympiques de Londres en 2012. Pour les jeux olympiques de 2012, le Royaume-Uni compte s’équiper d’un nouveau système de sécurité. Il sera possible de faire une représentation faciale en 3D extrêmement précise de chaque individu se présentant au contrôle de sécurité. Cette approche technique est en développement à Imperial College London (ICL) avec l’aide d’Identity solution et de General Dynamics. Ce système utilise la technologie connue sous le nom de ń stéréo photométrie ż. Grâce à une camera fixe et à différentes sources de lumières appliquées sur la cible, il est possible, en analysant les effets d’ombre, de reconstruire très précisément une image avec tous ses détails. http://www.ambafrance-uk.org/Un-systeme-photometrique-pour-la.html Annexes 4 4.1 8 Principal problème connu Occlusion L’occlusion est un des principaux problèmes rencontrés en reconnaissance d’objets. Il s’agit du cas ou l’objet que l’on cherche à reconnaître dans une scène se trouve partiellement caché par un autre élément. Figure 1 – Occlusion Dans cet exemple, la chaise du fond est cachée par la table, il s’agit d’une occlusion. 5 5.1 Annexes 3D object recognition in range images using hidden markov models and neural networks [3] La reconnaissance d’image 2D est devenue réaliste et réalisable dans de bonnes conditions, en revanche celle de la reconnaissance 3D ne l’est pas. Ou pour l’instant des méthodes de reconnaissance 3D utilisent des caractéristiques 2D susceptibles de varier suivant l’angle se la prise de vue, le zoom/ la distance et d’autres changements de conditions. Récemment, des publications ont proposé des "lots de caractéristiques" et d’algorithmes efficaces utilisant des réseaux de neurones dans lesquels des caractéristiques 2D étaient utilisés pour reconnaître des objet 3D. (de la 2D à la 3D) Ce document présente la reconnaissance d’objet 3D dans des "range images". Ce sont des images 2D où la valeur du pixel représente la distance d’un point à la surface de l’objet 3D à un plan prédéterminé. L’avantage par rapport à des images Annexes 9 "d’intensité" est que là on a directement accès à la forme géométrique des images. Indépendamment de la position et de l’intensité des sources lumineuses, ou des propriétés réflexives de objets. On évite ainsi des problèmes liés à la reconnaissance d’objet 3D dans des images d’intensité. Le travail de cette thèse s’inscrit dans le cadre de la modélisation et de la reconnaissance d’objets par leur apparence et par des descripteurs locaux. Ils est question dans une première partie de cette thèse, d’images d’où sont extraits des contours puis des segments approchant ces derniers. A partir de ces segments, sont calculés des descripteurs locaux, appelés quasiinvariants, qui ont la particularité d’être très stables par rapport à des changements modérés de point de vue. En stockant ces quasi-invariants dans une structure adaptée, et en modélisant un objet 3D par un ensemble limité de vues 2D, on montre qu’il est possible de reconnaître des objets sous tout angle de vue. La reconnaissance est obtenue en deux étapes : – D’abord les quasi-invariants locaux entre image et modèles sont mis en correspondance en utilisant une méthode d’indexation. – Ensuite, une vérification globale exprimant une cohérence géométrique permet de filtrer des appariements erronés et de sélectionner le modèle le plus semblable à l’image. Constatant des faiblesses dans l’extraction et dans le pouvoir discriminant des descripteurs initiaux, on étends ensuite cette approche pour fournir une méthode d’intégration avec toute une classe de méthodes locales existantes. Les résultats expérimentaux fournis par cette extension forment une validation complète de ce travail. Dans un deuxième temps, on analyse le problème de la complexité algorithmique soulevé par le genre d’approches utilisées. En effet, certaines méthodes d’indexation sont très mal adaptées à la reconnaissance par descripteurs locaux dès lors que ces descripteurs évoluent dans un espace de dimension élevée. La complexité est telle, que, dans certains cas, elle peut dépasser celle d’une comparaison séquentielle de tous les modèles et leurs descripteurs. Pour finir, ces chercheurs ont donc essayé de définir ces cas et comment peut on les contournés. 5.2 A Hidden Markov Model approach for appearance-based 3D object recognition[1] Cet article propose une méthode de reconnaissance d’objet 3D qui s’appuie sur les Modèles de Markov Cachés. La méthode considère toutes les informations disponibles sur l’objet pour les modéliser en utilisant un Modèle de Markov Caché. La stratégie pour obtenir la séquence de données depuis une image comporte 3 étapes : une conversion de l’image en noir et blanc (pour se focaliser sur la géométrie et non sur la couleur), un balayage récurrent de l’image en faisant glisser Annexes 10 dessus une fenêtre carrée de taille fixe pour obtenir une séquence de sous-images de dimension fixe (on obtient ainsi de l’information pertinente sur la géométrie locale de l’image) et une transformée en ondelettes sur chaque sous-image recueillie. L’algorithme calcule les coefficients représentant l’image dans une base de Haar normalisée en deux dimensions et les trie par ordre de magnitude décroissante. Les coefficients de plus haute magnitude sont donc conservés pour réaliser une compression d’image. Ils représentent l’information la plus significative, et sont donc utilisés pour reconnaître les objets. La stratégie de reconnaissance utilisée : un modèle de Markov est utilisé pour chaque vue de l’objet. L’étape de classification est réalisée en assignant une vue inconnue d’un objet à la classe du modèle qui montre le maximum de probabilité. Après entraînement d’un modèle pour chaque aspect d’un objet, une vue inconnue est assignée à la classe de la vue la plus similaire. 5.3 A surface-based approach to 3-D object recognition using a mean field annealing neural network[5] La solution implémentée dans cet exemple implique d’avoir en entrée une "range image". L’objet est segmenté en différentes parcelles de surfaces, puis plusieurs caractéristiques sont extraites de chaque parcelle ainsi que de deux parcelles adjacentes. Un graphe est construit en utilisant les caractéristiques extraites et on teste sa concordance avec un certain nombre de graphes modèles. Dans la méthode proposée, chaque parcelle de surface peut constituer une surface-clé, ce qui conduit a une bonne concordance même en cas d’occlusion, en considérant le degré de concordance des surfaces voisines. Le niveau d’énergie déterminé par la fonction d’énergie proposée converge vers un état stable lorsque ma température diminue par la procédé du champ moyen de recuit. L’énergie atteint sa valeur minimale lorsque la concordance est optimale. 5.4 TU-0545 - Reconnaissance et modélisation d’objets 3D à l’aide d’invariants projectifs et affines Lamiroy, Bart Thèse de : Grenoble, INPG 183 pages - 8 juillet 1998 - Document en français Titre anglais : Recognition and Modeling of 3D Objects Through Use of Projective and Affine Invariant URL : http://www.inria.fr/rrrt/tu-0545.html Date et heure : 10 Janvier 2010 RÉFÉRENCES 11 Références [1] Manuele Bicego, Umberto Castellani, and Vittorio Murino. A hidden markov model approach for appearance-based 3d object recognition. 2005. [2] G.Y. Chen and B. Kégl. Invariant pattern recognition using radon, wavelet and fourier transforms. 2009. [3] Young Kug Ham and Rae-Hong Park. 3d object recognition in range images using hidden markov models and neural networks. 1998. [4] Seungjin Lee, Kwanho Kim, Joo-YoungKim, MinsuKim, and Hoi-JunYoo. Familiarity based unified visual attention model for fast and robust object recognition. 2009. [5] Yang-Lyul Lee and Rae-Hong Park. A surface-based approach to 3-d object recognition using a mean field annealing neural network. 2000. [6] Anshul Sehgala and U.B. Desai. 3d object recognition using bayesian geometric hashing and pose clustering. 2002. [7] Woo-Han Yun, Sung Yang Bang, and Daijin Kim. Real-time object recognition using relational dependency based on graphical model. 2007.