Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007



Documents pareils
F411 - Courbes Paramétrées, Polaires

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Résolution d équations non linéaires

Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Traitement bas-niveau

Deux disques dans un carré

point On obtient ainsi le ou les points d inter- entre deux objets».

Cours Fonctions de deux variables

Les algorithmes de base du graphisme

Calcul intégral élémentaire en plusieurs variables

Oscillations libres des systèmes à deux degrés de liberté

Fonctions de plusieurs variables

Chapitre 0 Introduction à la cinématique

Si deux droites sont parallèles à une même troisième. alors les deux droites sont parallèles entre elles. alors

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Angles orientés et fonctions circulaires ( En première S )

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

Fonctions de deux variables. Mai 2011

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Optimisation, traitement d image et éclipse de Soleil

Statistiques Descriptives à une dimension

Chapitre 2 Le problème de l unicité des solutions

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

La fonction exponentielle

Complément d information concernant la fiche de concordance

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

Chapitre 2 : Caractéristiques du mouvement d un solide

3 Approximation de solutions d équations

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Angles orientés et trigonométrie

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

DOCM Solutions officielles = n 2 10.

Nom : Groupe : Date : 1. Quels sont les deux types de dessins les plus utilisés en technologie?

TP 7 : oscillateur de torsion

Cours IV Mise en orbite

Rappels sur les suites - Algorithme

Annexe commune aux séries ES, L et S : boîtes et quantiles

Chapitre 2. Eléments pour comprendre un énoncé

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet

Représentation géométrique d un nombre complexe

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Que faire lorsqu on considère plusieurs variables en même temps?

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Lecture graphique. Table des matières

Image d un intervalle par une fonction continue

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Mathématiques I Section Architecture, EPFL

EXERCICES DE REVISIONS MATHEMATIQUES CM2

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Nombre dérivé et tangente

Construction d un cercle tangent à deux cercles donnés.

Séquence 2. Repérage dans le plan Équations de droites. Sommaire

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Opérations de base sur ImageJ

LES LOIS PHYSIQUES APPLIQUÉES AUX DEUX-ROUES : 1. LA FORCE DE GUIDAGE

IV- Equations, inéquations dans R, Systèmes d équations

Formats d images. 1 Introduction

Relation entre deux variables : estimation de la corrélation linéaire

Cours 7 : Utilisation de modules sous python

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

1 Création d une pièce. 2 Travail complémentaire. 1-1 Réglage des barres d outils. 1-2 Exemples de réalisation de pièces à l aide d un modeleur 3D

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Théorème du point fixe - Théorème de l inversion locale

Construction de la bissectrice d un angle

Famille continue de courbes terminales du spiral réglant pouvant être construites par points et par tangentes

La perspective conique

BACCALAUREAT GENERAL MATHÉMATIQUES

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Mesure d angles et trigonométrie

Les Conditions aux limites

Caractéristiques des ondes

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

MAT2027 Activités sur Geogebra

L espace de travail de Photoshop

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Le seul ami de Batman

Développements limités, équivalents et calculs de limites

Utilisation du logiciel GALAAD

Aide GeoGebra. Manuel Officiel 3.2. Markus Hohenwarter et Judith Hohenwarter

Transcription:

Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1

Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques......................... 3 2 Rappel sur les ellipses 4 2.1 Définition............................... 4 2.2 Propriétés géométriques....................... 4 3 Transformée de Hough 5 3.1 Approche théorique.......................... 5 3.2 Représentation............................ 6 3.3 Les cas des droites.......................... 6 3.4 Les cas des cercles.......................... 7 3.5 Le cas des ellipses.......................... 10 4 Problèmes 13 5 Conclusion 14 2

1 Le projet 1.1 Objectif Ce projet s inscrit dans le cadre du Master 2 SIS option imagerie numérique. Le but de ce projet est de détecter des ellipses grâce à la transformée de Hough dans une image. Dans un premier temps je parlerai des choix techniques puis, je ferai un rappel sur les ellipses, leurs propriétés géométriques, une présentation de la transformée de Hough, et enfin les problèmes que j ai rencontrés. 1.2 Les choix techniques Tout d abord, il fallait faire un choix au niveau de l interface que j allais utiliser pour créer le logiciel. J ai choisi WxWidget pour deux raisons. La première est que c est une API portable sur toutes les architectures systèmes, ce qui va permettre à l utilisateur de pouvoir utiliser le programme sous Linux, Mac OS ou encore Windows. La seconde raison est que l on utilise cette API dans un autre projet, il est donc plus facile d utiliser la même API plutôt que d en apprendre une nouvelle. Ensuite, j ai décidé d utiliser OpenCV dans mon projet. Après mettre renseigné sur OpenCV j ai vu qu il pouvait m apporter des fonctions dont j avais besoin sans avoir à les reprogrammer. Comme transformer une image en niveau de gris ou encore le filtre de Canny. 3

2 Rappel sur les ellipses 2.1 Définition Une ellipse est, en mathématiques, une courbe plane fermée obtenue par la projection d un cercle sur un plan sécant, ou par l intersection d un cône droit avec un plan non perpendiculaire à son axe. Le cercle est considéré comme un cas particulier d ellipse. C est donc la forme qu on perçoit en regardant un cercle en perspective, ou la figure formée par l ombre d un disque sur une surface plane. En géométrie, elle est le lieu dont chacun des points est tel que la somme des distances à deux points fixes, dits foyers, est constante. 2.2 Propriétés géométriques Toute ellipse de foyers distincts F et F admet deux axes de symétries et un centre de symétrie. Le premier axe de symétrie est la droite (FF ), appelée axe focal de l ellipse. Le second axe de symétrie est la médiatrice du segment [FF ], appelée axe non focal de l ellipse. Le centre de symétrie est le milieu du segment [FF ]. C est le centre de l ellipse. A, A, B, B sont les sommets. Position du centre : Le calcul de la position du centre de l ellipse utilise la propriété geométrique suivante : étant donné deux tangentes à l ellipse aux points x1 et x2 se coupant au point L, le centre de l ellipse se trouve sur la droite qui passe par le milieu de x1x2 et L. En considérant trois points on peut donc calculer la position du centre O de l ellipse. 4

3 Transformée de Hough La transformée de Hough est une technique de reconnaissance de formes inventée en 1962 par Paul Hough, utilisée dans le traitement d images numériques. L application la plus simple permet de reconnaitre les lignes d une image, mais des modifications peuvent être apportées pour reconnaitre n importe quelle forme : c est la transformée généralisée de Hough développée par Richard Duda et Peter Hart en 1972. 3.1 Approche théorique Le principe de la transformée de Hough est qu il existe un nombre infini de lignes qui passent par un point, dont la seule différence est l orientation. Le but de la transformée est de déterminer lesquelles de ces lignes passent au plus près du schéma attendu. Afin de déterminer que deux points se trouvent sur une même ligne potentielle, on doit créer une représentation de la ligne qui permet une comparaison dans ce contexte. Elle permet la detection de droites, de cercles ou d ellipses de façon traditionnelle. Elle peut aussi être étendue a des cas de description d objets plus complexes. La transformée de Hough permet d avoir une bonne robustesse contre les discontinuités et les éléments manquants d une structure. Le principe général de la transformée de Hough est d établir une projection entre l espace de l image et un espace de paramètres représentatif de la forme recherchée. 5

3.2 Représentation Dans la transformée de Hough chaque ligne est un vecteur de coordonnées paramétriques : ρ : la norme du vecteur θ : l angle En transformant toutes lignes possibles qui relient un point à un autre, c està-dire en calculant la valeur de ρ pour chaque θ, on obtient une sinusoïde unique appelée espace de Hough. Si les courbes associées à deux points se coupent, l endroit où elles se coupent dans l espace de Hough correspond aux paramètres d une droite qui relie ces deux points. 3.3 Les cas des droites Une droite est caracterisée par deux paramètres a et b tels que y = ax + b. La transformée de Hough va nous permettre d établir une relation entre les coordonées d un pixel de notre image et l espace des paramètres (a,b). Il y a deux approches ici : l approche cartésienne : qui nous indique que l équation d une droite est y = ax + b. Cela signifie que tous les points (x, y) vérifiant l équation seront associés au couple (a, b) dans l espace des paramètres. l approche paramétrique : l équation de la droite se lit cette fois b = - ax + y, alors le couple (x,y) de l image sera une droite de l espace des paramètres (a,b). L approche paramétrique est celle qui est utilisée. Donc pour détecter une éventuelle droite, il faut étudier l espace des paramètres. Il représente des regroupements traduisants l existence de droite. Il faut savoir à partir de quel moment un regroupement de points est significatif. Il peut y avoir des difficultés avec cette étape, le bruit causé par les autres éléments de l image peuvent perturber la détection des objets recherchés. D autre part, si les objets sont trop nombreux on peut aussi avoir du mal à les repérer. 6

3.4 Les cas des cercles Principe : Le principe de la transformée de Hough sur les cercles est très simple: il suffit de tracer les droites perpendiculaires aux contours des objets afin de trouver les cercles. En effet pour les cercles toutes les droites vont converger vers le centre. Les points de l image ayant un grand nombre d intersections de droites sont donc les centres des cercles. L unicité de ce résultat se prouve très simplement: seule la forme géométrique cercle possède un centre de symétrie qui laisse la forme inchangée. Les autres formes ne répondant pas à ce critère, seul les cercles seront détectés. Ensuite il suffit de retrouver les cercles à partir des centres. Prétraitement : Pour trouver cela, les images nécessitent un prétraitement. Tout d abord, pour une détection, nous n avons pas besoin de travailler avec de la couleur. On transforme donc notre image en niveaux de gris. 7

Ensuite on utilise le filtre de Canny pour détecter les contours. Une fois les contours obtenus, on va tracer les droites perpendiculaires aux contours. On va utiliser deux matrices : la transformée de l image de départ par une convolution avec la matrice de Sobel X qui nous donne les contours suivant l horizontale. la transformée de l image de départ par une convolution avec la matrice de Sobel Y qui nous donne les contours suivant la verticale. 8

Traitement : Ensuite pour avoir la direction, il faut calculer l arc tangente de sobel Y / sobel X. On va calculer l intersection de deux perpendiculaires et on va incrémenter ce point. Au final c est au pixel où il y aura eu le plus d accumulation que l on va trouver nos centres. Finalement, il ne reste plus qu à rechercher les cercles. Pour chaque point représentant un centre potentiel, on essaye de retracer des cercles de rayons variables. On trace en comparant avec l image de Canny: on regarde si on a un point de contour sur l image de Canny correspondant au point qu on est en train de tracer (moyennant un voisinage). On évalue ainsi le pourcentage de points que l on arrive à trouver sur Canny, pour le cercle que l on essaye de tracer. Si ce pourcentage est supérieur à un certain seuil, on estime qu il y a bien un cercle à l image. 9

3.5 Le cas des ellipses Le cas des ellipses est plus compliqués que précédemment. En effet il y a 5 paramètres à prendre en compte pour pouvoir tracer une ellipse. centre de l ellipse (2 inconnues) petit axe (1 inconnue) grand axe (1 inconnue) orientation (1 inconnue) Pour ma part je pense que seuls les quatre premiers sont nécessaires à l obtention de l ellipse. X0 et Y0 : les coordonnées du centre de l ellipse. A : la moitié de la longueur de l axe horizontal de l ellipse B : la moitié de la longueur de l axe vertical de l ellipse Tout les points de l ellipse ont pour coordonnées : X = X0 + (A * Cos(t)) Y = Y0 + (B * Sin(t)) Ainsi pour dessiner une ellipse, il suffit de connaitre X0, Y0, A et B. Ensuite, dans une boucle on fait varier t de 0 à 2*PI (PI = 3.1415), on utilise les formules précédentes pour calculer les coordonnées de chaque point et on les affiche. Remarque : L intervalle [0 ; 2*PI] permet de tracer l ellipse entière. Mais utiliser l intervalle [PI/2 ; 3*PI/2] ne permet de tracer que la partie gauche de l ellipse. Qu il y ait quatre ou cinq paramètres, la transformée de Hough pour les ellipses demanderait d établir une projection entre l espace de l image et un espace de paramètres à quatre ou cinq dimensions. On ne peut pas utiliser cette technique pour deux raisons principales: une projection comme celle-ci disperserait les repésentants dans un espace de paramètres beaucoup trop grand et les accumulations ne seraient plus pertinantes. le temps de calcul et la mémoire demandés seraient beaucoup trop importants pour ce type d application. On va donc découper le problème en deux parties. On cherchera dans un premier temps les centres possibles d ellipses avec une transformation de Hough dans un espace à deux dimensiona. Puis, nous trouverons les trois autres paramètres par la résolution d un problème linéaire. 10

Centre des ellipses Considérons deux points A et B sur une ellipse, et on récupère les tangentes en ces points. Alors, le point T, intersection des deux tangentes et le point M, milieu du segment [AB]. Pour une ellipse, son centre sera situé sur la demie-droite [TM) hormis le segment [TM]. Les rayons issus des differentes paires se couperont donc en O, centre de l ellipse. C est par l etude des differentes accumulations que le choix se fera. Après avoir déterminer la transfomation de Hough que l on allait utiliser, on va maintenant choisir entre deux possibilités pour le tirage des points : Transformation de Hough standard : On prend toutes les paires de pixels de l image appartenant aux contours. On construit donc un histogramme de deux dimensions qui va contenir les droites pour chaque parire de pixel tirée. Ce que l on recherche est alors représenté pas les maximums mocaux de notre histogramme. Mais le nombre de ligne dans notre histogramme croit avec le carré du nombre de pixels dans l image. Transformation de Hought probabiliste : elle s applique à une proportion des pixels de l image. Après certaines publications, on peut utiliser 10 à 20% des points pour que l histogramme soit comparable à celui obtenu par la transformée standard. 11

Trouver les paramètres : Lorsque l on a obtenu la position du centre de l ellipse, on se positionne dans le repère lié au centre de l ellipse. L équation de cette dernière est donc : ax 2 + 2bxy + cy 2. Maintenant on va considérer trois points sous forme matricielle : X 1 = (x 1, x 2 ), X 2 = (x 2, y 2 ), X 3 = (x 3, y 3 ). x 2 1 2x 1 y 1 y1 2 a 1 x 2 2 2x 2 y 2 y2 2 b = 1 x 2 2 2x 3 y 3 y3 2 c 1 Les paramètres a,b,c s obtiennent par inversion du système. Il est plus simple de décrire l ellipse par le jeu de paramètres ctre, grand axe, petit axe, inclinaison et degré. Pour obtenir ces paramètres à partir de a, b, c, il faut écrire la forme quadratique associée à l ellipse : [ ] a b Q = = Pt b c [ ] alpha(1) 0 P 0 alpha(2) Le vecteur propre associé à la plus grande valeur propre de cette matrice donne la direction du grand axe de l ellipse, la longueur du grand axe et du petit axe sont reliés aux valeurs propres par la relation suivante : Trouver les ellipses : Deux solutions s offrent à nous : ri = 1/alpha(i) La première qui consiste à utiliser deux accumulateurs à deux dimensions, un pour le centre des ellipses et l autre pour les axes et un dernier acculumateur à une dimension pour l orientation de l ellipse. Pour chaque triplet de points on incrémente un compteur pour trouver les centres et les axes. On peut en déduire les centres et les axes comme des maxima locaux, mais une fois le centre identifié il faut faire la correspondance avec les trois accumulateurs. Il faut donc retirer un triplet de pixels. Ceci devient rapidement long et couteux en mémoire. On remplace donc les histogramme par une liste qui contiendra les cinq paramètres ainsi qu un compteur. On tire trois points de l image, on calcule les cinq paramètres, puis on parcours notre liste pour voir si le jeu de paramètre ne s y trouve pas déjà avec une certaine tolérance. Si le jeu de paramètre est trouvé alors on incrémente le compteur sinon on l ajoute à notre liste. Ilsuffit finalement de prendre les jeux de paramètres où les compteur auront dépasser un certain seuil. 12

4 Problèmes J ai rencontré plusieurs problèmes durant le développement. D abord le fait de faire le projet seul a été pénalisant, car l approche d un autre oeil sur le problème m aurait sûrement permis d avancer plus vite et de comprendre certaines choses autrement. L utilisation d OpenCV avec WxWidget n a pas été triviale, notamment dans le fait d afficher des images, transformer des IplImage et wximage. Un autre problème mais celui là matériel. Mon disque dur a laché entraînant la perte de toutes mes données il y a trois semaines. Donc j ai dû reprendre tout mon travail à zéro et je n ai pas eu le temps de revenir au point où j en étais avant la perte des données. Ceci est très pénalisant et très frustrant car je n ai pas pû mener la fin de mon projet à bien. 13

5 Conclusion Malgré la fin malheureuse de mon projet, j ai pu voir que la Transformée de Hough est largement utilisée en reconnaissance de formes tels que les droites, des cercles, les ellipses et d autres formes. On peut citer encore la reconnaissance d objet en trois dimensions, la détermination de l orientation des corps rigides, le calcul des paramètres de mouvement d un objet mobile, etc. Les avantages de la Transformée de Hough sont sa robustesse vis avis du bruit, mais aussi on peut aisément l étendre à d autres domaines que l imagerie. Cependant on lui reproche sa lenteur, sa complexité et la taille mémoire importante qu elle nécessite. Mais également problème de l homogénéité de l espace, de sa quantification. Ce n en reste pas moins une très bonne méthode de détection. 14