La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Images binaires - 1 IMAGES BINAIRES 1. TOPOLOGIE Connexité Composantes connexes : étiquetage 2. METRIQUE Norme, courbure et orientation Transformée de.

Présentations similaires


Présentation au sujet: "Images binaires - 1 IMAGES BINAIRES 1. TOPOLOGIE Connexité Composantes connexes : étiquetage 2. METRIQUE Norme, courbure et orientation Transformée de."— Transcription de la présentation:

1 Images binaires - 1 IMAGES BINAIRES 1. TOPOLOGIE Connexité Composantes connexes : étiquetage 2. METRIQUE Norme, courbure et orientation Transformée de Hough Distance à une référence Paramètres morphométriques 3. TRAITEMENTS BINAIRES Traitements locaux par LUT Morphologie mathématique Squelettisation 4. EXTENSIONS MULTI-NIVEAUX Morphologie en niveaux de gris FIN DE PRESENTATION Voir Prétraitement des images : Binarisation

2 Images binaires - 2 TOPOLOGIE Topologie structure : connexité, dénombrement, nombre de connexité ( ou dEuler ) Métrique mesure : distance, périmètre, surface toutes notions sans ambiguïté dans R2, mais problèmes dans N2 NOTIONS DE TOPOLOGIE : CONNEXITE Maillage carré :4 voisins ( 4-connexité ) invariance en rotation de k. /2 8 voisins ( 8-connexité ) invariance en rotation de k. /4 connexité de 2 points : invariance : conservation de la connexité = homotopie Maillage hexagonal : 6 voisins, en pratique approché par translation ½ pixel, ou interpolation dun réseau carré Nombre de connexité : C = Nbre de composantes connexes – Nbre de trous C = Nbre de sommets + Nbre de faces – Nbre darêtes Relation dEuler : C {X} + C {X} = 1

3 Images binaires U U U UU UU U U TOPOLOGIE ( 2 ) NOMBRE DE CONNEXITE Calcul en 4-connexité : analyse de la maille élémentaire 2x2, sommet = élément bas / gauche 1 sommet : 1 face : - 2 arêtes : En tenant compte des symétries ( 4 sommets / maille ) 4 x C 4 = Nbre - Nbre une analyse similaire mène au calcul de C 8 + Nbre x 1 x 1 1 x x Enumération des configurations puis élimination des redondances C 4 = Nbre + Nbre - Nbre

4 Images binaires - 4 TOPOLOGIE ( 3 ) 8– ET 4–CONNEXITE Vérification de la relation dEuler sur une image binaire C {X} + C {X} = 1 : Calcul de C 4 Calcul de C 8 Pixels à 1 {X}{X}{X}{X}{X}{X} Liens de connexité C 4 {X} = 4 – 0 = 4 C 8 {X} = 1 – 1 = 0 {X}{X}{X}{X} C 4 {X} = 2 – 1 = 1 C 8 {X} = 1 – 4 = -3 Somme = 5 ! Somme = -3 ! Pour conserver la relation dEuler il faut utiliser la 4-connexité pour {X} ( les régions à 1 ) la 8-connexité pour {X} ( le fond ) alors C 4 {X} + C 8 {X} = 1

5 Images binaires - 5 COMPOSANTES CONNEXES ETIQUETAGE C 4 ne permet pas directement le dénombrement des composantes connexes ( les régions ) dune image binaire. De plus il faut pouvoir les différencier attribution dun identificateur ou étiquette. Etiquette = numéro identique attribué à chaque pixel dune même composante connexe. La visualisation de limage des étiquettes attribue donc une couleur par région. procédure détiquetage ou de coloriage des régions Principe : balayage de limage par un motif 3 pixels ( A,B,C ) A B C Si C 0 : les étiquettes de A et B déjà fixées imposent létiquette du pixel C Si C = 0 : pixel du fond, il reste invariant NB : initialiser bordures haute / gauche à 0 C1C2 C6 C3 C5 C4 C7 C2 A=0,B=1 C=B=1 C3 A=1,B=0 C=A=1 C4 A=B=1 C=A=1 C5 A=0,B=0 N=N+1 C=N=2 C6 A=1,B=2 C=min(A,B)=1 et équivalence max(A,B) ~ C 2 ~ 1 C7 A=0,B=0 N=N+1 C=N=3 = 1 = 2 = 3 C1 A=0,B=0 N=N+1 C=N=1 N = Nbre étiquettes ( initialisé à 0 )

6 Images binaires - 6 COMPOSANTES CONNEXES ( 2 ) GESTION DES EQUIVALENCES En cas déquivalence ( exemple 2 ~ 1 ) : retour en arrière et ré-écriture de tous les « 2 » … lent ! mémorisation dans table puis second balayage global étiquette équivalent ( étiquette ) Chaque ligne de la table déquivalence est initialisée par son numéro : ~ re-étiquetage pix = EQ ( pix ) EQ Pbs : pour une image Nx colonnes x Ny lignes nombres maximum détiquettes créées ? nombre maximum déquivalences à résoudre ? EQ Avant re-étiquetage : renumérotation pour numéros consécutifs re-étiquetage pix = EQ ( pix )

7 Images binaires - 7 COMPOSANTES CONNEXES ( 3 ) TABLE DEQUIVALENCE Dimension de la table déquivalence : nombre maximum détiquettes sur une ligne : Nx/2 sur 2 lignes : Nx étiquettes différentes, en damier dans limage Nx.Ny/2 nombre de bits des étiquette log 2 ( Nx.Ny ) -1 exemple : 512x512 = / 2 soit 17 bits Nombre déquivalences à résoudre ( fusions ) : nombre maximum détiquettes : Nx/2 sur 2 lignes : Nx/2 fusions, en peigne peigne isolé sur 3 lignes dans limage ( Nx.Ny ) /6 fusions exemple : 512x512 maximum ~ équivalences Réduction du nombre détiquettes et de fusions : création nouvelle étiquette indispensable en C1 inutile en C2 attente avant création ( retard à létiquetage ) de 1…N pixels en C1 aucune équivalence création et étiquetage a posteriori en C3 : C2 ~ C1 pas de création, propagation détiquette C1 C2C3

8 Images binaires - 8 COMPOSANTES CONNEXES ( 4 ) RETARD INFINI : SEGMENTS CONNEXES Codage dune image binaire par segments ( codage RLE « Run Length Encoding » ) : mémorisation de liste :nbres de lignes et colonnes image pour chaque ligne, nbre de segments, colonnes début ( 0 1 ) et fin ( 1 0 ) de chaque segment NyNx Y1Ns1D0F0D1F1 Y2Ns2D0F0 Intérêt compression, exemple : taille dorigine : octets taille de liste : 1768 octets ( 5%, données sur 2 octets ) remarque : le codage RLE peut sétendre à des images détiquettes, début et fin sont remplacés par numéro détiquette et nombre de pixel du segment Etiquetage par connexité de segments, analogue à motif 3 pixels : segment sans voisin à ligne précédente nouvelle étiquette avec 1 voisin connexe à ligne précédente propagation détiquette N voisins connexes gestion des équivalences comme pour 3 pixels Connexité : ( Dn(Y) Fk(Y-1) ) ET ( Fn(Y) Dk(Y-1) )

9 Images binaires - 9 COMPOSANTES CONNEXES ( 5 ) 1 – Binarisation : image 190 Analyse par motif 3 points 362 étiquettes sans retard 80 étiquettes avec 3 attentes 26 régions finales 2 - Etiquetage Segments connexes 57 étiquettes temporaires 26 régions finales Comparaison : motif 3 points ( avec et sans retard à létiquetage ) et segments connexes

10 Images binaires - 10 COMPOSANTES CONNEXES ( 6 ) CHAÎNES DEQUIVALENCES Equivalences en cascade ( étiquetage sans retard ) : fusions multiples chaînées renumérotation de la table ( transitivité ) algorithme pour létiquette N : k=N; tant que (k EQ (k) ) k= EQ (k); EQ (N)=k; Accélération de létiquetage : en C1 2 ~ 1 puis en C2 3 ~ 2 chaînage : 3 ~ 1 C1 C2 si pour la fusion A0, B0 : C = min(A,B); EQ ( max(A,B) ) = C devient A = EQ (A) C = min( A,B )B vient dêtre calculée donc B = EQ (B) EQ (A) = EQ (B) = C2 écritures évitent le test du maximum C1 C C1 : 3 ~ EQ C2 : 2 ~ EQ 3 ~ 2 2 ~ 1 1 ~ 1 : 3 ~ 1 Moins de cascades déquivalences car éliminées pour ce type de configuration C EQ C2

11 Images binaires - 11 COMPOSANTES CONNEXES ( 7 ) RUPTURE DE CHAÎNE DEQUIVALENCES Rupture de la chaîne déquivalence : en C1 : 3 ~ 2 puis en C2 : 3 ~ 1 avec lalgorithme C = min(A,B); EQ ( max(A,B) ) = C C1 C EQ C1C2 Pb : « 2 » reste isolé or 2 ~ 1 ! Solution : avec la nouvelle formulation complétée, si fusion A0, B0 A = EQ (A); C = min( A,B ); EQ (A) = EQ (B) = C EQ C1C2 La connexité de « 2 » et « 1 » est résolue reste le chaînage 3 ~ 2 sans problème forme finale de lalgorithme A=2, B=3 A= EQ (A)=2 A=3, B=1 A= EQ (A)=2

12 Images binaires - 12 COMPOSANTES CONNEXES ( 8 ) 1 - Binarisation Seuillage : image étiquettes sans retard 80 étiquettes avec 3 attentes 26 régions finales 2 - Etiquetage Seuillage : image étiquettes sans retard 65 étiquettes avec 3 attentes 26 régions finales ( des précédentes ) EXEMPLES Les couleurs sont modifiées selon la connexité des régions ( ici selon le seuil ) Les couleurs sont réutilisées modulo le nombre de couleurs distinctes affichables

13 Images binaires - 13 METRIQUE DISTANCE DE 2 POINTS : NORMES Différentes normes dans le plan : distance (x0,y0)(x1,y1) = ( |x0-x1| N + |y0-y1| N ) 1/N N = 2 : distance euclidienne D2 = sqrt( x 2 + y 2 ) Pb : complexité de calcul N = 1 : « city bloc distance » D1 = |x| + |y| N = : « chess board distance » D = max( |x|, |y| ) Simulation numérique dans plan discret x = 0…100, y = 0…100 : ( % ) erreur relative par rapport à D2 moyenne D1 : 27 D : -10 maximale D1 : 41 D : 0 ( max par excès ) minimale D1 : 0 D : -30 (max par défaut) calculs simples mais erreurs trop importantes recherche dune approximation Combinaison de D1 et D, par optimisation : Dc = max( |x|, |y|, C.(|x|+|y|) ) critère moy = 0 C = moy = 0, max < 4.9, - min < 5.6 critère max = - min C = moy < 0.3, max < 5.4, - min < 5.4 critère de calcul simple C = ¾ moy < 0.7, max < 6.1, - min < 5.2 Pb : précision ?

14 Images binaires - 14 METRIQUE ( 2 ) COURBES D ISODISTANCES Points à distance 100 de lorigine : Autre approche, partition angulaire : D D1 D2 ( référence ) Dc ( C = ¾ ) D1 D2 D 3 zones angulaires ( évite « max » ) horizontale : |x| > 2.|y| Da = |x| verticale : |y| > 2.|x| Da = |y| oblique Da = sqrt(2). (|x|+|y|)/2 ~ ¾ (|x|+|y|) angles limites : atan(2) et atan(0.5) soit 63.5° et 26.5° horizontale oblique vertic. moy < -0.3, max < 6.1, - min < 10.4 mais donne information sur la direction par rapport à horizontale

15 Images binaires - 15 ORIENTATION CODAGE DES ORIENTATIONS Zones angulaires, angles limites 63.5° et 26.5° : limites optimales pour un codage par pas de /4 : 67.5° et 22.5° horizontale : |x| > 2.|y| verticale : |y| > 2.|x| et utilisation du signe pour lorientation oblique sinon Angle = k. /4 ( modulo 2. ) k : code de Freeman y 0, x 0 : k = y 0, x < 0 : k = y < 0, x < 0 : k = 4 …6 y < 0, x 0 : k = 6 …8 (0) k = 0 ( référence ) k = 1 k = 2 k = 3 k = 4 k = 5 k = 6 k = 7

16 Images binaires - 16 ORIENTATION ( 2 ) CHAINE DE FREEMAN Chaîne de Freeman = liste des codes de Freeman dun contour de région origine = coordonnées (x0,y0 ) du 1 er point de la région orientation courante présumée Fc = 0 algorithme de suivi point à point du contour (xc,yc) = (x0,y0) : recherche point suivant en 8-connexité : x0 y er point non nul dans lordre 1 6, motif tourné de k. /4 selon Fc création listes de x = xc+x, y = yc+y, F, F mise à jour du point courant : (xc,yc) = (x,y) et Fc = F si (xc,yc) (x0,y0) itération, sinon fin de suivi yc xc test : F : F x y Fc Table de recherche du suivant selon Fc

17 Images binaires - 17 ORIENTATION ( 3 ) Propriétés de quasi-invariance : invariance stricte en translation à une « N-plication » des codes près en échelle à une constante additive k près, modulo 8, en rotation de k. /4 descripteur de forme Chaîne dérivée, courbure : liste constituée des F : dérivée de lorientation, invariante en rotation de k. /4 x0 y0 F = { 0,7,5,4,4,2,1 } correction de métrique : si F impair ( diagonale ) longueur associée au code = sqrt(2) si F pair longueur unitaire courbure en fonction de labscisse curviligne meilleure invariance en rotation F = { -1,-1,-2,-1,0,-2,-1 } remarques : longueur de liste = périmètre ici tous F 0 aucune concavité la liste peut être lissée ( moyenne glissante ) élimination des irrégularités locales

18 Images binaires - 18 ORIENTATION ( 4 ) EXEMPLE : ORIENTATION ET COURBURE Pour la visualisation les codes sont :orientation (1) : Fv = 3.F courbure (2) : Fv = 3.F soit une résolution de /12 ( 15° ) La courbure est lissée par une moyenne 7 points puis mise à léchelle [1…12] + (concave) : 7…12 - (convexe) : 1…6 les 2 courbures sont « comparables » Contours extérieurs

19 Images binaires - 19 ORIENTATION ( 5 ) TRANSFORMEE DE HOUGH Transformation globale de lespace image en un espace paramétrique. But : rechercher des structures rectilignes dans une image binaire Droite de lespace (x,y) : y = x.tg( /2 + o ) + o / sin( o) soit o = x.cos( o) + y.sin( o) Transformation :(x,y) (, ) | = x.cos( ) + y.sin( ) Dans lespace (, ) 1 point (x,y) un arc de sinusoïde N points alignés famille de N sinusoïdes passant par ( o, o) définissant la droite Exemple, soient 3 points de (x,y) : (1,1),(2,0.5),(3,0) Remarque : est algébrique, donc varie de 0 à les axes x et y sont centrés dans limage tels que x = L – Nl / 2 ; y = C – Nc /2 ainsi est lorientation selon Freeman de la droite dans limage x o o D y L C oy x

20 Images binaires - 20 ORIENTATION ( 6 ) Algorithme : est discrétisé dans [0, ] par pas de est discrétisé dans max, max par pas de ( où max = ½ diagonale ) le tableau est initialisé à 0 pour chaque point p(x,y) à 1 et pour chaque valeur de dans [0, ] incrémenter la case (, (,x,y) ) en fin de traitement chaque case contient le nombre de points alignés selon la droite ( ) : histogramme bidimensionnel dont les pics représentent des segments rectilignes. Variante : utiliser le code de lorientation du point p(x,y) et ne « voter » que pour cette case accélération du calcul. Exemple ci-dessous avec une résolution de /12 Image binaire et son contour 3 orientations : 0,6,9 soit 0,90°,135° 5 droites supports des contours Espace de Hough La verticale comporte 2 segments disjoints de même support

21 Images binaires - 21 ORIENTATION ( 7 ) Noter : - la périodicité en ( 0° 180° ) - la présence des 5 pics 2 à 0°, 2 à 90°, 1 à 135° - les 2 segments verticaux ont été comptabilisés dans la même case de lhistogramme ( même support ) - le bruit de fond autour des pics Des alignements accidentels ( 3 pts sont toujours alignés ! ), ou des erreurs dorientation ou de localisation, ou encore un défaut de résolution en ou provoquent une dispersion des votes localisation des pics plus complexe ( importance du choix de et ) Des objets rectilignes discontinus du fait du bruit ( lacunes ) pourrons être reconstruits

22 Images binaires - 22 DISTANCE A UNE REFERENCE DISTANCE A UN ENSEMBLE DE POINTS Distance dun point à un ensemble de référence : réf P D0D0 DNDN D( P { réf } ) = min { D 0,D 1, … D N } Méthode : le chemin P Pr Є { réf } est décomposé en chemins élémentaires dont les coûts sont cumulés : pas horizontal ou vertical coût = 1 pas diagonal coût = sqrt(2) P Pr C N = (7x1h, 3x1v ) C 0 = (4x1h, 3x1v ) C PPr = min( C 0,…,C N ) Lensemble des coûts est ainsi calculé, doù la distance : D = min {C PPr | Pr Є { réf } } = min ( min { C i } ) Optimisation : les coûts sont convertis en entiers en multipliant la distance par un coefficient : 1 2, sqrt(2) 2x1.4 ~ 3 : approximation de 2 x distance euclidienne ( 13% par défaut ) 1 3, sqrt(2) 3x1.4 ~ 4 : approximation de 3 x distance ( 8% par excès ) Distances dite de « chamfer » (2-3) ou (3-4)

23 Images binaires - 23 DISTANCE A UNE REFERENCE ( 2 ) CARTE DES DISTANCES Généralisation : distance de chaque point à lensemble de référence carte des distances lensemble de référence est lensemble des points à 1 de limage algorithme, phase 1 complémentation image ( distance Pr { réf } = 0 ) bordure dimage mise à N ( N >> max coeff x distance ) phase 2 balayage de limage par une fenêtre de 5 points, les coûts des points a,b,c,d sont soit déjà calculés ( sens du balayage ) soit imposés par la valeur de la bordure à une valeur neutre, les surcoûts sont ajoutés : ed cba e = min(a+C2, b+C1, c+C2, d+C1 ) avec (C1,C2) = (2,3) ou (3,4)

24 Images binaires - 24 DISTANCE A UNE REFERENCE ( 3 ) phase 2, propagation des distances, les points à N ne sont pas traités : ici (C1,C2) = (2,3) La causalité du balayage fait que les points en aval ne sont pas pris en compte Doù phase 3

25 Images binaires - 25 DISTANCE A UNE REFERENCE ( 4 ) EXEMPLES Distances des points objets au fond Distance des points du fond à lobjet La distance ( chamfer 2-3 ), valeur > 0 est représentée par un niveau de gris : distance croissante gris blanc

26 Images binaires - 26 DISTANCE GEODESIQUE DISTANCE DANS UN ESPACE CONTRAINT Distance dun point à un ensemble de référence { réf }, avec espace interdit { int } : distance euclidienne distance dite géodésique, longueur réelle du chemin réf int distance euclidienne distance géodésique distance euclidienne Lespace interdit ( contrainte par pixel > 1 ) ne doit pas intervenir dans le calcul des coûts cumulés imposée à valeur N dinitialisation de bordure Exemple : distance de chamfer (3-4) fond ( 0 : noir ) référence ( 1 : bleue ) avec contrainte ( 2 : rouge ), valeurs > 1 mises à N puis algorithme double balayage : Zones interdites distance ( N ) Référence, distance = 0

27 Images binaires - 27 PARAMETRES DE COMPOSANTE CONNEXE CARACTERISATION DUNE REGION Pour chaque composante connexe, calcul de paramètres morphométriques : paramètres de base surface S = card { pixel(x,y) = 1 } périmètre P = card { pixels contour } le contour peut être intérieur ou extérieur à la région compacité C = 4. S / P 2 voir [ binarisation ] centre de gravité G = x G = 1/S. (x | pixel(x,y) = 1 ) y G = 1/S. (y | pixel(x,y) = 1 ) axes dinertie : vecteurs propres V1 et V2 de la matrice dinertie M = xx = 1/S. (x – x G ) 2 = 1/S. (x 2 ) – x G 2 avec xy = yx = 1/S. (x – x G ).(y – y G ) = 1/S. (x.y) – x G.y G yy = 1/S. (y – y G ) 2 = 1/S. (y 2 ) – y G 2 soit : V1 : ( [xx – yy + sqrt( (xx-yy) xy 2 )] / 2.xy, 1 ) V2 : ( [xx – yy – sqrt( (xx-yy) xy 2 )] / 2.xy, 1 ) NB : si xy = 0 V1,V2 : (0,1), (1,0) xx xy yx yy V1 V2 Inertie.mws

28 Images binaires - 28 PARAMETRES DE COMPOSANTE CONNEXE ( 2 ) Paramètres de convexité, rectangle englobant : changement daxes (x,y) axes dinertie V1,V2 rotation dangle α : tan(2α) = 2.xy / ( xx – yy ) soit dimensions du rectangle englobant : L = max(xr) – min(xr) l = max(yr) – min(yr) élongation = L / l rapport des surfaces = S / (L.l) y x V1 V2 α Convexité, enveloppe convexe dune région : convexité : pour tous couples de points P 1,P 2 de la région, non convexe convexe Enveloppe convexe = forme englobante convexe indice de concavité = S / ( aire enveloppe convexe )

29 Images binaires - 29 TRAITEMENTS BINAIRES TRAITEMENTS LOCAUX PAR LUT Analyse du voisinage en 4- ou 8-connexité calcul dun descripteur utilisé comme index : 4-connexité, les voisins sont numérotés 0 à 3, le descripteur est : lindex adresse une table de décision ( LUT ) de taille 2 4 = 16 8-connexité, les voisins sont numéroté 0 à 7, la table comporte 2 x 256 positions : 321 4P0 567 P=0P= P = LUT ( P, Index ) LUT les 2 cas P = 0 et P = 1 sont souvent traités en 2 passes successives sur limage. les voisinages plus étendus sont difficiles à analyser : 5x5 table de taille 2 24 ~16.8 M positions ! Décision 0 / 1 Adressage de LUT Application : élimination des lacunes et fausses alarmes isolées lissage ou régularisation des bordures dobjets détection de configurations de voisinage particulières, exemple : enveloppe convexe

30 Images binaires - 30 TRAITEMENTS BINAIRES ( 2 ) Lacunes et fausses alarmes, configurations établies pour P0 = 0/1, toutes les autres config. peuvent en être déduites par rotations de /2 : Pi P(i+2) modulo 8 et doivent être ajoutées 321 4P0 567 x1x x01 x1x x0x 010 x0x ( x = indifférent ) Lacune :un 0 avec au moins 3 voisins à 1 est mis à 1 P0+P2+P4+P6 >= 3 1 Fausse alarme : un 1 avec 4 voisins à 0 est mis à 0 P0+P2+P4+P6 0 1 Binarisation : Img < 160 lacunes Img < 210 fausses alarmes

31 Images binaires - 31 Lacunes comblées par 2 itérations ( vert ) x1x x01 x1x 00x x x 00x Fausses alarmes éliminées ( orange ) Lissage des bordures, 2 passes successives, lissage des 0 puis des 1 : Concavités : (P0+P2+P4+P6) >= 3 1 Bordure W ( ouest ) aspérités ou pts saillants, notation Matlab : ~(P2 | P3 | P4 | P5 | P6) & (P0| ~P1| ~P3) 0 00x 01x 000 et rotations de /2 TRAITEMENTS BINAIRES ( 3 )

32 Images binaires - 32 TRAITEMENTS BINAIRES ( 4 ) x1x x01 x1x xx1 x01 x11 x11 x01 xx1 Enveloppe convexe, itérations jusquà stabilisation ( invariance ) de limage, ici convexité 8-C : P0 & P2 & P6 1 P0 & P1 & P7 & P6 1 P0 & P1 & P7 & P2 1 Contours lissés ( 01 vert, 10 orange ) Génération de LUT Déficience de convexité = { E(X) – X } Point W, ajouter rotation de /2

33 Images binaires - 33 MORPHOLOGIE MATHEMATIQUE OPERATIONS DE BASE Théorie ensembliste basée sur les travaux de Minkowski et Hadwiger, développée par Matheron et Serra. Notations et définitions : X s (o) X(o) S s (o) X(o) S(o), lélément structurant est caractérisé par son origine, sa forme et ses dimensions Elément centré, symétrique, de taille minimale en 4-C ou 8-C :

34 Images binaires - 34 MORPHOLOGIE MATHEMATIQUE ( 2 ) S s (o) X(o) Itérations dopérations : puis S2S1S1 S

35 Images binaires - 35 MORPHOLOGIE MATHEMATIQUE ( 3 ) EXEMPLE : EROSION ET DILATATION Erosion en 4-C et 8-C : Les objets de taille inférieure à S disparaissent pts oranges éliminés, la connexité nest pas conservée ( dissociation de régions ). Dilatation en 4-C et 8-C : Les trous de taille inférieure à S disparaissent pts verts ajoutés, la connexité nest pas conservée ( fusions de régions voisines ) Pour les éléments structurants de taille minimale 4-C ou 8-C, lérosion correspond à une élimination dun pixel de bordure, et la dilatation correspond à une croissance de un pixel en bordure. Litération de ces opérations conduit donc à des croissances ou contractions de N pixels. S 4-connexeS 8-connexe

36 Images binaires - 36 MORPHOLOGIE MATHEMATIQUE ( 4 ) CASCADES DOPERATEURS Erosion et dilation modifient la taille globale des régions, la succession des 2 opérations ramènent les objets à leurs dimensions par compensation. Ci-dessous, exemples pour S = S s 4-connexe. Ouverture : érosion puis dilatation Fermeture : dilatation puis érosion

37 Images binaires - 37 MORPHOLOGIE MATHEMATIQUE ( 5 ) MISE EN OEUVRE ALGORITHMIQUE Nous supposons ci-dessous que S est symétrique : S = S s Algorithmes basés sur des fonctions booléennes : dilatation : pour tous pixels érosion : pour tous pixels Algorithmes basés sur les cartes des distances, pour S de taille 2.N+1 : dilatation : calcul des distances dans fond à X puis mise à 1 de érosion : calcul des distances dans X au fond puis mise à 1 de Algorithmes basés sur une convolution ( image S ) : dilatation : érosion :

38 Images binaires - 38 MORPHOLOGIE MATHEMATIQUE ( 6 ) APPLICATIONS Les exemples suivants utilisent S = S s 4-connexe. En orange pts éliminés, en vert ajoutés Périmètre dun objet : contour intérieur Ci = X – ( X S ) ou extérieur Ce = ( X S ) - X S étant en 4-connexité, le contour est 8-connexe ( et inversement ) Sélection de détails de petite taille face à lélément structurant : D = X – ( X S ) « Top Hat Transform »

39 Images binaires - 39 MORPHOLOGIE MATHEMATIQUE ( 7 ) APPLICATIONS : « Hit or Miss Transform » Transformation par tout ou rien - T TR Les transformations par descripteur de voisinage et LUT peuvent être reformulées : détection des pts de bordure ouest W ( les configurations {S0,S1} ont été répertoriées alphabet de Golay ) 0x x V = (P0 & P1 & P7) & (~P3 & ~P4 & ~P5) ( notation Matlab ) 2 éléments structurants disjoints mais de même origine S0(o) = { 0 } et S1(o) = { 1 } Sous la forme de 2 éléments structurants, il ny a plus de limite de dimension du voisinage ( # LUT ) NB : contours intérieurs Ci = X – ( X S ) 1 Bordure W : les points oranges sont éliminés S w = {S0,S1} T TR ( X,S W )

40 Images binaires - 40 MORPHOLOGIE MATHEMATIQUE ( 8 ) APPLICATIONS : AMINCISSEMENT / EPAISSISSEMENT La transformation par tout ou rien ( illustrée ici par S w ) permet des opérations : - damincissement - d épaississement ( amincissement W )( épaississement E ) Lapplication de ces opérations avec les 8 éléments structurants successifs S i selon les 8 orientations de la 8-connexité conduit à des amincissements ou épaississements isotropes. Litération du cycle damincissement par { S i=0,7 } conduit à une invariance ou idempotence : XX1X2 invariante ultérieurement 1 2

41 Images binaires - 41 MORPHOLOGIE MATHEMATIQUE ( 9 ) AMELIORATION DIMAGE BINAIRE Rappel : les points oranges sont éliminés ( 1 0 ), les points verts sont ajoutés ( 0 1 ). Ouverture ( 1 ) : lérosion élimine les fausses alarmes, la dilatation restitue la taille dorigine Fermeture ( 2 ) : la dilatation « bouche » les lacunes, lérosion restitue la taille dorigine 1 2 X S = ( X S ) S ( X S ) S puis opération duale :

42 Images binaires - 42 SQUELETTISATION NOTION DE SQUELETTE Graphe ( 1 ) caractéristique de la forme dun objet binaire, qui peut permettre de le reconstituer ( 2 ) 1 - cest un ensemble de points connexes 2 - cest une transformation réversible Deux définitions similaires dans R 2 ( mais non dans N 2 ) : - Lieu des centres des disques de rayon maximum inscrits dans lobjet, le rayon en chaque point permet de reconstruire lobjet. - Axe médian, ensemble des points équidistants de 2 bords de lobjet, cette définition correspond à létat stable obtenu par érosions successives sans perte de connexité. La distance aux bords permet la reconstruction. = =

43 Images binaires - 43 SQUELETTISATION ( 2 ) PROPRIETES - invariance présumée en rotation - sensibilité aux détails des objets : irrégularité des bordures, lacunes … éventuel lissage des bordures avant squelettisation ( voir traitements par LUT ) Nombreux algorithmes et versions multiples, aboutissant à des squelettes légèrement différents : - algorithmes parallèles : érosions conditionnelles sans propagation dinformation - algorithmes séquentiels : érosions conditionnelles avec propagation des modifications in situ - algorithmes basés sur la recherche de maxima locaux dans une carte de distance lacune irrégularité locale

44 Images binaires - 44 SQUELETTISATION ( 3 ) ALGORITHMES D EROSION CONDITIONNELLE Algorithme parallèle : itération damincissements avec conservation de la connexité cas de la bordure W ( configurations similaires pour les autres bordures ), P 0 si : 321 4P x x 00x 011 x1x ( x = indifférent ) Du fait du parallélisme les bandes de largeur paire ( 2 pixels ) disparaissent configurations de conservation sur 4 points: ~P4 & P & P0 & ~P8 P = 1 ~P2 & P & P6 & ~P9 P = Algorithme séquentiel : les modifications seffectuent dans limage en cours de balayage ce qui introduit une dépendance du sens de balayage configurations essentielles ( sans modification ), cas de la bordure W : 10x 01x xxx xxx 01x 10x x x00 - si x = 0 P est une extrémité - si x = 1 P est un lien de connexité locale

45 Images binaires - 45 SQUELETTISATION ( 4 ) ALGORITHMES D EROSION CONDITIONNELLE Algorithme séquentiel, dernière configuration ( 4 configurations essentielles ) : yyy 010 xxx - si x,y = 0 P est un point isolé ( à conserver ) - si x et y = 1 P est un lien de connexité locale - si x = 0 et y = 1 P est une extrémité ou un lien de connexité Les points essentiels sont des points du squelette, les numéros des itérations où ils sont déclarés essentiels correspondent aux rayons des disques centrés sur ces points. Les points non essentiels sont marqués, valeur < 0, puis sont éliminés en fin de balayage. Séquencement des itérations : Initialisation : Iter = 1 Itération tant que des points sont éliminés, 2 sous cycles pour symétriser le squelette : 1 - test bordures E,W si essentiel P = Iter, sinon marqué 2 - test bordures N,S non marquées si essentiel P = Iter, sinon marqué Points marqués = 0, Iter = Iter +1 Fin ditérations { P > 0 } = squelette valué

46 Images binaires - 46 SQUELETTISATION ( 5 ) ALGORITHMES BASE SUR LES CRETES DE DISTANCES Pour les algorithmes précédents, le nombre de passes dépend de la taille des objets, pour lalgorithme basé sur les maximums locaux de la carte des distances il ny a que 3 passes : 2 passes pour la carte des distances + 1 pour la recherche des lignes de crêtes Principe : - calcul des distances des points des objets au fond : chamfer - seuillage éventuel pour éliminer les irrégularités locales - maximums locaux directionnels si maximum strict, sur 3 points a b c : (b > a) & (b > c) problème de squelette non connexe, exemple avec la norme D, les maximums stricts sont en gras, reste le 2 central : doù tests de maximums relatifs sur 4 points a b c d : crête : ((b > a) & (b > c)) | ((b > a) & (b = c) & (c > d)) Profil de crête : ou selon les 4 directions à /

47 Images binaires - 47 SQUELETTISATION ( 6 ) RESULTATS : VARIABILITE DU SQUELETTE Sans régularisation des bordures Avec régularisation des bordures Algorithmes Parallèle SéquentielCrêtes de distances (3-4) ( seuil = 6 )

48 Images binaires - 48 SQUELETTISATION ( 7 ) QUALITE DU SQUELETTE ? Sans régularisation des bordures Avec régularisation des bordures Algorithmes Parallèle SéquentielCrêtes de distances (3-4) ( seuil 9 )

49 Images binaires - 49 SQUELETTISATION ( 8 ) CAS PARTICULIER : OBJETS MINCES Dans le cas dobjets de faibles épaisseurs ( < 5 pixels par exemple ) une approche par convolution est rapide, 2 passes sur limage : axe médian = lignes des crêtes de limage convoluée par un masque triangulaire Exemple 2D pointillé noir : image binaire IB k.[ ] les 2 zones distinctes ne sont pas résolues IB k.[ ] max(coeff) > somme(coeff) – max(coeff) les maximums locaux (non stricts) donnent les axes médians

50 Images binaires - 50 SQUELETTISATION ( 9 ) ZONES D INFLUENCE Le squelette du fond { x | x = 0 } donne, après élimination des branches pendantes, les limites des zones dinfluence des objets. Branche pendante = partie du squelette ayant une ( ou plus ) extrémité libre, ici le squelette doit être constitué de boucles fermées si le bord de limage est considéré comme un objet. Squelette de ~X ( vert ) Zones dinfluence : étiquetage des régions délimitées par le squelette du fond Bord à 1 La zone dinfluence dun objet est lensemble des points à distance de cet objet inférieure aux distances des autres objets.

51 Images binaires - 51 EXTENSIONS MULTI-NIVEAUX MORPHOLOGIE MULTI-NIVEAUX Bases ensembliste : analogie des opérations 2D binaires dérosion et dilatation Limage en niveaux de gris ( espace N 3 ) est représentée par son sous-graphe : g g(x) x - Sous-graphe de g(x) : x N 2, g N SG( g(x) ) = { (x,g) | g g(x) } Lélément structurant est aussi représenté par son sous-graphe élément structurant So(x) 3D centré en o Les opérations de base se ramènent donc à des unions / intersections / complémentations ensemblistes : Erosion : Y = X S = { y | Sy X } { (y,g) | SG( Sy(x)+g) ) SG( X(x) ) Dilatation par dualité : Y = X S = ( X S s ) { (y,g) | SG(-Sy(-x)+g ) SG( X(x) ) } SG( g(x) ) x g Noter pour S s la symétrie 3D x

52 Images binaires - 52 EXTENSIONS MULTI-NIVEAUX ( 2 ) OPERATIONS DE BASE Erosion : Y = X S { (y,g) | SG( Sy(x)+g ) ) SG( X(x) ) } x So(x) X(x) g(x) = érodé( X(x) ) Analogie avec un palpeur suivant le profil X(x) lérodé est la trajectoire du point de référence ( ou origine ) du palpeur. La forme 3D du palpeur ( élément structurant ) fixe son comportement dans les pics de X(x) érosion des pics Expression analytique pour S centré en xo : x [xo-x1…xo+x2] X(x) – ( Sxo(x)+g(xo) ) 0 g(xo) = min( X(x) – Sxo(x) ) Il sagit donc dune transformation non linéaire contrairement aux filtres classiques La translation de niveaux qui peut amener des g < 0, peut être compensée par une translation de valeur max( So(x) ), sans changer le profil de g(x) : g(x) = min( X – Sx ) + max( S ) g -x1 x2

53 Images binaires - 53 EXTENSIONS MULTI-NIVEAUX ( 3 ) Dilatation : Y = X S { (y,g) | SG( -Sy(-x)+g ) ) SG( X(x) ) } x So(x)X(x) g(x) = dilaté( X(x) ) Même analogie avec un palpeur : La forme 3D du palpeur ( élément structurant ) fixe son comportement dans les vallées de X(x) comblement des vallées Expression analytique pour S centré en xo : x [xo-x1…xo+x2] X(x) + Sxo(x) g(xo) g(xo) = max( X(x) + Sxo(x) ) La translation de niveaux peut amener des g > gmax, doù une translation optionnelle de valeur - max( So(x) ), sans changer le profil de g(x) : g(x) = max( X + Sx ) - max( S ) Remarque, cas particulier de lélément structurant « plat » : x [-x1…x2] So(x) = 0 filtres inf : érosion = min( X ) et sup : dilatation = max( X ) ( voir lissage des bruits – opérateurs de base ) g -x1 x2

54 Images binaires - 54 EXTENSIONS MULTI-NIVEAUX ( 4 ) ouverture : X S = ( X S ) S ) fermeture : X S = ( X S ) S) « top hat » : X – ( X S ) lissage morphologique ( non linéaire ) : ( X S ) S ou ( X S ) S gradient morphologique : ( X S ) – X ou X - ( X S ) ou ( X S ) – ( X S ) laplacien morphologique : ( X S) + ( X S) – 2.X OPERATIONS COMBINEES Elément structurant 5 x Forme 3D

55 Images binaires - 55 EXTENSIONS MULTI-NIVEAUX ( 5 ) EXEMPLES Image originale OuvertureFermeture Lissages fermeture ouverture Gradient morphologique

56 Images binaires - 56 EXTENSIONS MULTI-NIVEAUX ( 6 ) AMINCISSEMENT / EPAISSISSEMENT Par analogie avec la morphologie binaire, deux éléments structurants multi-niveaux disjoints permettent de définir lamincissement AMM et lépaississement EPM multi-niveaux : -N S1 = S0 = 1-N 1 1 -N = - « infini », élément neutre de lopération, les pixels correspondants ne sont pas traités. Ici exemple de lélément structurant ouest W Amincissement et épaississement isotropes sont obtenus par application successive des {S0,S1} correspondants aux 8 orientations de la 8-connexité ( rotations de 45° ).

57 Images binaires - 57 Intuitivement : amincissement contraction des plages claires épaississement extension des plages claires EXTENSIONS MULTI-NIVEAUX ( 7 ) X image dorigine AMM(X) EPM(X)

58 Images binaires - 58 RETOUR AU PLAN FIN DE PRESENTATION

59 Images binaires - 59 GENERATION DE LUT - CODE MATLAB EXEMPLE : LISSAGE DES BORDURES Code Matlab pour établir les LUTs : function [Lut0,Lut1]=lislut V8=[0:255]; P0=bitget(V8,1); P1=bitget(V8,2); P2=bitget(V8,3); P3=bitget(V8,4); P4=bitget(V8,5); P5=bitget(V8,6); P6=bitget(V8,7); P7=bitget(V8,8); Modif=(~P0 & ~(P1|P2|P6|P7) & (~P3|P4|~P5)) |... (~P2 & ~(P3|P4|P0|P1) & (~P5|P6|~P7)) |... (~P4 & ~(P5|P6|P2|P3) & (~P7|P0|~P1)) |... (~P6 & ~(P7|P0|P4|P5) & (~P1|P2|~P3)); Lut1=~Modif; % Pc=1 : si modif -> 0 Lut0=((P0+P2+P4+P6) >= 3); x1x x01 x1x 00x x x 00x 2 passes successives, lissage des 0 puis des 1 2 LUTs ( Lut1 et Lut0 ) : Concavités : (P0+P2+P4+P6) >= 3 1 Bordure W ( ouest ) aspérités, pts saillants, en notation Matlab : ~(P2 | P3 | P4 | P5 | P6) & (P0| ~P1| ~P3) 0 00x 01x 000 ( et rotations de /2 )

60 Images binaires - 60 ZOOM – LACUNES

61 Images binaires - 61 ZOOM – FAUSSES ALARMES

62 Images binaires - 62 ZOOM – LISSAGE BORDURES

63 Images binaires - 63 CONTOURS – ORIENTATION

64 Images binaires - 64 CONTOURS – COURBURE


Télécharger ppt "Images binaires - 1 IMAGES BINAIRES 1. TOPOLOGIE Connexité Composantes connexes : étiquetage 2. METRIQUE Norme, courbure et orientation Transformée de."

Présentations similaires


Annonces Google