Seminari Segmentazione: Introduzione Giovanni Maria Farinella, Dr. [email protected] www.dmi.unict.it/~gfarinella Imaging and Graphic Research Group Segmentazione GMF SEMINARIO IGRG - CT How do we know which groups of pixels in a digital image correspond to the objects to be analyzed? Segmentazione GMF SEMINARIO IGRG - CT Segmentazione Consiste nel partizionamento di una immagine in regioni omogenee sulla base di un certo criterio di appartenenza dei pixel ad una regione Obiettivo: individuare/riconoscere gli oggetti che compongono l’immagine “The segmentation of the image(s) presented to an image analysis system is critically dependent on the scene to be sensed, the imaging geometry, configuration, and sensor used to transduce the scene into a digital image, and ultimately the desired output (goal) of the system” (A. Jain) Segmentazione SEMINARIO IGRG - CT Regioni Le regioni in cui l’immagine viene suddivisa devono soddisfare alcune proprietà: DISTINCT: COMPLETE: Tutti i pixel appartenenti ad una regione sono “connessi” HOMOGENEOUS: GMF Tutti i pixel dell’ immagine sono assegnati ad almeno una regione della partizione CONNECTED: Nessun pixel è condiviso da due regioni Tutte le regioni sono omogenee rispetto ad un criterio fissato (e.g. intensità, colore, texture, ecc..) Segmentazione SEMINARIO IGRG - CT “Formalmente” Sia Irc una immagine con r righe e c colonne in cui il pixel (i,j) assume il valore xij nello spazio dei colori S Irc = {xij : i=1…r, j=1…c, xij in S} Esempio: S=RGB xij=[xij,R; xij,G; xij,B] Sia H un predicato di omogeneità definito su un qualsiasi insieme di pixel Sia Rl = {(il1,jl1), (il2,jl2),…, (iln,jln)} ⊆ {1,…,r}x{1,…,c} La segmentazione di Irc è una partizione P={R1, R2,…,Rk} tale che: Ri∩ Rj = Ø i,j = 1,…,K i≠j U Ri = {1,…,r}x{1,…,c} (Complete) In ogni regione Ri i pixel sono “connessi” (Connected) H(Rn)= true H(Rn U Rm)=false (Homogeneous) K GMF i=1 Rn Rn, Rm adiacenti (Distinct) Segmentazione SEMINARIO IGRG - CT Esempi Microarray Image Segmentation Medical Image Segmentation 8-connesso Rl GMF Landscape Image Segmentation 4-connesso Skin Segmentation Segmentazione SEMINARIO IGRG - CT Segmentation Resolution Si possono definire tre categorie di risoluzione: Undersegmentation corrisponde alla risoluzione più bassa. L'omogeneità è definita con un grande margine di tolleranza. Soltanto i colori più signicativi sono mantenuti. I contorni delle regioni sono i bordi dominanti nell'immagine. Oversegmentation corrisponde ad una risoluzione intermedia. La gamma dei colori è abbastanza ricca l’immagine è suddivisa in piccole regioni che possono essere “fuse” attraverso controlli basati sulla conoscenza. E’ la risoluzione raccomandata quando il goal è l’object recognition. Quantization corrisponde ad una risoluzione alta. La gamma di colori contiene tutti i colori importanti nell'immagine. Questa categoria di segmentazione è diventata importante con la diffusione delle basi di dati di immagini. Una ampia gamma di colori, possibilmente insieme alla struttura spaziale, è essenziale per le query basate sul contenuto. GMF Dorin Comaniciu Segmentazione GMF Biological Segmentation in Human: Visual Perception SEMINARIO IGRG - CT “To see an object in the world we must see it as something” (L.Wittegenstein) “IT is established since the Gestalt movement in psychology that perceptual grouping plays a fundamental role in human perception.” (R. Nock – F. Nielsen) Segmentazione SEMINARIO IGRG - CT Visual Perception primo stadio dell’elaborazione dell’informazione che si conclude con la Percezione: Input Ambientale (Stimolo) ↓ Registro Sensoriale (Stimolo, Organi di Senso) ↓ Selezione Tramite Attenzione Selettiva dell’input Interessante ↓ Percezione-Riconoscimento GMF Human Visual Perception (Pre-Atentive) is governed by Gestalt Principles Segmentazione GMF Gestalt Principles of Visual Organization Figura e sfondo Prossimità Chiusura Continuazione Similarità Comune Destino Parallelismo Regione Comune Simmetria SEMINARIO IGRG - CT Segmentazione SEMINARIO IGRG - CT Figura e Sfondo IL RAPPORTO TRA FIGURA E SFONDO permette di “leggere” l’immagine, attraverso la separazione della figura dallo sfondo. Gli elementi dominanti sono percepiti come figura, il resto è percepito come sfondo. il faro spicca maggiormente e quindi viene catalogata come figura mentre le linee orizzontalo celesti sono percepite come sfondo. GMF Segmentazione GMF SEMINARIO IGRG - CT Prossimità Le colonne e le righe dominano la nostra focale. Tendiamo ad identificare come gruppi le features che sono vicine tra loro. Questa legge è da tenere in considerazione quando l’immagine gioca un ruolo importante nell’abilità di interpretare il messaggio che si nasconde dietro. La figura A, a dimostrazione di questa legge, non viene vista come un insieme di righe ma piuttosto come un insieme di colonne. figura A Segmentazione SEMINARIO IGRG - CT Chiusura Il nostro “occhio” tende a completare gli spazi vuoti e le forme non chiuse. Noi tendiamo a vedere le immagini complete persino quando una parte dell’informazione è mancante. In questa figura tendiamo a vedere tre rettangoli rotti ed un parentesi quadrata sulla sinistra piuttosto che tre colonne ed un parentesi quadrata sulla destra. Se eliminiamo le linee orizzontali ritorniamo alla figura che abbiamo visto nel principio di prossimità. GMF Segmentazione SEMINARIO IGRG - CT Continuazione l’organizzazione della percezione porta lo proseguire lungo una linea retta o una curva. GMF a b a d sguardo c distinguiamo due linee: una da a a c e una da b a d. In realtà questo grafico potrebbe rappresentare un altro insieme di linee: da a a d e da b a c. Tuttavia, è più probabile che si tenda ad identificare il primo gruppo di queste linee che hanno una migliore continuazione rispetto al secondo dove è presente un ovvia torsione. Segmentazione SEMINARIO IGRG - CT Similarità GMF Elementi visivi simili vengono raggruppati sulla base della forma, della grandezza, del colore o della direzione. I cerchi e i quadrati sono raggruppati in maniera naturale; percepiamo colonne alternate di cerchi e quadrati. Se non fossero presenti le due caratteristiche ricorrenti percepiremmo la figura come righe o colonne Segmentazione GMF SEMINARIO IGRG - CT Comune Destino Oggetti che si muovono nella stessa direzione tendono ad essere percepiti come una unica entità Segmentazione GMF SEMINARIO IGRG - CT Parallelismo Linee parallele tendono ad essere raggruppate insieme Segmentazione GMF SEMINARIO IGRG - CT Regione Comune Figure posizionate all’interno della stessa regione chiusa tendono ad essere percepite insieme Segmentazione SEMINARIO IGRG - CT Simmetria Percepire l’intero di una figura rispetto alle parti singole che la costituiscono Osservando la figura si vedono due rombi sovrapposti o tre oggetti: un piccolo rombo e due oggetti irregolari sopra e sotto di esso. Secondo il principio di simmetria, si percepiranno probabilmente due rombi sovrapposti GMF Segmentazione GMF Gestalt Principles e Strategie di Segmentazione SEMINARIO IGRG - CT Molte strategie di segmentazione sono riconducibili ai principi Gestalt Gestalt Principles Stategie di Segmentazione Figure/Sfondo Tresholding Prossimità, Similarità Clustering, Region Growing, Region Merging Continuità e Chiusura Morphological Methods Similarità Statistical Methods Continuità e chiusura Edge-Detection Segmentazione Strategie di Segmentazione: Thresholding SEMINARIO IGRG - CT Ogni pixel di una immagine a toni di grigio è caratterizzato da un valore di luminanza. L’algoritmo, di base, fissa una soglia di luminanza, allo scopo di distinguere tra due regioni(Sfondo/Oggetti). La soglia può essere fissata arbitrariamente, o in maniera automatica in base ad un certo criterio(usualmente statistico). Number of pixel Basato sull’istogramma (distribuzione) GMF 0 Max Intensity Segmentazione SEMINARIO IGRG - CT “Formalmente” Se gli oggetti e il background occupano differenti range nella scala di grigi, possiamo “marcare” i pixel degli oggetti con il processo thresholding: Sia Irc(i,j) l’immagine originale in scala di grigio Sia Brc(i,j) l’immagine binaria ottenuta dal processo thresholding su Irc(i,j) Brc(i,j) = 0 if Irc(i,j)<t Brc(i,j) = 1 if Irc(i,j)≥t GMF Possiamo assumere che 1 indica oggetti mentre 0 indica Background Come facciamo a scegliere una soglia t? Peack and Valley Method Global threshold selection Segmentazione Threshold Selection: Peak and Valley method Histogramma (h): distribuzione di frequenza dei livelli di grigio presenti nell’immagine Irc(i,j) hI(g) = numero di pixel in Irc il cui livello di grigio è g 1. Trova i due picchi più prominenti di h g è un picco se hI(g)>hI(g±Dg), Dg=1,…,k Siano g1 e g2 i due picchi più alti con g1<g2 2. Trova la valle più profonda, g, tra g1 e g2 GMF SEMINARIO IGRG - CT g è una valle se hI(g)≤hI(g’), g,g’ in [g1,g2] Usa g come threshold Segmentazione GMF SEMINARIO IGRG - CT Esempio Segmentazione SEMINARIO IGRG - CT Global threshold selection 1. 2. Seleziona una soglia iniziale T (es: media dei grigi presenti) Segmenta l’immagine usando T 3. 4. Computa la media sui valori di grigio dei pixel presenti in G1 e G2 (µ1, µ2 ) Computa la nuova soglia threshold 5. T=½ (µ1+ µ2) Ripeti gli step da 2-4 fino a convergenza GMF Questo passo produce due gruppi di pixel G1: tutti i pixel hanno valore minore a T G2: tutti i pixel hanno valore maggiore uguale a T Es. Convergenza: T non cambia in due ripetizioni successive Segmentazione GMF SEMINARIO IGRG - CT Esempio Segmentazione SEMINARIO IGRG - CT Thresholding Vantaggi Svantaggi GMF Semplice Efficiente Perdita delle informazioni di prossimità L’istogramma descrive informazioni globali Limitata per scene complesse (due classi) In immagini a colori risulta più complicato Segmentazione Strategie di Segmentazione: Clustering Dalla rappresentazione dell’immagine nell’usuale spazio bidimensionale, si passa ad uno spazio delle caratteristiche, ad esempio lo spazio tridimensionale RGB, e si procede ad un partizionamento di tale spazio, allo scopo di identificare le regioni. Svantaggio: si perdono le proprietà di vicinato dei pixel, quindi si possono generare regioni non connesse. GMF SEMINARIO IGRG - CT L’immagine si può vedere come un grafo su cui applicare l’algoritmo per la ricerca componenti connesse dopo aver effettuato la procedura di clustering. …Consensus Clustering? …Gravitational Clustering? Segmentazione Strategie di Segmentazione: Clustering Classificazione non supervisionata Suddivisione dei vettori di uno caratteristiche in classi tali che SEMINARIO IGRG - CT spazio di gli elementi di una classe siano tra loro simili gli elementi di classi differenti siano tra loro dissimili •Bisogna definire: •Spazio delle caratteristiche •Misura di Similarità •Funzioni Obiettivo da minimizzare/massimizzare GMF Segmentazione Strategie di Segmentazione: Clustering Spazio delle Caratteristiche RGB GMF SEMINARIO IGRG - CT Ogni pixel (i,j) dell’immagine Irc , è un vettore di tre componenti xij = [xij,R , xij,G , xij,B] Segmentazione Strategie di Segmentazione: Clustering Spazio delle Caratteristiche RGB Ogni pixel (i,j) dell’immagine Irc , è un vettore di tre componenti xij = [xij,R , xij,G , xij,B] Misura di similarità tra due vettori di uno spazio q-dimensionale: q d(xij, yij)= (∑ | xij,k-yij,k|q)1/q k=1 (q=2 Distanza Euclidea) Funzione Obiettivo da minimizzare Es: Somma degli errori quadratici k F(P) = ∑ k ∑ ||xij - µl||2 l =1 xij in Rl k GMF SEMINARIO IGRG - CT µl = 1/|Rl| ∑ xij xij in Rl Segmentazione SEMINARIO IGRG - CT Clustering approaches Agglomerative Clustering Bottom up Divisive Clustering Top-down GMF Segmentazione SEMINARIO IGRG - CT Hierarchical Clustering Inizializzazione: ogni punto dello spazio è un cluster Itera: Seleziona i due clusters più simili Es: Minima distanza intra-cluster Effettua il merge dei clusters selezionati Stop: quando è raggiunto il numero di clusters richiesto GMF Agglomerative Clustering (bottom-up) Segmentazione GMF SEMINARIO IGRG - CT Esempio 00 1 1 6 2 3 4 5 6 7 3 8 2 3 4 5 6 Grado di Dissimilarità 4 5 2 1 5 2 3 1 4 6 Segmentazione SEMINARIO IGRG - CT Hierarchical Clustering: Single Link xr xs Cluster r Cluster s d(r,s) = min(dist(xri,xsj)) GMF Segmentazione Hierarchical Clustering: Complete Link xr Cluster r Cluster s xs d(r,s) = max(dist(xri,xsj)) GMF SEMINARIO IGRG - CT Segmentazione Hierarchical Clustering: Avarage Link xr xs Cluster r Cluster s nr ns d(r,s) = 1 ∑ ∑ dist(xri,xsj) nr ns i=1 j=1 GMF SEMINARIO IGRG - CT Segmentazione GMF SEMINARIO IGRG - CT Partitional Clustering Approach A partition clustering algorithm is to start with an initial partition and assign pattern to clusters so as to reduce square-error. Partition are update iteratively by reassigning patterns in attempt to reduce the square-error. (A.Jain) Segmentazione GMF SEMINARIO IGRG - CT Squared Error Clustering Method Segmentazione SEMINARIO IGRG - CT K-mean Algoritm GMF Partitional Clustering (Divisivo, ma numero gruppi assegnato a priori) Segmentazione SEMINARIO IGRG - CT K-means (Ver. 1) Input Inizializzazione r=0, segli k vettori dello spazio S (centroidi iniziali) µ10 … µk0 1. Rl={xij: | xij - µl|≤ | xij - µw| } l=1,…,k , w≠j 2. Computa nuovi centroidi µ1,r+1 , …, µk,r+1 se F(P)< ε (r>n) STOP altrimenti vai al punto 1 incrementando r 3. GMF Irc , k (numero delle classi), ε reale Segmentazione GMF SEMINARIO IGRG - CT K-Means(Ver. 2) Segmentazione GMF SEMINARIO IGRG - CT Esempio Segmentazione SEMINARIO IGRG - CT Image Segmentation by Clustering GMF Scegli K Scegli le features da associare ai pixels (colore, texture, posizione, o combinazione di questi, ecc…) Definisci una misura di similarità tra i vettori delle features Applica l’algoritmo HC/K-Means Applica l’algoritmo delle componenti connesse Unisci le componenti con dimensione minore di una soglia t ad componente adiacente che è molto simile rispetto al criterio di omogeneità fissato. Segmentazione GMF SEMINARIO IGRG - CT Grafi e Componenti connesse Sia G = (V,E) un grafo indiretto. Una componente connessa di G è un insieme massimale C ⊆ V tale che, per ogni u,vєC esistono un cammino tra u e v. Equivalentemente, le componenti connesse di un grafo G sono le classi di equivalenza della relazione di raggiungibilità. Segmentazione SEMINARIO IGRG - CT Esempio A B C D H E G F A B C D E F G H A 0 1 1 0 0 0 0 0 B 1 0 1 0 0 0 0 0 C 1 1 0 0 0 0 0 0 D 0 0 0 0 1 0 0 0 E 0 0 0 1 0 1 0 0 F 0 0 0 0 1 0 1 0 G 0 0 0 0 0 1 0 0 H 0 0 0 0 0 0 0 0 Matrice di Adiacenza (possibile rappresentazione) G=(V,E) V= {A, B, C, D, E, F, G, H} E= {(A,C), (A,B), (B,C), (D,E), (E,F), (F,G) } GMF Segmentazione SEMINARIO IGRG - CT Teoremi Dato un grafo indiretto G e due vertici u e v, esiste un cammino da u a v in G se e solo se u e v appartengono allo stesso albero della DF-foresta. La foresta DF contiene tanti alberi quante CC. GMF Si può dimostrare che DFS( opportunamente modificato) su un grafo non orientato G può essere usata per identificare le Componenti Connesse Segmentazione GMF SEMINARIO IGRG - CT Algoritmo Componenti Connesse CCDFS(G) k0 for each u є V [G] do color[u] white П[u] nil end for time 0 for each u єV [G] do if color[u] = white then CCDFSVisit(u) end if end for CCDFSVisit(u) if П[u] = nil then kk+1 cc[u] k else cc[u] cc[П[u]] end if color[u] gray time time + 1 d[u] time for each v є Adj[u] do if color[v] = white then П[v] u CCDFSVisit(v) end if end for color[u] black time time + 1 f[u] time Segmentazione Strategie di Segmentazione: Region Growing GMF SEMINARIO IGRG - CT Individuare le regioni che compongono l’immagine per accrescimento omogeneo a partire da un singolo pixel Una regione omogenea di un'immagine può essere ottenuta attraverso un processo di crescita che, cominciando da un seed di preselezionato, progressivamente agglomera pixel ad esso adiacenti che soddisfano un certo criterio di omogeneità; il processo di crescita si arresta quando nessun pixel può essere aggiunto alla regione. Segmentazione SEMINARIO IGRG - CT Region Growing Ad ogni istante viene preso in considerazione un pixel che non è stato ancora allocato ma che è adiacente ad una regione; il pixel è allocato alla regione adiacente che risulta più simile secondo il criterio scelto. R1 GMF R2 R3 R4 R4 Pixel considerato Segmentazione SEMINARIO IGRG - CT Region Growing Algorithm 1. 2. 3. 4. GMF Scegli un seed (pixel) iniziale Seleziona i pixel vicini (connessi) e fai il merge se la condizione di omogeneità scelta è soddisfatta Se la regione non cresce, seleziona un altro seed e ripeti dal punto 2 finchè tutti i pixel non sono stati allocati ad una regione, altrimenti vai al punto 2 Rimuovi le regioni molto piccole (passo opzionale) Segmentazione GMF SEMINARIO IGRG - CT Esempio Segmentazione GMF SEMINARIO IGRG - CT Seeded Region Growing Algorithm Viene dato in input il numero di seeds (pixel di partenza utilizzati per far crescere le regioni). L’algoritmo quindi procede autonomamente facendo crescere simultaneamente le regioni, finché tutti i pixel nell’immagine sono stati racchiusi in una regione. Per ogni passo tutti i pixel che non sono stati ancora allocati, ma che hanno almeno un vicino allocato, vengono presi in considerazione: tra tutte le regioni confinanti al pixel considerato, l’algoritmo seleziona quella i cui pixel hanno in media la minore differenza in termini di livelli di grigio rispetto al pixel preso in considerazione. Segmentazione SEMINARIO IGRG - CT Esempio 115 115 115 129 129 115 115 115 129 129 115 115 115 129 129 115 115 115 129 129 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 115 115 115 129 129 115 115 115 129 129 115 115 115 129 129 115 115 115 129 129 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 117 117 117 10 10 GMF Seeds = 4 Segmentazione GMF Strategie di Segmentazione: Split and Merge SEMINARIO IGRG - CT E’ possibile eseguire una segmentazione partizionando (splitting) ricorsivamente una immagine, o una sua precedente segmentazione approssimata, fino ad ottenere componenti uniformi. Si dovrà effettuare una successiva operazione di aggregazione (merging) delle regioni adiacenti che dovessero risultare compatibili in base ad un criterio Segmentazione SEMINARIO IGRG - CT Modello split Immagine partizionata ripetendo ricorsivamente una suddivisione in quattro quadranti fino ad ottenere regioni uniformi rispetto ad un certo criterio stabilito (statistico). Minimizzare, rispetto ad una soglia di tolleranza, la varianza della distribuzione dei valori di luminosità dei pixel che compongono la regione stessa Parametro di valutazione statistica dell’uniformità della regione R: 1/1+Var(R) GMF Assume valore 1 in corrispondenza di regioni perfettamente omogenee e valori tendenti a 0 per valori significativamente elevati della varianza statistica. Si sceglie una soglia di omogeneità Segmentazione SEMINARIO IGRG - CT Quad Tree R La suddivisione ricorsiva dell’immagine in quadranti viene rappresentata con una struttura ad albero chiamato quad tree: ogni nodo contiene le informazioni relative a ciascun quadrante e i suoi figli sono associati ai quadranti in cui è ulteriormente suddiviso. Un nodo foglia è un quadrante sufficientemente uniforme da non richiedere ulteriori partizionamenti 1/(1+Var(R)) > Soglia GMF Dopo la fase di splitting si procederà alla fase di merging delle regioni adiacenti “compatibili”; regioni adiacenti verranno aggregate in una unica regione se quest’ultima risultarà sufficientemente uniforme. Segmentazione SEMINARIO IGRG - CT Merge A1 A2 A3 A41 A42 A1 B B A3 A43 D C A41 A43 A44 C A2 A42 A44 D Region Adjacency Graph (RAG) GMF La selezione delle regioni sulle quali valutare la compatibilità può essere effettuata attraverso un grafo di adiacenza. Un criterio di similatità può essere derivato dal confronto dei valori medi es: (|µA41 - µA42| < T) L’ordine di merging può influenzare il risultato. Segmentazione SEMINARIO IGRG - CT Esempio A1 A2 A3 A41 A42 B A1 A2 D A3 A43 A44 C A41 C B D A43 A42 A44 Merge together all sub-regions where P(Rj U Rk) = TRUE. A1 A2 A3 E GMF F A1 A2 A3 E F Segmentazione SEMINARIO IGRG - CT Letture e Risorse GMF Laws of Organization in Perceptual Forms - Max Wertheimer (1923) http://psy.ed.asu.edu/~classics/Wertheimer/Forms/forms.htm Color Image Segmentation: A State-of-the-Art Survey - L. Luccheseyz and S.K. Mitray Colour Image Segmentation - A Survey - Wladyslaw Skarbek Data Clustering: A Review - A.K. JAIN Seeded Region Growing – R. Adams, L. Bishof Seeded Region Growing Method for Image Segmentation http://ligwww.epfl.ch/~silic/predocschool/ComputerVision/cvision.html Tecniche digitali per la segmentazione delle immagini – Giorgio Meini Segmentazione delle immagini a colori – Paola Campadelli Robust Analysis of Feature Spaces: Color Image Segmentation - Dorin Comaniciu Statistical Region Merging – R. Nock, F. Nielsen A survey of current methods in medical image segmentation – Pham, Xu, Prince Digital Image Processing – Gonzales Introduzione agli Algoritmi – T. H. Cormen Segmentazione GMF SEMINARIO IGRG - CT Question Time