1k likes | 1.29k Views
contours et régions. une des bases les plus importantes en traitement d’images (reconnaissance, amélioration d’images compression...). l’information est souvent dans les éléments de contour. préserver les contours lisser les régions évaluer la taille des régions.
E N D
contours et régions une des bases les plus importantes en traitement d’images (reconnaissance, amélioration d’images compression...) l’information est souvent dans les éléments de contour préserver les contours lisser les régions évaluer la taille des régions
1 - algorithmes d’analyse des contours - Prewitt Sobel Cany Deriche - analyse dans le domaine des fréquences 2 - Transformée de Hough 3 - Découpe en régions 4 - Morphologie Mathématique 5 - contours actifs
contours et régions contour : variations rapides de l’intensité dans une direction et lente dans la direction perpendiculaire pas d’invariance spatiale ! simplication courante : mise en évidence d’une variation rapide (calcul du gradient) il y a alors invariance
étapes de la détection de contour http://arthur.u-strasbg.fr/~ronse/TIDOC/FILTER/accar.html
recherche des contours dans une image : trouver les zones où l’intensité présente une variation rapide : appliquer un filtre passe haut les filtres simples (prewitt, sobel) sont utilisés pour une détection des contours mais ne donnent qu’une évalutation approximative de l’orientation du contour prewitt (formes diagonales) sobel http://arthur.u-strasbg.fr/~ronse/TIDOC/FILTER/accar.html
y Image originale. variation suivant y (module) combinaison des deux variation suivant x (module) x
on peut aussi utiliser les passages à zéro de l’opérateur laplacien variantes possibles de cette réponse impulsionnelle dérivée seconde = bruit amplifié = nécessité de lissage http://www.optique-ingenieur.org/fr/cours/OPI_fr_M04_C05/co/Contenu_10.html
filtre laplacien avec filtrage passe bas « gaussien » http://www.optique-ingenieur.org/fr/cours/OPI_fr_M04_C05/co/Contenu_10.html
filtre de Canny Deriche Optimisation d’un critère caractérisant le contour : filtrage passe haut + lissage dans les deux directions (abscisse et ordonnée) par un filtre de réponse impulsionnelle double effet : dérivation pour les basses fréquences et lissage pour les hautes fréquences et de réponse en fréquence Deriche : implémentation sous la forme de filtres récursifs
filtres grad/y grad/x spatial fréquentiel image module
module du gradient gradient
décision module du gradient supérieur à un seuil mais aussi gradient de même direction dans le voisinage (grand rayon de courbure )
décision concernant la présence ou non d’un contour gradient de même orientation dans le voisinage (courbure faible) gradient élevé difficulté lorsque les images sont bruitées www.cfar.umd.edu/~fer/cmsc426/lectures/edge1.ppt
Il n’y a pas de détecteur parfait ; il faut essayer de formaliser l’objectif final du traitement où la recherche des contours n’est qu’une étape intermédiaire et, relativement à cet objectif, évaluer les performances d’un détecteur : proportion de détections correctes, de détections manquées et de fausses détections
recherche de la pente exacte d’un contour dans une image contourner le problème de la quantification par une implémentation des filtres de dérivation dans le domaine des fréquences
bleu : -p bleu clair pente vers –p/2 vert: pente vers 0 jaune pente vers p /2 rouge vers + p amplitude et direction du gradient
calcul d’une dérivée dans le domaine des fréquences la dérivée par rapport à x de f(x,y) a pour transformée de Fourier (filtrage amplifiant les composantes proportionnellement à la fréquence) on a de la même manière la dérivée par rapport à y (on remplace u par v)
Calcul de dérivée partielle en deux dimensions par transformée de Fourier (N est une puissance de 2) transformée de 1. on calcule (lignes et colonnes marquées en bleu) on suppose que 2. on effectue l’opération de « centrage » (fftshift en matlab) v v N-1 N/2-1 N/2 0 u N-1 N/2 0 u N/2 N-1 N/2-1 0 N/2 N-1 0
après recentrage 3 .on multipie par précision : ici u varie de –N/2 à N/2 - 1 (ne pas confondre l’adresse dans le tableau et l’abscisse u) sans recentrage 4. on effectue l’opération inverse du « recentrage » (ce qui revient à faire à nouveau un « recentrage ») 5. on calcule la transformée de Fourier inverse par rapport à x qui donne la dérivée partielle bien sûr il faut vérifier sur des exemples simples comme des sinusoïdes de la forme où k et ℓ sont des entiers
en faisant les mêmes opérations mais en multipliant par jv on obtient la dérivée partielle par rapport à y ; note : on peut se contenter d’effectuer des transformées de Fourier monodimensionnelles, ligne par ligne ou colonne par colonne la pente de la tangente au contour (courbe de niveau) est donnée par la valeur en ce point de
analyse de la courbure pour calculer les dérivées secondes, il faut remplacer la multiplication par ju par des multiplications par –u2, -uv,-v2 ce qui donne le rayon de courbure du contour est donné par (et à utiliser avec prudence sur des images réelles ! le résultat peut être très bruité ...) (remarque : facteur N/2.p si on utilise la transformée de Fourier discrète) à titre de vérification le cas particulier
un contour : le module du gradient est fort la courbure est souvent faible (grand rayon) sur plusieurs pixels voisins (ce deuxième critère est rarement pris en compte sur les images réelles car il est difficile de mesurer la courbure du fait du bruit) points caractérisitiques (angles) : le module du gradient est fort la courbure présentant un pic (forte discontinuïté de la pente du gradient)
voici une illustration dérivées par rapport à x et y fondée sur la transformée de Fourier comme expliqué précédemment (en coupe)
les courbes de niveau de la fonction f à droite et à gauche l’angle de la tangente en chaque point bleu =- p, vert =0, rouge =+ p (les contours sont orientés donc la pente va de -p sont à p
résultat semblable au précédent mais en champ de vecteur avec une longueur des vecteurs pondérée par le module du gradient p -p p/2 -p/2 0
en complément (peut etre pas utile dans un premier temps) analyse de la courbure calcul des trois dérivées secondes
calcul du rayon de courbure rouge rayon très grand ; bleu rayon faible
courbe « en cloche » représentation des tangentes au contour
rayon de courbure coupe notez les effets de bord dûs à l’utilisation de la TF discrète
fluctuations d’amplitude peu visibles sur l’image
réglage : se faire une idée des variations de niveau dans le type d’image
approche par modélisation on se donne la forme du modèle dont on espère qu’il représente correctement une portion de contour : par exemple une sigmoïde orientée dans une direction (dans le cas d’un contour séparant deux régions de niveau à peu près constant et pas trop bruité)
et on cherche à trouver les paramètre qui minimisent l’écart entre le modèle et l’image gx,y il peut y avoir des modèles plus élaborés
regroupement d’éléments de contours (chaînage) il faut dans certaines applications regrouper les éléments de contours qui se suivent en une chaîne connexité (le voisin appartient à un contour) mais les risques d’erreurs dus à l’imperfection de la détection sont importants prise en compte de l’orientation q du contour est ce que à partir de C, à une distance raisonnable (quelques pixels) dans la direction proche de q, il y a un élément de contour de pente proche de q ?
en général un point de contour correspond à un gradient élevé et à un voisinage où il y a aussi des points de contour présentant un gradient élevé dans la même direction confirmation de l appartenance au contour si dans le voisinage du pixel étudié (dans la direction perpendiculaire au gradient), il y a suffisamment de pixels de contour avec une orientation similaire du gradient
filtrage sélectif dans la direction du contour (voir aussi la morphologie mathématique)
v y u x réponse en fréquence réponse impulsionnelle décalée et orientée filtrage sélectif dans la direction du contour (voir aussi la morphologie mathématique) suivi d’une nouvelle application de l’opération de seuillage
filtrage directionnel dans le sens du contour filtrage directionnel très allongé peu allongé les pixels détectés comme faisant partie d’un contour discontinu ont leur intensité amplifiée (par addition de celles des voisins) ; ce qui n’est pas le cas pour les pixels isolés ou n’ayant pas la même orientation que celle de leurs voisins
réponse impulsionnelle filtrage sélectif dans la diretion du contour prenant en compte la courbure (supposée connue)
détection d’angles deux contours à courbure faible se rejoignent (l’extrémité de l’un est à une distance faible de l’autre « T » ou d’une extrémité de l’autre « L ») points caractéristiques en général très informatifs importants par exemple en stéréovision et en robotique ou en mise en correspondance d’images
détection de formes connues (typiquement de droites) transformée de Hough représentation de la droite ensemble des droites qui passent par le point A dans l’espace des paramètres un point appartient à une multitude de droites (ensemble des points sur une sinusoïde) : si plusieurs point appartiennent à une même droite, les sinusoïdes ont un point commun ; cette accumulation permet de détecter des droites ou plus généralement des formes simples
droite 2 paramètres ellipse 5 paramètres
transformée de Hough inconvénient : quantité de calculs importante remarque : si la pente de la droite a pu être mesurée (par exemple la pente d’un contour), alors le domaine où on recherche les accumulations peut être considérablement réduit r A représentation (r,q) des droites passant par le point A
RECHERCHE DES POINTS APPARTENANT A UN CERCLE EN UTILISANT LA TRANSFORMEE DE HOUGH
TRANSFORMEE DE HOUGH EXEMPLE DE LA RECHERCHE DES POINTS APPARTENANT A UN CERCLE TOUS LES CERCLES PASSANT PAR UN POINT DE COORDONNEES (A1,B1) SONT TELS QUE LE RAYON R ET LES COORDONNEES DU CENTRE ET VERIFIENT L’EQUATION ILS SONT SUR UN CÔNE DE SOMMET (A,B,0) DANS L ESPACE A TROIS DIMENSIONS
ILS SONT SUR UN CÔNE DE SOMMET (A1,B1,0) DANS L ESPACE A TROIS DIMENSIONS (A1,B1)