Visione Artificiale Segmentazione delle immagini Segmentazione di
Transcript
Visione Artificiale Segmentazione delle immagini Segmentazione di
Visione Artificiale - Fac. Ingegneria, Univ. Parma Segmentazione delle immagini Edge Detection Tecniche di segmentazione a soglia ■ Tecniche di regionalizzazione ■ Visione Artificiale ■ Parte VII: Edge e segmentazione Acquisizione Operazioni puntuali Operazioni locali Operazioni globali Segmentazione Basso Livello Medio Livello Risultati Alto Livello Edge e segmentazione Segmentazione di un’immagine Alessandra Fascioli - Visione Artificiale 2 Segmentazione di un’immagine A basso livello segmentare significa individuare regioni ■ Ad alto livello lo scopo è identificare oggetti ■ Individuare un oggetto in una regione è un incarico di natura semantica e difficile da conseguire per via automatica ■ L’analisi automatica dell’immagine ha lo scopo di estrarre informazioni con un appropriato grado di utilità ■ Segmentare l’immagine significa suddividerla in parti significative ■ Edge e segmentazione Alessandra Fascioli - Visione Artificiale 3 Edge e segmentazione Segmentazione di un’immagine ll livello di dettaglio della segmentazione dipende dal tipo di applicazione ed è necessario adottare accorgimenti per incrementarne il successo ■ Gli algoritmi di segmentazione sono basati su similarità o discontinuità di proprietà dei pixel quali livelli di grigio, colore, velocità, texture… Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] 4 Segmentazione di un’immagine Dall’analisi della discontinuità si estraggono i contorni (edge) o altre caratteristiche (punti isolati, linee) ■ Sulla similarità si basano metodi di soglia (thresholding) e di regionalizzazione ■ Edge e segmentazione Alessandra Fascioli - Visione Artificiale ■ 5 Edge e segmentazione Alessandra Fascioli - Visione Artificiale 6 1 Visione Artificiale - Fac. Ingegneria, Univ. Parma Punti isolati e linee ■ Punti isolati Per individuare le discontinuità viene usata una maschera di pesi ■ Rpuntuale = ∑ zi ∗ wi z1 z2 z3 z… z4 z5 z6 z… z7 z8 z9 z… z… z… z… … Edge e segmentazione w1 w2 w3 w4 w5 w6 w7 w8 w9 Alessandra Fascioli - Visione Artificiale -1 -1 -1 -1 8 -1 -1 -1 -1 7 Punti isolati Supponiamo infatti che un punto isolato abbia un valore dei toni di grigio zi,j molto differente dai punti adiacenti ■ zi,j siano positivi su tutta l’immagine ■ Svolgendo la sommatoria localmente sul punto si rileverà un valore elevato di |Rpuntuale| Alessandra Fascioli - Visione Artificiale ■ ■ ■ Linee verticali Linee diagonali \ Linee diagonali / Edge e segmentazione -1 2 -1 -1 2 -1 -1 2 -1 2 -1 -1 -1 2 -1 -1 -1 2 -1 -1 2 -1 2 -1 2 -1 -1 Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] Alessandra Fascioli - Visione Artificiale 8 Per linee orizzontali spesse un pixel su sfondo uniforme si può usare la seguente maschera, infatti R è massimo quando la linea combacia con la riga centrale della tabella -1 -1 -1 2 2 2 -1 -1 -1 9 Individuazione di linee ■ Edge e segmentazione Individuazione di linee ■ Edge e segmentazione Per individuare un punto isolato si valuta la condizione |Rpuntuale|>T con T soglia opportuna avendo scelto per esempio la seguente maschera: Edge e segmentazione Alessandra Fascioli - Visione Artificiale 10 Individuazione di linee ■ 11 Il più elevato valore |Rj| associato a queste maschere indica una maggiore probabilità che il punto in cui si è applicata la maschera appartenga ad una linea orientata nella direzione della maschera j Edge e segmentazione Alessandra Fascioli - Visione Artificiale 12 2 Visione Artificiale - Fac. Ingegneria, Univ. Parma Contorni Contorni Il contorno di un oggetto è la separazione tra questo e lo sfondo o tra l’oggetto ed altri oggetti ■ È spesso il primo passo per l’individuazione dell’oggetto ■ Un edge separa due regioni con proprietà dei toni di grigio distinguibili ■ ■ Edge e segmentazione Alessandra Fascioli - Visione Artificiale Gli algoritmi di edge detection funzionano meglio quando le regioni da separare sono uniformi; l’individuazione di un contorno si suddivide in due distinte fasi: – Applicazione di filtri derivativi: il valore in ogni punto di uscita rappresenta in modulo una stima numerica del gradiente spaziale nel punto corrispondente dell’immagine di ingresso – Thresholding e relativa binarizzazione 13 Edge e segmentazione Alessandra Fascioli - Visione Artificiale Contorni ■ ■ Contorni Nell’esempio il profilo dei livelli di grigio non è a gradino ma a rampa, per rispecchiare i contorni di un’immagine reale affetti da blurring dovuto al campionamento Le derivata prima e seconda sono diverse da zero solo in corrispondenza delle transizioni Edge e segmentazione Alessandra Fascioli - Visione Artificiale ■ ■ ■ ■ ■ ■ ■ 15 D>0 da scuro a chiaro D<0 da chiaro a scuro D=0 zone a livello costante D2>0 prossimità scura del contorno D2<0 prossimità chiara del contorno D2=0 zone a livello costante D2 ha zero crossing in corrispondenza transizioni Edge e segmentazione Alessandra Fascioli - Visione Artificiale Contorni ■ Il valore della derivata prima identifica un contorno ■ L’attraversamento dello zero di D2 lo localizza con precisione ■ Il segno di D2 dice se il pixel appartiene al versante chiaro o a quello scuro del contorno ■ Consideriamo i seguenti esempi di contorni a gradino e a rampa (con differenti pendenze) Per la ricerca di contorni di orientazione qualunque valgono le stesse osservazioni, considerando il profilo di grigio lungo una direzione ortogonale al contorno nel punto considerato a a a a b b b b a a a b b b b a a a b b b b b h x0 Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] 16 Contorni ■ Edge e segmentazione 14 17 Edge e segmentazione a a a c b b b a a a c b b b a a a c b b b a a a d e b b a a a d e b b a a a d e b b b h a x x0 b h a x Alessandra Fascioli - Visione Artificiale x0 x 18 3 Visione Artificiale - Fac. Ingegneria, Univ. Parma Generazione del gradiente secondo direzioni ortogonali Contorni Derivata prima in un punto: gradiente della funzione di luminosità f(x, y) ■ Derivata seconda in un punto: laplaciano della funzione di luminosità f(x, y) La presenza di un edge si valuta con il superamento di una soglia da parte del modulo del gradiente ■ Il modo più semplice per ottenere un’approssimazione discreta del gradiente è utilizzare la differenza mobile (running difference) oppure le differenze incrociate ■ ■ ∂f G gradiente ∇f = x = ∂x ∂f G modulo [ 2 ∇f = Gx + Gy Edge e segmentazione 2 y ] direzione ∂y 1 2 Gy α (x, y) = tan−1 Gx ≈ Gx + Gy Alessandra Fascioli - Visione Artificiale 19 Edge e segmentazione … ■ z3 … z4 z5 z6 … z7 z8 z9 … z2 ■ Le componenti del gradiente nel punto z5 sono Gx = z5–z6 e Gy = z5-z8 quindi ∇f=|z5-z6|+|z5-z8| differenza mobile oppure ∇f =|z5-z9|+|z6-z8| differenze incrociate Alessandra Fascioli - Visione Artificiale 21 Generazione del gradiente secondo direzioni ortogonali ■ a a a b b b b a a a c b edge 0 0 h 0 0 0 0 gradino 0 0 h/2 h/2 0 0 0 rampa più ripida ■ ■ b b a a a d e b Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] Edge e segmentazione Alessandra Fascioli - Visione Artificiale 22 Esempio di applicazione della differenza mobile b 0 0 h/3 h/3 h/3 0 0 rampa meno ripida + I contorni a rampa non possono essere localizzati dall’edge detector a differenza mobile con la precisione del pixel: nelle immagini reali ottengo contorni non ben delineati Il metodo è molto sensibile alle piccole fluttuazioni di intensità e tende a esaltare il rumore (tipico di tutti gli operatori derivativi) Edge e segmentazione Queste maschere vengono applicate per misurare le componenti del gradiente nelle due direzioni Generazione del gradiente secondo direzioni ortogonali Utilizzando la differenza mobile nell’esempio con edge a gradino e a rampa si ottiene grigi Queste equazioni possono essere implementate con l’applicazione di maschere 2 x 2. Per esempio le differenze incrociate possono essere determinate con le due maschere chiamate operatori di Roberts 1 0 0 1 0 -1 -1 0 ■ Edge e segmentazione 20 Generazione del gradiente secondo direzioni ortogonali Generazione del gradiente secondo direzioni ortogonali z1 Alessandra Fascioli - Visione Artificiale Differenza orizzontale (edge verticali) 23 Edge e segmentazione = Differenza verticale (edge orizzontali) Alessandra Fascioli - Visione Artificiale 24 4 Visione Artificiale - Fac. Ingegneria, Univ. Parma Generazione del gradiente secondo direzioni ortogonali La localizzazione dei contorni può essere migliorata tenendo conto dei valori dei pixel da entrambe le parti del potenziale punto di edge ■ ■ … ■ Operatori di Prewitt e Sobel z2 z3 … z4 z5 z6 … z7 z8 z9 ∇f=|z4-z6|+|z2-z8| differenza separata -1 0 1 -1 -1 -1 -1 0 1 0 0 0 -1 0 1 1 1 1 … z1 ■ Per i contorni a rampa si ottiene grigi a a a c b b b a a edge 0 0 h/2 h h/2 0 0 0 0 h/3 2h/3 2h/3 h/3 Edge e segmentazione a d e b b 25 Operatori di Prewitt e Sobel ■ ■ Edge e segmentazione ■ Sobel Gx = (z3+2z6+z9) – (z1+2z4+z7) Gy = (z7+2z8+z9) – (z1+2z2+z3) Alessandra Fascioli - Visione Artificiale ■ 27 ■ Prewitt ■ Problemi di sensibilità al rumore Edge e segmentazione ■ Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] 26 Alessandra Fascioli - Visione Artificiale 28 Sensibilità al rumore ■ Differenza mobile Alessandra Fascioli - Visione Artificiale Essendo del tipo a differenza separata localizzano correttamente i contorni a rampa spessi un pixel, ma presentano ancora problemi per le rampe meno ripide Negli operatori di Sobel il peso raddoppiato dei coefficienti N, S, W e E rende l’operatore ugualmente sensibile nei confronti di contorni comunque orientati Edge e segmentazione Operatori di Prewitt e Sobel Sobel Gx = (z3+z6+z9) – (z1+z4+z7) Gy = (z7+z8+z9) – (z1+z2+z3) Operatori di Prewitt e Sobel A volte si preferisce normalizzare i gradienti di riga e di colonna di modo da avere medie pesate unitarie per i pixel posti ad entrambi i lati dell’eventuale edge Si moltiplica per 1/3 la maschera di Prewitt, per 1/4 la maschera di Sobel Edge e segmentazione Prewitt 0 Alessandra Fascioli - Visione Artificiale -1 0 1 -1 -2 -1 -2 0 2 0 0 0 -1 0 1 1 2 1 Meno sensibili alle variazioni di illuminazione ed al rumore Effettuano simultaneamente una differenziazione lungo una direzione ed una media spaziale lungo la direzione ortogonale 29 Gli operatori gradienti sono poco efficaci in presenza di rumore Si possono applicare operazioni di smoothing per la riduzione del rumore prima della differenziazione È possibile realizzare un operatore composto Alternativamente si può aumentare l’area di calcolo del gradiente (effetto di media) Edge e segmentazione Alessandra Fascioli - Visione Artificiale 30 5 Visione Artificiale - Fac. Ingegneria, Univ. Parma Operatori di gradiente composti Estensione della maschera ■ L’onere computazionale per ogni singolo pixel cresce con il quadrato dell’estensione laterale della maschera Prewitt nxn Edge e segmentazione 1 1 1 1 … … … … … 1 1 1 1 0 0 0 0 -1 -1 -1 -1 … … … … ■ -1 -1 -1 -1 La risposta impulsiva è ottenuta da una correlazione tra la risposta impulsiva di un operatore di gradiente e la risposta impulsiva di un filtro passa-basso GC ( x, y) = G( x, y) ∗ M ( x, y) Con G(x,y) risposta impulsiva dell’operatore gradiente e M(x,y) risposta impulsiva di un filtro passabasso Alessandra Fascioli - Visione Artificiale 31 Edge e segmentazione Alessandra Fascioli - Visione Artificiale 32 Operatore derivata della gaussiana (DroG) Operatori gradiente composti Esempio: ■ M(x,y) filtro 3x3 di media mobile Operatore composto in cui la funzione di smoothing è una gaussiana G(x,y) gradiente di riga 3x3 di Prewitt Si ottiene una maschera precalcolata da applicare direttamente all’immagine GCx =1/18 x Edge e segmentazione 1 1 0 -1 -1 2 2 0 -2 -2 3 3 0 -3 -3 2 2 0 -2 -2 1 1 0 -1 -1 Alessandra Fascioli - Visione Artificiale 2 x +y 2 h( x , y ) = exp − 2 ■ 33 Operatore derivata della gaussiana (DroG) ■ ■ Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] r = exp − 2 2 2 σ è la deviazione standard, ossia il valore di r per il quale h si riduce a 1/√e del massimo Edge e segmentazione Alessandra Fascioli - Visione Artificiale 34 Operatore derivata della gaussiana (DroG) L’apertura della gaussiana cresce con σ σ determina i pesi della maschera e può essere espresso in pixel : se l’apertura è maggiore, l’azione di filtraggio può riguardare un intorno più ampio del punto centrale Edge e segmentazione 2 Una gaussiana 2D (con σ = 0.5) e e la maschera 3 x 3 (la normalizzazione rende unitaria la somma dei pesi) 0.0113 0.0838 0.0113 0.0838 0.6193 0.0838 0 0113 0 0838 0 0113 35 Edge e segmentazione Alessandra Fascioli - Visione Artificiale 36 6 Visione Artificiale - Fac. Ingegneria, Univ. Parma Operatore derivata della gaussiana (DroG) ■ ■ Operatore derivata della gaussiana (DroG) Per esempio, per la componente lungo x con σ = 0.5 Si possono calcolare le risposte impulsive dell’operatore DroG nelle due direzioni effettuando la convoluzione delle due componenti del gradiente con la maschera della gaussiana Oppure si calcolano le derivate della gaussiana rispetto a x e a y, che rappresentano le componenti dell’operatore DroG nel caso continuo, e si ottengono le maschere campionando x2 + y 2 x ∂h = − 2 exp − 2 ∂x σ 2σ Edge e segmentazione ■ ■ 0.7733 0.1129 0.1129 0 0 0 − 0.1129 − 0.7733 − 0.1129 x2 + y 2 y ∂h = − 2 exp − 2 ∂y σ 2σ Alessandra Fascioli - Visione Artificiale Campionando si ottiene la maschera 3x3 (i pesi sono normalizzati per ottenere media unitaria lungo y) In maniera analoga si può agire per la componente lungo y 37 Edge e segmentazione Sensibilità al rumore Alessandra Fascioli - Visione Artificiale 38 Metodo di Canny Primo approccio analitico e non euristico per l’applicazione di un gradiente ad un contorno rumoroso ■ Si consideri il caso 1D di un contorno a gradino di ampiezza hE corrotto da rumore gaussiano bianco con deviazione standard σn ■ Sobel ■ DroG Il comportamento è migliore nel caso Drog, si riescono ad identificare i contorni anche in caso di immagini molto rumorose Edge e segmentazione Alessandra Fascioli - Visione Artificiale 39 Edge e segmentazione Metodo di Canny Alessandra Fascioli - Visione Artificiale 40 Metodo di Canny ■ L’edge detection avviene per mezzo di convoluzione del contorno rumoroso f(x) con una h(x) antisimmetrica e nulla all’esterno di [-W,W] (simile al DroG) ■ Si identifica un edge in corrispondenza di un massimo locale di f(x)*h(x) ■ La h(x) è scelta in modo da soddisfare 3 criteri 1. Capacità di individuazione dell’edge, attraverso la massimizzazione del rapporto segnale-rumore (delle ampiezze) del gradiente. Si ottiene una bassa probabilità di mancare punti di edge reali (falsi negativi), ed una bassa probabilità di considerare come punti di edge punti che non sono tali (falsi positivi) 0 hE snr = S(h), con S (h) = σn Edge e segmentazione Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] 41 Edge e segmentazione ∫ −W W h( x)dx 2 h( x) dx ∫ [ ] Alessandra Fascioli - Visione Artificiale 42 7 Visione Artificiale - Fac. Ingegneria, Univ. Parma Metodo di Canny ■ Metodo di Canny La h(x) è scelta in modo da soddisfare 3 criteri 2. Capacità di localizzazione dell’edge: i punti riconosciuti come edge devono essere il più possibile vicini al centro dell’edge effettivo. È definito un fattore di localizzazione LOC = Edge e segmentazione hE L(h) , con σn L (h) = ■ xm = kW h ′( 0 ) Canny ricerca il massimo del prodotto S(h)L(h) soggetto al vincolo di unicità ∫ [h ′( x ) ] dx W La h(x) è scelta in modo da soddisfare 3 criteri 3. Unicità della risposta dell’edge detector in corrispondenza ad un edge effettivo. La distanza xm tra due picchi del gradiente, in presenza di solo rumore, è imposta uguale ad una frazione k della larghezza W dell’operatore: 2 −W Alessandra Fascioli - Visione Artificiale 43 Edge e segmentazione Metodo di Canny ■ ■ ■ ■ Alessandra Fascioli - Visione Artificiale ■ ■ ■ 45 Metodo di Canny ■ Alessandra Fascioli - [email protected] Alessandra Fascioli - Visione Artificiale 46 Scelta del valore di soglia ■ Alessandra Fascioli - Visione Artificiale La qualità dei risultati ottenibili è superiore a quella di tutti gli altri operatori di gradiente grazie all’uso di due soglie (una per gli edge netti e una per quelli deboli) Gli edge deboli sono considerati solo se connessi ad edge netti Diminuisce l’effetto del rumore ed aumenta la probabilità di trovare veri edge deboli Edge e segmentazione ■ Edge e segmentazione 44 Metodo di Canny La determinazione di una soluzione analitica è complessa, si usano metodi numerici La figura mostra i profili di diversi valori della risposta impulsiva del filtro di Canny al crescere di xm Per grandi valori di xm l’operatore di Canny è ben approssimato dall’operatore DroG Il filtro adoperato nelle implementazioni del metodo di Canny è di questo tipo Edge e segmentazione Alessandra Fascioli - Visione Artificiale 47 La scelta della soglia è critica Tradeoff tra la possibilità di rivelare falsi contorni (dovuti al rumore) e la possibilità di mancare contorni veri (edge deboli) L’insieme di contorni individuati da un edge detector basato su gradiente può essere postprocessato per ridurre la presenza di edge piccoli o per assottigliarli Edge e segmentazione Alessandra Fascioli - Visione Artificiale 48 8 Visione Artificiale - Fac. Ingegneria, Univ. Parma Operatore laplaciano Operatore laplaciano Gli zero crossing della derivata seconda localizzano con precisione gli edge, il segno determina l’appartenenza di un pixel al versante scuro o a quello chiaro ■ La derivata seconda di una funzione f(x,y) è data dal laplaciano definito come 2 2 ■ L(x, y) = ∇2 f = Edge e segmentazione ■ L( x, y ) = [ f ( x, y ) − f ( x − 1, y )] − [ f ( x + 1, y) − f ( x, y)] + + [ f ( x, y ) − f ( x, y − 1)] − [ f ( x, y + 1) − f ( x, y )] ∂ f ∂ f + ∂x2 ∂y2 L( x, y ) = 4 f ( x, y) − f ( x − 1, y ) − f ( x + 1, y ) − f ( x, y − 1) − f ( x, y + 1) Alessandra Fascioli - Visione Artificiale 49 Edge e segmentazione Risposta impulsiva del filtro laplaciano detto dei quattro vicini 0 − 1 0 H = − 1 4 − 1 1 0 0 ■ L ( x, y ) = f ( x, y ) ∗ H ( x, y ) Troppo sensibile al rumore ■ Incapacità di rilevare la direzione dell’edge ■ Edge e segmentazione 2 Alessandra Fascioli - Visione Artificiale ■ Per un’immagine con oggetti chiari su sfondo scuro l’istogramma dei toni di grigio presenta due modi dominanti È possibile segmentare l’immagine con una soglia T che separi i due modi: i pixel di valore superiore a T sono attribuiti agli oggetti, gli altri allo sfondo 51 Edge e segmentazione Edge e segmentazione Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] ■ 180 160 140 120 T 80 ■ 60 40 20 0 0 50 100 150 2 r = exp − 2 2 2 2 ∇ h=− 2 r −σ 2 2 r exp − 2 2 2 Alessandra Fascioli - Visione Artificiale 52 Sogliatura multilivello 200 100 50 Usato in connessione con un filtro di smoothing gaussiano (LoG) x +y 2 h( x, y ) = exp − 2 Segmentazione a soglia ■ Alessandra Fascioli - Visione Artificiale Operatore laplaciano della gaussiana (LoG) Operatore laplaciano ■ Il modo più semplice di approssimare il laplaciano nel caso discreto consiste nel calcolo delle differenze delle derivate prime lungo i due assi 200 In questo caso invece abbiamo due gruppi di oggetti più chiari dello sfondo ed è necessario fissare due soglie La scelta delle soglie determina un diverso assegnamento dell’area dell’immagine all’uno o all’altro modo 700 600 500 T1 T2 400 300 200 100 0 0 50 100 150 200 250 250 53 Edge e segmentazione Alessandra Fascioli - Visione Artificiale 54 9 Visione Artificiale - Fac. Ingegneria, Univ. Parma Sogliatura multilivello ■ ■ ■ ■ ■ Modi dominanti Se f(x,y) ≤ T1, il pixel appartiene allo sfondo Se T1< f(x,y) ≤ T2 il pixel appartiene al primo gruppo di oggetti Altrimenti appartiene al secondo gruppo È difficile da applicare in pratica soprattutto quando i modi crescono di numero Occorre valutare opportunamente la definizione di modo Edge e segmentazione Alessandra Fascioli - Visione Artificiale ■ 55 Edge e segmentazione Modi dominanti 200 180 180 160 160 140 140 120 120 100 100 80 80 60 60 40 40 20 20 0 0 0 50 100 150 200 250 Parametro: lunghezza di base Edge e segmentazione ■ ■ ■ 0 50 100 150 200 250 In generale il processo di sogliatura di un’immagine implica il confronto del livello di grigio f(x,y) di ogni punto dell’immagine con una funzione-soglia della forma: dove p(x,y) rappresenta una proprietà locale del punto forma del profilo simmetrico,… Alessandra Fascioli - Visione Artificiale 57 Edge e segmentazione ■ 1 se f (x, y) > T g(x, y) = f ( ) ≤T 0 La soglia è detta globale se T dipende solo da f (x,y), è detta locale se dipende sia da f (x,y) che da p(x,y), è detta dinamica se dipende anche da x e y L’operazione più semplice è quella di una singola soglia globale Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] Alessandra Fascioli - Visione Artificiale 58 Segmentazione a soglia L’immagine binaria risultato della sogliatura è: Edge e segmentazione 56 T = T [x , y , p ( x , y ), f ( x , y ) ] Segmentazione a soglia ■ Alessandra Fascioli - Visione Artificiale Segmentazione a soglia Correlazione con vari tipi di funzione: 200 Definizione basata: 1. Sull’area dell’istogramma 2. Su una gamma prefissata di livelli centrati attorno ad un massimo locale, partendo dal massimo assoluto ed escludendo le ascisse già considerate in altri modi 3. Come prima partendo dal massimo assoluto e definendo un rapporto tra base ed altezza del picco, che massimizzi ad esempio la correlazione con un triangolo, una gaussiana, ecc. ■ ■ 59 In altri casi è possibile applicare tecniche ricorsive di segmentazione di intensità, che portano alla applicazione di soglie a più livelli Si applica una soglia globale, corrispondente a un minimo dell’istogramma, e si separano le zone più chiare da quelle più scure dell’immagine Si analizza l’istogramma di ciascuna componente dell’immagine: se risulta unimodale, la componente è un segmento dell’immagine, altrimenti il metodo viene applicato nuovamente Edge e segmentazione Alessandra Fascioli - Visione Artificiale 60 10 Visione Artificiale - Fac. Ingegneria, Univ. Parma Tecniche di regionalizzazione Tecniche di regionalizzazione Tecniche basate sull’analisi della similarità tra pixel, orientate alla estrazione diretta delle regioni Si suddivide l’immagine R in n componenti Ri (regioni) tali che ■ ■ Tutti i pixel appartenenti a una regione devono soddisfare la proprietà in base alla quale la regione è stata identificata (es. similarità di intensità) ■ Ogni regione deve essere diversa da tutte le altre – P(Ri) = TRUE per i = 1,2,…,n 1. Ogni pixel è contenuto in una regione Ri 2. Ogni regione Ri è connessa 3. Ogni regione Ri è disgiunta dalle altre Edge e segmentazione ■ – P(Ri U Rj) = FALSE per i ≠ j Alessandra Fascioli - Visione Artificiale 61 Edge e segmentazione Region growing ■ ■ Esempio: Edge e segmentazione 0 1 0 2 0 0 1 1 0 1 T=3 5 5 6 7 5 6 8 7 6 6 7 7 7 6 5 R2 a a a a a a a a a a b b b b b ■ b b b b b a a a a a a a a a a a a a a a a a a a a a a a a a Alessandra Fascioli - Visione Artificiale 63 ■ ■ La scelta delle proprietà P usate per la segmentazione dipende dal problema in esame e dai dati a disposizione (intensità, colore, texture,…) È fondamentale la definizione di adiacenza o connettività tra i pixel La regola di arresto dell’accrescimento può essere: 1. Assenza di pixel soddisfacenti il criterio di aggregazione 2. Criteri globali che tengano conto non solo delle P locali ma anche di come si è formata la regione fino a quel momento Edge e segmentazione Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] Edge e segmentazione Alessandra Fascioli - Visione Artificiale 64 Region splitting & merging Region growing ■ Scelta dei semi: – spesso la natura del problema fornisce indicazioni (es. in immagini IR scelgo i pixel di valore più elevato) – oppure se vi è tendenza al clustering nello spazio delle proprietà selezionate per l’accrescimento, scelgo i pixel al centro di questi cluster T=8 b b b b b 62 Region growing Si aggregano pixel vicini sulla base della similarità di una certa proprietà, formando regioni di dimensione via via crescente L’aggregazione ha luogo a partire da punti di seme opportunamente scelti R1 Alessandra Fascioli - Visione Artificiale 65 Si parte dall’intera immagine suddividendola in parti disgiunte via via più piccole, fondendo quelle adiacenti con caratteristiche simili ■ Il procedimento termina quando tutte le regioni soddisfano i criteri previsti per la segmentazione e ricoprono l’intera immagine ■ Edge e segmentazione Alessandra Fascioli - Visione Artificiale 66 11 Visione Artificiale - Fac. Ingegneria, Univ. Parma Region splitting & merging ■ Region splitting & merging Ad ogni livello di suddivisione si verifica il predicato per tutti i quadranti: se non è soddisfatto, il quadrante viene ulteriormente suddiviso, e così via ■ ■ Quadtree R R1 R3 R2 R41 R42 ■ Albero a simmetria R1 R2 R3 R4 – suddividere in quattro quadranti ogni regione Ri per la quale P(Ri) = FALSE – fondere due regioni adiacenti Ri e Rj se P(Ri ∪ Rj) =TRUE – terminare quando non è più possibile effettuare né splitting né merging quadrantale R43 R44 R41 Edge e segmentazione R42 Alessandra Fascioli - Visione Artificiale Alessandra Fascioli - [email protected] R43 Il solo splitting non potrebbe evitare la presenza all’ultimo livello di suddivisione di regioni adiacenti con caratteristiche simili Si fa il merging delle regioni adiacenti i cui pixel soddisfano il predicato P Passi della procedura ad ogni livello di suddivisione: R44 67 Edge e segmentazione Alessandra Fascioli - Visione Artificiale 68 12