1 / 42

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) : 

nitesh
Download Presentation

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. Comment éliminer le bruit ? Comment séparer 2 composantes ? Comment étiqueter différemment 2 formes connexes ? Comment comparer 2 formes ? Introduction à la morphologie mathématique • Traitement non linéaire de l’information • Analyse morphologique : extraction des informations à partir de tests • Exemples de problèmes : • Repose sur la théorie des treillis (ens. ordonnés, ‘réticulés’) complets, … – s’applique aux ensembles des parties d’un ens., aux fonctions, …

  3. Définition: 1 treillis complet est 1 ensemble ordonné (E,) tel que toute partie de E admette 1 borne supérieure et 1 borne inférieure  : réflexive (xE, xx), antisymétrique ((x,y)E2, xy et yx  x=y), transitive ((x,y,z)E3, xy et yz  xz ) plus petit des majorants • Treillis de l’ensemble des parties d’1 ensemble : plus grand des minorants

  4. y et f duales : Opérateurs de MM : fondements mathématiques • principes fondamentaux • Compatibilité avec les translations • Compatibilité avec les homothéties • Localité • propriétés • Croissance • Extensivité / anti-extensivité • Idempotence • Dualité Indépendance par rapport à l’origine de l’espace: t, y(f+t)=y(f)+t Indépendance par rapport au paramètre d’échelle: l, y(lf)=ly(f)  E’ borné,  E borné / y(f)E’=y(fE)E’ • A,B AB  y(A)  y(B) Extensivité:  A, Ay(A) y(y(.))=y(.)

  5. Ө Erosion / dilatation : définitions (1) • Élément structurant B  relations de l’objet X avec l’élément (taille, forme données) • Addition de Minkowski : • Union des translatés de X par chaque point de B propriétés : commutative, associative, croissante, élément neutre • Soustraction de Minkowski : • Intersection des translatés de X par chaque point de B propriétés : non commutative, associative, croissante, élément neutre

  6. Erosion / dilatation : définitions (2) • Dilatation (binaire) : • lieu géométr. des points x tels que Bx intersecte X • Erosion (binaire) :  lieu géométr. des points x tels que Bx soit inclus dans X

  7. Erosion / dilatation : algorithmes (1) • Cas général (binaire) : • En chaque pixel z de l’image examiner la relation entre l’élément struct. Bz et l’objet X • Dilatation: pour i[1,#lignes] // boucle sur les lignes pour j[1,#colonnes] { // boucle sur les colonnes initializer y à 0 pour i’[iBmin,iBmax] // origine de B en 0  B inclus dans [iBmin,iBmax] [jBmin,jBmax] pour j’[jBmin,jBmax] si (y nul et ima(i+i’,j+j’) non nul et B(i’,j’) non nul) alors y  1 ima_dilate(i,j)  y } • Erosion: pour i[1,#lignes] // boucle sur les lignes pour j[1,#colonnes] { // boucle sur les colonnes initializer y à 1 pour i’[iBmin,iBmax] // origine de B en 0  B inclus dans [iBmin,iBmax] [jBmin,jBmax] pour j’[jBmin,jBmax] si (y non nul et ima(i+i’,j+j’) nul et B(i’,j’) non nul) alors y  0 ima_erode(i,j)  y }

  8. Erosion / dilatation : algorithmes (2) • Exploitation de l’associativité de la dilatation / érosion • Cas d’un élément B qui est le résultat de l’addition de Minkovski de et avec B1 (B à la taille élémentaire) : • Itérer la dilatation (érosion) par B1 • Cas d’un élément convexe : • Dilatations (érosions) successives par 2 segments • Cas d’un élément structurant ‘boule’ : • Seuillage de la transformée en distance de l’image binaire ou de son complémentaire

  9. dB2(dB2(X)) dB2(dB2(dB2(X))) X dB2(X), B2: dB4(X), B4: dB1(dB1(dB0 (dB0(dB0(X))))) dB0(dB0(X)) dB0(dB0(dB0(X))) dB1(dB1(dB1(dB0 (dB0(dB0(X)))))) • 11 11 • 11 7 5 7 11 • 5 0 5 • 7 5 7 11 • 11 11 dB1(dB0(dB0(dB0(X)))), B1: dB0(X), B0: 4 3 4 3 0 3 4 3 4 Dist1 Dist1 Dist1,5 Dist1,5 Dist2 Dist2 Dist2,5 Dist2,5 Dilatation binaire : exemples

  10. eB2(eB2(X)) eB2(eB2(eB2(X))) X eB2(X), B2: eB4(X), B4: eB1(eB1(eB0 (eB0(eB0(X))))) eB0(eB0(X)) eB0(eB0(eB0(X))) eB1(eB1(eB1(eB0 (eB0(eB0(X)))))) • 11 11 • 11 7 5 7 11 • 5 0 5 • 7 5 7 11 • 11 11 eB1(eB0(eB0(eB0(X)))), B1: eB0(X), B0: 4 3 4 3 0 3 4 3 4 Dist1 Dist1 Dist1,5 Dist1,5 Dist2 Dist2 Dist2,5 Dist2,5 Érosion binaire : exemples

  11. Erosion / dilatation : propriétés (1) • Croissance par rapport à X En effet : • Extensivité / anti-extensivité (si centre de B inclus dans B) • Croissance / décroissance par rapport à B En effet :

  12. Erosion / dilatation : propriétés (2) • Commutations en effet : • Adjonction en effet :  La partie de Bz qui n’intersecte pas avec X est dans le complémentaire de Bz’ quand se restreint à BzBz’ on ‘est dans’ X

  13. Erosion / dilatation : exemples illustrant les propriétés • Soit les éléments structurants : et X=dB1B2(X) dB1(X) dB2(X) dB1(X)dB2(X) X=eB1B2(X) eB1(X) eB2(X) eB1(X)eB2(X)

  14. Ouverture / fermeture : cas binaire • Définition • Exemples binarisation X-e5(X) e5(X) g5(X) X-g5(X) e15(X) X-e15(X) g15(X) X-g15(X)

  15. Ouverture / fermeture : propriétés (1) • Propriétés • Croissance / X trivial car eB et dB / X • Extensivité / anti-extensivité propriété d’adjonction  car  car Illustration avec • (Dé)croissance / B X dB(X); XdB(X) jB(X); XjB(X)

  16. Ouverture / fermeture : propriétés • Idempotence • Min-max : L’ouverture de X est le plus petit X’ de même érodé que X La fermeture de X est le plus grand X’ de même dilaté que X

  17. Ouverture / fermeture : exemples illustrant les propriétés g15(X) = X g15(g5(X)) e15(g5(X)) g5(X) = e15(g15(X)) e15(X)

  18. Profil morphologique : définition • (gl)l≥0 une ‘granulométrie’ et (jl)l≥0 l’anti-granulométrie associée • Fonction de distribution granulométrique m mesure bornée sur le treillis (e.g. aire#pixels) Xl = gl(X) et X-l = jl(X)  FX(l)=1-m(Xl)/m(X0) • Spectre granulométrique fX(l)= F’X(l) (dérivée de FX) (gl)l0 / 0ll’  gl’gl=glgl’=gl’

  19. X-3=j(X-2) X2=g(X1) X4=g(X3) X-8 X-7 X-5 X-4 X-6 X-1=j(X0) X0 X1=g(X0) X3=g(X2) Profil morphologique : application à l’analyse de texture

  20. X Y1 Y2 e(Y2)X eX(Y1) Dilatation / Erosion géodésique binaire Quand l, les boules géodésiques progressent comme le front d’une onde émise depuis z dans le milieu X • Boules géodésiques • Dilatation géodésique de taille l de Y dans X • (YBl)X • Erosion géodésique

  21. Reconstruction géodésique binaire • Application : extraction de composantes connexes à partir de marqueurs • Principe : à partir d’un point de la composante, on reconstruit toute la composante • Méthode : dilatation géodésique dans X

  22. Reconstruction géodésique : algorithme (cas binaire) • Éviter de réitérer dilatation jusqu’au diamètre des plus grandes composantes connexes • Cas efficace : utilisation d’une pile des pixels de l’image à traiter : • Initialisation de la pile avec les pixels de XY • Tant qu’il reste des éléments dans la pile : • Extraire un élément (pixel) de la pile • Le traiter • labelisation de la composante connexe dans l’image résultat • Calcul de ses voisins (dilatation par B) • Ajout dans la pile (si nécessaire) des voisins situés dans X

  23. 0 1 2 3 4 5 0 1 2 3 4 5 6 7 Reconstruction géodésique : exemple • Itération contenu de la pile • 1 (2,1) • 2 (1,1) (3,1) • 3 (3,1) (1,2) • 4 (1,2) (3,2) (4,1) • 5 (3,2) (4,1) (1,3) • 6 (4,1) (1,3) (3,3) • 7 (1,3) (3,3) (5,1) • 8 (3,3) (5,1) (2,3) (1,4) • 9 (5,1) (2,3) (1,4) (4,3) (3,4) • 10 (2,3) (1,4) (4,3) (3,4) (5,2) • 11 (1,4) (4,3) (3,4) (5,2) (2,4) • 12 (4,3) (3,4) (5,2) (2,4) (5,3) (4,4) • 13 (3,4) (5,2) (2,4) (5,3) (4,4) • 14 (5,2) (2,4) (5,3) (4,4) • 15 (2,4) (5,3) (4,4) • 16 (5,3) (4,4) (5,4) • 17 (4,4) (5,4) • 18 (5,4)

  24. Reconstruction géodésique à partir de Y X Etiquettage de composantes connexes Algorithme : k=0; Pour chaque pixel s de X : si xs et !zs : - calcul de EBX({s}) - k++ - t  EBX({s}), zt=k # composantes connexes = k Exemples d’application (1)

  25.  Exemples d’application (2) • Filtrage par Erosion-Reconstruction (ne modifie pas les contours des objets restants  Erosion-Dilatation) •  Erosion de X puis reconstruction de eB(X) dans X • Exemple ‘cellules’ g15(X) - = X EBX(e15(X))

  26. - = Exemples d’application (3) • Suppression d’objets touchant le bord de l’image •  Différence entre X et la reconstruction du bord dans X • Exemple ‘cellules’ - = X EBX({l=0[nlig-1]} {c=0[ncol-1]})

  27.    et  Exemples d’application (4) • Bouchage de trous •  Complément de la reconstruction dans Xc d’un ensemble qui n’intersecte pas X • Seuillage avec hystérésis •  Reconstruction des points au-dessus du seuil haut dans l’ensemble des points au-dessus du seuil bas.

  28. Erodé ultime : définition / algorithme • Cas général (binaire) Ensemble des composantes connexes de X disparaissant à l’itération suivante lors d’une séquence d’érosions par un élément structurant élémentaire B1  Pour chaque pixel (non déjà dans érodé ultime) disparaissant à l’itération t, calculer la composante connexe à t-1 et tester si tous les pixels ont effectivement disparus à t. • Cas d’un élément structurant disque Ensemble des maxima régionaux de la fonction distance de X à son complémentaire Algorithme : • Calcul de l’image des distances • Calculer l’ensemble des maxima locaux • Pour chaque maximum local (xsxt, tVs) non déjà traité : • Reconstitution géodésique de la composante connexe à xs conditionnellement à l’image des valeurs supérieures à xs  CC(xs) • Si xtCC(xs): xt>xs, alors marquer comme traités les maxima locaux qui appartiennent à CC(xs) • Sinon, alors xs est un maximum régional et CC(xs)  érodé ultime

  29. B Distance 4-connexité Distances 8-connexité, respectivement masque (1,0), (4,3,0) et (11,7,5,0) Érosions successives par Erodé ultime : exemple

  30. Transformation en ‘tout ou rien’ : cas binaire • Définition :  teste l’appartenance de certains voisins à X ET de certains autres à Xc • Notation des éléments structurants : noir = objet (1), blanc = fond (0), gris = quelconque • Ex. d’application : détection de coins (saillants) • UL UR • LL LR

  31. Calcul de l’enveloppe convexe • Rappel : Déf.L'enveloppe convexe d'un objet O est l’ensemble convexe (Ec /  (A,B) 2 points de Ec, [A,B] est entièrement contenu dans Ec) le plus petit parmi ceux incluant O. •  épaississement (ajout des points sélectionnés) par la transformation en Tout ou Rien suivante : 12 elts struct. • Exemple :  avec 1 elt. struct. 33, il n’est pas possible de gérer des pentes autres que {0,/2,/4,3/4}

  32. Même forme, respect des parties allongées, etc… Mêmes nombres de composantes connexes, de trous. La forme peut être retrouvée connaissant le squelette et la taille des érosions (p.e.). Une ‘petite’ variation de forme engendre une petite variation du squelette. Épaisseur nulle, réversible Mais : ne préserve pas la topologie, ex : non continu, ex : mais Squelette morphologique : définition • Exemples de propriétés souhaitées : • Préservation de la géométrie, de la topologie • Invariance aux translations, rotations, homothéties • Réversibilité, continuité, épaisseur nulle • Squelette morphologique euclidien (cas continu) U des centres des boules maximales (contenues ds X) • Cas discret : U des résidus d’ouverture des érodés successifs :  Pb : ne préserve pas la topologie

  33. Homotopie discrète et simplicité • Définition : F fct de R2 R2 préserve la topologie si  A ouvert, A et F(A) sont homotopes • Cas discret : A’ K-homotope à A   2 bijections préservant la relation d’entourage (au sens du théorème de Jordan) entre : (i) les ensembles des K-cc (K{4,8}) de A et de A’, (ii) les ensembles des K’-cc (K’=12-K) de Ac et de (A’)c  pour A’A (i) toute K-cc (K{4,8}) de A contient exactement 1 K-cc de A’ et (ii) toute K’-cc (K’=12-K) de (A’)ccontient exactement 1 K’-cc de Ac • Définition : x point K-simple dans X  X-{x} homotope à X  x a au moins 1 K’-voisin dans Xc et x est K-voisin d’1 seule K-cc de X  se calcule en examinant les 8 voisins

  34. Une réunion de points K-simples n’est pas nécessairement un ensemble simple, ex : x et y sont 8-simples mais pas {x,y} y x x3 x4 x5 x2 x x6 x1 x0,x8 x7 Homotopie discrète et simplicité • Propriété : x est K-simple  NKX(x)=1 • Retrait des points K-simples : • séquentiel  perte des propriétés métriques, • parallèle  risque de perte de l’homotopie • solution : ‘¼ parallèle’ : on ne retire ensemble que les points qui ont 1 voisin ‘Nord’ (resp. ‘Est’, ‘Sud’, ‘Ouest’) dans Xc • Rq : noyau homotopique ne préserve pas la forme de X  utilisation de ‘points d’ancrage’

  35. Caractérisation géométrique des points K-simples • Définition : transformation ‘tout ou rien’  teste l’appartenance de certains voisins à X ET de certains autres à Xc • Définition : amincissement (resp. épaississement) de X enlever (resp. ajouter) des points de X sélectionnés par 1 transformation en tout ou rien. • Propriété :1 amincissement (épaississement) est homotopique si l’inversion de couleur du point central ne modifie pas la topologie. Ex.  préserve topo • Exemples d’élément structurant : Lskel Mskel Ebardage

  36. Squelette morphologique : algorithme • Rq : noyau homotopique ne préserve pas la forme de X  utilisation de ‘points d’ancrage’ , e.g. maxima locaux de la distance • Algorithme préservant la topologie : • Initialiser S(X) à X • Répéter (jusqu’à avoir traité tous les points de X) : • Soit ESd les points de S(X) ayant un voisin immédiat dans (S(X))c dans la direction ‘Nord’ (resp. ‘Est’, ‘Sud’, ‘Ouest’) • Déterminer LK-s l’ensemble (parmi les points de ESd) des points ‘K-simples’ (en K connexité) • Retirer simultanément de S(X) tous les points de LK-s (sauf points d’ancrage) • Changer la direction considérée (N, E, S, ou O) • Informatiquement, utilisation de ‘piles’ de pixels

  37. 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 1 1 1 2

  38. Exemple : X Itérations 0, 1, 2 Itérations 3, 4, 5 Itérations 6, 7, 8 4-connexité 8-connexité

  39. Squelette par zones d’influence (SKIZ) • Définition : Soit X compact de R2, la zone d’influence d’une composante connexe Xi de X est l’ens. des points plus près de Xi que de tout autre composante Le SKIZ est la frontière des zones d’influence • Calcul du SKIZ : 1. Amincissement du fond par Lskel 2. Puis ébardage du résultat de 1. • Ex :

  40. Exercice • Soit l’image suivante : On cherche à compter les différents types de cellules et leur proportions respectives. Proposez une solution, décrivez le synoptique de l’algorithme à mettre en œuvre et les fonctions à développer (notamment les entrées / sorties), puis pour chacune d’elles le pseudo-code.

  41. Image binaire Image niveaux de gris Image binaire filtrée Image binaire filtrée Image des squelettes des particules Liste des objets avec caractérist. Liste des objets avec étiquettes Image segmentée des particules Éliminer les objets touchant le bord Seuillage Détection des différentes particules Éliminer le bruit (petites particules) Squelette Détermination des paramètres pour chaque particule Classification

  42. 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