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

Traitement dimages : concepts avancés Morphologie mathématique (cas fonctionnel) : – Erosion, dilatation, ouverture et fermeture fonctionnelles, – Filtres.

Présentations similaires


Présentation au sujet: "Traitement dimages : concepts avancés Morphologie mathématique (cas fonctionnel) : – Erosion, dilatation, ouverture et fermeture fonctionnelles, – Filtres."— Transcription de la présentation:

1 Traitement dimages : concepts avancés Morphologie mathématique (cas fonctionnel) : – Erosion, dilatation, ouverture et fermeture fonctionnelles, – Filtres alternés séquentiels, – Ligne de partage des eaux. Classification (approches globales) : – Modèles markoviens, – Estimation de paramètres. Segmentation – Méthodes ad hoc – Approche variationnelle Estimation de mouvement : – Cas dun mouvement rigide, – Flot optique.

2 Segmentation : principes Objectif : décomposer limage X en un ensemble de sous-parties connexes formant une partition Notations : #R : nbre de régions, R i région n°i, Segmentation vérifie : – – – i [1,#R], R i est connexe Rappel : application du th é or è me de Jordan sur la trame carr é e : la 4 et la 8 connexit é sont duale (r é gion n-connexe courbe (12-n) connexe Suppose 1 connexit é

3 Segmentation : principes Prédicats de base : –La région R i est homogène i [1,#R], H(R i ) vrai –La région R i est distincte de ses voisines segmentation maximale (i,j) [1,#R] 2, H(R i R j ) faux Segmentations maximales : 4-connexit é 8 r é gions, 8-connexit é 6 r é gions, 12-connexit é 4 r é gions Ex : segmentation en 8 r é gions 4- connexes non maximale en 8-connexit é Recherche de zones poss é dant des attributs similaires Approche duale de la d é tection de contours

4 Méthodes de segmentation : par classification par transformation de régions (croissance de régions, split&merge, graphe de régions) par analyse dune image de gradient (ligne de partage des eaux) par méthode variationnelle (Mumford & Shah)

5 Segmentation à partir d1 classification Classification partition en c classes homogènes (du point de vue de la loi supposée) ayant chacune 1 ou plus composantes connexes Etiquetage en composantes connexes des c classes segmentation Ex.

6 Segmentation à partir d1 classification algorithme : –Initialisations : k=0, s S, z s =0 –Pour chaque classe i Créer limage binaire B de la classe (b s =1 x s = i ) Pour tout pixel s S : –Si b s =1 et z s =0, alors : »Calcul de la composante connexe CC{s} de s dans B (par exemple selon 1 des algo. détiquetage en composantes connexes donnés) »k=k+1 » t CC{s}, z t =k –#R=k–#R=k

7 Étiquetage en composantes connexes Algo. 1 : Calcul de la composante connexe CC{s} de s dans B initialisation de la pile avec s et de la composante connexe à 0 tant que la pile nest pas vide –extraire t de la pile –mettre t à 1 dans la composante connexe –pour tout r voisin de t non déjà traité (ni déjà dans la pile) »si x r = i rajouter r dans la pile Algo. 2 : Etiquetage de lensemble de limage en 2 passes initialiser limage des étiquettes Z à 0 balayer limage, soit s le pixel courant –soit l 1 et l 2 les 2 étiquettes des voisins de s (masque causal 2-connexité) –si (l 1 =l 2 ) ou (l i 0 et l 3-i =0, i {1,2}), affecter l i à s dans Z –si (l 1 l 2 ), affecter min(l 1,l 2 ) à s dans Z, et mettre à jour la table déquivalence entre les étiquettes : l 1 l 2 –si (l 1 =l 2 =0), créer une nouvelle étiquette l et affecter l à s dans Z Re-balayer limage pour uniformiser les étiquettes selon la table déquivalence

8 Segmentation à partir d1 classification Exemple : #cl = 2, clas. aveugle#cl = 3, clas. aveugle#cl = 3, clas. MRF #R = 6#R = 32 !!!!!!#R = 21 Chaque pixel est class é selon sa valeur ind é pendamment de ses voisins Markov Random Field chaque pixel est class é en tenant compte de sa valeur (attache aux donn é es) ET des labels de ses voisins (a priori sur le champ des labels, e.g. r é gulier)

9 Croissance de région (region growing) À partir de pixels-germes (généralement sélectionnés à partir de lhistogramme), on fait croître les régions en agglomérant les pixels ou régions connexes tels que lunion vérifie le prédicat dhomogénéité Pb du choix des germes : –Dans le cas général, la croissance de région sarrête avant davoir obtenu une segmentation : –Si on part de la segmentation triviale (chaque pixel est un germe) résultat dépendant de lordre de fusion des régions

10 Critères dhomogénéité d1 région Exemples de critères globaux à la région –Contraste : H(R i ) vrai –Variance : H(R i ) vrai –Distance interquartiles : H(R i ) vrai –Entropie : H(R i ) vrai Exemples de critères locaux à la région –Distance avec pixels voisins : H(R i {s}) vrai

11 Sélection de germes sur histogramme Algorithme –k=0 –tant que pixels non labelisés Calcul de lhistogramme H res des pixels non labelisés x val = mode de H res, s_germe / x s_germe = x val k=k+1 Croissance de région à partir de s_germe : –z s_germe =k –Tant que t connexe à R k et R k {t} vérifie prédicat dhomogénéïté, R k R k {t} – t R k, z t =k –#R=k–#R=k

12 Croissance de régions Exemple : C max = 80 #R = 6C max = 70 #R = 17C max = 100 #R = 6 C max = 80 #R = 5C max = 70 #R = 12 S é lection de germes sur histogramme S é lection de germes al é atoire

13 Pyramide du Quadtree Construction du quadtree par parcours de Peano : Clé de Peano : Pixel de coordonnées-image (i,j) i7j7i6j6i5j5i4j4 i3j3i2j2i1j1i0j0 i7i6i5i4i3i2i1i0i7i6i5i4i3i2i1i0j7j6j5j4j3j2j1j0j7j6j5j4j3j2j1j0 + Ex. : (2,3) 13 (6,2)

14 Partage / réunion de régions region splitting : soit R i / H(R i ) faux, alors diviser R i region merging : soit R i, R j connexes / H(R i R j ) vrai, alors R i =R i R j, supprimer R j Application à la structure du quadtree (image NxN) –Initialisations : l 0 niveau de départ dans la pyramide, t 0 =N/2 l0, n=4 l0 –Fusion : j=l 0, t=t 0, k=1 Tant que j>0 –Pour i variant de 0 à n-1 par pas de 4 l0-j+1 »Si les 4 blocs i, i+k, i+2k, i+3k sont de taille t, et si le critère dhomogénéité est vérifié pour lunion des 4 blocs, alors Les fusionner : mise à jour des tailles et caractéristiques des blocs (on ne garde que le bloc n°i) –Passage au niveau supérieur de la pyramide : j=j-1, t=2t, k=4k –Division : j=l 0 Pour i variant de 0 à n-1 –Si la taille du bloc i est t 0 et >0 »Tant que le critère dhomogénéité nest pas vérifié pour le bloc i subdiviser le bloc i en 4 blocs : mettre à jour les paramètres de i à partir du sous-bloc et créer les 3 autres sous-blocs indicés n+1, n+2, n+3, et actualiser n à n+3

15 Exemple de segmentation contrainte par le quadtree À partir du niveau 1 de la pyramide Fusion de 4 blocs de niveau 1 en 1 bloc de niveau 2 Scission de blocs de niveau 1 en 4 blocs de niveau 0 Fusion de sous-blocs d 1 même bloc de niveau 2 Fusion de sous-blocs d 1 même bloc de niveau 1 Labellisation des blocs

16 Réunion de régions Tests statistiques entre deux régions à fusionner Hyp. : bruit gaussien sur une image assimilée à une fonction 2D constante par morceau –Test du 2 dhomogénéité v.a. qui suit 1 loi du 2 à m-1 degrés de liberté ? –Test de Student dégalité des espérances intervalle de confiance de lestimateur de lespérance dune loi normale dont la variance est inconnue avec –Test de Fisher-Snedecor dégalité des moyennes et des variances… –Test de Wilcoxon : soit (somme pour chaque pixel de R 1 du # de pixels de R 2 de valeur inférieure) : on teste si U suit 1 loi normale N (n 1 n 2 /2, n 1 n 2 (n 1 +n 2 +1)/12)

17 Fusion de régions dans un graphe Le graphe est constitué de : –Une liste de sommets L S : chaque région R i est représentée par 1 sommet s auquel sont associés : les caract. de R i, la liste des pixels de R i, le # et la liste des arrêtes impliquant s –Une liste darrêtes L A : chaque arrête a est caractérisée par les 2 sommets quelle relie, son coût ct(a), un indicateur de validité Exemple de construction du graphe dadjacence :

18 Fusion de régions dans un graphe Exemple dalgorithme : –Initialisations : # de régions = # pixels, initialisation de L S et L A –Tant que # de régions > # de régions voulu Sélection des arrêtes a 0 de moindre coût par accord mutuel (a 0 relie s i et s j et j=argmin k {ct(a)/a=(s i,s k )} et i=argmin k {ct(a)/a=(s j,s k )} Fusion des régions associées aux arrêtes a 0 : –mise à jour de la liste des sommets (liste des arrêtes associées, liste des pixels, caractéristiques de la région représentée) –Mise à jour de la liste des arrêtes (validité, coût, sommets associés) Mise à jour du # de régions = # sommets –Création de limage des régions (daprès liste de pixels des sommets)

19 Segmentation maximale à partir du résultat contraint par le quadtree À partir du r é sultat quadtree Hypoth è ses : 4-connexit é, co û t d 1 arête / ct(R i,R j ) = |R i R j | si contraste(R i R j )=0, ct(Ri,Rj)=+ sinon

20 Fusion de régions dans un graphe Exemple : #R = 5#R = 8#R = 4#R = 12#R = 16#R = 20

21 Approches variationnelles (I) Energie de Gibbs (Geman & Geman, 1984) 1 ère méthode variationnelle Pb : estimer x (champ des labels) connaissant y (champ des observations) définir : (i) un modèle dattache aux données, i.e. reliant X et Y, ET(ii) un modèle a priori pour X, i.e. favorisant certains types de solutions Ex. : modèles réguliers i.e. favorise pixels voisins de même label Solution du Maximum A Posteriori (MAP) : Somme des potentiels des cliques sur le voisinage Cas dun champ de Markov caché (X,Y) avec |S| lespace des états de X P(X = x,Y = y) = P(Y = y / X = x).P(X = x) Hypothèses supplémentaires : avec Constante de normalisation issue de la distribution a priori P(Y=y / X=x) = s S P(Y s =y s / X s =x s ) (ind é p. cond. à X) s S, P(Y s =y s / X s =x s ) > 0 U 0, s (x s,y s )=-ln(P(y s /x s ))

22 Approches variationnelles (II) Exemple de distribution a posteriori –Y gaussien conditio. aux classes –Loi a priori = modèle de Potts (i,j) = P(X=x / Y=y) = P(Y=y / X=x).P(X=x)/P(Y=y) Cas plus général : avec processus ligne Énergie à minimiser : où h s et v s {0,1} indiquent les bords horizontaux et verticaux, et Z est limage des moyennes des classes :

23 Approches variationnelles (III) Principes : –Il existe une méthode de détection des frontières qui soit universelle (indépendante du type dimage) –La précédente détection doit présenter une invariance spatiale et déchelle –Les résultats doivent pouvoir être comparés quantitativement (valeurs des énergies respectives) Fonctionnelle dénergie comprend des termes : –Dautosimilarité des régions (pour le type dimage considéré : canaux fréquentiels, paramètres de texture…) –Mesurant la taille, la régularité et la localisation des frontières de régions

24 Fonctionnelle de Mumford & Shah (I) Cadre fonctionnel : soit R 2 un ouvert rectangulaire, soient les images u 0 (observation) et u (restauration), de [0,1], et soit K un ensemble fermé définissant les contours de u, alors Conjecture : (u, K ) minimiseur de E MS tel que 1.u C 1 ( ) 2.K est une union finie darcs réguliers tels que au plus 3 arcs se rencontrent en 1 point triple tel que les angles entre chacun deux soient 2 /3 Au plus 1 arc peut rencontrer en 1 point et perpendiculairement

25 Fonctionnelle de Mumford & Shah (II) Cas particulier : –u est constante sur chaque région : s R i, u(x,y)=g i =cst Connaissant K, u est donné E(u,K)=E(K) La régularisation repose entièrement sur la minimisation des longueurs de contours Paramètre définit léchelle de perception de limage croissance de r é gion : absence de crit è re sur contours g é n è re r é gions irr é guli è res, é troites, petites … faible segmentation fine croit segmentation devient de + en + grossi è re

26 Preuve : (i) soit 1 courbe c 1 de K et K 1 la seg. obtenue en supprimant c 1 (K 1 est 1-maximale) ; c 1 contient au max 2 intersections avec K 1 (ses extr é mit é s si c est 1 courbe de Jordan ouverte). (ii) Si c 1 est ferm é e, c est la seule courbe qui dispara î t, sinon s il y a intersection de 3 courbes, les 2 autres courbes fusionnent. Propriétés de Segmentation 1-maximale pas de frontière interne à 1 région Soit K 1 seg. 1-maximale / #R>1 2 régions R 1 et R 2 / (R 1,R 2 ) est 1 courbe de Jordan ( (s,s) ]0,1[, s s c(s) c(s) ) Soit K 1 seg. 1-maximale / #R= K est lunion de -1 courbes de Jordan sans segment commun Soit K 1 seg. 1-maximale / #R=, #courbes géométriques=, #croissements géométriques= (i) : 2.( -1) et (ii) : 3.( -1)-2 Segmentation 2-maximale 0 E(K)-E(K)= |R| a une borne inférieure et l( R) a une borne supérieure |R| 1/2 C ste.l( R) élimination des régions trop étroites K est n-maximale si pour tout n-upplet de r é gions, la segmentation K obtenue par fusion de ces n r é gions v é rifie E(K )>E(K) #r é gions voisines de R i Preuve : augmenter n permet d é liminer les petites r é gions Preuve :

27 Propriétés de Segmentation 1-maximale pas de frontière interne à 1 région Soit K 1 seg. 1-maximale / #R=, #courbes géométriques=, #croissements géométriques= (i) : 2.( -1) et (ii) : 3.( -1)-2 Segmentation 2-maximale 0 E(K)-E(K)= |R| a une borne inférieure et l( R) a une borne supérieure |R| 1/2 C ste.l( R) élimination des régions trop étroites augmenter permet d é liminer les petites r é gions

28 Résolution multiéchelle de Koepfler Algorithme –Soit la segmentation triviale : #R=|S|, soit 0 –Tant que #R>nbre de régions souhaité Pour i [1,#R] –Pour chaque région R j adjacente à R i, calculer ij =|R j |.|R i |/(|R j |+|R i |) ||g i -g j || 2 /l( (R i,R j )) = min ij ( ij )+ Parcourir la liste des régions, et fusionner celles telles que E(K\ (R i,R j )-E(K)<0 Actualiser #R Préliminaires : soit R i et R j disjointes |R i R j | (R i R j )= |R i | (R i )+ |R j | (R j ) |R i R j | 2 (R i R j )=|R i | 2 (R i )+|R j | 2 (R j )+ |R j |.|R i |/(|R j |+|R i |) ( (R i )- (R j )) 2

29 Approche variationnelle Exemple : #R = 5#R = 8#R = 4 #R = 12#R = 16#R = 20

30 Représentation hiérarchique des régions Changement de lobjectif de la segmentation : –décomposer limage X en un ensemble de sous-parties connexes formant une partition –décomposer limage X en un treillis totalement ordonné, formé de sous-parties de X –décomposer limage X en un treillis de sous-parties connexes, soit disjointes soit ordonnées Segmentation vérifie : et cf. treillis de la morphologie math é matique binaire

31 Relation dordre des régions ( ) relation dordre des niveaux de gris ( ou ) –Indépendance vis-à-vis des valeurs absolues des niv. de gris, i.e. des conditions de luminosité etc. Invariance par changement de contraste Upper Level Set U x et Lower Level Set L x –Relation dinclusion des ensembles de niveaux : –Famille des U x (ou celle des L x ) est suffisante pour reconstruire limage y Ensembles de niveaux relatives

32 minTree maxTree Exemple simplissime 255

33 Tant que toute limage na pas été étiquetée : 1.Recherche d1 minimum local non encore étiqueté (balayage de limage) 2. création dune nouvelle région de valeur, val, égale à la valeur du minimum local trouvé en 1. 3.Reconstruction de la composante connexe par croissance de région (voisinage lié à la connexité) : 1.la région croît tant que la valeur minimale sur son voisinage courant, val N, est égale à la valeur de la région ; 2.quand val N > val, la composante parent est atteinte ; 3.si val N < val, la construction de la composante courante est interrompue pour cause de rencontre avec un (autre) fils. val N =127 val=0 val N =127 val=127 Construction du Min_Tree val N =255 val=127val=255

34 val N =127 val=255 val N =127 val=255 val N =127 val=127 val N =127 val=127 val N =255 val=127 Construction du Max_Tree

35 Construction de larbre mixte Ne privilégier aucune des 2 relations dordre –Ex. dans texte : blanc sur noir & noir sur blanc Algorithme : 1.Construction du Min_Tree AVEC 1.pour chaque feuille détection des trous et stockage d1 pixel de chaque trou 2.Création de limage des shapes (pour chaque pixel : plus petite région lincluant) 2.Idem en 1. pour Max_Tree 3.Fusion des deux arbres 1.Initialisation avec le Min_Tree (p.e.) ; 2.Pour chaque trou (de pixel représentant s) d1 shape Sh_L, recherche de la shape Sh_U dans larbre dual : soit cest la shape de s, soit une shape lincluant Sh_U Sh_U est la plus petite des valeurs supérieure à

36 class elt_tree { int ident; float val; liste_pixels L, L_ini_hole; elt_tree *fils, *frere, *pere; BYTE etage; constructeur, destructeur, constructeur de copie, opérateur daffectation; }; class tree { int nb_etages, nb_elts; elt_tree *racine, *courant, *precedent; constructeur, destructeur, constructeur de copie, opérateur daffectation, afficheurs; int nbre_elts (); int nbre_etages (); elt_tree* cherche (int no); void insere_pere (elt_tree* E, const int no_lien); void insere (elt_tree* E, const int no_lien, const BYTE type_lien); void bouche_trou (elt_tree* E, const int no_lien, const BYTE type_lien, int x, int y); int calc_etages (); imadata ima_shape (int nlig, int ncol); }; class ad_elt_tree { BYTE type_origin; elt_tree *ad_origine, *adres_elt; constructeur, destructeur; }; class liste_ad_elt_tree { int n_adres; ad_elt_tree *L; constructeur, destructeur, etc.; void add_elt2liste (elt_tree *courant, elt_tree *entreeT); BYTE sub_elt2liste (elt_tree *courant, elt_tree *entreeT); }; Gestion des arbres

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


Télécharger ppt "Traitement dimages : concepts avancés Morphologie mathématique (cas fonctionnel) : – Erosion, dilatation, ouverture et fermeture fonctionnelles, – Filtres."

Présentations similaires


Annonces Google