segmentazione: introduzione
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Sem
inari
oS
em
inari
o
Giovanni Maria Farinella, Dr.Giovanni Maria Farinella, [email protected]@dmi.unict.it
www.dmi.unict.it/www.dmi.unict.it/~~gfarinellagfarinella
IImagingmaging and and GGraphic raphic RResearch esearch GGrouproup
Segmentazione: Introduzione
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTHow do we know which groups of pixels in a
digital image correspond to the objects to be analyzed?
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
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..)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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 (Distinct)
U Ri = {1,…,r}x{1,…,c} (Complete)
In ogni regione Ri i pixel sono “connessi” (Connected)
H(Rn)= true Rn (Homogeneous)H(Rn U Rm)=false Rn, Rm adiacenti
K
i=1
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempi
Landscape Image Segmentation
Medical Image Segmentation
Skin Segmentation
Microarray Image Segmentation
Rl
8-connesso
4-connesso
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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.
Dorin Comaniciu
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTBiological 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)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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
Human Visual Perception (Pre-Atentive) is governed by Gestalt Principles
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTGestalt Principles of Visual
Organization Figura e sfondo Prossimità Chiusura Continuazione Similarità Comune Destino Parallelismo Regione Comune Simmetria
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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à.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
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.
a b
cd
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Comune Destino Oggetti che si muovono nella stessa
direzione tendono ad essere percepiti come una unica entità
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Parallelismo Linee parallele tendono ad essere
raggruppate insieme
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Regione Comune Figure posizionate all’interno della stessa
regione chiusa tendono ad essere percepite insieme
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTGestalt Principles e
Strategie di Segmentazione Molte strategie di segmentazione sono
riconducibili ai principi Gestalt
Gestalt PrinciplesGestalt Principles Stategie di Stategie di SegmentazioneSegmentazione
Figure/Sfondo Tresholding
Prossimità, Similarità Clustering, Region Growing, Region Merging
Continuità e Chiusura Morphological Methods
Similarità Statistical Methods
Continuità e chiusura Edge-Detection
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
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).
0 Max Intensity
Number of pixel
Basato sull’istogramma (distribuzione)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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
Possiamo assumere che 1 indica oggetti mentre 0 indica Background
Come facciamo a scegliere una soglia t? Peack and Valley Method Global threshold selection
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTThreshold 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 g è una valle se hI(g)≤hI(g’), g,g’ in [g1,g2]
Usa g come threshold
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTGlobal threshold
selection1. Seleziona una soglia iniziale T (es: media dei
grigi presenti)2. 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
3. Computa la media sui valori di grigio dei pixel presenti in G1 e G2 (µ1, µ2 )
4. Computa la nuova soglia threshold T=½ (µ1+ µ2)
5. Ripeti gli step da 2-4 fino a convergenza Es. Convergenza: T non cambia in due ripetizioni
successive
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTStrategie 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?
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTStrategie 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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTStrategie 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]
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTStrategie 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
l =1
k
xij in Rl
k
xij in Rl
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Clustering approachesAgglomerative Clustering
Divisive Clustering
Bottom up
Top-down
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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
Agglomerative Clustering (bottom-up)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio
1
3
25
4
6
0 1 2 3 4 5 60
1
2
3
4
5
6
7
812 3 45 6
Grado di Dissimilarità
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTHierarchical Clustering:
Single Link
d(r,s) = min(dist(xri,xsj))
xr xs
Cluster r
Cluster s
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTHierarchical Clustering:
Complete Link
xr
xsCluster r
Cluster s
d(r,s) = max(dist(xri,xsj))
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTHierarchical Clustering:
Avarage Link
xr
xs
Cluster rCluster s
d(r,s) = ∑ ∑ dist(xri,xsj) 1nr ns
nr
i=1
ns
j=1
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTPartitional 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)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTSquared Error Clustering
Method
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
K-mean Algoritm
Partitional Clustering (Divisivo, ma numero gruppi assegnato a priori)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
K-means (Ver. 1) Input
Irc , k (numero delle classi), ε reale
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
3. se F(P)< ε (r>n) STOP altrimenti vai al punto 1 incrementando r
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
K-Means(Ver. 2)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTImage 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.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTGrafi 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à.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio
A C
B
D
E F
G
H
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) }
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)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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. Si può dimostrare che DFS( opportunamente
modificato) su un grafo non orientato G può essere usata per identificare le Componenti Connesse
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTAlgoritmo Componenti
ConnesseCCDFS(G)
k 0for each u є V [G] do
color[u] whiteП[u] nil
end fortime 0for each u єV [G] do
if color[u] = white thenCCDFSVisit(u)
end ifend for
CCDFSVisit(u)if П[u] = nil then
k k + 1cc[u] k
elsecc[u] cc[П[u]]
end ifcolor[u] graytime time + 1d[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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
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.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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
R2
R4
R4Pixel considerato
R3
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTRegion Growing
Algorithm1. Scegli un seed (pixel) iniziale2. Seleziona i pixel vicini (connessi) e fai il
merge se la condizione di omogeneità scelta è soddisfatta
3. 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
4. Rimuovi le regioni molto piccole (passo opzionale)
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CTSeeded Region Growing
AlgorithmViene 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.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio115 115 115 129 129
115 115 115 129 129
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
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
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
117 117 117 10 10
117 117 117 10 10
117 117 117 10 10
Seeds = 4
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Strategie di Segmentazione: Split and Merge 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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - 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)
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à
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Quad TreeLa 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
R
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.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Merge
A1 A2B
C D
A3 A41 A42
A43 A44
A1 A2
A3
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.
A41
Region Adjacency Graph (RAG)
A43
B
A42
A44
D
C
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Esempio
BA44
A1 A2
A3A41 A42
A43
C D
A1 A2
A3A41
A43
B
A42
A44
D
A1 A2
A3E
FA1
EA2
A3
C
F
Merge together all sub-regions where P(Rj U Rk) = TRUE.
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Letture e Risorse 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
Seg
men
tazi
on
eS
eg
men
tazi
on
e
GMFGMFGMFGMF
SEMINARIOSEMINARIOIGRG - CTIGRG - CT
Question Time