segmentazione: introduzione

61
Seminario Seminario Giovanni Maria Farinella, Dr. Giovanni Maria Farinella, Dr. [email protected] [email protected] www.dmi.unict.it/ www.dmi.unict.it/~ gfarinella gfarinella I I maging maging and and G G raphic raphic R R esearch esearch G G roup roup Segmentazione: Introduzione

Upload: marius

Post on 30-Jan-2016

46 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Segmentazione: Introduzione

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

Page 2: 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?

Page 3: Segmentazione: Introduzione

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)

Page 4: Segmentazione: Introduzione

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..)

Page 5: Segmentazione: Introduzione

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

Page 6: Segmentazione: Introduzione

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

Page 7: Segmentazione: Introduzione

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

Page 8: Segmentazione: Introduzione

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)

Page 9: Segmentazione: Introduzione

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

Page 10: Segmentazione: Introduzione

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

Page 11: Segmentazione: Introduzione

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.

Page 12: Segmentazione: Introduzione

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

Page 13: Segmentazione: Introduzione

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à.

Page 14: Segmentazione: Introduzione

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

Page 15: Segmentazione: Introduzione

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

Page 16: Segmentazione: Introduzione

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à

Page 17: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

Parallelismo Linee parallele tendono ad essere

raggruppate insieme

Page 18: Segmentazione: Introduzione

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

Page 19: Segmentazione: Introduzione

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

Page 20: Segmentazione: Introduzione

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

Page 21: Segmentazione: Introduzione

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)

Page 22: Segmentazione: Introduzione

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

Page 23: Segmentazione: Introduzione

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

Page 24: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

Esempio

Page 25: Segmentazione: Introduzione

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

Page 26: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

Esempio

Page 27: Segmentazione: Introduzione

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

Page 28: Segmentazione: Introduzione

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?

Page 29: Segmentazione: Introduzione

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

Page 30: Segmentazione: Introduzione

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]

Page 31: Segmentazione: Introduzione

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

Page 32: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

Clustering approachesAgglomerative Clustering

Divisive Clustering

Bottom up

Top-down

Page 33: Segmentazione: Introduzione

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)

Page 34: Segmentazione: Introduzione

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à

Page 35: Segmentazione: Introduzione

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

Page 36: Segmentazione: Introduzione

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))

Page 37: Segmentazione: Introduzione

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

Page 38: Segmentazione: Introduzione

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)

Page 39: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CTSquared Error Clustering

Method

Page 40: Segmentazione: Introduzione

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)

Page 41: Segmentazione: Introduzione

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

Page 42: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

K-Means(Ver. 2)

Page 43: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

Esempio

Page 44: Segmentazione: Introduzione

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.

Page 45: Segmentazione: Introduzione

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à.

Page 46: Segmentazione: Introduzione

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)

Page 47: Segmentazione: Introduzione

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

Page 48: Segmentazione: Introduzione

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

Page 49: Segmentazione: Introduzione

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.

Page 50: Segmentazione: Introduzione

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

Page 51: Segmentazione: Introduzione

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)

Page 52: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

Esempio

Page 53: Segmentazione: Introduzione

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.

Page 54: Segmentazione: Introduzione

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

Page 55: Segmentazione: Introduzione

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

Page 56: Segmentazione: Introduzione

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à

Page 57: Segmentazione: Introduzione

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.

Page 58: Segmentazione: Introduzione

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

Page 59: Segmentazione: Introduzione

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.

Page 60: Segmentazione: Introduzione

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

Page 61: Segmentazione: Introduzione

Seg

men

tazi

on

eS

eg

men

tazi

on

e

GMFGMFGMFGMF

SEMINARIOSEMINARIOIGRG - CTIGRG - CT

Question Time