1 / 17

Traitement d’images : concepts fondamentaux

Traitement d’images : concepts fondamentaux. Définitions fondamentales et prétraitements :  Information représentée par un pixel, Manipulation d’histogrammes : égalisation, Filtrage passe-bas. Introduction à la morphologie mathématique (cas binaire) : 

tuvya
Télécharger la présentation

Traitement d’images : concepts fondamentaux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Traitement d’images : concepts fondamentaux Définitions fondamentales et prétraitements :  Information représentée par un pixel, Manipulation d’histogrammes : égalisation, Filtrage passe-bas. Introduction à la morphologie mathématique (cas binaire) :  Erosion, dilatation, ouverture et fermeture binaires, Reconstruction géodésique, étiquetage en composantes connexes, Squelette. Détection de contours : filtrage passe-haut, filtrage optimal, traitement des contours : fermeture, transformée de Hough. Introduction à la classification (cas pixelique) : algorithme des k-ppv, des c-moyennes critères bayésiens : MV, MAP.

  2. f(x) f’(x) f’’(x) Détection de contours :approche générale Contour = là où réside l’information au sens entropique • Objectif • Délimitation des objets • Détection de points d’intérêt • Méthodes dérivatives • À partir du gradient ( vecteur 2D), calcul de sa norme et de sa direction • Approximation de la dérivée 2nde par le Laplacien

  3. Principe des méthodes dérivatives Utilisation du gradient Calcul de l’image du gradient Calcul de l’image de la norme du gradient Calcul de l’image de la direction du gradient Seuillage (avec hystérésis) de l’image de la norme du gradient Elimination des non maxima locaux dans la direction du gradient Fermeture des contours Utilisation du laplacien Calcul de l’image du laplacien Calcul de l’image de la norme du gradient Calcul de l’image binaire Iz des passages par zéro du laplacien Application du masque binaire Iz à l’image de la norme du gradient Seuillage (avec hystérésis) de l’image de la norme du gradient |Iz Elimination des non maxima locaux dans la direction du gradient Fermeture des contours Laplacien trop bruité pour être utilisé seul

  4. Rq : les filtres sont donnés pour des directions lignes – colonnes  cas de directions diagonales : par filtrage linéaire passe-haut • Gradient • Sobel c=2 • Prewitt c=1 • Opérateur MDIF • Filtres de Kirsch : 8 masques La direction du gradient est l’argument du masque qui maximise la norme du gradient  à p/8 près • Masque MDIF plus grand  moins sensible au bruit mais localisation des contours moins bonne • Il existe aussi des généralisations de Sobel à des tailles (2d+1)(2d+1) : MX(i,j)=d/(|i|+|j|)(-i)/|i|, (i,j)[-d,d]2

  5. par filtrage linéaire passe-haut • Laplacien • 4-connexité 8-connexité • 1 filtre passe haut extrait l’information ‘complémentaire’ d’un filtre passe-bas : Id = MPB+MPH • Ex : Coef. généralemt omis pour amplifier le résultat

  6. Filtre de lissage puis application d’un opérateur différentiel par filtrage optimal (I) • Critères de Canny (i) Bonne détection, (ii) bonne localisation, (iii) faible multiplicité des maxima dus au bruit  Filtre impulsionnel à réponse finie (RIF) • Filtre de Deriche : RII  Dérivée directionnelle en x = Image*h(x)*f(y) Dérivée directionnelle en y = Image*h(y)*f(x) • Filtre de Shen - Castan Minimiser la variance de l’erreur en distance Maximiser le rapport signal à bruit Solution de Canny : RIF y(x) = a1eaxcoswx + a2eaxsinwx + a3e-axcoswx +a4e-axsinwx Solution de Deriche : RII y(x) = Cst/w.ea|x|.sinwx Soit m / m.w=a, alors m>>1 y(x)  h(x) = -a2.x.e-a|x| Lissage dans la direction perpendiculaire à celle de h par le filtre intégrateur de h : f(y) = b.(a.|y|+1).e-a|y| (f’(y) = b.a.signe(y).e-a|y|+b.(a.|y|+1).(-a.signe(y)).e-a|y| = b.h(y)) Solution de Shen et Castan : RII f(x) = be-b|x|, f1(x) = b.e-bx.u(x), f2(x) = b.e-b(-x).u(-x)

  7. par filtrage optimal (II) • Implantation du filtre de dérivation de Deriche Décomposition entre 1 partie causale et 1 anti-causale • R1[i]=c.e-a.I[i-1]+2.e-a.R[i-1]-e-2a.R[i-2] R2[i]=-c.e-a.I[i+1]+2.e-a.R[i+1]-e-2a.R[i+2] R[i]=R1[i]+ R2[i] • Implantation du filtre de lissage de Deriche Décomposition entre 1 partie causale et 1 anti-causale • R1[i]= b.I[i]+ b.e-a.(a-1).I[i-1]+2.e-a.R[i-1]-e-2a.R[i-2] R2[i]= b.e-a.(a+1).I[i+1]-b.e-2a.I[i+2]+2.e-a.R[i+1]-e-2a.R[i+2] R[i]=R1[i]+ R2[i] Partie causale : f-(i)=b.(a.i+1).e-ia.u(i) TZ[f-(i)] = b.a.e-az-1/(1-e-az-1)2+ b/(1-e-az-1) Partie anti-causale : f+(i)=[ba.(-i).e(-i)(-a)+ b.e(-i)(-a)-bd(-i)].u(-i) TZ[f-(i)] = b.a.e-az/(1-e-az)2+ b/(1-e-az)-b Partie causale : h-(i)=c.i.e-ia.u(i) TZ[u(i)] = 1/(1-z-1) |z|>1 TZ[ai.x(i)] = X(z/a)  TZ[e-iau(i)] = 1/(1-e-az-1) TZ[ik.x(i)] = (z.d/dz)X(z)  TZ[ie-iau(i)] = e-az-1/(1-e-az-1)2 Partie anti-causale : h+(i)=(-c).(-i).e(-i)(-a).u(-i)

  8. B1 B2 || MM (B2) || MM (B1) || Prewitt || MDIF || Sobel DMM (B1) D MM (B2) Dmasque Deriche a=1 Deriche a=2 Deriche a=3 Shen b=0.5 Shen b=1 Exemples de et .

  9. Détection de contours (I) • Seuillage avec hystérésis • Détection des pixels de valeur ≥ sh • Ajout des pixels de valeur ≥ sbet qui  1 composante connexe ayant au moins 1 pixel de valeur ≥ sh • Programmation avec 1 pile gérant la composante connexe : • initialisation de l’image des contours ImaCont à 0 • Initialisation de la pile P avec les pixels / ≥ sh • Tant que |P|>0 • Extraire M(xM,yM) de la pile • ImaCont(xM,yM)  1 • Pour chaque k-connex (k=4 ou 8) voisin de M, noté VM : Si VM P et si ImaCont(xVM,yVM)  1 et si ≥ sb, alors ajouter VM à P

  10. (i-1,j+1) (i,j) (i,j+1) (i,j-1) (i+1,j-1) Détection de contours (II) • Détection des maxima locaux de la norme du gradient dans la direction du gradient q Cas soit A0=(i,j), A1=(i,j+1), A2(i-1,j+1) on cherche zM = a1A1+a2A2 avec a1+a2=1, (a1,a2)[0,1]2 alors a2=tanq et a1=1-tanq donc Autres cas :

  11. 3 2 1 3 2 1 4 0 4 0 5 6 7 5 6 7 3 2 1 4 0 5 6 7 Fermeture de contours T[i][0] =1 si contour à prolonger (i[0,255]) T[i][j] avec j[1,3] donne les coordonnées relatives des 3 pixels candidats à la fermeture • Construction d’1 « look-up table » permettant d’indexer les pixels candidats à la fermeture pour chaque configuration. Codage configuration : où xi=1 si contour, 0 sinon Ex. T[16][0]=1 ; T[136 ][0]=0 ; T[8][0]=1 T[16][j]={1,0,7} ; T[8][j]={0,7,6} • Algorithme de fermeture : • Pour chaque extrémité trouvée lors du balayage de l’image : • Construction du sous-arbre de tous les chemins possibles de longueur p et du coût associé à chaque nœud : somme des normes des gradients en chaque point du chemin • Sélection du nœud de coût maximum • Prolongation du contour i.e. pixel / T[i][0] =1 3p chemins

  12. Après fermeture de contours Prewitt MDIF Sobel Dmasque Deriche a=1 Deriche a=2 Deriche a=3 Shen b=0.5 Shen b=1 Exemple

  13. Transformée de Hough • Utilisation d’information a priori pour reconnaître  le type d’objets recherchés et leur représentation • Principe : • Les objets recherchés sont décrits à l’aide de fonctions simples modélisées par leurs paramètres Ex.: segments de droites, arcs de cercles • La transformée de Hough permet de passer de l’espace image à l’espace des paramètres pour rechercher dans cet espace les objets d’intérêt

  14. I P y b Q DQ DP P x a Transformée de Hough : cas de la recherche de droites (I) Hors cas x = Cst • Représentation d’une droite : y = ax + b • Dans l’espace image I, x et y sont les variables (colonne et ligne) et (a,b) est un couple de paramètres fixes pour une droite donnée • Dans l’espace des paramètres P, a et b sont les variables et (x,y) est un couple de paramètres fixes pour un pixel donné • Par un point de I passe une infinité de droites, représentées par une droite dans P (b=ax–y), et • A chaque point de P correspond une droite de I • Algo : • calculer, pour chaque point du contour dans I, la droite lui correspondant dans P ; • Incrémenter les valeurs le long de cette droite ; • déterminer le ‘point d’accumulation’ dans P

  15. r0/r = |cos (j-q)| (droite perpendiculaire en M0(r0,j) à la droite radiale q=j pente j-p/2) Droite de paramètres (r0,j) d’éq. r = r0.sec(q-j)  r0 = r.cos(q).cos(j)+ r.sin(q).sin(j)  r0 = x.cos(j)+ y.sin(j) M(r,q) M0(r0,j) r r0 j-q j-p/2 q p-j Transformée de Hough : cas de la recherche de droites (II) • Représentation d’une droite : x.cosj + y.sinj = r0 avec 0 < r0 < diagonale de l’image, et 0 < j < 2p • Espace des paramètres (r0,j) • A chaque point de I correspond une courbe dans P, et une intersection de courbes dans P correspond à une droite dans I

  16. r = r2 r1 r2 b r3 a Intensité fct du % d’intersection de l’ellipse et du cercle de rayon r Transformée de Hough : cas de la recherche de cercles • Représentation d’un cercle : (x–a)2 + (y-b)2 = r • A un point de I correspond une surface dans P , et • P représenté sous forme d’un tableau 3D (a,b,r) • Si on se donne un rayon (en pixels) et un % de pixels devant appartenir à la circonférence du cercle, on peut en déduire le seuil dans P (en nombre de pixels ayant voté pour un cercle (a,b,r) )

  17. Bibliographie • H. Maître, Le traitement des images, Hermès éditions. • J.-P. Cocquerez & S. Philipp, Analyse d’images : filtrage et segmentation, Masson éditions. • S. Bres, J.-M. Jolion & F. Lebourgeois, Traitement et analyse des images numériques, Hermès éditions.

More Related