610 likes | 752 Views
Segmentazione: Introduzione. How do we know which groups of pixels in a digital image correspond to the objects to be analyzed?. Segmentazione. Consiste nel partizionamento di una immagine in regioni omogenee sulla base di un certo criterio di appartenenza dei pixel ad una regione
E N D
How do we know which groups of pixels in a digital image correspond to the objects to be analyzed?
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)
Regioni • Le regioni in cui l’immagine viene suddivisa devono soddisfare alcune proprietà: • DISTINCT: • Nessun pixel è condiviso da due regioni • COMPLETE: • Tutti i pixel dell’ immagine sono assegnati ad almeno una regione della partizione • CONNECTED: • Tutti i pixel appartenenti ad una regione sono “connessi” • HOMOGENEOUS: • Tutte le regioni sono omogenee rispetto ad un criterio fissato (e.g. intensità, colore, texture, ecc..)
“Formalmente” • Sia Irc una immagine con r righe e c colonne in cui il pixel (i,j) assume il valore xijnello 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 (Distinct) • U Ri = {1,…,r}x{1,…,c}(Complete) • In ogni regione Rii pixel sono “connessi” (Connected) • H(Rn)= true Rn (Homogeneous) H(Rn U Rm)=false Rn, Rm adiacenti K i=1
Esempi Microarray Image Segmentation Medical Image Segmentation 8-connesso Rl 4-connesso Landscape Image Segmentation Skin Segmentation
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. Dorin Comaniciu
Biological Segmentation in Human: Visual Perception • “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)
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 Human Visual Perception (Pre-Atentive) is governed by Gestalt Principles
Gestalt Principles of Visual Organization • Figura e sfondo • Prossimità • Chiusura • Continuazione • Similarità • Comune Destino • Parallelismo • Regione Comune • Simmetria
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.
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
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à.
Continuazione • l’organizzazione della percezione porta lo sguardo a proseguire lungo una linea retta o una curva. • 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. b a c d
Similarità • 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
Comune Destino • Oggetti che si muovono nella stessa direzione tendono ad essere percepiti come una unica entità
Parallelismo • Linee parallele tendono ad essere raggruppate insieme
Regione Comune • Figure posizionate all’interno della stessa regione chiusa tendono ad essere percepite insieme
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
Gestalt Principles e Strategie di Segmentazione • Molte strategie di segmentazione sono riconducibili ai principi Gestalt
Strategie di Segmentazione: Thresholding • 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) 0 Max Intensity
“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 • Possiamo assumere che 1 indica oggetti mentre 0 indica Background • Come facciamo a scegliere una soglia t? • Peack and Valley Method • Global threshold selection
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 • 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 • Trova la valle più profonda, g, tra g1 e g2 • g è una valle se hI(g)≤hI(g’), g,g’ in [g1,g2] • Usa g come threshold
Global threshold selection • Seleziona una soglia iniziale T (es: media dei grigi presenti) • Segmenta l’immagine usando T • 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 • Computa la media sui valori di grigio dei pixel presenti in G1 e G2 (µ1, µ2 ) • Computa la nuova soglia threshold • T=½ (µ1+ µ2) • Ripeti gli step da 2-4 fino a convergenza • Es. Convergenza: T non cambia in due ripetizioni successive
Thresholding • Vantaggi • Semplice • Efficiente • Svantaggi • Perdita delle informazioni di prossimità • L’istogramma descrive informazioni globali • Limitata per scene complesse (due classi) • In immagini a colori risulta più complicato
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. • 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?
Strategie di Segmentazione: Clustering • Classificazione non supervisionata • Suddivisione dei vettori di uno spazio di caratteristiche in classi tali che • 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
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]
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: • d(xij, yij)= (∑ | xij,k-yij,k|q)1/q (q=2 Distanza Euclidea) • Funzione Obiettivo da minimizzare • Es: Somma degli errori quadratici • F(P) = ∑ ∑ ||xij - µl||2 • µl = 1/|Rl| ∑ xij q k=1 k k l =1 xij in Rl k xij in Rl
Agglomerative Clustering Divisive Clustering Clustering approaches Bottom up Top-down
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 Agglomerative Clustering (bottom-up)
Esempio 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 Grado di Dissimilarità 6 4 5 2 1 3 5 2 3 1 4 6
Hierarchical Clustering: Single Link xr xs Cluster r Cluster s d(r,s) = min(dist(xri,xsj))
Hierarchical Clustering: Complete Link xr Cluster r xs Cluster s d(r,s) = max(dist(xri,xsj))
Hierarchical Clustering: Avarage Link xr xs Cluster r Cluster s nr ns 1 nr ns d(r,s) = ∑ ∑ dist(xri,xsj) i=1 j=1
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)
K-mean Algoritm Partitional Clustering (Divisivo, ma numero gruppi assegnato a priori)
K-means (Ver. 1) • Input • Irc , k (numero delle classi), ε reale • Inizializzazione • r=0, segli k vettori dello spazio S (centroidi iniziali) µ10…µk0 • Rl={xij: | xij - µl|≤ | xij - µw| } l=1,…,k , w≠j • Computa nuovi centroidi µ1,r+1 , …, µk,r+1 • se F(P)< ε (r>n) STOP altrimenti vai al punto 1 incrementando r
Image Segmentation by Clustering • 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.
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à.
Esempio A C D G E F H B 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) }
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. • Si può dimostrare che DFS( opportunamente modificato) su un grafo non orientato G può essere usata per identificare le Componenti Connesse
Algoritmo Componenti Connesse CCDFSVisit(u) if П[u] = nil then k k + 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 CCDFS(G) k 0 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
Strategie di Segmentazione: Region Growing • 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 pre-selezionato, 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.
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. R4 R3 R1 R2 Pixel considerato R4