elaborazione dei segnali multimediali raffaele gaetano 06...
TRANSCRIPT
-
SEGMENTAZIONE DI IMMAGINI
Elaborazione dei Segnali Multimediali
Raffaele Gaetano
06 Maggio 2014
-
DEFINIZIONE
• La segmentazione è un processo di basso livello utile a molte applicazioni basate sull’elaborazione delle immagini.
• Effettua un partizionamento dell’immagine identificandone le regioni (oggetti) costituenti, sulla base di criteri specifici per ogni applicazione.
-
RAPPRESENTAZIONE
• Gli elementi della mappa sono in corrispondenza univoca con i pixel dell’immagine e ne identificano un “segmento” (regione) di appartenenza.
• Mappa di etichette
-
RAPPRESENTAZIONE
• Gli elementi non nulli della mappa identificano il contorno tra le varie regioni di interesse.
• Mappa di contorni
-
DEFINIZIONE
• Una segmentazione tipicamente gode di quattro proprietà fondamentali:
� Nessun pixel è condiviso tra due o più regioni.
� Tutti i pixel dell’immagine sono associati ad una regione.
� Tutte le regioni sono omogenee (rispetto a criteri specifici per ogni applicazione).
� Due regioni diverse non sono «omogenee».
-
POSSIBILI APPLICAZIONI• Tecniche di codifica ad oggetti (Region-based Image
Coding)� Shape-Adaptive Wavelet� KLT adattativa
• Image Analysis� Analisi di immagini telerilevate (classificazione dei terreni,
monitoraggio ambientale, …)� Analisi di immagini medicali (telemedicina, …)
• Content-based Image Retrieval� Riconoscimento dei contenuti delle immagini (data-mining)� Archiviazione “intelligente”
• Computer Vision
-
DEFINIZIONE
• Data l’eterogeneità delle possibili applicazioni, è evidente che non possa esistere una tecnica di segmentazione che sia “universalmente” buona.
• Esistono però concetti di base del trattamento di immagini che sono comuni a molte tecniche di segmentazione.
• Nel caso generale, si fa riferimento a due proprietà fondamentali delle immagini: discontinuità e similarità.
-
TECNICHE DI BASE
EDGE-BASED
• Si basano sull’idea che tra diverse regioni d’interesse si riscontrano rapidi cambiamentinei valori di intensità/colore.
• Lo scopo dunque è il rilevamento (e la “classificazione”) delle discontinuità (edges) dell’immagine (livelli di grigio).
• Il prodotto della segmentazione sarà chiaramente una mappa di contorni.
-
TECNICHE DI BASE
EDGE-BASED (esempio)
-
RILEVAMENTO DELLE DISCONTINUITA’
• Un modo semplice ed efficace per rilevare le discontinuità prevede un approccio locale.� Una maschera (finestra) opportunamente progettata
è fatta scorrere sull’immagine.
� La sua risposta in ogni blocco è memorizzata in una nuova immagine.
w1 w2 w3
w4 w5 w6
w7 w8 w9
∑=
=9
1iii xwR
-
ALCUNI ESEMPI:POINT DETECTION (1)
• Un punto isolato è un punto il cui valore di intensità è sensibilmente diverso da quello del suo vicinato.
• Può essere rilevato utilizzando una maschera e seguita da una sogliatura della risposta:
-1 -1 -1
-1 8 -1
-1 -1 -1
pTR >
-
ALCUNI ESEMPI:POINT DETECTION (2)
-
ALCUNI ESEMPI:LINE DETECTION (1)
• Una linea è un insieme di punti contigui i cui valori di intensità sono simili tra loro e diversi da quelli dei pixel di “sfondo”.
• Necessario definire più maschere per catturare linee al variare della loro direzione:
-1 -1 -1
2 2 2
-1 -1 -1
-1 -1 2
-1 2 -1
2 -1 -1
-1 2 -1
-1 2 -1
-1 2 -1
2 -1 -1
-1 2 -1
-1 -1 2
-
ALCUNI ESEMPI:LINE DETECTION (2)
• 4 risposte per ogni punto.
• Un punto è individuato come possibile linea nella
direzione della maschera i–esima se:
ji RR > ij ≠∀
-
EDGE DETECTION
• Edge Detection rappresenta l’approccio più comune per il rilevamento delle discontinuità significative in immagini a livelli di grigio.
• Basato sul modello di edge “a rampa”.
• Gran parte delle tecniche di edge detection utilizza soprattutto lederivate prima e seconda dell’immagine.
50 100 150 200 2500
100
200
50 100 150 200 250-2
0
2
4
6
50 100 150 200 250
-5
0
5
-
GRADIENTE DI UN’IMMAGINE
• Le derivate di una immagine si ottengono in generale attraverso un’approssimazione dell’operatore gradiente bidimensionale:
• In edge detection se ne utilizzano in particolare due quantità derivate, l’intensità e l’orientazione:
∂∂∂∂
=
=∇
yI
xI
I
II
y
x
22yx III +=∇ ( )
=∇
x
y
I
II arctanα
-
OPERATORI GRADIENTE PER IMMAGINI DIGITALI
• Utilizzando apposite maschere, è possibile
stimare le quantità Ix e Iy in corrispondenza di ciascun pixel.
• Diverse approssimazioni possibili:� Roberts “cross-gradient” operators (2x2)
� Prewitt operators (3x3)
� Sobel operators (3x3)
-
OPERATORI GRADIENTE PER IMMAGINI DIGITALI - ROBERTS
x1 x2 x3
x4 x5 x6
x7 x8 x9
Roberts “cross-gradient” operators :
59 xxI x −= 68 xxI y −=
• Si implementa dunque tramite maschere 2x2:
• Implementazione non “immediata” per l’assenza di un centro proprio nella maschera.
-1 0
0 1
0 -1
1 0
-
OPERATORI GRADIENTE PER IMMAGINI DIGITALI - PREWITT
x1 x2 x3
x4 x5 x6
x7 x8 x9
Prewitt operators :
)()( 321987 xxxxxxI x ++−++=
• Implementazione tramite maschere 3x3:
)()( 741963 xxxxxxI y ++−++=
-1 -1 -1
0 0 0
1 1 1
-1 0 1
-1 0 1
-1 0 1
-
OPERATORI GRADIENTE PER IMMAGINI DIGITALI - SOBEL
x1 x2 x3
x4 x5 x6
x7 x8 x9
Sobel operators :
)2()2( 321987 xxxxxxI x ++−++=
• Implementazione tramite maschere 3x3:
)2()2( 741963 xxxxxxI y ++−++=
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
Combinano l’azione di derivazione in una direzione (Prewitt) con un’azione di smoothingnella direzione ortogonale.
-
EDGE DETECTIONTECNICHE BASATE SU DERIVATA PRIMA
• Nei casi più semplici, articolate in 3 fasi:• Smoothing (l’operazione di derivazione è
tipicamente piuttosto sensibile al rumore):
• Derivazione (nel caso del gradiente di Sobell’azione di smoothing è inclusa in questa fase):
• Thresholding:
σGII ∗=~
nel caso di filtraggio GaussianoAd es.
22 ~~~yx III +=∇
( )eTIM >∇= ~
-
EDGE DETECTIONTECNICHE BASATE SU DERIVATA PRIMA
-
DERIVATA SECONDA DI UN’IMMAGINE
LAPLACIANO
x1 x2 x3
x4 x5 x6
x7 x8 x9
Laplacian operator :
)(4 864252
2
2
22 xxxxx
y
I
x
II +++−≈
∂∂+
∂∂=∇
• Implementazione tramite maschere 3x3:
0 -1 0
-1 4 -1
0 -1 0
Una approssimazione alternativa considera anche
i vicini nelle direzioni “diagonali”:
-1 -1 -1
-1 8 -1
-1 -1 -1
-
EDGE DETECTIONTECNICHE BASATE SU DERIV. SECONDA
• Si basano sulla proprietà di zero-crossing della derivata seconda in corrispondenza degli edge.
• Producono contorni “fini”, cioè dello spessore di un pixel.
• Hanno diversi aspetti negativi:
• Sensibilità al rumore
• Implementazione non banaledel calcolo dei zero-crossing
50 100 150 200 2500
100
200
50 100 150 200 250-2
0
2
4
6
50 100 150 200 250
-5
0
5
-
EDGE DETECTIONOPERATORE “LoG”
• Una semplice tecnica di edge detection basata sul Laplaciano può essere articolata in 4 fasi: smoothing, calcolo della derivata seconda, thresholding e calcolo dei zero-crossing.
• Un operatore, noto come Laplacian of a Gaussian(LoG), realizza le prime due fasi con un’unica operazione di filtraggio:
2
2
2)( σr
erh−
=
2
2
24
222 )( σ
σσ r
er
rh−
−−=∇
222 yxr +=con0 0 -1 0 0
0 -1 -2 -1 0
-1 -2 16 -2 -1
0 -1 -2 -1 0
0 0 -1 0 0
-
EDGE DETECTIONCALCOLO DEI ZERO-CROSSING
• Una volta calcolato il laplaciano dell’immagine, bisogna rilevarne i passaggi per zero
• Una soluzione semplice è quella di effettuare una sogliatura (thresholding):
• I passaggi per zero corrisponderanno dunque
alle transizioni tra 0 e 1 sull’immagine I th
>∇
-
EDGE DETECTIONTECNICHE BASATE SU DERIV. SECONDA
ImmagineSorgente
LoG
ThresholdedLoG
Mappa deiContorni
-
EDGE DETECTIONOPERAZIONI DI POST-PROCESSING
• La maggior parte delle tecniche di edge detection non garantiscono una segmentazione consistente.
• Con alcune di esse, i contorni rilevati sono spessi �procedure di assottigliamento (thinning) .
• Disturbi quali il rumore, le variazioni di illuminazione ed altri fenomeni causano il rilevamento di contorni incompleti �procedure di Edge Linking .
• Regioni dell’immagine possono essere rilevate solo se i contorni si chiudono su se stessi.
-
CANNY EDGE DETECTOR/LINKER
• Edge detector basato sulla derivata prima(Roberts).
• Prevede l’assottigliamento (thinning) dei contorni direttamente sull’immagine gradiente, attraverso una procedura chiamata Nonmaxima Suppression.
• Utilizza una strategia di thresholding basata su due soglie, nota come HysteresisThresholding.
-
CANNY EDGE DETECTOR/LINKERNONMAXIMA SUPPRESSION
• A partire dal gradiente dell’immagine, vengono annullati (soppressi) tutti i valori dei pixel che non sono più elevati dei due vicini nella direzione del gradiente.
-
CANNY EDGE DETECTOR/LINKERHYSTERESIS THRESHOLDING
• Basato su una doppia soglia:
• A partire da ogni pixel al di sopra della soglia alta, Thigh ,il relativo contorno viene “seguito”, finchè i pixel hanno un valore superiore alla sogli bassa, Tlow.
-
TECNICHE DI BASE
REGION-BASED
• Si basano sulla progressiva aggregazione di pixel in regioni connesse.
• Tale aggregazione avviene sulla base di uno o più criteri di similarità.
• Il prodotto della segmentazione sarà stavolta una mappa di etichette.
-
REGION GROWING (1)
• Proposto da Haralick, fa uso di descrittori statistici.
• I pixel dell’immagine sono progressivamente raggruppati fino a quando media e varianza della regione ottenuta restano stabili.
RSia una regione di RN pixel:
∑∈
=RyxR
R yxINX
),(
),(1
∑∈
−=Ryx
RR XyxIS),(
22 )),((
media scatter
-
REGION GROWING (2)
• Partendo da un punto qualsiasi dell’immagine vengono aggregati tutti i pixel del suo vicinato per i quali la statistica:
• Le statistiche della regione vengono aggiornate:
• La procedura è ripetuta per ogni punto aggiunto.
hRR
RR TSXxN
NNT
-
WATERSHED TRANSFORM (1)
• Trasformata basata sui DEM (Digital Elevation Model):� I valori di un blocco di dati sono interpretati
come altitudini.
� A partire dai minimi locali, vi si associano gli elementi del vicinato che sono collegati ad essi da una traiettoria in ascesa (criterio di similarità).
� Si determinano così dei bacini di attrazione (catchment basin) separati da linee di separazione dette watershed.
-
WATERSHED TRANSFORM (2)
• E’ implementata attraverso algoritmi di flooding:� Si simula il riempimento
con acqua dei bacini di attrazione.
� La crescita delle regioni nelle varie direzioni viene arrestata quando più bacini si fondono.
• Per la segmentazione, la trasformata si applica al gradiente dell’immagine.
Watershed Line
CatchmentBasin
-
WATERSHED TRANSFORM (3)
• La mappa è generalmente molto frammentata (oversplitting).
-
TECNICHE DI BASE
CLASS-BASED• In queste tecniche, l’analisi dell’immagine non è più
effettuata su base locale ma sull’intera immagine.
• In generale, ai pixel dell’immagine vengono associati dei valori caratteristici detti “features”
� Valori di intensità per immagini monocromatiche
� Terne di valori (R,G,B) per immagini a colori, ecc..
• La segmentazione consiste nel raggruppare i pixel attraverso operazioni di sogliatura o di clustering.
• Mappe di etichette e regioni non connesse.
-
SOGLIATURA (1)
• Tecnica basata sull’analisi dell’istogrammadell’immagine.
• Applicabile ad immagini a livelli di grigio, particolarmente indicata per segmentazioni binarie.
),( yxIImmaginesorgente
Soglia T
Immaginethresholded
≥<
=TyxIse
TyxIseyxI th ),(1
),(0),(
-
SOGLIATURA (2)
• Nel caso più generale, la soglia può dipendere, oltre che dall’intensità, anche da altre proprietà associate ai pixel (thesholding locale):
• Inoltre, se la soglia dipende anche dalla posizione del pixel si parla di thresholding adattativo o dinamico:
)],(),,([ yxpyxITT =
)],(),,(,,[ yxpyxIyxTT =
-
SOGLIATURA (3)
0 50 100 150 200 250 3000
20
40
60
80
100
120
140
Threshold
-
CLUSTERING
• Insieme di tecniche il cui scopo è di raggruppare i pixel dell’immagine in cluster, sulla base di vettori caratteristici (feature vector) ad essi associati.
• I vettori caratteristici determinano lo spazio di rappresentazione (feature space) dei pixel dell’immagine.
• I vettori caratteristici dei pixel appartenenti ad un cluster sono “vicini” l’un l’altro nel corrispondente spazio di rappresentazione.
-
K-MEANS CLUSTERING (1)
• Si suddividono i pixel nello spazio di rappresentazione in K gruppi:
• L’errore quadratico medio (LSE) è utilizzato per determinare la distanza dei feature vector dalle medie dei rispettivi cluster:
• L’obiettivo è il clustering che minimizza D.
KCCC ,...,, 21 con medie Kmmm ,...,, 21
∑ ∑= ∈
−=K
k Cxki
Ki
mxD1
2
-
K-MEANS CLUSTERING (2)
ALGORITMO
1. Si sceglie in modo casuale un set di K medie (m1,…,mk)
2. Per ogni vettore xi si calcola la distanza dalle K medie:
3. Si assegna il pixel xi al cluster Cj a cui corrisponde la media più vicina
4. Si effettua l’aggiornamento delle medie
5. Si ripetono i punti 3 e 4 fino a convergenza:
KkmxmxD kiki ,...,1),(2 =∀−=
kCC itkitk ∀≡ −1
-
K-MEANS CLUSTERING (3)
APPLICAZIONE
0
50
100
150
200
250
300 0
50
100
150
200
250
3000
100
200
300
-
ISODATA CLUSTERING (1)
• Si suddividono i pixel nello spazio di rappresentazione in K gruppi:
• Si considerano anche le matrici di covarianza:
• Si basa sulla fusione/suddivisione di cluster.
KCCC ,...,, 21 con medie Kmmm ,...,, 21
=Σ
nnnn
n
n
k
σσσ
σσσσσσ
...
............
...
...
21
22212
11211
-
ISODATA CLUSTERING (2)
ALGORITMO
1. Si assegna xi al cluster l che minimizza:
2. Si fondono tutte le coppie di cluster Ci e Cj per cui vale:
3. Si suddividono (2-means) tutti i cluster k per cui vale:
1. Si ripetono i punti 1,2 e 3 fino a convergenza.
][]'[ 1 lilli mxmxD −Σ−=−
Σ
υτΣ )(max kii
-
ISODATA CLUSTERING (3)
APPLICAZIONE
ImmagineSorgente
SegmentazioneK-Means
SegmentazioneISODATA