Il corso si propone di fornire agli allievi le conoscenze di base relative alla elaborazione ed alla analisi delle
immagini numeriche statiche e in sequenza, negli aspetti sia teorici sia applicativi. Il corso è costituito, in linea di
massima, da 32 ore di lezione e 16 ore di esercitazione in aula, che si tengono nel 1° modulo del I semestre.
Propedeucità E’ richiesto il possesso dei crediti relativi agli insegnamenti di: Fondamenti di Informatica, Reti Logiche,
Programmazione e Teoria dei Segnali. E’ consigliata la conoscenza di Comunicazioni Elettriche e di Informatica
Grafica.
Verifiche dell’apprendimento Sulla base di quanto previsto dal Regolamento Didattico di Facoltà, sono previste una
prova in itinere e una prova di completamento, le cui modalità e date di svolgimento vengono comunicate dal Docente
all’inizio del corso.
• Formazione ed acquisizione dell'immagine. Principali caratteristiche del sistema visivo umano. Caratteristiche
e rappresentazione delle immagini digitali. Relazioni tra pixel. Operazioni aritmetiche e logiche. Dispositivi di
acquisizione, visualizzazione e stampa
• Trasformate delle immagini: Fourier, Walsh-Hadamard, Coseno discreto, Hotelling
• Elaborazione per miglioramento della qualità nel dominio dei pixel e nei domini trasformati. Tecniche di
elaborazione puntuali, locali, globali. L’istogramma dei livelli di grigio. Filtraggio per miglioramento e
ripristino di qualità.
• Elaborazione delle immagini a colori. Principali formati per la memorizzazione delle immagini. Compressione
delle immagini (cenni).
• Analisi di immagini. Estrazione dei contorni. Metodi “locali” basati sul gradiente di intensità luminosa. Metodi
basati sulla derivata seconda dell’intensità luminosa. Trasformata di Hough. Segmentazione delle immagini.
Metodi a soglia. Crescita delle regioni.
• Trattamento di forme. Tecniche di descrizione e rappresentazione di forme bidimensionali. Descrizione di
regioni mediante codici, approssimazioni poligonali e scheletri. Descrittori topologici. Descrizione di contorni.
Descrittori di Fourier. Momenti.
TESTI CONSIGLIATI
TESTI DI CONSULTAZIONE
Parte A
V.O. N.O.
Elaborazione delle
(obbligatorio, 5 CFU)
Immagini Digitali
Teoria e Tecniche
di Elaborazione
(propedeucità)
della Immagine
Trattamento e
(a scelta, corso annuale) Compressione di (a scelta, 5 CFU)
Dati Multimediali
E. Ardizzone 2
Università degli Studi
di Palermo
NOTA
E. Ardizzone 3
Università degli Studi
di Palermo
E. Ardizzone 4
Università degli Studi
di Palermo
Elaborazione numerica
E. Ardizzone 5
Università degli Studi
di Palermo
E. Ardizzone 6
Università degli Studi
di Palermo
✔ Sintesi di scene
E. Ardizzone 7
Università degli Studi
di Palermo
✔ Filtraggio
✔ Estrazione di informazioni
✔ Compressione
✔ Descrizione
✔ Archiviazione
E. Ardizzone 8
Università degli Studi
di Palermo
E. Ardizzone 9
Università degli Studi
di Palermo
Caratterizzazione dell’immagine
f = f (x , y , λ , t )
E. Ardizzone 10
Università degli Studi
di Palermo
Caratterizzazione dell’immagine
E. Ardizzone 11
Università degli Studi
di Palermo
Caratterizzazione dell’immagine
E. Ardizzone 12
Università degli Studi
di Palermo
Acquisizione dell’immagine
E. Ardizzone 13
Università degli Studi
di Palermo
Fasi dell'acquisizione
♦ Scansione
♦ Trasduzione o rivelazione
♦ Campionamento
♦ Quantizzazione
♦ Scrittura o memorizzazione
E. Ardizzone 14
Università degli Studi
di Palermo
E. Ardizzone 18
Università degli Studi
di Palermo
✔ La forte concentrazione dei coni e il fatto che ogni cono sia collegato
ad una fibra nervosa danno all’occhio la capacità di discriminare
dettagli molto fini, in condizioni di illuminazione medio-alta
✔ A tal fine, i muscoli che controllano l’occhio ruotano il globo oculare
finché l’immagine dell’oggetto di interesse non cade all’interno della
fovea, che rappresenta pertanto la zona di massima acuità visiva. Essa
ha un diametro di circa 1.5 mm
✔ I bastoncelli, in numero molto maggiore (da 75 a 150 milioni per
occhio) sono distribuiti in modo più uniforme sull’intera superficie
della retina e sono praticamente insensibili al colore
✔ I bastoncelli sono attivati in condizioni di illuminazione di bassa
intensità, per cui essi sono responsabili della cosiddetta visione
notturna o scotopica
E. Ardizzone 19
Università degli Studi
di Palermo
E. Ardizzone 20
Università degli Studi
di Palermo
E. Ardizzone 21
Università degli Studi
di Palermo
E. Ardizzone 23
Università degli Studi
di Palermo
E. Ardizzone 24
Università degli Studi
di Palermo
E. Ardizzone 25
Università degli Studi
di Palermo
E. Ardizzone 26
Università degli Studi
di Palermo
E. Ardizzone 27
Università degli Studi
di Palermo
E. Ardizzone 31
Università degli Studi
di Palermo
E. Ardizzone 33
Università degli Studi
di Palermo
E. Ardizzone 34
Università degli Studi
di Palermo
g= fγ e non g= f
E. Ardizzone 35
Università degli Studi
di Palermo
E. Ardizzone 36
Università degli Studi
di Palermo
192 x 256 48 x 64
12 x 16 E. Ardizzone 3x4 38
Università degli Studi
di Palermo
E. Ardizzone 39
Università degli Studi
di Palermo
E. Ardizzone 41
Università degli Studi di Palermo
Parte B
✔ La qualità
dell’immagine
dipende anche
dal numero di
livelli adoperati
per la
quantizzazione 16 8
dei valori di
intensità
4 2
E. Ardizzone 2
Università degli Studi
di Palermo
E. Ardizzone 3
Università degli Studi
di Palermo
256 64 16 4
128 32 8 2
E. Ardizzone 4
Università degli Studi
di Palermo
E. Ardizzone 5
Università degli Studi
di Palermo
E. Ardizzone 7
Università degli Studi
di Palermo
E. Ardizzone 8
Università degli Studi
di Palermo
E. Ardizzone 9
Università degli Studi
di Palermo
E. Ardizzone 10
Università degli Studi
di Palermo
E. Ardizzone 11
Università degli Studi
di Palermo
E. Ardizzone 12
Università degli Studi
di Palermo
E. Ardizzone 13
Università degli Studi
di Palermo
E. Ardizzone 14
Università degli Studi
di Palermo
0 0 1 0 0 1
E. Ardizzone 15
Università degli Studi
di Palermo
✔ Due pixel 4-,8- o m-connessi stanno tra loro in una relazione di 4-, 8-
o m-adiacenza
✔ Due subset S1 e S2 di una immagine sono adiacenti se almeno un pixel
di S1 è connesso con almeno un pixel di S2
✔ Un cammino (path) dal pixel p di coordinate (x,y) al pixel q di
coordinate (s,t) è una sequenza di pixel distinti di coordinate:
(x0,y0), (x1,y1), … , (xn,yn)
dove (x0,y0) = (x,y) e (xn,yn) = (s,t), e inoltre, per 1≤ i ≤ n, (xi,yi) è
adiacente a (xi-1,yi-1)
✔ n è la lunghezza del cammino
✔ Dati due pixel p e q di un subset S dell’immagine, p è connesso a q in S
se esiste un path tra p e q interamente costituito da pixel di S
E. Ardizzone 16
Università degli Studi
di Palermo
Componenti connesse
E. Ardizzone 17
Università degli Studi
di Palermo
E. Ardizzone 20
Università degli Studi
di Palermo
Misure di distanza
✔ Dati i pixel p(x,y), q(s,t) e z(u,v), D è una metrica o funzione distanza
se:
* D(p,q) ≥ 0 (D(p,q) = 0 iff p = q)
* D(p,q) = D(q,p)
* D(p,z) ≤ D(p,q) + D(q,z)
De ( p, q ) = ( x − s ) 2 + ( y − t ) 2
E. Ardizzone 21
Università degli Studi
di Palermo
Misure di distanza
✔ La distanza D4 (o city-block) è definita come:
D4 ( p , q ) = x − s + y − t
E. Ardizzone 22
Università degli Studi
di Palermo
Misure di distanza
✔ La distanza D8 (o chessboard) è definita come:
D8 ( p, q ) = max( x − s , y − t )
E. Ardizzone 23
Università degli Studi
di Palermo
Misure di distanza
✔ Le metriche così definite dipendono soltanto dalle coordinate dei punti,
e non dalla eventuale esistenza di un cammino connesso tra di essi.
✔ Tuttavia è facile vedere che la D4 tra due punti coincide con la
lunghezza del 4-cammino più breve tra di essi, mentre la D8 è uguale
alla lunghezza dell’8-cammino più breve
✔ Nel caso della m-connettività, invece, la lunghezza del cammino tra
due pixel dipende dal valore dei pixel lungo il cammino, e dal valore
dei loro vicini. Si consideri l’esempio seguente, dove si assume che p,
p2 e p4 abbiano valore pari a 1, e che per la connettività sia V = {1}:
Se p1 = p3 = 0, la m-distanza tra p e p4 è 2
Se p1 oppure p3 è pari a 1, la m-distanza è 3
Se p1 = p3 = 1, la m-distanza è pari a 4
E. Ardizzone 24
Università degli Studi
di Palermo
E. Ardizzone 25
Università degli Studi
di Palermo
E. Ardizzone 26
Università degli Studi
di Palermo
E. Ardizzone 28
Università degli Studi
di Palermo
E. Ardizzone 29
Università degli Studi
di Palermo
✔ Esempio di NOT:
E. Ardizzone 31
Università degli Studi
di Palermo
E. Ardizzone 32
Università degli Studi di Palermo
Trasformazioni geometriche
✔ Da un punto di vista geometrico, il processo di formazione della
immagine (detto imaging) è una proiezione sul piano (dell’immagine)
di una scena 3-D
✔ La perdita di una coordinata, intrinseca al processo, rappresenta una
severa perdita di informazione
✔ Tuttavia, sia pur inconsciamente, sperimentiamo continuamente come
il sistema visivo riesca a percepire la sensazione di tridimensionalità in
modo sufficiente a consentirci di interagire con il mondo esterno
✔ Il sistema visivo ricostruisce la scena 3-D partendo dalle immagini 2-D
che si formano sulla retina. L’apparente semplicità di questo processo
può far credere ad una sua agevole realizzazione artificiale
✔ In realtà, la ricostruzione 3-D delle scene è, nel caso generale, uno dei
task più complessi della visione artificiale
E. Ardizzone 2
Università degli Studi
di Palermo
Trasformazioni geometriche
✔ Per descrivere la posizione degli oggetti nello spazio 3-D, occorre fare
riferimento ad un sistema di coordinate cartesiane ortogonali
✔ Esistono in realtà due modi differenti di descrivere la posizione di un
oggetto: rispetto ad un riferimento esterno, posizionato nella scena
osservata (world coordinates), e rispetto ad un riferimento solidale col
dispositivo di ripresa (camera coordinates)
✔ Siano (X, Y, Z) le coordinate mondo di un punto nello spazio 3-D. Le
sue coordinate omogenee sono (kX, kY, kZ, k)
✔ Le coordinate omogenee sono un elegante formalismo che consente di
descrivere in modo unificato le principali trasformazioni geometriche e
di rappresentarne efficacemente le concatenazioni: l’intero processo di
imaging può essere descritto con una sola matrice 4 x 4
✔ Note le coordinate omogenee, le coordinate 3-D possono essere
calcolate dividendo le prime tre coordinate omogenee per la quarta
E. Ardizzone 3
Università degli Studi
di Palermo
Trasformazioni geometriche
✔ Le trasformazioni geometriche di traslazione, scaling e rotazione sono
tra le più importanti
✔ In coordinate 3-D, la traslazione del punto (X, Y, Z) di una quantità (X0,
Y0, Z0) dà luogo ad un nuovo punto di coordinate:
X * = X + X0
Y * = Y + Y0
Z * = Z + Z0
X X 0 X *
v = Y v 0 = Y0 v* = Y *
Z Z 0 Z *
E. Ardizzone 4
Università degli Studi
di Palermo
Trasformazioni geometriche
✔ Questa forma matriciale prevede la somma dei vettori, il che la rende
scomoda da utilizzare quando si devono concatenare più trasformazioni
(per esempio, una traslazione seguita da uno scaling e quindi da una
rotazione) per dar luogo ad una trasformazione risultante, da esprimere
in funzione delle trasformazioni componenti
✔ Se queste fossero tutte esprimibili come prodotti di matrici, la matrice
che esprime la trasformazione risultante sarebbe facilmente calcolabile
come prodotto delle matrici che rappresentano le singole trasformazioni
✔ Per esempio, data una prima trasformazione v1 = Av ed una successiva
v 2 = Bv 1 si può scrivere: v 2 = Bv 1 = B(Av ) = Cv, dove C = BA
✔ E’ da notare che l’ordine in cui devono essere effettuate le
trasformazioni si riflette sull’ordine in cui vanno effettuati i prodotti
delle relative matrici, dato che il prodotto matriciale, in generale, non è
commutativo
E. Ardizzone 5
Università degli Studi
di Palermo
Trasformazioni geometriche
✔ Le equazioni della traslazione possono essere espresse in forma
matriciale anche nel modo seguente:
X
X * 1 0 0 X0
* Y
Y = 0 1 0 Y0
Z
Z * 0 0 1 Z 0
1
✔ L’uso di matrici di trasformazione 3 x 4 è poco appropriato, in quanto i
calcoli risultano semplificati se tutte le matrici componenti sono
quadrate
✔ Per questo motivo viene introdotta la notazione che fa uso delle
coordinate omogenee, con k = 1:
v * = Tv
E. Ardizzone 6
Università degli Studi
di Palermo
Trasformazioni geometriche
dove:
X * X 1 0 0 X0
* Y 0
Y 1 0 Y0
v* = * v= T=
Z Z 0 0 1 Z0
1 0
1 0 0 1
E. Ardizzone 7
Università degli Studi
di Palermo
Trasformazioni geometriche
In forma matriciale:
X * cosθ − sin θ X
* = sin θ ovvero: v * = Rθ v
Y cosθ Y
E. Ardizzone 8
Università degli Studi
di Palermo
Trasformazioni geometriche
Trasformazioni geometriche
1 0 0 0 cos β 0 − sin β 0
0 cos α sin α 0 0 1 0 0
Rα = Rβ =
0 − sin α cos α 0 sin β 0 cos β 0
0 0 0 1 0 0 0 1
Trasformazioni geometriche
S x 0 0 0
0 Sy 0 0
S=
0 0 Sz 0
0 0 0 1
✔ Una trasformazione complessa può essere rappresentata dalla
concatenazione delle trasformazioni semplici
✔ Per esempio, la traslazione, lo scaling e la rotazione attorno all’asse Z
di un punto v sono date da:
v * = R θ (S(Tv )) = Av dove A = R θ ST
E. Ardizzone 11
Università degli Studi
di Palermo
Trasformazioni geometriche
E. Ardizzone 12
Università degli Studi
di Palermo
Trasformazione prospettica
Trasformazione prospettica
✔ Si suppone ancora che sia Z > λ , cioè che tutti i punti 3-D di interesse
siano davanti alla lente E. Ardizzone 14
Università degli Studi
di Palermo
Trasformazione prospettica
Trasformazione prospettica
✔ Pertanto:
λX λY
x= y=
λ−Z λ−Z
✔ La presenza della coordinata Z a denominatore rende non lineare la
trasformazione
✔ In alternativa, le coordinate camera del punto (x,y) possono essere
ottenute in forma matriciale. Sia wh il vettore delle coordinate mondo
del punto (X,Y,Z) in forma omogenea.
1 0 0 0
0 1 0 0 Si consideri la trasformazione ch = Pwh,
P = 0 0 1 0 dove P è la matrice della trasformazione
prospettica
−1
0 0 λ 1
E. Ardizzone 16
Università degli Studi
di Palermo
Trasformazione prospettica
✔ Si ha quindi:
1 0 0 0 kX kX
0 1 0 0 kY
kY
c h = Pw h = 0 0 1 0 =
kZ kZ
− 1 − kZ
0 0 1 k λ + k
λ
✔ Per ottenere le coordinate camera 3-D occorre dividere le prime tre
coordinate omogenee per la quarta. Pertanto:
λX Le prime due componenti di c sono le coordinate
x λ − Z (x,y) della proiezione di (X,Y,Z) (e sono ovviamente
λY
c = y = uguali a quelle trovate precedentemente). La terza
λ − Z componente non ha senso in termini del modello
z λZ
adottato, dato che z = 0 in tutto il piano xy
λ − Z
E. Ardizzone 17
Università degli Studi
di Palermo
Trasformazione prospettica
Trasformazione prospettica
X x0
w = Y = y0 Questo risultato è palesemente assurdo
perché dà Z = 0 per qualunque punto 3-D
Z 0
E. Ardizzone 19
Università degli Studi
di Palermo
Trasformazione prospettica
Trasformazione prospettica
Trasformazione prospettica
Trasformazione prospettica
E. Ardizzone 23
Università degli Studi
di Palermo
Trasformazione prospettica
Trasformazione prospettica
1 0 0 − r1
0 1 0 − r2 r1, r2 e r3 sono le componenti dello
C= spostamento r
0 0 1 − r3
0 0 0 1
E. Ardizzone 25
Università degli Studi
di Palermo
Trasformazione prospettica
E. Ardizzone 28
Università degli Studi
di Palermo
E. Ardizzone 29
Università degli Studi
di Palermo
E. Ardizzone 30
Università degli Studi
di Palermo
E. Ardizzone 32
Università degli Studi
di Palermo
E. Ardizzone 33
Università degli Studi di Palermo
Parte D
E. Ardizzone 2
Università degli Studi
di Palermo
Tecniche di elaborazione
9 puntuali 9 sequenziali
9 locali 9 parallele
9 globali
Elaborazioni
9 tra domini diversi (trasformate bidimensionali)
9 nello stesso dominio (di particolare interesse il dominio spaziale e
quello delle frequenze spaziali)
9 con riduzione dei dati tra ingresso e uscita (per esempio estrazione di
informazioni o compressione)
Miglioramento di qualità
E. Ardizzone 4
Università degli Studi
di Palermo
E. Ardizzone 5
Università degli Studi
di Palermo
Elaborazioni puntuali
E. Ardizzone 6
Università degli Studi
di Palermo
E. Ardizzone 7
Università degli Studi
di Palermo
E. Ardizzone 9
Università degli Studi
di Palermo
E. Ardizzone 10
Università degli Studi
di Palermo
Istogramma dei
livelli di grigio
E. Ardizzone 11
Università degli Studi
di Palermo
E. Ardizzone 12
Università degli Studi
di Palermo
E. Ardizzone 13
Università degli Studi
di Palermo
E. Ardizzone 14
Università degli Studi
di Palermo
E. Ardizzone 15
Università degli Studi
di Palermo
E. Ardizzone 16
Università degli Studi
di Palermo
E. Ardizzone 17
Università degli Studi
di Palermo
E. Ardizzone 19
Università degli Studi
di Palermo
E. Ardizzone 20
Università degli Studi
di Palermo
Un esempio reale:
7 6 5
4 3 2
1 0
E. Ardizzone 21
Università degli Studi
di Palermo
E. Ardizzone 22
Università degli Studi di Palermo
Parte E
Modifica dell’istogramma
E. Ardizzone 2
Università degli Studi
di Palermo
Modifica dell’istogramma
Alcuni esempi:
Immagine scura
Immagine con
poco contrasto
E. Ardizzone 3
Università degli Studi
di Palermo
Modifica dell’istogramma
Alcuni esempi:
Immagine scura
e con poco
contrasto
Immagine chiara
con poco contrasto
E. Ardizzone 4
Università degli Studi
di Palermo
Modifica dell’istogramma
Alcuni esempi:
Immagine
bilanciata
Immagine bilanciata ma
con minore contrasto
E. Ardizzone 5
Università degli Studi
di Palermo
Modifica dell’istogramma
E. Ardizzone 6
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 In realtà una distribuzione perfettamente uniforme dei livelli di grigio non
può essere ottenuta, principalmente a causa della natura discreta delle
grandezze trattate
9 Supponiamo inizialmente che r sia una variabile continua, normalizzata in
modo che 0 ≤ r ≤ 1, e che l'operazione s = T(r) soddisfi le due condizioni:
a) T(r) è una funzione a un solo valore e monotonicamente crescente
nell’intervallo 0 ≤ r ≤ 1
b) 0 ≤ Τ(r ) ≤ 1 per 0 ≤ r ≤ 1
9 La condizione a) conserva l'ordine dei livelli nella scala dei grigi (dal nero al
bianco), mentre la condizione b) garantisce una trasformazione consistente
con i livelli di grigio permessi (tra 0 e 1)
9 La trasformazione inversa è r = T-1(s) per 0 ≤ s ≤ 1 , e si assume che anche
T-1(s) soddisfi le condizioni a) e b) rispetto a s
E. Ardizzone 7
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
E. Ardizzone 8
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
Equalizzazione dell’istogramma
E. Ardizzone 10
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
− 2 r + 2 per 0 ≤ r ≤ 1
pr (r ) =
0 altrove
E. Ardizzone 11
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 Esprimendo r in funzione di s:
r = T −1 ( s ) = 1 ± 1 − s
r = T −1 ( s ) = 1 − 1 − s
9 Si ha pertanto:
dr dr
p s ( s ) = pr (r ) = (−2r + 2) =
ds r =T −1 ( s ) ds r =1− 1− s
d −1
= (2 1 − s ) (1 − 1 − s ) = −2 1 − s =1 c.v.d.
ds r =1− 1− s 2 1− s
E. Ardizzone 12
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 Tornando a considerare discreta la variabile r si ha:
nk
p (rk ) = per 0 ≤ rk ≤ 1 e k = 0, K , L − 1
n
9 La funzione da utilizzare per l'equalizzazione dell'istogramma nel caso
discreto è la seguente:
k nj k
s k = T (rk ) = ∑ = ∑ p r (r j ), 0 ≤ rk ≤ 1 e k = 0,1,K, L − 1
n j =0
j =0
E. Ardizzone 13
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 Un esempio di equalizzazione:
E. Ardizzone 14
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
E. Ardizzone 15
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 Perché l’equalizzazione non produce in realtà un istogramma piatto?
9 Vediamolo con un esempio. Si consideri una semplice immagine con L
= 8 livelli di grigio (k = 0,…,7) e la seguente distribuzione di
probabilità:
k r nk/n 0,45
0,4
0,4
0 0 0.015 0,35
Probabilità
0,25
0,2
3 3/7 0.4 0,2
0 1 2 3 4 5 6 7
7 1 0 Livelli r
E. Ardizzone 16
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 Applicando la trasformazione di equalizzazione:
k nj k
sk = T ( rk ) = ∑ = ∑ pr ( rj ), 0 ≤ rk ≤ 1 e k = 0,1,K , L − 1
j =0 n j =0
j =0 n j =0 n n n
2 n
s2 = T ( r2 ) = ∑ j = L = 0.365 s3 = T ( r3 ) = L = 0.765
j =0 n
s4 = T ( r4 ) = L = 0.965 s5 = T ( r5 ) = L = 1
s6 = T ( r6 ) = L = 1 s7 = T ( r7 ) = L = 1
E. Ardizzone 17
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 Analizzando i valori sk così ottenuti, si può notare che essi non coincidono
con i valori rk iniziali. Però ad essi vanno ricondotti, poiché per ipotesi
esistono solo quegli 8 livelli di grigio
9 Pertanto, seguendo il criterio dell’approssimazione al valore possibile più
vicino e denotando con ss i valori approssimati:
k r s ss
0 0 0.015 0 r0
1 0.143 0.115 0.143 r1
2 0.286 0.365 0.428 r3
3 0.428 0.765 0.714 r5
4 0.571 0.965 1 r7
5 0.714 1 1 r7
6 0.857 1 1 r7
7 1 1 1 r7
E. Ardizzone 18
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
9 Ridistribuendo i pixel sui nuovi livelli, la densità di probabilità dei pixel
dell’immagine di uscita è la seguente:
ps(0) = 0.015 ps(0.143) = 0.1 ps(0.286) = 0 ps(0.428) = 0.25
ps(0.571) = 0 ps(0.714) = 0.4 ps(0.857) = 0 ps(1) = 0.235
9 Confrontiamo gli istogrammi delle immagini di ingresso e di uscita:
0,45 0,45
0,4 0,4
0,4 0,4
0,35 0,35
0,3 0,3
0,25 0,25
Probabilità
Probabilità
0,2
0,2 0,2
0,15 0,15
0,1 0,1
0,1 0,1
E. Ardizzone 19
Università degli Studi
di Palermo
Equalizzazione dell’istogramma
E. Ardizzone 20
Università degli Studi
di Palermo
E. Ardizzone 21
Università degli Studi
di Palermo
E. Ardizzone 22
Università degli Studi
di Palermo
E. Ardizzone 24
Università degli Studi
di Palermo
E. Ardizzone 25
Università degli Studi
di Palermo
- =
9 Come si vede, l’operazione di differenza elimina tutta l’informazione
(statica) che non serve, e nel risultato rimane soltanto ciò che è cambiato
tra la prima e la seconda immagine
E. Ardizzone 26
Università degli Studi
di Palermo
E. Ardizzone 27
Università degli Studi
di Palermo
E. Ardizzone 29
Università degli Studi
di Palermo
Miglioramento locale
9 Come già notato, qualunque elaborazione puntuale diviene non omogenea
se viene applicata localmente, cioè in regioni più o meno ampie
dell’immagine. Talvolta l’elaborazione può essere applicata con
caratteristiche differenti da una regione all’altra
9 Nessuno dei due metodi di manipolazione dell’istogramma visti in
precedenza si presta ad un miglioramento dell'immagine relativo a dettagli
in piccole aree (piccolo numero di pixel), in quanto entrambi prevedono
una trasformazione basata sulla distribuzione dei livelli di grigio nell'intera
immagine
9 Possono essere più efficaci dei metodi basati sulla distribuzione dei livelli
di grigio (o di altre proprietà dei pixel) in piccole aree dell'immagine
E. Ardizzone 30
Università degli Studi
di Palermo
Miglioramento locale
9 E’ abbastanza semplice rendere locali le manipolazioni
dell’istogramma. Occorre definire una regione (quadrata o
rettangolare) e farla scorrere sull’immagine, in modo che il suo centro
coincida successivamente con tutti i pixel dell’immagine
9 In ogni nuova posizione si calcola l’istogramma dei soli pixel
contenuti nell’intorno, e si applica una procedura di equalizzazione (o
di specifica diretta)
9 La trasformazione così definita viene utilizzata per calcolare il nuovo
valore del pixel centrale dell’intorno
9 Si sposta quindi la finestra in una nuova posizione, e la procedura
viene ripetuta, finchè tutta l’immagine non è stata analizzata
E. Ardizzone 31
Università degli Studi
di Palermo
Miglioramento locale
9 Oltre all’istogramma, altre proprietà frequentemente usate in
elaborazioni locali di questo tipo sono l'intensità media, che è una
misura della luminosità media dell'intorno considerato, e la varianza,
che è una misura del contrasto nell'intorno.
9 Un esempio è il seguente:
dove: g ( x, y ) = A( x, y )[ f ( x, y ) − m( x, y )] + m( x, y )
M
A( x, y ) = k , con 0 < k < 1
σ ( x, y )
m(x.y) e σ(x,y) sono rispettivamente la media e la deviazione standard
dei livelli di grigio nell'intorno di (x,y), M è la media globale di f(x,y) e
k è una costante. La trasformazione così definita viene utilizzata per
calcolare il nuovo valore del pixel centrale dell’intorno
E. Ardizzone 32
Università degli Studi
di Palermo
Miglioramento locale
9 A(x,y) ha il significato di un fattore di guadagno locale, e come m e σ
dipende dai valori dei pixel dell'intorno considerato
E. Ardizzone 33
Università degli Studi di Palermo
Parte F
Operazioni geometriche
E. Ardizzone 2
Università degli Studi
di Palermo
Operazioni geometriche
E. Ardizzone 3
Università degli Studi
di Palermo
Operazioni geometriche
E. Ardizzone 4
Università degli Studi
di Palermo
Operazioni geometriche
Operazioni geometriche
E. Ardizzone 6
Università degli Studi
di Palermo
Operazioni geometriche
9 Una possibile soluzione consiste nel distribuire il valore del pixel di input
su più punti dell’immagine di uscita, secondo la regola di interpolazione
adottata
9 Applicando questo criterio all’esempio precedente, nel quale i pixel si
trasferivano in posizioni esattamente intermedie:
Il valore (ovvero
l’energia) del pixel
di input viene
suddiviso tra quattro
pixel di uscita
Operazioni geometriche
E. Ardizzone 8
Università degli Studi
di Palermo
Operazioni geometriche
Operazioni geometriche
E. Ardizzone 10
Università degli Studi
di Palermo
Trasformazioni spaziali
E. Ardizzone 11
Università degli Studi
di Palermo
Trasformazioni spaziali
a ( x, y ) = x + x 0 b ( x, y ) = y + y 0
ovvero, in coordinate omogenee:
a( x, y ) 1 0 x0 x
b ( x, y ) = 0 1 y0 y
1 0 0 1 1
E. Ardizzone 12
Università degli Studi
di Palermo
Trasformazioni spaziali
9 L’espansione o magnificazione o scaling di un fattore c lungo x e di un
fattore d lungo y è data da:
1
a ( x, y ) c 0 0 x
b ( x, y ) = 0 1
0 y
d
1 0 0
1 1
9 Queste trasformazioni elementari, più quelle di streching e shearing,
possono essere conglobate in una trasformazione lineare di coordinate,
chiamata trasformazione affine:
E. Ardizzone 13
Università degli Studi
di Palermo
Trasformazioni spaziali
E. Ardizzone 14
Università degli Studi
di Palermo
Trasformazioni spaziali
9 Noti tali punti corrispondenti, è possibile determinare, in funzione delle loro
coordinate, i coefficienti della trasformazione, che può quindi essere
applicata a tutti gli altri punti dell’immagine da correggere
9 Un esempio classico è quello della calibrazione geometrica di una
telecamera che produce distorsioni geometriche nelle immagini acquisite
9 Assumendo che tali distorsioni non dipendano dalla scena ripresa, ma
soltanto dai difetti del dispositivo, si può prendere a riferimento l’immagine
di una griglia rettangolare, che a causa della distorsione dà luogo ad un
pattern non perfettamente rettangolare
9 La trasformazione cercata è proprio quella che rende rettangolare il pattern
della griglia. L’applicazione della medesima trasformazione ad altre
immagini acquisite dalla stessa telecamera consente la loro correzione
9 Quella descritta è una classica operazione di restauro di immagini
E. Ardizzone 15
Università degli Studi
di Palermo
Trasformazioni spaziali
E. Ardizzone 16
Università degli Studi
di Palermo
Trasformazioni spaziali
x1′ x2′ x3′ a11 a12 t x x1 x2 x3
y′ y 2′ y3′ = a21 a 22 t y y1 y2 y3
1
1 1 1 0 0 1 1 1 1
ovvero:
P ′ = AP
dalla quale:
A = P ′P −1
9 L’inversa della P esiste se i tre punti sono linearmente indipendenti,
cioè non collineari
9 Se i punti corrispondenti sono più di tre, occorre applicare una
procedura di best fitting per determinare i coefficienti incogniti, dato
che il sistema diventa sovradeterminato
E. Ardizzone 17
Università degli Studi
di Palermo
0,1 y
0,y
0,0 x,y 0 y 1
y
x,0
Si ha pertanto:
f(1,0) 1,1
1,0 1,y [ f (0, y ) − f (0,0)]: y = [ f (0,1) − f (0,0)]: 1
x
E. Ardizzone 20
Università degli Studi
di Palermo
9 Sostituendo e raggruppando:
f ( x, y ) = [ f (1,0) − f (0,0)]x + [ f (0,1) − f (0,0)]y +
+ [ f (1,1) + f (0,0) − f (0,1) − f (1,0)]xy + f (0,0)
9 Si ottengono così i quattro coefficienti cercati:
E. Ardizzone 21
Università degli Studi
di Palermo
Elaborazioni locali
9 Fanno uso, come già detto, delle cosiddette maschere spaziali (dette
anche filtri spaziali)
9 Nell’image processing si usano sia filtri lineari che filtri non lineari
9 L’operazione di una maschera lineare può essere descritta, come è
noto, dalla seguente equazione, dove R è il valore calcolato per il pixel
inizialmente di valore z5:
9
R = w1 z1 + w2 z 2 + L + w9 z 9 = ∑ wi z i
i =1
E. Ardizzone 23
Università degli Studi
di Palermo
Elaborazioni locali
9 Un filtro siffatto può essere usato per determinare i punti più luminosi
dell’immagine
E. Ardizzone 24
Università degli Studi
di Palermo
Filtri di smoothing
E. Ardizzone 25
Università degli Studi
di Palermo
Filtri di smoothing
1 1 1 1 1 1 1 1
1 1 1 1 1 1
× 1 1 1
9 1
1 1 1 × 1 1 1 1 1
25
1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1
Altri esempi di filtri di smoothing:
1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
× 1 1 1 1 2 1
49 1 1 1 1 1 1 1 1 1
× 1 2 1 × 2 4 2
1 1 1 1 1 1 1 10 16
1 1 1 1 2 1
1 1 1 1 1 1 1
E. Ardizzone 26
Università degli Studi
di Palermo
Filtri di smoothing
originale blur 3 x 3
blur 5 x 5 blur 7 x 7
E. Ardizzone 27
Università degli Studi
di Palermo
Filtri di smoothing
E. Ardizzone 28
Università degli Studi
di Palermo
Filtri di smoothing
9 La somma dei pesi delle maschere è sempre 1. Questo significa che in
una zona dell’immagine uniformemente grigia l’applicazione del filtro,
correttamente, non altera i valori dei pixel: in tal modo il filtro non
introduce bias di intensità
9 Se l’obiettivo del filtraggio è la riduzione del rumore ma non il
blurring, cioè si desidera una immagine meno rumorosa ma che
mantenga i dettagli, i filtri di media non danno risultati soddisfacenti:
Rumore
10% 3x3 5x5
E. Ardizzone 29
Università degli Studi
di Palermo
Filtro mediano
9 Un approccio alternativo fa ricorso al filtro mediano, per effetto del
quale un pixel è sostituito dal valore mediano dei pixel nell’intorno. Si
tratta di un filtro non lineare
9 Per esempio, dato un frammento di immagine come il seguente, un
filtro mediano 3 x 3 opera nel modo illustrato:
35 52 29 35 52 29
115107 38 115 52 38
110 57 40 110 57 40
E. Ardizzone 30
Università degli Studi
di Palermo
Filtro mediano
E. Ardizzone 31
Università degli Studi
di Palermo
Filtro mediano
E. Ardizzone 32
Università degli Studi
di Palermo
Filtri di sharpening
E. Ardizzone 33
Università degli Studi
di Palermo
Filtri di sharpening
0 -1 0 -1 -1 -1 1 -2 1
-1 5 -1 -1 9 -1 -2 5 -2
0 -1 0 -1 -1 -1 1 -2 1
E. Ardizzone 34
Università degli Studi
di Palermo
Filtri di sharpening
-1 -1 -1
-1 8 -1
-1 -1 -1
E. Ardizzone 35
Università degli Studi
di Palermo
Filtri di sharpening
9 Esempio:
E. Ardizzone 36
Università degli Studi
di Palermo
Filtri di sharpening
E. Ardizzone 37
Università degli Studi
di Palermo
Filtri di sharpening
9 Da cui:
High boost = (A-1) x O + O - LP = (A-1) x O + HP
9 Se A = 1, si ottiene il filtro passa-alto classico. Se A > 1, parte
dell’immagine originale viene nuovamente aggiunta al risultato del
filtraggio passa-alto, così ripristinando (almeno parzialmente) le
componenti di bassa frequenza eliminate dalla operazione di filtraggio
9 Ne risulta una immagine più simile a quella originale, con un grado di edge
crispening che dipende dal valore del fattore di amplificazione A
9 L’implementazione del filtro di high-boost mediante una maschera è la
seguente:
-1 -1 -1
-1 w -1 dove w = 9 A − 1, con A ≥ 1
-1 -1 -1
E. Ardizzone 38
Università degli Studi
di Palermo
Filtri di sharpening
9 Alcuni esempi:
A = 1.15
A = 1.1
A = 1.2
A=1
E. Ardizzone 39
Università degli Studi
di Palermo
Filtri di sharpening
9 Per A = 1 (w = 8), il risultato è quello già visto del passa-alto che taglia
completamente l’informazione sullo sfondo, mantenendo soltanto i
contorni
9 Per A = 1.1 (w = 8.9), si aggiunge il 10% dell’immagine originale al
risultato del passa-alto, e se ne ottiene un evidente miglioramento
9 Per valori maggiori di A, lo sfondo diventa sempre più luminoso, e già
per A = 1.2 (w = 9.8), che corrisponde al ripristino del 20%
dell’immagine originale, il risultato è praticamente inutilizzabile
9 Al contrario che con i filtri di smoothing, l’uso di maschere passa-alto
di dimensioni maggiori, teoricamente possibile, è in realtà molto raro
E. Ardizzone 40
Università degli Studi
di Palermo
Filtri derivativi
E. Ardizzone 41
Università degli Studi di Palermo
Parte G
F (u ) = ℜ(u ) + jℑ(u ) = F (u ) e jφ (u )
[
F (u ) = ℜ (u ) + ℑ (u )
2 2
]1
2
è lo spettro di Fourier di f(x), mentre
ℑ(u )
φ (u ) = tan −1 ne rappresent a la fase
ℜ(u )
E. Ardizzone 3
Università degli Studi
di Palermo
P(u ) = F (u ) = ℜ 2 (u ) + ℑ2 (u )
2
E. Ardizzone 4
Università degli Studi
di Palermo
[
F (u, v ) = ℜ (u , v ) + ℑ (u , v )
2 2
] 1
2
ℑ(u, v )
φ (u , v ) = tan −1
ℜ(u , v )
P(u , v ) = F (u , v ) = ℜ 2 (u , v ) + ℑ2 (u, v )
2
E. Ardizzone 5
Università degli Studi
di Palermo
{ f ( x0 ), f ( x0 + ∆x ), f (x 0 + 2 ∆x ),K, f (x 0 + [N − 1]∆x )}
f(x0+ 2∆x)
f(x)
Pertanto la funzione di variabile
f(x0) f(x0+ (N-1) ∆x) discreta x si può scrivere come:
f(x0+∆x )
f ( x ) = f ( x0 + x∆x ), x = 0,K , N − 1
…..
∆x
E. Ardizzone 6
Università degli Studi
di Palermo
ü In altri termini, nel caso discreto 1-D la f(x) diventa una sequenza di
campioni, uniformemente distanziati di ∆x: f (0), f (1), f (2 ), K , f ( N − 1)
ü Con questa notazione, la coppia di trasformate discrete nel caso 1-D è la
seguente:
1 N −1
F (u ) = ∑ f ( x ) exp − j 2πux , per u = 0, K , N − 1
N x= 0 N
N −1
f ( x ) = ∑ F (u ) exp j 2πux , per x = 0,K , N − 1
u =0
N
ü Anche la frequenza u è una variabile discreta
ü In analogia a quanto visto per la f(x), i valori u = 0, 1, …, N - 1
nella DFT corrispondono ai campioni della trasformata continua per
0, ∆u ,K , ( N − 1)∆u.
E. Ardizzone 7
Università degli Studi
di Palermo
ü Quindi F(u) rappresenta F(u∆u), così come f(x) rappresenta f(x0 + x∆x).
La differenza è che il campionamento di F(u) comincia nell'origine
dell'asse frequenza
ü La relazione tra ∆u e ∆x è data da ∆u = 1 N ∆x .
ü Nel caso 2-D, la trasformata della sequenza bidimensionale f(x, y) è:
M −1 N −1
f ( x , y ) exp − j 2π ux + vy ,
1
F (u , v ) =
MN
∑∑
x =0 y = 0
M N
con u = 0, K , M − 1 e v = 0, K , N − 1.
E. Ardizzone 8
Università degli Studi
di Palermo
ü Analogamente, la antitrasformata è:
M −1 N −1
j 2π ux + vy ,
f ( x, y ) = ∑ ∑ F ( u , v ) exp
M N
u =0 v =0
con x = 0,K , M − 1 e y = 0, K , N − 1.
E. Ardizzone 9
Università degli Studi
di Palermo
∑ ∑ f ( x, y) exp[− j 2π (ux + vy ) N ]
1
F (u , v ) = con u , v = 0, K , N − 1
N x =0 y =0
N −1 N −1
E. Ardizzone 10
Università degli Studi
di Palermo
ü Facciamo un esempio di calcolo della DFT nel caso 1-D, per illustrare i
concetti finora esposti, considerando la f(x) seguente:
f(x) f(x) = f(x0 +x∆x)
4 4
3 3
2 2
ü Applicando la
N −1
=
1
[2 + 3 + 3 + 4 + 2.8] = 2.96
5
5 x=0
[ 1
5 5
]
F (1) = ∑ f ( x) exp − j 2π x = 2 exp [0] + 3 exp − j 2π
1 4
5
ü Pertanto:
F (1) = 2 + 3 exp − j 2π
1
5 5
etc.
ü Qual è l’interesse nel campione F(0), la componente continua di F(u)?
E. Ardizzone 14
Università degli Studi
di Palermo
E. Ardizzone 15
Università degli Studi
di Palermo
f(x,y) |F(u,v)|
E. Ardizzone 17
Università degli Studi
di Palermo
Le immagini di base
ü La DFT nel caso 1-D può essere scritta come:
1 N −1 − π
N −1
F (u ) = ∑ f ( x ) exp j 2 ux =
∑ f ( x ) g ( x , u ), per u = 0,K , N − 1
N x=0
N
x =0
dove
1
g ( x , u ) = exp [− j 2πux N ]
N
è il kernel della trasformazione diretta (in maniera analoga si può
procedere per la antitrasformata), che non dipende dalla f(x)
ü Passando alla notazione vettoriale, la sequenza f(x) può essere
rappresentata dal vettore f, le cui N componenti valgono f(0), f(1), …, f(N-
1)
E. Ardizzone 18
Università degli Studi
di Palermo
Le immagini di base
ü Il kernel g(x,u) può essere rappresentato come un set di vettori, uno per
ciascun valore di u
ü La prima componente di ciascun vettore è g(0,u), la seconda è g(1,u), etc.,:
1
exp[− j 2πu N ]
1
g u = exp [− j 2πu 2 N ] , per u = 0,1, K , N − 1
N
M
exp [− j 2πu ( N − 1) N ]
ü La DFT può essere quindi vista come il prodotto interno di f per un set di
N vettori:
F (u ) = (f , g u ), per u = 0,1,K , N − 1
E. Ardizzone 19
Università degli Studi
di Palermo
Le immagini di base
E. Ardizzone 20
Università degli Studi
di Palermo
Le immagini di base
ü Le parti reale ed immaginaria dei vettori di base dello spazio di Fourier
sono funzioni seno e coseno campionate (di differente frequenza),
completamente definite una volta fissato il valore di N
ü Per esempio, le prime 9 funzioni di base (per N = 16) sono:
E. Ardizzone 21
Università degli Studi
di Palermo
Le immagini di base
ü Si ritrova un risultato già ottenuto: la funzione di base g0 è una costante
reale: la proiezione su questo vettore è la media dei valori di f
ü L’estensione di questi concetti al caso 2-D è immediata: la DFT proietta
l’immagine di ingresso su un set di MN matrici o immagini di base
ü Infatti, ricordando che:
M −1 N −1
con u = 0, K , M − 1 e v = 0, K , N − 1.
exp − j 2π ux + vy
1
g ( x, y , u , v) =
MN M N
E. Ardizzone 22
Università degli Studi
di Palermo
Le immagini di base
ü Dato che g ( x, y , u , v) = g1 ( x, u ) g 2 ( y , v ) il kernel si dice separabile
ü Ciò permette di scrivere, in forma matriciale, il kernel 2-D come:
1
exp [− j 2πu M ]
1
g u ,v = exp[− j 2πu 2 M ] × MN immagini di base
MN
M
exp[− j 2πu ( M − 1) M ]
Le immagini di base
ü In altre parole, se il kernel della trasformazione è separabile, come nel
caso della DFT, le matrici di base sono esprimibili mediante il prodotto
esterno del vettore colonna e del vettore riga che costituiscono i vettori di
base della DFT nel caso 1-D
ü La DFT in 2-D è dunque l’espansione di una matrice, l’immagine f, su un
set di MN matrici (le immagini di base guv), che costituiscono la base
ortonormale di uno spazio vettoriale a MN dimensioni
ü In tale spazio vettoriale, una immagine è un punto. Il vettore che lo
rappresenta è una combinazione lineare delle immagini di base
E. Ardizzone 24
Università degli Studi
di Palermo
Le immagini di base
ü Vediamo come si presentano le immagini di base in un caso semplice. Si
supponga N = M = 4: y
1 x
1 1 1 1
1 1 1
1 1 1 1
g 0, 0 = [1 1 1 1] =
4 1 4 1 1 1 1
1 1 1 1 1 1
1 1
g 0,1 = [1 exp [− j 2π / 4] exp [− j 4π / 4] exp [− j 6π / 4]]
4 1
1
1 exp [− jπ / 2] exp [− jπ ] exp[− j3π / 2] 1 − j −1 j
exp [− jπ / 2] exp [− jπ ] exp[− j3π / 2] 1 1 − j −1 j
1 1 =
=
4 1 exp [− jπ / 2] exp [− jπ ] exp[− j3π / 2] 4 1 − j −1 j
1 exp [− jπ / 2] exp [− jπ ] exp[− j3π / 2] 1 − j −1 j
E. Ardizzone 25
Università degli Studi
di Palermo
Le immagini di base
1 1 1 1 1
1 exp[− j 2π / 4] 1 − j − j − j − j
g 1, 0 = [1 1 1 1] = L =
4 exp[− j 4π / 4] 4 −1 − 1 − 1 −1
[ ]
exp − j 6π / 4 j j j j
E. Ardizzone 26
Università degli Studi
di Palermo
Le immagini di base
1
1 exp[− j 2π / 4]
g 1,1 = [1 exp [− j 2π / 4] exp [− j 4π / 4] exp [− j 6π / 4]]
4 exp[− j 4π / 4]
exp [− j 6π / 4 ]
1 − j −1 j
1
1 − j − 1 j
=L=
4 −1 j 1 − j
j 1 − j − 1
E. Ardizzone 27
Università degli Studi
di Palermo
Le immagini di base
1 1 1 1 1
1 exp[− j 4π / 4] 1 − 1 − 1 − 1 − 1
g 2,0 = [1 1 1 1] = L =
4 exp [− j8π / 4] 4 1 1 1 1
[ ]
exp − j12π / 4 − 1 − 1 − 1 − 1
E. Ardizzone 28
Università degli Studi
di Palermo
Le immagini di base
1 1 1 1 1 − j −1 j 1 − 1 1 − 1 1 j −1 − j
1 1 1 1 1 − j −1 j 1 − 1 1 − 1 1 j −1 − j
g 0 ,0 = g 0 ,1 = g 0 ,2 = g 0 ,3 =
1 1 1 1 1 − j −1 j 1 − 1 1 − 1 1 j −1 − j
1 1 1 1 1 − j −1 j 1 − 1 1 − 1 1 − 1 − j
j
1 1 1 1 1 − j −1 j 1 − 1 1 − 1 1 j −1 − j
− j − j − j −1 −j j −j j − j 1
=
−j −j
g1,1 =
j 1
g1, 2 = j −1
g1, 0 g1,3 =
− 1 −1 −1 −1 −1 j 1 − j −1 1 −1 1 −1 − j 1 j
j 1 − j − 1 j − j j − j j
j j j j − 1 − j 1
1 1 1 1 1 − j −1 j 1 − 1 1 − 1 1 j − 1 − j
− 1 − 1 − 1 − 1 −1 j 1 − j − 1 1 − 1 1 j
g 2 ,0 = g 2 ,1 = g 2 ,2 = g = −1 − j 1
1 1 1 1 1 − j −1 j 1 − 1 1 − 1 2 ,3
1 j − 1 − j
− 1 − 1 − 1 − 1 −1 j
1 − j − 1 1 − 1 1
−1 − j 1 j
1 1 1 1
1 − j −1 j
j 1 − 1 1 −1 1 j − 1 − j
j j j j 1 − j −1 j
g 3,0 = g = j − j j −j −1 − j 1
− 1 − 1 − 1 − 1 g 3,1 = − 1 j
1 − j 3,2 − 1 1 − 1 1 g 3,3 = − 1 − j 1
j
− j − j − j − j − j −1 − j 1
j 1 − j j −j j j − 1
E. Ardizzone 29
Università degli Studi
di Palermo
Le immagini di base
ü Note le immagini di base, il calcolo di ogni campione della F(u,v) si riduce
al prodotto punto per punto dell’immagine f per la corrispondente
immagine di base gu,v, alla somma dei risultati così ottenuti ed alla
divisione per il fattore MN
ü Un aspetto interessante è la variabilità dei coefficienti delle immagini di
base, in quanto rappresentativa delle frequenze corrispondenti
ü Questo può essere meglio visto considerando le parti reali e immaginarie
di ciascuna delle matrici di base. A tal fine, utilizzando la notazione:
g u , v = ru , v + ji u , v
si ottiene per esempio:
1 0 − 1 0 0 − 1 0 1
1 1 1 1 0 0 0 0 1
1 0 − 1 0 0 − 1 0 1
1 1 1 0 0 0 0 r0,1 = i 0 ,1 =
r0,0 = i 0 ,0 = 1 0 − 1 0 0 − 1 0 1
1 1 1 1 0 0 0 0
1 1 0 − 1 0 0
− 1 0 1
1 1 1
0 0 0 0
E. Ardizzone 30
Università degli Studi
di Palermo
Le immagini di base
ü Le parti reali, per esempio, possono essere rappresentate nel modo illustrato,
dove ogni
v
blocco consiste di 4 x 4 elementi (x e y variabili tra 0 e 3):
0 1 2 3
u
0 L’origine di ogni blocco
è in alto a sinistra
1
Il valore +1 è rappresentato
in bianco, il valore 0 in
grigio, il valore -1 in nero
2
ü Poichè:
F (u , v) = (f , g u , v ), per u , v = 0, K , N − 1
si ottiene:
F (0,0) = (f , g 0 , 0 ) = L = 4 F (0,1) = (f , g 0.1 ) = L = −2 − j 2 L L
F (1,0) = (f , g1.0 ) = L = −2 − j 2 L LF (1,2) = (f , g 1.2 ) = L = 0
E. Ardizzone 32
F (3,3) = (f , g 3, 3 ) = L = − j 2
Università degli Studi
di Palermo
E. Ardizzone 33
Università degli Studi
di Palermo
Proprietà della trasformata 2-D di Fourier
ü Poiché 0 < |F(u,v)| < R = 6.47x106, si ha 0 < D(u,v) <c log(1+R).
ü Dato che R >> 1, come peraltro avviene normalmente per lo spettro di
Fourier di una immagine, si può porre clogR = L-1, da cui
c = (L-1)/logR = 255/log(6.47x106) = 16.26
ü Pertanto D(u,v) ha tutti i valori nell’intervallo [0, 255], e ciò consente la
visualizzazione di molti più dettagli:
E. Ardizzone 35
Università degli Studi
di Palermo
dove:
1 N −1
F ( x , v) = N ∑ f ( x, y ) exp[− j 2πv y N ]
N y=0
ü Per ogni valore di x, l'espressione in parentesi è una trasformata 1-D nel
dominio di v (con v = 0, 1, ..., N-1)
ü Pertanto la funzione 2-D F(x,v) è ottenuta effettuando una trasformata
lungo ogni riga della f(x,y) e moltiplicando il risultato per N
ü F(u,v) è a questo punto calcolata effettuando una trasformata lungo ogni
colonna di F(x,v)
E. Ardizzone 36
Università degli Studi
di Palermo
E. Ardizzone 37
Università degli Studi
di Palermo
E. Ardizzone 38
Università degli Studi
di Palermo
e quindi:
f(x,y)(-1) ⇔ F(u- N 2 ,v- N 2 )
x+y
ü Quindi la trasformata di Fourier può essere riferita al centro del piano delle
frequenze, semplicemente moltiplicando f(x,y) per (-1)x+y prima della
trasformazione
ü Si noti inoltre che lo spostamento di f(x,y) di una quantità (x0,y0) non
influenza lo spettro, in quanto:
F(u,v) exp [− j 2π (ux0 + vy0 ) N ] = F(u,v)
ü Queste proprietà vengono utilizzate per una migliore visualizzazione dello
spettro, come vedremo E. Ardizzone 39
Università degli Studi
di Palermo
E. Ardizzone 42
Università degli Studi
di Palermo
E. Ardizzone 43
Università degli Studi
di Palermo
E. Ardizzone 44
Università degli Studi
di Palermo
E. Ardizzone 45
Università degli Studi
di Palermo
Proprietà della trasformata 2-D di Fourier
ü Considerazioni analoghe valgono per la DFT 2-D. In questo caso lo shift
dell’origine del piano delle frequenze va fatto nel punto di coordinate
(N/2,N/2), cioè nel centro del piano delle frequenze. Questo può essere
realizzato moltiplicando la f(x,y) per (-1)x+y
E. Ardizzone 46
Università degli Studi
di Palermo
Proprietà della trasformata 2-D di Fourier
Rotazione
ü Rappresentando f(x,y) e F(u,v), rispettivamente, nelle coordinate polari r e
θ, ω e φ:
x = r cos θ y = r sin θ u = ω cos φ v = ω sin φ
si ottengono f(r,θ) e F(ω,φ). E’ facile verificare che si ha anche:
f ( r ,θ + θ 0 ) ⇔ F (ω , φ + θ 0 )
ü In altre parole, la rotazione di f(x,y) di un angolo θ0 ruota anche F(u,v) di
una quantità uguale, e viceversa
E. Ardizzone 47
Università degli Studi
di Palermo
Proprietà della trasformata 2-D di Fourier
Valore medio
ü Per una f(x,y) discreta, il valore medio è solitamente definito come:
N −1 N −1
1
f ( x, y ) = 2
N
∑ ∑ f ( x, y)
x =0 y =0
N −1 N −1
1
F (0,0) =
N
∑∑ f ( x, y )
x=0 y =0
ü Quindi:
1
f ( x, y ) = F ( 0,0)
N
E. Ardizzone 48
Università degli Studi
di Palermo
E. Ardizzone 49
Università degli Studi
di Palermo
Proprietà della trasformata 2-D di Fourier
ü E’ utile a tale scopo il seguente esperimento: date le due immagini di sinistra, se ne
calcolano le DFT. Si ricostruiscono quindi le due immagini scambiandone le fasi;
sulla destra sono mostrate le immagini così ottenute
modulo
fase
fase
modulo
E. Ardizzone 50
Università degli Studi
di Palermo
E. Ardizzone 51
Università degli Studi di Palermo
Convoluzione
9 Insieme con la correlazione, costituisce il legame essenziale tra il dominio
spaziale e il dominio della frequenza, oltre che la base di molti algoritmi di
image processing
9 Date due funzioni continue 1-D, f(x) e g(x), la loro convoluzione è definita
da: ∞
f ( x) ∗ g ( x) = ∫ f (α ) g ( x − α )dα
−∞
dove α è una variabile di comodo per l’integrazione
9 A titolo di esempio, consideriamo le due funzioni seguenti:
E. Ardizzone 2
Università degli Studi
di Palermo
Convoluzione
9 Prima dell’integrazione, occorre costruire la g(x-α). A tal fine, bisogna
ribaltare g(α) rispetto all’origine, in modo da ottenere g(-α), e quindi
traslare la funzione così ottenuta di una quantità x:
9 A questo punto, per ciascun valore di x, f(α) deve essere moltiplicata per il
corrispondente valore di g(x-α), ed infine il prodotto così ottenuto (area
grigia nelle figure seguenti) deve essere integrato:
E. Ardizzone 3
Università degli Studi
di Palermo
Convoluzione
Convoluzione
9 E’ importante analizzare il caso particolare della convoluzione di una f(x)
con funzioni di tipo impulsivo
9 L’impulso δ(x - x0) è definito dalla relazione:
∞
∫−∞
f ( x)δ ( x − x0 ) dx = f ( x0 )
9 Si può dire pertanto che δ(x - x0) è localizzato in x = x0, e che l’ampiezza
dell’impulso è determinata dal valore di f(x) in x = x0
E. Ardizzone 5
Università degli Studi
di Palermo
Convoluzione
9 Se per esempio f(x) = A, Aδ(x - x0) è un impulso di ampiezza A localizzato
in x = x0:
A
x0
9 Un esempio interessante di convoluzione è quella tra una funzione f(x) e
un treno di impulsi. In questo caso, il risultato è la replica della f(x) nei
punti di localizzazione degli impulsi:
g(x)=δ (x+T)+δ (x)+δ (x-T) f ( x) ∗ g ( x)
f(x)
A A
a x
∗ -T T
=
x -T a T x
E. Ardizzone 6
Università degli Studi
di Palermo
f ( x ) ∗ g ( x) ⇔ F (u )G (u )
9 La convoluzione di due funzioni, f(x) e g(x), ha come trasformata di
Fourier il prodotto delle trasformate delle due funzioni
9 In altre parole, la convoluzione nel dominio spaziale corrisponde al
prodotto nel dominio della frequenza. Analogamente, la convoluzione nel
dominio della frequenza corrisponde al prodotto nel dominio spaziale:
f ( x ) g ( x ) ⇔ F (u ) ∗ G (u )
9 Le due relazioni costituiscono il teorema della convoluzione
E. Ardizzone 7
Università degli Studi
di Palermo
Convoluzione discreta
9 Passando al caso discreto 1-D, supponiamo che f(x) e g(x) siano due
sequenze di, rispettivamente, A e B valori
9 Come si è visto, nel caso discreto le DFT e le loro inverse sono funzioni
periodiche
9 Per soddisfare questa condizione, la formulazione della convoluzione
discreta assume pertanto che f(x) e g(x) siano periodiche con un certo
periodo M, di valore tale che:
M≥A+B-1
9 In tali ipotesi, anche la convoluzione è periodica, con lo stesso periodo M
9 Se la condizione precedente non è soddisfatta, i periodi della convoluzione
si sovrappongono (errore di wraparound, M < A + B - 1) oppure risultano
adiacenti (M = A + B - 1)
E. Ardizzone 8
Università degli Studi
di Palermo
Convoluzione discreta
9 In pratica, dato che M deve essere maggiore sia di A che di B, basta
incrementare la lunghezza delle sequenze discrete, aggiungendo dei valori
pari a 0 (sequenze estese):
f ( x) 0 ≤ x ≤ A −1 g ( x) 0 ≤ x ≤ B − 1
f e ( x) = g e ( x) =
0 A ≤ x ≤ M −1 0 B ≤ x ≤ M −1
9 Sulla base di queste estensioni, la convoluzione discreta di fe(x) e ge(x) è
così definita:
M −1
f e ( x) ∗ g e ( x) = ∑f
m =0
e (m) g e ( x − m), per x = 0,1, K, M − 1
E. Ardizzone 9
Università degli Studi
di Palermo
Convoluzione discreta
9 Il teorema della convoluzione discreta è espresso dalle relazioni già viste:
f ( x ) ∗ g ( x) ⇔ F (u )G (u )
x,u = 0,1, …, M-1
f ( x ) g ( x ) ⇔ F (u ) ∗ G (u )
=
ge(x) f e ( x) ∗ g e ( x)
1
∗ 1/2 1/2
1 2 x 1 2 x 1 2 x
A A
M M M
E. Ardizzone 10
Università degli Studi
di Palermo
Convoluzione 2-D
9 Nel caso 2-D, la convoluzione di due funzioni continue, f(x,y) e g(x,y), è
definita come:
∞
f ( x, y ) ∗ g ( x , y ) = ∫ ∫ f (α , β ) g ( x − α , y − β )dαdβ
−∞
f ( x, y ) ∗ g ( x, y ) ⇔ F (u , v)G (u , v)
f ( x, y ) g ( x, y ) ⇔ F (u , v) ∗ G (u , v)
9 Le fasi di ribaltamento, traslazione e moltiplicazione richieste dalla
convoluzione 2-D possono essere schematizzate nel modo seguente:
E. Ardizzone 11
Università degli Studi
di Palermo
Convoluzione 2-D
Al variare di x e y, la
convoluzione 2-D è
una superficie la cui
forma dipende dalla
natura delle funzioni
utilizzate
E. Ardizzone 12
Università degli Studi
di Palermo
Convoluzione 2-D discreta
9 La formulazione della convoluzione 2-D discreta assume che f(x,y) e g(x,y)
siano due array discreti di dimensione A x B e C x D, rispettivamente
9 Come nel caso 1-D, questi array devono essere considerate periodici, con
periodo M ed N, rispettivamente, lungo le direzioni x ed y
9 L’errore di wraparound non si verifica se:
M ≥ A + C - 1 ed N ≥ B + D - 1
9 Le sequenze periodiche sono formate estendendo f(x,y) e g(x,y) nel modo
seguente:
f ( x, y ) 0 ≤ x ≤ A −1 e 0 ≤ y ≤ B −1
f e ( x, y ) =
0 A ≤ x ≤ M −1 o B ≤ y ≤ N −1
g ( x, y ) 0 ≤ x ≤ C −1 e 0 ≤ y ≤ D −1
g e ( x, y ) =
0 C ≤ x ≤ M −1 o D ≤ y ≤ N −1
E. Ardizzone 13
Università degli Studi
di Palermo
Convoluzione 2-D discreta
9 La convoluzione discreta 2-D di fe(x,y) e ge(x,y) è così definita:
M −1 N −1
f e ( x, y ) ∗ g e ( x, y ) = ∑∑ f
m=0 n=0
e (m, n) g e ( x − m, y − n)
per x = 0, 1, …, M - 1 e y = 0, 1, …, N - 1
9 Questo array M x N è in realtà un periodo della convoluzione discreta 2-D
9 Se le condizioni precedenti su M ed N non sono soddisfatte, i periodi della
convoluzione si sovrappongono (errore di wraparound)
9 Il teorema della convoluzione discreta 2-D è espresso dalle relazioni già
viste:
f ( x, y ) ∗ g ( x, y ) ⇔ F (u , v)G (u , v)
f ( x, y ) g ( x, y ) ⇔ F (u , v) ∗ G (u , v)
dove u = 0, 1, …, M - 1 e v = 0, 1, …, N - 1, e le sequenze sono estese se si
vuole evitare l’errore di wraparound
E. Ardizzone 14
Università degli Studi
di Palermo
x -1/2 1/2 x
E. Ardizzone 15
Università degli Studi
di Palermo
f(x) g(x)
x x
E. Ardizzone 16
Università degli Studi
di Palermo
E. Ardizzone 18
Università degli Studi
di Palermo
E. Ardizzone 19
Università degli Studi
di Palermo
Convoluzione e filtraggio spaziale
9 In sostanza le due operazioni coincidono se la maschera è simmetrica
rispetto al suo punto centrale, come avviene per la maggior parte dei filtri
adoperati per il miglioramento di qualità
9 Per i motivi suddetti le maschere spaziali sono anche dette maschere di
convoluzione
9 Quanto detto risolve il problema del calcolo dell’uscita del filtro spaziale
ai bordi dell’immagine?
9 Si può osservare ancora che alla operazione così definita nel dominio
spaziale:
g ( x, y ) = f ( x, y ) ∗ h ( x, y )
per effetto del teorema della convoluzione corrisponde, nel dominio delle
frequenze spaziali, l’operazione:
G (u , v ) = F (u , v) H (u , v)
9 Questa è la base teorica delle tecniche di elaborazione nel dominio della
frequenza, basate sulla manipolazione della DFT dell’immagine
E. Ardizzone 20
Università degli Studi
di Palermo
E. Ardizzone 21
Università degli Studi
di Palermo
E. Ardizzone 22
Università degli Studi
di Palermo
E. Ardizzone 23
Università degli Studi
di Palermo
Correlazione
9 Date due funzioni continue 1-D, f(x) e g(x), la loro correlazione è definita
da: ∞
f ( x) o g ( x) = ∫ f * (α ) g ( x + α )dα
−∞
E. Ardizzone 24
Università degli Studi
di Palermo
Correlazione
E. Ardizzone 25
Università degli Studi
di Palermo
Correlazione
9 La formulazione della correlazione discreta assume ancora che f(x) e g(x)
siano estese e periodiche con un certo periodo M, di valore opportuno:
M −1
f e ( x) o g e ( x) = ∑
m=0
f e* (m) g e ( x + m), per x = 0,1, K, M − 1
9 Nel caso 2-D, la correlazione continua è:
∞
f ( x , y ) o g ( x, y ) = ∫ ∫ f * (α , β ) g ( x + α , y + β )dαdβ
−∞
mentre la correlazione discreta è:
M −1 N −1
f e ( x, y ) o g e ( x, y ) = ∑∑
m=0 n=0
f e* (m, n) g e ( x + m, y + n)
per x = 0, 1, …, M - 1 e y = 0, 1, …, N - 1
9 Per le funzioni estese, i periodi, etc. valgono le stesse considerazioni viste
per la convoluzione
E. Ardizzone 26
Università degli Studi
di Palermo
Correlazione
9 Il teorema della correlazione 2-D, sia nel caso continuo che nel caso
discreto, è espresso dalle relazioni:
f ( x, y ) o g ( x, y ) ⇔ F * (u , v )G (u , v )
f * ( x , y ) g ( x , y ) ⇔ F (u, v ) o G (u , v )
dove u = 0, 1, …, M - 1 e v = 0, 1, …, N - 1, e le sequenze sono estese e
periodiche
9 La correlazione è uno strumento largamente utilizzato nell’analisi di
immagini, soprattutto per algoritmi di filtraggio (si veda quanto già detto a
proposito della convoluzione) e di matching di immagini
E. Ardizzone 27
Università degli Studi
di Palermo
Campionamento di funzioni 1-D
9 La digitalizzazione di una immagine continua comporta ovviamente una
enorme perdita di informazione. E’ quindi importante analizzare più a
fondo il processo di campionamento, per determinare in quali condizioni
una immagine continua possa essere interamente ricostruita (cioè senza
perdita di informazione) a partire da un insieme di valori campionati
9 Supponiamo che la f(x) seguente, che si estende da - ∞ a ∞, abbia la
trasformata di Fourier non nulla nell’intervallo [- W, W], sia cioè una
funzione a banda limitata:
f(x) F(u)
x -W W u
9 Il campionamento può essere effettuato moltiplicando la f(x) per una
funzione di campionamento s(x), cioè un treno di impulsi distanziati di ∆x,
la cui trasformata è ancora un treno di impulsi, distanziati di 1/ ∆x:
E. Ardizzone 28
Università degli Studi
di Palermo
Campionamento di funzioni 1-D
f(x) F(u)
x -W W u
s(x) S(u)
∆x x −1/∆x 1/∆x u
s(x)f(x) S (u ) ∗ F (u )
E. Ardizzone 30
Università degli Studi
di Palermo
E. Ardizzone 31
x -W W u
Università degli Studi
di Palermo
E. Ardizzone 32
Università degli Studi
di Palermo
x −1/∆x 1/∆x u
-W W
9 Il campionamento in un intervallo di dimensione finita [0, X] può essere
rappresentato matematicamente moltiplicando la funzione campionata per
una finestra h(x) avente ampiezza unitaria in [0, X] e nulla altrove:
h(x) H(u)
1
X x u
-1/X 1/X
h(x)[s(x)f(x)] H (u ) ∗ [S (u ) ∗ F (u )]
x u
E. Ardizzone 33
Università degli Studi
di Palermo
Campionamento di funzioni 1-D
9 La trasformata di questo prodotto, applicando il teorema della convoluzione,
è la convoluzione di H(u) e della funzione periodica ottenuta in precedenza
9 Poiché H(u) ha componenti in frequenza che si estendono all’infinito,
questa convoluzione introduce una distorsione nella rappresentazione nel
dominio della frequenza di una funzione campionata in un intervallo finito,
come è qualitativamente mostrato nella figura precedente
9 Di conseguenza, anche se il teorema del campionamento è soddisfatto, la
ricostruzione esatta di una funzione campionata in un intervallo finito non è
in generale possibile. La distorsione è tanto più severa quanto meno estesa è
la finestra di campionamento
9 La trasformata di Fourier della funzione originale può essere completamente
isolata solo se f(x) è a banda limitata e periodica, con un periodo uguale a X
E. Ardizzone 34
Università degli Studi
di Palermo
Campionamento di funzioni 2-D
9 Gli stessi concetti utilizzati nel caso 1-D possono essere applicati a funzioni
2-D. Il processo di campionamento può essere formulato matematicamente
usando la funzione impulsiva 2-D δ (x,y), definita come:
∞
∫ ∫ f ( x, y)δ ( x − x , y − y
−∞
0 0 )dxdy = f ( x0 , y0 )
y
Una funzione continua f(x,y)
può essere campionata
formando il prodotto
∆x
E. Ardizzone s(x,y)f(x,y) 35
∆y
x
Università degli Studi
di Palermo
1 1
∆x ≤ ∆y ≤
2Wu 2Wv
9 Se f(x,y) è campionata in un intervallo limitato (usando una finestra 2-D
h(x,y) analoga alla h(x) utilizzata nel caso 1-D), la sua trasformata è
distorta, per cui il recupero completo della f(x,y) a partire dai valori discreti
non è possibile, tranne che nel caso di funzioni a banda limitata e
periodiche, con periodo uguale all’intervallo di campionamento
E. Ardizzone 37
Università degli Studi
di Palermo
La trasformata veloce di Fourier (FFT)
9 Nel caso 1-D, il calcolo della DFT direttamente dalla definizione
1 N −1
F (u ) = ∑ f ( x) exp − j 2πux , per u = 0, K, N − 1
N x =0 N
richiede, per ogni campione, l’esecuzione di N moltiplicazioni complesse di
f(x) per exp[-j2πux/N] e di N-1 addizioni complesse dei prodotti risultanti
9 Anche senza considerare il costo del calcolo del kernel, i cui termini, non
dipendendo da f(x), possono essere pre-calcolati e memorizzati in una tabella
di look-up, la complessità computazionale del calcolo diretto della DFT nel
caso 1-D è O(N 2). La necessità di algoritmi di calcolo più efficaci è ovvia.
9 L’analisi può essere limitata al caso 1-D, dato che la trasformata 2-D, come si
è visto, può essere ottenuta mediante successive trasformate 1-D
9 Gli algoritmi di trasformazione veloce (Fast Fourier Trasform), di cui adesso
vedremo un esempio, si basano su una strategia ricorsiva di scomposizione del
problema del tipo divide and conquer, analoga a quella di ricerca binaria
E. Ardizzone 38
Università degli Studi
di Palermo
E. Ardizzone 39
Università degli Studi
di Palermo
2π 2π
9 Poiché W2uM( 2 x ) = exp − j u 2 x = exp − j ux = WMux
2M M
si può scrivere:
M −1 M −1
1 1 1
F (u ) =
2 M
∑
x =0
f (2 x)W ux
M +
M
∑ x =0
f (2 x + 1)WMuxW2uM
E. Ardizzone 40
Università degli Studi
di Palermo
9 Fe(u) e Fo(u), sono due trasformate con metà dei campioni della F(u)
ciascuna, rispettivamente la metà pari e la metà dispari
E. Ardizzone 41
Università degli Studi
di Palermo
E. Ardizzone 42
Università degli Studi
di Palermo
E. Ardizzone 43
Università degli Studi
di Palermo
E. Ardizzone 44
Università degli Studi
di Palermo
La trasformata veloce di Fourier (FFT)
9 Gli stessi ragionamenti possono essere fatti per qualunque n intero positivo.
Si perviene pertanto alle seguenti espressioni ricorsive:
m(n) = 2 ∗ m(n − 1) + 2 n −1
a (n) = 2 ∗ a (n − 1) + 2 n
entrambe valide per n ≥ 1, con m(0) = 0 ed a(0) = 0, dato che la trasformata di
un solo punto non richiede né moltiplicazioni né addizioni
9 A questo punto, il calcolo del numero di operazioni richieste dall’algoritmo
FFT può essere effettuato per induzione, cioè assumendo vera per n le
espressioni di m(n) e di a(n) e verificandone la validità per n = 1 e per n + 1
9 Le espressioni di m(n) e di a(n) sono:
1 1 1
m(n) = 2 n log 2 2 n = N log 2 N = Nn per n ≥ 1
2 2 2
a (n) = 2 n log 2 2 n = N log 2 N = Nn per n ≥ 1
E. Ardizzone 45
Università degli Studi
di Palermo
E. Ardizzone 46
Università degli Studi
di Palermo
E. Ardizzone 48
Università degli Studi
di Palermo
E. Ardizzone 49
Università degli Studi
di Palermo
Trasformate
a2
Trasformate a 4
Trasformata a 8
FFT
E. Ardizzone 50
Università degli Studi
di Palermo
E. Ardizzone 53
Università degli Studi
di Palermo
g ( x, y , u , v ) = g1 ( x, u ) g1 ( y , v ) =
1 1
= [
exp − j 2πux N ] exp[− j 2πvy N ]
N N
9 Anche il kernel inverso di Fourier è separabile e simmetrico
9 Una trasformata con kernel separabile può essere calcolata in due passi
successivi, costituiti da trasformazioni 1-D, come si è visto per la DFT
E. Ardizzone 54
Università degli Studi
di Palermo
∑a
h =1
ih a jh = 0 per i ≠ j (i, j = 1, K, N )
N
∑a
h =1
ih a jh = 1 per i = j (i, j = 1, K, N )
E. Ardizzone 57
Università degli Studi
di Palermo
BTB = BAFAB
9 Se B = A-1:
F = BTB
E. Ardizzone 58
Università degli Studi
di Palermo
E. Ardizzone 59
Università degli Studi
di Palermo
N x =0 i =0
N i =0
dove bk(z) è il k-mo bit nella rappresentazione binaria di z
9 Per esempio, se n = 3 e z = 6 = 1102, si ha: b0 ( z ) = 0 b1 ( z ) = 1 b2 ( z ) = 1
9 Sviluppando l’esempio (n = 3, N = 8) si ha:
1 2
g ( x, u ) = ∏ (− 1) i n−1−i
b ( x )b (u )
8 i =0
E. Ardizzone 60
Università degli Studi
di Palermo
8 i =0 8 8
1 2 1 1
g (0,1) = ∏ (− 1) i n−1−i = (− 1) 0 2 (− 1) 1 1 (− 1) 2 0 =
b ( 0)b (1) b ( 0 ) b (1) b ( 0 ) b (1) b ( 0 ) b (1)
8 i =0 8 8
...
1 2 1 1
g (3,2) = ∏ (− 1) i n−1−i = (− 1) 0 2 (− 1) 1 1 (− 1) 2 0 = −
b ( 3) b ( 2) b ( 3) b ( 2 ) b ( 3) b ( 2 ) b ( 3) b ( 2 )
8 i =0 8 8
...
E. Ardizzone 62
Università degli Studi
di Palermo
N −1 N −1 n −1
1 [bi ( x ) bn−1−i ( u ) + bi ( y ) bn−1−i ( v ) ]
f ( x, y ) =
N
∑ ∑W (u, v)∏ (− 1)
u =0 v =0 i =0
E. Ardizzone 63
Università degli Studi
di Palermo
1
Il valore +1 è rappresentato
in bianco, il valore -1 in
nero
2
E. Ardizzone 65
Università degli Studi
di Palermo
h( x, u ) = (− 1)∑
bi ( x ) bi ( u )
i =0
E. Ardizzone 66
Università degli Studi
di Palermo
f ( x) = ∑ H (u )(− 1)∑
bi ( x ) bi ( u )
i =0
u =0
9 Nel caso 2-D, il kernel diretto ed il kernel inverso di Hadamard valgono
rispettivamente: n −1
1
g ( x, y, u , v) = (− 1)∑
[bi ( x ) bi ( u ) + bi ( y ) bi ( v ) ]
i =0
N
n −1
1
h( x, y, u , v) = (− 1)∑
[bi ( x ) bi ( u ) + bi ( y ) bi ( v ) ]
i =0
N
9 La DHT e la sua inversa sono quindi espresse come:
n −1
1 N −1 N −1
H (u, v) = ∑∑ f ( x, y )(− 1)∑
[bi ( x ) bi ( u ) + bi ( y ) bi ( v ) ]
i =0
N x =0 y =0
N −1 N −1 n −1
1 ∑ [bi ( x )bi ( u ) + bi ( y )bi ( v ) ]
f ( x, y ) =
N
∑∑ H (u ,
u =0 v =0
v ) (− 1)i =0
E. Ardizzone 67
Università degli Studi
di Palermo
La trasformata discreta di Hadamard (DHT)
9 Valgono anche per la DHT le considerazioni fatte a proposito della
separabilità e della simmetria dei kernel della trasformata, della possibilità di
calcolare la trasformata 2-D mediante successive trasformazioni 1-D, etc.
9 Tornando al caso 1-D, è interessante notare che la matrice dei valori prodotti
dal kernel di Hadamard è uguale a quella di Walsh, ad eccezione della
posizione di alcune righe e colonne, che risultano disposte in ordine
differente:
x x
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
u + + + + + u + + + + +
0 + + + 0 + + +
+ + + - - - + - - +
1 + - - 1 + + -
+ - - + - + - - + -
2 + + - 2 + + -
+ - - - + - - + - -
3 + - + 3 + + +
+ - - + + + + - -
4 + + - 4 + - -
- + - + - - + - + -
5 + - + 5 + - +
- + - - + - - +
6 + + + 6 + - +
- - + + + - + + +
7 + - - 7 + - -
- - - -
Kernel di Walsh (N = 8) Kernel di Hadamard (N = 8)
E. Ardizzone 68
Università degli Studi
di Palermo
E. Ardizzone 69
Università degli Studi
di Palermo
La trasformata discreta di Hadamard (DHT)
9 Il kernel di Hadamard che realizza questo particolare ordinamento è:
p0 (u ) = bn −1 (u )
p1 (u ) = bn −1 (u ) + bn − 2 (u )
n −1
1
g ( x, u ) = (− 1)∑
i =0
bi ( x ) pi ( u ) dove: p2 (u ) = bn − 2 (u ) + bn −3 (u )
N
M
pn −1 (u ) = b1 (u ) + b0 (u )
9 Ne risulta il seguente set di funzioni di base, con colonne (e righe) in
x
0 1 2 3 4 5 6 7 ordine di sequenza crescente
u + + +
0 ++ + + +
+ - -
1 ++ + - -
- - +
2 ++ - - +
- + - Kernel ordinato di
3 ++ - + -
- + - Hadamard (N = 8)
4 +- + - +
- - +
5 +- + + -
+ - -
6 +- - + +
+ + +
7 +- - - - E. Ardizzone 70
Università degli Studi
di Palermo
h( x, u ) = (− 1)∑
bi ( x ) pi ( u )
i =0
f ( x) = ∑ H (u )(− 1)∑
bi ( x ) pi ( u )
i =0
u =0
9 Nel caso 2-D: n −1
N −1 N −1
1
f ( x, y )(− 1)∑
[bi ( x ) pi ( u ) + bi ( y ) pi ( v ) ]
H (u , v) =
N
∑∑
x =0 y =0
i =0
N −1 N −1 n −1
1 ∑ [bi ( x ) pi (u ) + bi ( y ) pi ( v ) ]
f ( x, y ) =
N
∑∑ H (u ,
u =0 v =0
v ) (− 1)i =0
E. Ardizzone 71
Università degli Studi
di Palermo
La trasformata discreta di Hadamard (DHT)
9 Le immagini di base della DWT, per N = 4, possono essere rappresentate
nel solito modo, dove ogni blocco consiste di 4 x 4 elementi (x e y variabili
tra 0 ve 3):
0 1 2 3
Il valore +1 è rappresentato in
1
bianco, il valore -1 in nero
E. Ardizzone 72
Università degli Studi
di Palermo
(2 x + 1)uπ
N −1
f ( x) = ∑ α (u )C (u ) cos , con x = 0, K, N − 1
u =0 2N
9 In entrambe le espressioni:
1 per u = 0
N
α (u ) =
2 N per u = 1,2,..., N − 1
E. Ardizzone 73
Università degli Studi
di Palermo
1 1 per v = 0
per u = 0 N
α (u ) = N α (v ) =
2
2
N per u = 1, 2,..., N − 1 per v = 1,2,..., N − 1
N
E. Ardizzone 74
Università degli Studi
di Palermo
La trasformata coseno discreta (DCT)
9 Anche la DCT ha il kernel inverso uguale a quello diretto
9 Le immagini di base della DCT, per N = 4, rappresentate nel solito modo:
v 0 1 2 3
0.9239
Il valore massimo è rappresentato
0.707
1 in bianco, il valore minimo in
0.5
nero, i valori intermedi in toni di
0.3827
grigio
0.2071
2
-0.2071 L’importanza odierna della
-0.3827 DCT sta nel suo impiego nei
-0.5 principali algoritmi e standard
-0.707 3 di compressione di immagini e
-0.9239 video
E. Ardizzone 75
-1.2071
Università degli Studi
di Palermo
E. Ardizzone 76
Università degli Studi di Palermo
m x = E{x} = (m1 , m2 , K, mn ) T
E. Ardizzone 2
Università degli Studi
di Palermo
mi = E{xi } i = 1, K, n
{
C x = E (x − m x )(x − m x )
T
}
9 Poichè x e mx sono vettori di dimensione n, Cx è una matrice di
dimensione n x n
9 L'elemento cii di Cx è la varianza della i-sima componente xi dei vettori
della popolazione, mentre l'elemento cij è la covarianza tra le componenti
xi e xj dei vettori stessi
E. Ardizzone 3
Università degli Studi
di Palermo
M M
1 1
mx =
M
∑ xk
k =1
Cx =
M
∑ k k x x
x x
k =1
T
− m m T
E. Ardizzone 4
Università degli Studi
di Palermo
3 3 1 1
1 1
m x = 1 C = 1 3 − 1
4 x
16
1 1 − 1 3
9 Si può notare che le tre componenti dei vettori hanno la stessa varianza (gli
elementi della diagonale principale di Cx sono uguali), e che tra le
componenti x1 e x2 (x1 e x3) la correlazione è positiva, mentre tra le
componenti x2 e x3 la correlazione è negativa.
E. Ardizzone 5
Università degli Studi
di Palermo
y = A(x − m x )
Interpretazione statistica
9 Se invece di considerare tutti gli autovettori di Cx nella costruzione della
matrice di trasformazione A se ne usano solo K, si ottiene la matrice di
trasformazione AK, di ordine K x n, che dà luogo a vettori Y a K componenti:
Y = A K (x − m x )
Kxn nx1
Kx1
E. Ardizzone 8
Università degli Studi
di Palermo
E. Ardizzone 10
Università degli Studi
di Palermo
E. Ardizzone 11
Università degli Studi
di Palermo
E. Ardizzone 12
Università degli Studi
di Palermo
E. Ardizzone 13
Università degli Studi
di Palermo
E. Ardizzone 14
Università degli Studi
di Palermo
E. Ardizzone 15
Università degli Studi
di Palermo
E. Ardizzone 18
Università degli Studi
di Palermo
g (x, y ) = F -1 {F (u , v )H (u , v)}
E. Ardizzone 19
Università degli Studi
di Palermo
E. Ardizzone 20
D0 = 0.5
Università degli Studi
di Palermo
Filtro PB ideale
9 Il filtro è dotato di simmetria circolare rispetto all’origine, per cui il suo
comportamento può essere completamente specificato dalla sezione
trasversale ottenuta con un piano verticale passante per l’origine
H(u,v)
D0 è la frequenza di taglio del filtro
1
Nella rappresentazione 3-D è più appropriato
parlare di un luogo di frequenze di taglio,
costituito dalla circonferenza, centrata
0 D0 D(u,v) nell’origine, di raggio D
0
9 Un filtro ideale non può essere costruito, ma può essere implementato via
software, per cui si può analizzarne l’effetto su una immagine digitale
9 A tal fine, si consideri la risposta del filtro, per diversi valori di D0, tali che
le corrispondenti circonferenze racchiudano percentuali crescenti della
potenza spettrale totale dell’immagine, definita come:
E. Ardizzone 21
Università degli Studi
di Palermo
Filtro PB ideale
N −1 N −1
PT = ∑∑ P(u , v) dove, come è noto: P(u , v ) = F (u , v ) = ℜ 2 (u , v ) + ℑ 2 (u , v )
2
u =0 v =0
E. Ardizzone 22
Università degli Studi
di Palermo
Filtro PB ideale
9 La percentuale della potenza spettrale
totale racchiusa all’interno di cerchi di
raggio R crescente (in pixel) è la seguente:
R β Si può notare che lo spettro
ha una intensità decrescente
6 90
molto rapidamente: il 90%
12 95 della potenza totale è
27 98 racchiusa nel piccolo
cerchio di raggio 6
45 99
Le figure seguenti mostrano
70 99.5 i risultati dell’applicazione
di filtri PB ideali, con
frequenze di taglio uguali ai
raggi dei cerchi considerati
E. Ardizzone 23
Università degli Studi
di Palermo
Filtro PB ideale
E. Ardizzone 27
Università degli Studi
di Palermo
Filtro PB di Butterworth
9 La funzione di trasferimento del filtro passa-basso di Butterworth di ordine
n e frequenza di taglio D0 è:
1
H (u, v) =
1 + [D (u, v) D0 ]
2n
D0 = 1
D(u,v)/D0 E. Ardizzone 28
Università degli Studi
di Palermo
Filtro PB di Butterworth
9 E’ evidente che, a differenza del filtro PB ideale, il filtro PB di
Butterworth non determina un taglio netto in frequenza, in quanto la sua
funzione di trasferimento non esibisce una discontinuità brusca
9 Il luogo delle frequenze di taglio è definito, in casi come questi, nei punti
del piano u,v per i quali la H(u,v) decade ad una certa frazione del suo
valore massimo
9 Con la definizione adoperata per la H(u,v), per esempio, si ha H(u,v) = 0.5
(50% del valore massimo) quando D(u,v) = D0
9 Se invece ci si vuole riferire alla più usuale definizione di frequenza di
taglio come quella alla quale la H(u,v) si riduce a 1/√2 del valore massimo,
occorre modificare la H(u,v):
1 1
H (u , v) = =
1 + [ 2 − 1][D(u , v) D0 ] 1 + 0.414[D(u , v) D0 ]
2n 2n
E. Ardizzone 29
Università degli Studi
di Palermo
Filtro PB di Butterworth
Filtro PB di Butterworth
9 Le immagini precedenti sono il risultato dell’applicazione del filtro PB di
Butterworth, con n=1 e D0 crescente, che assume gli stessi valori esaminati
per il filtro PB ideale,
9 La transizione meno ripida del filtro in corrispondenza alla frequenza di
taglio rende conto del blurring meno accentuato, a parità di D0
9 Inoltre, per lo stesso motivo, l’effetto di ringing è praticamente scomparso
9 Ai fini pratici, i filtri PB hanno applicazioni simili a quelle dei filtri di
smoothing studiati nel dominio spaziale (riduzione di rumore o di altri
dettagli spuri, come i falsi contorni), con gli stessi effetti collaterali
(riduzione della nitidezza dei dettagli)
E. Ardizzone 31
Università degli Studi
di Palermo
Filtro PA ideale
Filtri passa-alto
9 Un filtro passa-alto ideale ha la seguente funzione di trasferimento:
D0 è una quantità non negativa, e D(u,v)
0 per D(u , v) ≤ D0
H (u , v) = è la distanza del punto (u,v) dall’origine
1 per D(u , v) > D0 del piano delle frequenze: D (u , v) = (u 2 + v 2 )
12
D0 = 0.5 0 D0 D(u,v)
E. Ardizzone 32
Università degli Studi
di Palermo
Filtro PA di Butterworth
9 La funzione di trasferimento del filtro passa-alto di Butterworth di ordine n
e frequenza di taglio D0 è:
1
H (u, v) =
1 + [D0 D(u , v)]
2n
D(u,v)/D0 E. Ardizzone 33
D0 = 1
Università degli Studi
di Palermo
Filtro PA di Butterworth
9 Come nel caso PB, si può dare una definizione del filtro che renda luogo
delle frequenze di taglio i punti del piano u,v nei quali H(u,v) si riduce a
1/√2 del valore massimo:
1 1
H (u , v) = =
1 + [ 2 − 1][D0 D (u, v)] 1 + 0.414[D0 D (u, v)]
2n 2n
E. Ardizzone 34
Università degli Studi
di Palermo
Filtraggio omomorfo
9 Il modello illuminazione-riflettenza f(x,y)=i(x,y)r(x,y) può essere utilizzato,
anche se non direttamente, come base di una procedura nel dominio della
frequenza in grado di effettuare simultaneamente una compressione della
gamma dinamica e un arricchimento del contrasto
9 L’uso diretto del modello non è possibile in quanto la trasformata del
prodotto di due funzioni non è separabile, infatti:
F { f (x, y )} ≠ F {i(x, y )}F {r (x, y )}
9 Si definisca tuttavia:
z ( x, y ) = ln f ( x, y ) = ln i ( x, y ) + ln r ( x, y )
9 Quindi:
F {z (x, y )} = F {ln f (x, y )} = F {ln i (x, y )}+ F {ln r (x, y )}
9 Ponendo I(u,v) = F {ln i (x, y )} e R (u , v) = F {ln r (x, y )} si può scrivere:
Z (u , v) = I (u , v) + R(u , v)
E. Ardizzone 35
Università degli Studi
di Palermo
Filtraggio omomorfo
9 Filtrando con una funzione H(u,v):
S (u , v) = H (u, v) Z (u, v) = H (u , v) I (u , v) + H (u , v) R(u , v)
9 Nel dominio spaziale:
s(x, y ) = F -1 {S (u , v )} = F -1 {H (u , v) I (u , v)}+ F -1 {H (u , v) R (u , v )}
9 Ponendo
i ′(x, y ) = F -1 {H (u , v) I (u , v)} e r ′(x, y ) = F -1 {H (u , v) R(u , v)}
si ha infine:
s ( x, y ) = i ′( x, y ) + r ′( x, y )
9 Applicando infine l’operazione inversa del logaritmo (che era stato
applicato all’immagine iniziale) si ottiene per l’immagine di uscita:
g ( x, y ) = exp[s ( x, y )] = exp[i ′( x, y )]exp[r ′( x, y )] = i0 ( x, y )r0 ( x, y )
E. Ardizzone 36
Università degli Studi
di Palermo
Filtraggio omomorfo
9 Pertanto i0 ( x, y ) = exp[i ′( x, y )] e r0 ( x, y ) = exp[r ′( x, y )] sono
l’illuminanza e la riflettenza dell’immagine di uscita
9 Riassumendo:
f(x,y) g(x,y)
ln FFT H(u,v) (FFT)-1 exp
Filtraggio omomorfo
9 Ovviamente l'associazione delle basse frequenze della trasformata del
logaritmo alla componente di illuminazione e delle alte frequenze della
trasformata del logaritmo alla componente di riflettenza è piuttosto
imprecisa, ma consente in questo caso di operare efficacemente
9 Dal punto di vista realizzativo, occorre una H(u,v) in grado di operare in
modo diverso sulle componenti di bassa frequenza e su quelle di alta
frequenza della trasformata di Fourier dell’immagine, del tipo:
H(u,v)
Se γL < 1e γH >1, il filtro tende a
smorzare il contenuto delle basse
γH
frequenze e ad amplificare il
γL
contenuto delle alte frequenze
D(u,v)
E. Ardizzone 38
Università degli Studi
di Palermo
Filtraggio omomorfo
9 Per esempio, agendo sull’immagine di sinistra con un filtro omomorfo,
con γL = 0.5e γH =1.5, si ottengono i risultati mostrati sulla destra
E. Ardizzone 39
Università degli Studi di Palermo
E. Ardizzone 3
Università degli Studi
di Palermo
Rappresentazione del colore
9 La luce visibile è costituita da una banda relativamente stretta di frequenze nello
spettro della radiazione elettromagnetica, da circa 360 nm a circa 800 nm
(anche se la sensibilità dell’occhio è normalmente molto ridotta tra 360 nm e
410 nm e tra 720 nm e 800 nm).
9 Un oggetto che riflette luce sufficientemente bilanciata su tutte le lunghezze
d’onda del visibile appare bianco, mentre un oggetto la cui superficie favorisce
la riflessione in una gamma limitata dello spettro visibile appare colorato, nel
colore corrispondente
9 Per esempio, appaiono verdi gli oggetti che riflettono la luce nella gamma tra
500 nm e 570 nm, ed assorbono la radiazione alle altre frequenze
9 Non esiste naturalmente un solo verde o un solo rosso, infatti la sensazione
prodotta dalla visione del colore non è riconducibile esclusivamente ad una
questione di lunghezze d’onda
E. Ardizzone 4
Università degli Studi
di Palermo
E. Ardizzone 5
Università degli Studi
di Palermo
E. Ardizzone 6
Università degli Studi
di Palermo
E. Ardizzone 7
Università degli Studi
di Palermo
E. Ardizzone 8
Università degli Studi
di Palermo
E. Ardizzone 9
Università degli Studi
di Palermo
E. Ardizzone 10
Università degli Studi
di Palermo
E. Ardizzone 11
Università degli Studi
di Palermo
Rappresentazione del colore
9 Il “punto di uguale energia”, indicato con C nella figura sottostante,
corrisponde ad un colore ottenuto miscelando in parti uguali i tre colori
primari: esso è lo standard CIE per la luce bianca, ovviamente a saturazione
nulla
E. Ardizzone 12
Università degli Studi
di Palermo
Rappresentazione del colore
9 L’estensione di questi concetti per la determinazione dei colori che
possono essere ottenuti mescolando tre colori assegnati è immediata
E. Ardizzone 13
Università degli Studi
di Palermo Modelli del colore
9 Scopo di un modello del colore è di consentirne la rappresentazione con
modalità standardizzate, che fanno normalmente riferimento ad un sistema di
coordinate 3-D (dato che tre sono comunque le caratteristiche che definiscono
un colore), o meglio ad un suo sotto-spazio, nel quale ogni colore è
rappresentato da un punto
9 I modelli del colore più utilizzati in image processing sono orientati o
all’hardware di acquisizione (RGB) e restituzione (RGB, CMY) delle
immagini o alla loro trasmissione (YUV, YIQ, YDbDr), compressione
(YCbCr), elaborazione (od analisi) mediante trattamento del colore (RGB,
HSI, HSV, LUV, ...)
9 Alla poca chiarezza derivante dalla abbondanza di modelli dello stesso tipo, si
aggiunge l’uso ambiguo delle lettere nei nomi dei modelli (come vedremo, I o
V significano cose diverse in modelli diversi), e soprattutto il fatto che in
letteratura esistono differenti versioni delle equazioni di conversione dall’uno
all’altro dei modelli indicati. La trattazione seguente fa riferimento solo ad
alcuni modelli, ritenuti di maggiore interesse
E. Ardizzone 14
Università degli Studi
di Palermo
Modelli del colore
9 Nel modello (o sistema) RGB, probabilmente il più noto, ogni colore è definito
mediante le intensità dei tre primari (rosso, verde e blu) che lo compongono. Il
modello è basato su un sistema di coordinate cartesiane, in cui il sotto-spazio di
riferimento è un cubo di lato unitario (tutti i valori si intendono normalizzati in
modo da ricadere nell’intervallo [0,1]:
B 9 Rosso, verde e blu sono ai vertici
sugli assi, mentre ciano, magenta e
(0,0,1) = blu
ciano giallo sono ai vertici opposti
9 Il nero è all’origine ed il bianco è al
magenta bianco vertice più lontano, mentre la
diagonale che li congiunge è la
nero (0,1,0) = verde scala dei grigi
G
9 Un colore è rappresentato da un
scala dei grigi punto sulla superficie o all’interno
(1,0,0) = rosso giallo del cubo
R E. Ardizzone 15
Università degli Studi
di Palermo
Modelli del colore
9 Nel modello RGB, una immagine a colori, come si è già accennato, consiste
di tre immagini di intensità indipendenti, una per ogni colore primario
9 E’ lo schema classico utilizzato sia nell’acquisizione che nella
visualizzazione, dato che normalmente telecamere, scanner, monitor
producono o utilizzano segnali RGB
9 Meno efficace si rivela il modello ai fini dell’elaborazione, come mostra
l’esempio seguente
9 Si supponga di voler migliorare la qualità
dell’immagine a colori, al fine di
evidenziare i dettagli nelle zone più scure,
per esempio effettuando una equalizzazione
9 L’estensione immediata delle tecniche viste
per le immagini a livelli di grigio porta alla
equalizzazione delle tre immagini R, G, B
E. Ardizzone 16
Università degli Studi
di Palermo
E. Ardizzone 17
Università degli Studi
di Palermo
Modelli del colore
9 Riassemblando l’immagine RGB:
equalizzata originale
9 In effetti, i particolari nelle zone inizialmente molto scure sono adesso
visibili, però l’elaborazione non dà risultati complessivamente soddisfacenti,
in quanto i colori dell’immagine equalizzata sono poco fedeli
9 Infatti le intensità delle tre immagini sono state alterate in modo indipendente,
per cui risulta modificata, per ogni pixel, la proporzione nella quale i tre
primari sono mescolati
E. Ardizzone 18
Università degli Studi
di Palermo
Modelli del colore
9 In altre parole, la modifica indipendente delle tre componenti RGB cambia
la crominanza (tinta - saturazione) di ogni pixel, introducendo una
distorsione cromatica
9 Inoltre, in relazione alla percezione del colore da parte del sistema visivo
umano, che come è noto è più sensibile al verde che al rosso che al blu, c’è
da dire che una rappresentazione con uguale distribuzione dei dati sui tre
canali è sicuramente inefficiente
9 Per le elaborazioni di miglioramento di qualità risultano sicuramente più
efficaci i modelli del colore in cui la componente di intensità (spesso
denominata luminanza nei testi sull’argomento) è separata da quelle di
crominanza
9 Nell’esempio precedente, equalizzando la sola componente di intensità si
otterrebbe il risultato cercato, senza alterare la crominanza
E. Ardizzone 19
Università degli Studi
di Palermo
E. Ardizzone 20
Università degli Studi
di Palermo
blu Modelli del colore
9 La tinta H del colore P è l’angolo tra il vettore
che definisce P e l’asse del rosso
magenta ciano
9 Per esempio, un colore è rosso quando H = 0°, è
giallo quando H = 60°, è blu quando H = 240°,
H
P etc.
rosso verde
giallo 9 La saturazione S è proporzionale alla distanza di
P dal centro del triangolo HSI. Sul bordo del
bianco triangolo i colori sono completamente saturi
9 L’intensità I è misurata rispetto ad una linea
perpendicolare al triangolo, passante per il
blu centro: i valori rappresentati da punti sotto il
rosso triangolo tendono al nero, i valori sopra il
I verde
triangolo tendono al bianco
H 9 Il modello complessivo 3-D è una doppia
piramide a base triangolare
nero E. Ardizzone 21
Università degli Studi
di Palermo
E. Ardizzone 24
Università degli Studi
di Palermo
Modelli del colore
V giallo 9 H è misurata dall’angolo descritto rispetto
verde 60°
all’asse verticale (rosso a 0°), mentre S
1 rosso
ciano bianco 0°
varia da 0 (sull’asse V) a 1 (sulla superficie
180°
della piramide)
blu magenta
9 Anche V varia tra 0 (vertice della piramide),
corrispondente al nero, e 1 (base della
piramide), corrispondente al bianco. La
scala dei grigi è quindi sull’asse V
9 Per V = 0, i valori di H e S non hanno
H
nero
0 S importanza. Per S = 0, il valore di H è non
verde giallo definito
9 E’ interessante notare che la base esagonale
bianco corrisponde alla proiezione del cubo RGB
ciano rosso
lungo la diagonale principale, che diventa
esattamente l’asse V
blu magenta E. Ardizzone 25
Università degli Studi
di Palermo
Modelli del colore
9 Per la conversione RGB - HSV (algoritmo di Travis), assumendo R, G e B
normalizzati tra 0 e 1, si determinano innanzitutto:
M = max( R, G , B ) m = min( R, G , B )
9 A questo punto:
M −m
V =M S= (S = 0 se M = 0)
M
9 Per il calcolo della tinta, se S = 0, H è indefinita; altrimenti, vengono prima
determinati:
M −R M −G M −B
R′ = G′ = B′ =
M −m M −m M −m
e quindi:
se R = M e G = m, H = 5 + B ′
altrimenti, se R = M e G <> m, H = 1 − G ′
E. Ardizzone 26
Università degli Studi
di Palermo
Modelli del colore
altrimenti, se G = M e B = m, H = 1 + R ′
altrimenti, se G = M e B <> m, H = 3 − B ′
altrimenti, se R = M, H = 3 + G ′
altrimenti H = 5 − R ′
9 Il valore di H viene poi convertito in gradi moltiplicandolo per 60
9 In questo modo i valori S e V sono normalizzati tra 0 e 1, mentre H è
compreso tra 0 e 360
9 In modo analogo si può procedere alla conversione HSV - RGB
E. Ardizzone 27
Università degli Studi
di Palermo
Modelli del colore
L
1
bianco 9 In effetti, rispetto al modello HSV l’unica
variazione è nella definizione dell’intensità
L, che vale 0 nel vertice inferiore (nero),
0.5 alla base della piramide, e 1 nel vertice
superiore (bianco)
giallo 9 Il modello HLS può essere pensato come
verde 60° una deformazione del modello HSV
rosso
ciano 0,5 0° 9 Le conversioni RGB - HLS e HLS - RGB
180°
si possono effettuare con tecniche analoghe
blu magenta
a quelle utilizzate per il modello HSV
H
nero S
0 E. Ardizzone 28
Università degli Studi
di Palermo
L S H
E. Ardizzone 29
Università degli Studi
di Palermo
Modelli del colore
9 Equalizzando infatti solo l’immagine di intensità, e riassemblando quindi
l’immagine a colori dalle componenti originali di saturazione e tinta e
dalla componente di intensità equalizzata, si ottiene:
E. Ardizzone 31
Università degli Studi
di Palermo
E. Ardizzone 32
Università degli Studi
di Palermo
Modelli del colore
9 I vantaggi principali del modello CMYK rispetto al modello CMY sono
relativi ai problemi posti dalla riproduzione del nero mediante combinazione
di ciano, magenta e giallo:
▼ Il costo degli inchiostri colorati è normalmente maggiore di quello
dell’inchiostro nero
▼ La stampa di tre strati di inchiostro rende la carta molto umida, se la si
sostituisce con la stampa di un solo strato si ottiene un processo più
asciutto, quindi più rapido e in definitiva meno costoso
▼ Infine, se la stampa a tre colori avviene in modo non perfettamente
registrato dal punto di vista meccanico, ai bordi delle regioni nere si
noteranno sfumature di colore, particolarmente fastidiose se si pensa che
il sistema visivo umano è particolarmente sensibile ai dettagli nelle aree
nere e bianche. La stampa del nero con un solo inchiostro minimizza la
visibilità di questi errori
E. Ardizzone 33
Università degli Studi
di Palermo
Modelli del colore
9 La conversione CMY - CMYK può essere effettuata nel modo seguente:
K = min(C, M, Y)
C = (C - K)/(1 - K) M = (M - K)/(1 - K) Y = (Y - K)/(1 - K)
E. Ardizzone 34
Università degli Studi
di Palermo
Modelli del colore
9 La conversione da RGB a YIQ è così definita:
Y 0.299 0.587 0.114 R
I = 0.596 − 0.275 − 0.321 G
Q 0.212 − 0.523 0.311 B
9 La conversione da YIQ a RGB può essere ottenuta invertendo la matrice di
conversione
9 Il modello YUV è adottato dallo standard televisivo PAL, adoperato in larga
parte dell’Europa, in Australia ed in diversi Paesi dell’Asia:
E. Ardizzone 37
Università degli Studi
di Palermo
Modelli del colore
9 Per ovviare al problema, dopo molti anni di elaborazione, la CIE ha
standardizzato nel 1976 due spazi di colore uniformi, chiamati rispettivamente
CIE L*u*v* e CIE L*a*b* (u e v non hanno alcuna relazione con le
componenti video U e V)
9 Entrambi i due modelli proposti migliorano la non uniformità percettiva del
sistema CIE XYZ originale di un fattore 13, ma hanno il difetto di essere
molto impegnativi dal punto di vista computazionale. Sono entrambi non
lineari, ma con equazioni di conversione reversibili
9 Analizziamo in maggiore dettaglio la costruzione del sistema CIE L*u*v*.
Indicando con Xn, Yn e Zn i valori di tristimolo che rappresentano il bianco, si
ha la seguente relazione non lineare per L* (la non linearità intende emulare la
risposta logaritmica dell’occhio):
116(Y / Yn )1 3 − 16 per Y Yn > 0.008856
L* =
903.3(Y / Yn ) per Y Yn ≤ 0.008856
E. Ardizzone 38
Università degli Studi
di Palermo
Modelli del colore
9 Si ha inoltre:
u* = 13L * (u ′ − u n′ ) v* = 13L * (v′ − vn′ )
dove: 4X 9Y
u′ = v′ =
X + 15Y + 3Z X + 15Y + 3Z
4X n 9Yn
u n′ = ′
vn =
X n + 15Yn + 3Z n X n + 15Yn + 3Z n
9 Si noti che L* varia tra 0 e 100 per una luminanza relativa (Y/Yn) variabile
tra 0 e 1
9 L*, u* e v* sono coordinate cartesiane che giocano lo stesso ruolo di Y
(luminanza), x e y nel diagramma CIE del 1931
9 Altri tre parametri, più significativi dal punto di vista del sistema visivo
umano, sono la croma, C*, la tinta, huv e la saturazione psico-metrica, suv:
v*
C* = (u *2 + v *2 )1 2 huv = tan −1 ( ) suv = C *
u* L*
E. Ardizzone 39
Università degli Studi di Palermo
Parte K
E. Ardizzone 2
Università degli Studi
di Palermo
Analisi di immagini: segmentazione
9 Il livello di dettaglio al quale deve spingersi la segmentazione è inoltre
dipendente dall’applicazione, nel senso che la segmentazione può arrestarsi
quando tutti gli oggetti di interesse per l’applicazione sono stati isolati
9 E’ intuibile la complessità intrinseca del processo di segmentazione
9 Pertanto, laddove possibile esso è in genere accompagnato da un insieme di
accorgimenti tendenti ad accrescerne le probabilità di successo
9 Per esempio, in molte applicazioni industriali è possibile controllare le
condizioni in cui l’immagine da analizzare è acquisita (posizione e natura
della sorgente di illuminazione, posizione e tipologia dei sensori, etc.).
9 Gli algoritmi di segmentazione sono in genere basati o sulla similarità o sulla
discontinuità di proprietà dei pixel, quali per esempio il livello di grigio, il
colore, la regolarità spaziale, la velocità, etc.
E. Ardizzone 3
Università degli Studi
di Palermo
Estrazione di punti isolati e linee
9 Basati sull’analisi della discontinuità sono per esempio gli algoritmi di
estrazione dei contorni (edge) o di altre caratteristiche (punti isolati, linee)
9 Basati sull’analisi della similarità sono invece i metodi di soglia
(thresholding) e quelli cosiddetti di regionalizzazione
9 L’approccio più comune alla rilevazione di una discontinuità prevede l’uso
di una maschera:
9
R = w1 z1 + w2 z 2 + L + w9 z9 = ∑ wi zi
i =1
E. Ardizzone 4
Università degli Studi
di Palermo
Estrazione di punti isolati e linee
9 Le discontinuità probabilmente più semplici da rilevare sono i punti isolati
9 Il punto corrispondente alla posizione centrale della maschera può essere
considerato un punto isolato quando, per esempio con riferimento alla
maschera mostrata, si ha:
-1 -1 -1
R >T
-1 8 -1
-1 -1 -1
-1 -1 -1 -1 -1 2 -1 2 -1 2 -1 -1
2 2 2 -1 2 -1 -1 2 -1 -1 2 -1
-1 -1 -1 2 -1 -1 -1 2 -1 -1 -1 2
9 La prima maschera risponde più intensamente alle linee orizzontali (spesse un
pixel): con uno sfondo costante, il massimo di R si ha infatti quando la linea
coincide con la riga centrale della maschera
9 Analogamente, la seconda maschera risponde meglio a linee orientate a 45°, la
terza a linee verticali, la quarta a linee orientate a -45°
9 Siano, rispettivamente, R1, R2, R3 e R4 le risposte delle quattro maschere
9 Supponiamo di passare tutte e quattro le maschere su una immagine, e che in
un certo punto si abbia Ri > R j per ogni j ≠ i
9 Il punto in questione può essere allora associato, con maggiore probabilità, con
una linea orientata nella direzione della maschera i
E. Ardizzone 6
Università degli Studi
di Palermo
Estrazione di contorni
9 L’estrazione dei contorni (edge) è sicuramente uno degli argomenti che
hanno ricevuto più attenzione nella letteratura sull’image processing
9 Il contorno di un oggetto rappresenta infatti la separazione tra l’oggetto e lo
sfondo o tra l’oggetto ed altri oggetti, per cui la sua estrazione è molto spesso
il primo passo verso l’individuazione dell’oggetto
9 Un edge si presenta in una immagine come il confine tra due regioni
caratterizzate da proprietà dei livelli di grigio in qualche modo distinguibili
9 Nel seguito ipotizzeremo che le regioni in questione siano sufficientemente
omogenee, di modo che la determinazione della transizione tra le due regioni
sia possibile sulla sola base della discontinuità dei valori di grigio
9 Le prime tecniche di edge detection che analizziamo sono basate
sull’applicazione di un operatore locale di derivata, come è evidenziato dalla
figura seguente:
E. Ardizzone 7
Università degli Studi
di Palermo
Estrazione di contorni
9 L’immagine considerata consiste di una
striscia verticale chiara su uno sfondo
scuro, e viceversa
9 L’andamento o profilo dei livelli di
grigio lungo una delle linee della
immagine evidenzia le transizioni
corrispondenti ai contorni
9 Si noti che i contorni sono modellati
mediante un profilo a rampa, piuttosto
che mediante un gradino
9 Tale modello riflette più fedelmente
l’andamento dei contorni effettivi in un
immagine reale, sempre affetti dal
blurring, anche se modesto, dovuto al
campionamento
E. Ardizzone 8
Università degli Studi
di Palermo
Estrazione di contorni
9 Il fatto che la derivata prima e la derivata seconda del profilo siano
significativamente diverse da 0 soltanto in corrispondenza alle transizioni
costituisce la motivazione dell’uso di operatori derivativi per l’estrazione dei
contorni
9 Ci sono però significative differenze tra le due operazioni, come mostrano le
seguenti osservazioni
9 La derivata prima del profilo è positiva in corrispondenza ad una transizione
scuro-chiaro, negativa in corrispondenza ad una transizione chiaro-scuro,
nulla nelle zone a livello di grigio costante
9 La derivata seconda è positiva in prossimità di un contorno, dalla parte scura
del contorno stesso, negativa dalla parte chiara del contorno, nulla nelle zone
a livello di grigio costante, ed esibisce un passaggio per lo zero o zero
crossing esattamente in corrispondenza alle transizioni
E. Ardizzone 9
Università degli Studi
di Palermo
Estrazione di contorni
9 Riassumendo, il valore della derivata prima può essere utilizzato per
determinare la presenza di contorni in una immagine, gli zero crossing della
derivata seconda ne possono consentire la precisa localizzazione, il segno
della derivata seconda permette di stabilire l’appartenenza di un pixel al
versante scuro o al versante chiaro di un contorno
9 L’applicazione dei concetti precedentemente illustrati necessita tuttavia di
alcune cautele, essenzialmente legate alla natura digitale delle immagini
9 A tal fine, considereremo nel seguito i seguenti esempi di contorni ideali,
rispettivamente a gradino e a rampa (con differenti pendenze):
a a a b b b b a a a c b b b a a a d e b b
a a a b b b b a a a c b b b a a a d e b b
a a a b b b b a a a c b b b a a a d e b b
b b b
h h h
a a a
y0 y y0 y y0 y
E. Ardizzone 10
Università degli Studi
di Palermo
Estrazione di contorni
9 Per la ricerca di contorni di orientazione qualunque, valgono le stesse
osservazioni, considerando il profilo di grigio lungo una direzione
ortogonale al contorno nel punto considerato
9 Il modo usuale di effettuare le operazioni di derivata prima e derivata
seconda di una f(x,y) in un punto è quello di calcolare il gradiente e il
laplaciano in quel punto
9 Ricordiamo che data una funzione f(x,y), il gradiente di f in (x,y) è il vettore:
∂f
G x ∂x
[ ]
1
∇f = = ∂f il cui modulo è:∇f = G x 2 + G y 2 2 ≈ G x + G y
G y
∂y
Gy
mentre la direzione è individuata dall’angolo α (x, y ) = tan
−1
[
∇f = ( z 5 − z 8 ) + ( z 5 − z 6 )
2 2
]
1
2
≈ z 5 − z8 + z 5 − z 6
[
∇f = ( z 5 − z 9 ) + ( z 6 − z 8 )
2 2
]
1
2
≈ z5 − z9 + z 6 − z8
E. Ardizzone 12
Università degli Studi
di Palermo
Generazione del gradiente secondo direzioni ortogonali
9 L’implementazione di queste equazioni può essere effettuata usando
maschere 2 x 2. Per esempio, l’equazione con i valori assoluti delle
differenze incrociate può essere implementata usando le due maschere:
I valori assoluti delle risposte
1 0 0 1 delle due maschere vengono
0 -1 -1 0 sommati per determinare ∇f
9 Le due maschere sono dette operatori di Roberts
9 Più comune è tuttavia l’impiego di maschere 3 x 3, che rendono più
semplici le operazioni di filtraggio:
0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 1 -1 0 1 0 0 0 1
0 -1 0 0 0 0 0 0 -1 0 -1 0
Running difference Roberts
E. Ardizzone 13
Università degli Studi
di Palermo
Generazione del gradiente secondo direzioni ortogonali
9 Utilizzando la differenza mobile per calcolare il gradiente di riga nelle
immagini con edge ideali a gradino e a rampa, si ottiene una immagine di
edge i cui valori sono, per ogni riga, rispettivamente:
grigi a a a b b b b a a a c b b b a a a d e b b
edge 0 0 h 0 0 0 0 0 0 h/2 h/2 0 0 0 0 0 h/3 h/3 h/3 0 0
gradino rampa più ripida rampa meno ripida
a −c = c−b = h 2 a −d = d −e = e−b = h 3
+ =
Differenza orizzontale Differenza verticale Immagine di edge
(edge verticali) (edge orizzontali)
E. Ardizzone 15
Università degli Studi
di Palermo
Generazione del gradiente secondo direzioni ortogonali
9 La localizzazione dei contorni può essere migliorata modificando l’operatore
differenziale in modo da tener conto dei valori dei pixel da entrambe le parti
del potenziale punto di edge:
Sempre con riferimento al pixel z5 si ha:
Gx = z2 - z8 e Gy = z4 - z6
grigi a a a c b b b a a a d e b b
edge 0 0 h/2 h h/2 0 0 0 0 h/3 2h/3 2h/3 h/3 0
E. Ardizzone 16
Università degli Studi
di Palermo
Operatori di Prewitt e Sobel
9 Il metodo rimane però sensibile alle fluttuazioni di illuminazione e al rumore
9 Da questo punto di vista, si possono ottenere miglioramenti utilizzando
operatori di gradiente in grado di effettuare simultaneamente la
differenziazione lungo una direzione e una media spaziale lungo la direzione
ortogonale
9 Di questo tipo sono gli operatori di Prewitt e Sobel:
Operatori di Prewitt -1 -1 -1 -1 0 1 G x = ( z 7 + z8 + z 9 ) − ( z1 + z 2 + z 3 )
0 0 0 -1 0 1 G y = ( z 3 + z 6 + z 9 ) − ( z1 + z 4 + z 7 )
1 1 1 -1 0 1
Operatori di Sobel -1 -2 -1 -1 0 1
G x = ( z 7 + 2 z8 + z 9 ) − ( z1 + 2 z 2 + z 3 )
0 0 0 -2 0 2
G y = ( z 3 + 2 z 6 + z 9 ) − ( z1 + 2 z 4 + z 7 )
1 2 1 -1 0 1
E. Ardizzone 17
Università degli Studi
di Palermo
Operatori di Prewitt e Sobel
9 Alcuni autori in realtà preferiscono una formulazione in cui i gradienti di riga
e colonna risultano normalizzati in modo da garantire medie pesate unitarie
per i pixel posti da un lato e dall’altro dell’eventuale edge:
-1 -1 -1 -1 0 1
Operatori di Prewitt 1 1
× 0 0 0 × -1 0 1
3 3
1 1 1 -1 0 1
Operatori di Sobel -1 -2 -1 -1 0 1
1 1
× 0 0 0 × -2 0 2
4 4
1 2 1 -1 0 1
E. Ardizzone 18
Università degli Studi
di Palermo
Operatori di Prewitt e Sobel
9 Essendo del tipo a differenza separata nella direzione di calcolo del
gradiente, entrambi gli operatori localizzano correttamente i contorni a
rampa spessi un pixel, mentre presentano ancora problemi per le rampe
meno ripide
9 Negli operatori di Sobel, il peso raddoppiato dei coefficienti N, S, W e E è
motivato dalla volontà di attribuire la medesima importanza al contributo
fornito al gradiente da ogni pixel dell’intorno, in modo da rendere l’operatore
ugualmente sensibile nei confronti di contorni comunque orientati
E. Ardizzone 20
Università degli Studi
di Palermo
1 1 1 0 -1 -1 -1
9 Per esempio, l’operatore di Prewitt 1 1 1 0 -1 -1 -1
7 x 7 per il calcolo del gradiente di
1 1 1 0 -1 -1 -1
riga è mostrato a fianco
1 1 1 0 -1 -1 -1
1 1 1 0 -1 -1 -1
1 1 1 0 -1 -1 -1
1 1 1 0 -1 -1 -1
E. Ardizzone 21
Università degli Studi
di Palermo
Operatori di gradiente composti
9 In generale, la risposta impulsiva di un operatore di gradiente composto è
definita come
GC ( x, y ) = G ( x, y ) ∗ M ( x, y )
dove G(x,y) ed M(x,y) sono, rispettivamente, la risposta impulsiva di uno
degli operatori di gradiente già visti e la risposta impulsiva di un filtro passa-
basso
9 Per esempio, considerando rispettivamente il gradiente di riga 3 x 3 di
Prewitt e il filtro 3 x 3 di media mobile, si ottiene:
1 1 0 -1 -1
2 2 0 -2 -2
1
GCy = × 3 3 0 -3 -3
18
2 2 0 -2 -2
1 1 0 -1 -1
E. Ardizzone 22
Università degli Studi
di Palermo
Operatore DroG
9 Un esempio molto noto di operatore di gradiente composto è la derivata
della gaussiana (DroG), nel quale l’operazione di smoothing utilizza una
funzione gaussiana
9 La gaussiana è una funzione a simmetria rotazionale la cui equazione nel
caso 2-D continuo è la seguente:
dove σ è la deviazione standard,
x2 + y2 r2
h( x, y ) = exp − 2
= exp − 2 ossia il valore di r per il quale h
2σ 2σ si riduce a 1/√e del massimo
E. Ardizzone 23
Università degli Studi
di Palermo
Operatore DroG
E. Ardizzone 25
Università degli Studi
di Palermo
Operatore DroG
9 Tornando all’operatore DroG, le risposte impulsive lungo le due direzioni,
che lo caratterizzano completamente, si possono determinare effettuando la
convoluzione delle due componenti del gradiente, nella formulazione
preferita, con la maschera precedente che caratterizza la gaussiana
9 In alternativa, si può procedere al calcolo delle derivate della gaussiana
rispetto a x e a y, che rappresentano le componenti dell’operatore DroG nel
caso continuo:
∂h x x2 + y2 ∂h y x2 + y2
= − 2 exp − 2
= − 2 exp − 2
∂x σ 2σ ∂y σ 2σ
E. Ardizzone 26
Università degli Studi
di Palermo
Operatore DroG
per y = 0
Sobel DroG
9 Tutti gli operatori derivativi finora presentati hanno una origine euristica
9 Un approccio analitico è stato invece seguito da J. Canny, che ha studiato in
dettaglio il comportamento dell’operatore gradiente applicato ad un contorno
rumoroso
9 Nel caso 1-D, il contorno, supposto a gradino e di ampiezza hE, è corrotto da
rumore bianco gaussiano, con deviazione standard σn
E. Ardizzone 28
Università degli Studi
di Palermo
Metodo di Canny
9 L’edge detection è effettuata per convoluzione del contorno rumoroso f(x)
con una h(x) antisimmetrica e nulla all’esterno dell’intervallo [-W,W], quindi
con un andamento simile a quello dell’operatore DroG
9 Un edge è individuato in corrispondenza ad un massimo locale della
convoluzione f (x )∗ h(x)
9 La h(x) è scelta in modo da soddisfare tre criteri:
1. Capacità di individuazione (detection) dell’edge, attraverso la
massimizzazione del rapporto segnale-rumore (delle ampiezze) del
gradiente. Questa condizione consente di ottenere una bassa probabilità
di mancare punti di edge reali (falsi negativi), e al contempo una bassa
probabilità di considerare come punti di edge punti che non sono tali
(falsi positivi). L’espressione adoperata per il rapporto s/r è:
0
snr =
hE
S(h) , con S ( h) = W
∫−W
h( x)dx
σn [ ]
∫
2
h ( x ) dx
−W
E. Ardizzone 29
Università degli Studi
di Palermo
Metodo di Canny
2. Capacità di localizzazione dell’edge: i punti riconosciuti come di edge
dovrebbero essere il più possibile vicini al centro dell’edge effettivo. A
tal fine è definito un fattore di localizzazione (h’ è la derivata di h):
hE h′(0)
LOC = L(h) , con L( h) =
σn W
[ ]
∫−W
2
h ′( x ) dx
E. Ardizzone 32
Università degli Studi
di Palermo
Metodo di Canny
9 Per una immagine rumorosa (al 5%):
E. Ardizzone 35
Università degli Studi
di Palermo
Scelta del valore di soglia
9 Il minimo di tale probabilità di errore si ottiene scegliendo la soglia in modo
che un edge sia ritenuto presente quando:
Questa è una formulazione della regola
p (G | edge) P(no - edge)
≥ di decisione con errore minimo, secondo
p (G | no - edge) P(edge) il ben noto test di Bayes
9 Un’altra strategia di decisione molto adoperata nell’approccio statistico alla
determinazione del valore ottimo di soglia prevede che t sia tale da
minimizzare PF per una prefissata PD ritenuta accettabile (test di Neyman-
Pearson)
9 L’applicazione di regole di decisione statistiche presuppone comunque la
conoscenza delle probabilità a priori della presenza e dell’assenza di edge e
delle densità di probabilità condizionali del gradiente
9 Per la stima delle prime si può ricorrere all’analisi di altre immagini della
classe considerata, mentre la determinazione delle seconde può essere
effettuata ricorrendo al modello statistico di un edge ideale corrotto da
rumore E. Ardizzone 36
Università degli Studi
di Palermo
Scelta del valore di soglia
9 L’approccio statistico presenta comunque due ordini di difficoltà, il primo
legato alla affidabilità del modello statistico di edge e il secondo alla
difficoltà di calcolo delle densità condizionali di gradiente
9 Tali difficoltà possono essere superate ricorrendo ad un approccio basato su
tecniche di pattern recognition
9 In questo caso, si prendono in considerazione un gran numero di regioni di
immagini rumorose, alcune contenenti edge, altre no, che vengono
considerate come prototipi utilizzabili come training set per l’algoritmo di
minimizzazione dell’errore di classificazione
9 E’ da notare che in molti casi questo approccio conduce a valori di soglia
ottimi che danno PF = 1 – PD, che è lo stesso risultato ottenuto dalla
procedura di decisione bayesiana per P(edge) = P(no-edge)
9 Per bassi valori del rapporto segnale-rumore dell’immagine (una misura del
SNR è (h/σn)2, essendo h l’altezza dell’edge e σn la deviazione standard del
rumore), il valore ottimo di soglia si colloca intorno al 50 – 70 % del valore
di picco del gradiente (per SNR < 10)
E. Ardizzone 37
Università degli Studi
di Palermo
Scelta del valore di soglia
9 Il valore ottimo di soglia tende a decrescere all’aumentare del rapporto
segnale-rumore: come regola del pollice, se PF = 1 – PD, la variazione del
valore di soglia ottimo può essere assunta lineare con il SNR
9 Per esempio, con SNR = 100, si può assumere che la soglia ottima sia tra il 5
e il 10 % del valore di picco del gradiente
9 Alla mappa di edge risultante dalla azione di un edge detector di gradiente
possono naturalmente essere applicate operazioni di post processing tendenti
ad eliminare o ridurre la presenza di tratti di edge molto piccoli, ad
assottigliare i contorni rivelati, etc
E. Ardizzone 38
Università degli Studi
di Palermo
Operatori basati sul laplaciano
9 Come si è detto, la determinazione degli zero crossing della derivata seconda
della f(x,y) localizza con precisione i contorni dell’immagine, mentre il segno
della derivata seconda permette di stabilire l’appartenenza di un pixel al
versante scuro o al versante chiaro di un contorno
9 Un modo molto comune di effettuare le operazioni di derivata seconda di
una f(x,y) in un punto è quello di calcolare il laplaciano in quel punto
9 Ricordiamo che data una funzione f(x,y), il laplaciano di f in (x,y) è definito
come:
2 ∂2 f ∂2 f
L ( x, y ) = ∇ f = 2 + 2
∂x ∂y
9 Il modo più semplice di approssimare il laplaciano nel caso discreto consiste
nel calcolo delle differenze delle derivate prime lungo i due assi:
L( x, y ) = [ f ( x, y ) − f ( x − 1, y )] − [ f ( x + 1, y ) − f ( x, y )] +
+ [ f ( x, y ) − f ( x, y − 1)] − [ f ( x, y + 1) − f ( x, y )]
E. Ardizzone 39
Università degli Studi
di Palermo
Operatori basati sul laplaciano
9 Pertanto:
L( x, y ) = 4 f ( x, y ) − f ( x − 1, y ) − f ( x + 1, y ) − f ( x, y − 1) − f ( x, y + 1)
9 Il laplaciano si può quindi implementare come un filtro la cui risposta
impulsiva è:
0 − 1 0
H = − 1 4 − 1 L ( x , y ) = f ( x , y ) ∗ H ( x, y )
0 − 1 0
9 Questa formulazione del laplaciano è detta dei 4-vicini. La versione
normalizzata che fornisce guadagno unitario è la seguente:
0 − 1 0
1
H = − 1 4 − 1
4
0 − 1 0
E. Ardizzone 40
Università degli Studi
di Palermo
Operatori basati sul laplaciano
9 Una versione (normalizzata) del laplaciano riferito agli 8-vicini, quindi con
le differenze delle derivate prime mediate su tre righe e tre colonne, è:
− 2 1 − 2
1
H= 1 4 1
8
− 2 1 − 2
9 Applichiamo questo operatore ai modelli di edge visti in precedenza:
a a a b b b b a a a c b b b a a a d e b b
a a a b b b b a a a c b b b a a a d e b b
a a a b b b b a a a c b b b a a a d e b b
b b b
h h h
a a a
y0 y y0 y y0 y
c−a = b−c = h 2 d −a = e−d = b−e = h 3
E. Ardizzone 41
Università degli Studi
di Palermo
Operatori basati sul laplaciano
9 Si ottiene, con riferimento alla riga centrale dei tre modelli:
grigi a a a b b b b a a a c b b b
3 3 3 3
edge 0 0 − h h 0 0 0 0 0 − h 0 h 0 0
8 8 16 16
gradino rampa più ripida c−a = b−c = h 2
E. Ardizzone 42
Università degli Studi
di Palermo
Operatori basati sul laplaciano
9 Altri difetti del laplaciano sono l’inaccettabile sensibilità al rumore (in
quanto operatore di derivata seconda) e la incapacità di rilevare la direzione
del contorno (in quanto entità scalare)
9 Per tali motivi, il laplaciano è raramente usato da solo per l’edge detection
9 Di Marr e Hildreth è stata l’idea di utilizzare il laplaciano in connessione con
un filtro di smoothing, ancora una volta una gaussiana, realizzando
l’operatore denominato laplaciano della
gaussiana o LoG:
x2 + y2 r2
h( x, y ) = exp − 2
= exp − 2
2σ 2σ
2 r2 −σ 2 r 2 Sezione trasversale
∇ h=− 2
exp − 2
σ 2σ per σ = 1
E. Ardizzone 43
Università degli Studi
di Palermo
Operatore LoG
9 Si tratta quindi di una funzione a simmetria circolare, con ZC per r = ± σ
9 In 2D, sempre per σ = 1:
Si può dimostrare che il valor
medio della funzione è 0, e lo
stesso avviene per il risultato
della sua convoluzione con una
immagine
La tipica forma a sombrero
indica inoltre che la
convoluzione del’operatore
LoG con una immagine
provoca un blurring (di entità
proporzionale a σ)
dell’immagine stessa, e quindi
ha un effetto positivo in termini
E. Ardizzone di riduzione del rumore 44
Università degli Studi
di Palermo
Operatore LoG
9 Il vantaggio principale offerto dall’operatore LoG resta comunque quello
legato alla presenza degli ZC, come illustreremo con un esempio
9 All’immagine in alto a sinistra
viene applicato l’operatore LoG,
con il risultato mostrato in alto a
destra come immagine di intensità,
nella quale i neri rappresentano i
valori più negativi, i bianchi i
valori più positivi
9 Questa immagine può essere
facilmente binarizzata ponendo i
valori negativi a 0 e i valori
positivi a 1 (in basso a sinistra)
9 Gli ZC, cioè i confini tra zone nere
e bianche nell’immagine binaria,
sono ora facilmente individuabili
(in basso a destra) E. Ardizzone 45
Università degli Studi
di Palermo
Estrazione dei contorni mediante edge fitting
9 Sono stati implementati anche metodi di edge detection non direttamente
basati su operatori differenziali
9 Tra di essi, si possono segnalare i metodi di edge fitting, basati su procedure
di matching dell’immagine analizzata con modelli 1D o 2D di edge ideali,
come quelli mostrati in figura:
Se in un certa posizione nell’immagine il
fitting risulta sufficientemente accurato, si
assume l’esistenza di un edge in quella
posizione, con le caratteristiche definite dai
valori dei parametri che assicurano il fitting
Nel caso 1D, si cerca il matching tra il
segnale f(x) e una funzione a gradino s(x):
a x < x0
s( x) =
E. Ardizzone a + h x ≥ x 0 46
Università degli Studi
di Palermo
Estrazione dei contorni mediante edge fitting
9 Un possibile criterio di fitting è il confronto tra una misura di errore come
l’errore quadratico medio E e un valore di soglia T:
x0 + L
E=∫ [ f ( x) − s ( x)]2 dx
x0 − L
E = ∫∫ [ f ( x, y ) − s ( x, y )]2 dxdy
C
9 A questa classe di algoritmi appartiene quello, molto famoso, di Hueckel
E. Ardizzone 47
Università degli Studi di Palermo
Parte L
E. Ardizzone 2
Università degli Studi
di Palermo
Tecniche di edge linking
9 Due proprietà utilizzabili per stabilire la similarità tra pixel di edge sono per
esempio l’intensità della risposta dell’operatore gradiente e la sua direzione
9 Dato un pixel di edge di coordinate (x’,y’) nell’intorno di (x,y), la condizione
di similarità è soddisfatta se:
E. Ardizzone 3
Università degli Studi
di Palermo
Tecniche di edge linking
Tecniche globali (trasformata di Hough)
9 Si considerano in questo caso relazioni globali tra punti di edge, in modo da
determinare l’appartenenza dei punti stessi a linee di forma specificata, per
esempio rette
9 In generale, dati n punti in un piano, stabilire quali di questi punti sono
collineari è un problema computazionalmente oneroso
9 Infatti si tratta di individuare tutte le rette determinate dai punti, presi a due a
due, e quindi di trovare tutti i sotto-insiemi di punti che possono essere
ritenuti prossimi a ciascuna delle linee
9 Poiché le linee formate da n punti sono n(n-1)/2 ∼ n2, si tratta di effettuare
per ciascun punto altrettanti confronti di distanza, quindi complessivamente
(n) (n(n-1)/2) ∼ n3 confronti
9 Un approccio alternativo è stato proposto da Hough, dando luogo
all’algoritmo noto come trasformata di Hough
E. Ardizzone 4
Università degli Studi
di Palermo
Tecniche di edge linking
9 Dato un punto (xi,yi), l’equazione di un fascio di y
rette passanti per esso è
(xi,yi)
yi = axi + b
9 Ciascuna di queste rette soddisfa l’equazione (xj,yj)
precedente per una determinata coppia dei
parametri a e b x
9 Scriviamo la stessa equazione nella forma
b’ b
b = − xi a + y i
che rappresenta, nello spazio dei parametri, b = −x j a + y j
l’equazione della sola linea definita dalla coppia di a’
valori (xi,yi), che possiamo ritenere associata al
b = − xi a + y i
punto in questione
9 Analogamente, un altro punto (xj,yj) ha una sola a
linea ad esso associata nello spazio dei parametri
9 Nel piano ab le due linee si intersecano nel punto
(a’,b’)
E. Ardizzone 5
Università degli Studi
di Palermo
Tecniche di edge linking
9 a’ e b’ sono i valori dei parametri che definiscono, nel piano xy, la retta che
contiene entrambi i punti considerati
9 Generalizzando, tutti i punti contenuti su una linea del piano xy sono
associati a rette che nel piano ab si incontrano in un punto: le coordinate ab
di questo punto sono i valori dei parametri che definiscono la linea nel piano
xy
9 La trasformata di Hough fa pertanto corrispondere a punti del piano xy rette
dello spazio dei parametri ab
9 L’adattamento di questi concetti al dominio discreto delle immagini digitali,
per esempio nella formulazione di Duda e Hart, rende possibile la ricerca
della collinearità dei punti con notevole risparmio computazionale
9 Il piano dei parametri è quantizzato in celle, che fungono da accumulatori
9 Per ogni punto di edge (xk,yk) del piano xy, si calcolano i valori di b
corrispondenti a ciascuno dei valori possibili di a, utilizzando l’equazione:
b = − xk a + y k
E. Ardizzone 6
Università degli Studi
di Palermo
Tecniche di edge linking
9 I valori risultanti di b sono arrotondati ai valori bmin 0 bmax b
amin
possibili in base alla quantizzazione effettuata,
dando luogo ad una n-pla di coppie del tipo
<ap,bq> 0
9 I corrispondenti accumulatori vengono
incrementati di uno: A(p,q) = A(p,q) + 1 amax
9 Alla fine di tale procedura, un valore, per
esempio M, in uno degli accumulatori, per a
esempio A(i,j), significa che M punti nel piano
Gli estremi degli intervalli sono
xy sono allineati lungo la retta definita dai
parametri ai e bj, con una precisione che è scelti in modo da contenere
legata al numero delle suddivisioni di tutti i casi interessanti
quantizzazione nell’immagine in esame
9 Piccoli valori di M indicano in genere punti isolati o piccoli segmenti che
possono essere trascurati, mentre grandi valori di M sono normalmente
rappresentativi di linee significative per l’immagine in esame
E. Ardizzone 7
Università degli Studi
di Palermo
Tecniche di edge linking
9 Se l’asse a è suddiviso in K intervalli, per ogni punto (xk,yk) si ottengono K
valori di b corrispondenti ai K valori di a
9 Se i punti di edge sono n, questo significa che il numero delle computazioni
è nK
9 Pertanto la procedura descritta è lineare rispetto a n, con ovvio vantaggio
rispetto a quanto visto inizialmente, a meno che K non diventi dell’ordine di
n
9 Per evitare i problemi che nascono nella definizione dei parametri quando
una linea nel piano xy tende a diventare verticale, la trasformazione
effettivamente adoperata fa uso della rappresentazione normale di una linea:
y
ρ
ϑ
x cos ϑ + y sin ϑ = ρ
E. Ardizzone x 8
Università degli Studi
di Palermo
Tecniche di edge linking
9 La trasformazione fa in questo caso corrispondere a punti del piano xy delle
curve sinusoidali, e non delle rette, nel piano ρϑ
9 Come prima, M punti collineari nel piano xy danno luogo nel piano dei
parametri a M curve che si intersecano in un punto le cui coordinate sono i
valori dei parametri che definiscono la retta nel piano xy
9 Il procedimento di Duda e Hart è analogo al caso delle rette: quantizzato in
celle il piano dei parametri, per ogni punto del piano dell’immagine si
determinano i valori di ρ che corrispondono a tutti i possibili valori di ϑ, si
incrementano i corrispondenti accumulatori, si trascurano quelli che alla fine
contengono piccoli valori, etc.
9 La trasformata di Hough è applicabile anche alla individuazione di linee di
forma diversa dalla retta, per esempio una circonferenza:
(x − c1 )2 + ( y − c2 )2 = c32
E. Ardizzone 9
Università degli Studi
di Palermo
Tecniche di edge linking
9 Lo spazio dei parametri è stavolta 3-D, con celle cubiche
9 La procedura prevede l’incremento di c1 e c2, la determinazione dei
corrispondenti valori di c3, l’aggiornamento degli accumulatori
9 Riepilogando, una procedura completa di determinazione delle rette presenti
in una immagine consiste dei passi seguenti:
– Determinazione della mappa degli edge (per esempio con un metodo di
gradiente)
– Quantizzazione del piano ρϑ
– Calcolo dei valori dei parametri e incremento degli accumulatori
– Selezione delle celle corrispondenti agli accumulatori con i valori più
elevati
– Analisi delle relazioni spaziali fra i pixel di ogni cella presa in
considerazione (soprattutto ai fini della continuità): eventuali gap fra
punti allineati sono significativi se maggiori di una certa soglia
E. Ardizzone 10
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 Come sappiamo, un istogramma come quello mostrato a sinistra può
corrispondere ad una immagine con oggetti chiari su sfondo scuro, cosicché i
rispettivi pixel hanno livelli di grigio raggruppati in due modi dominanti:
200 700
180
600
160
140 500
T2
120
400 T1
100
300
T
80
60 200
40
100
20
0 0
E. Ardizzone 12
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 Il risultato della sogliatura è una immagine binaria g(x,y) tale che:
1 se f ( x, y ) > T
g ( x, y ) =
0 se f ( x, y ) ≤ T
9 La soglia è detta globale se T dipende solo da f(x,y), è detta locale se dipende
sia da f(x,y) che da p(x,y), è detta dinamica se dipende anche da x e y
9 Ovviamente l’operazione più semplice da implementare è quella basata su
una singola soglia globale
9 Con riferimento al modello dell’immagine f(x,y)=i(x,y)r(x,y), essendo la
segmentazione un processo che ha lo scopo di separare gli oggetti dallo
sfondo, il suo effetto è chiaramente legato alla componente di riflettanza, ma
può essere fortemente condizionato dalla componente di illuminanza, come
mostra l’esempio seguente
E. Ardizzone 13
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 La seguente funzione di riflettanza, generata sinteticamente, ha ovviamente
un istogramma bimodale, per cui la segmentazione si ottiene
immediatamente scegliendo una singola soglia localizzata tra i due lobi:
E. Ardizzone 16
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
1200
1000
800
600
400
200
9 Analizzando adesso la s(x,y) linea per linea, si possono etichettare con 1 tutti i
pixel seguenti una coppia (- +) e precedenti una coppia (+ -), e con 0 tutti gli
altri che non si trovano in una situazione analoga, ottenendo infine una
immagine binaria nella quale l’oggetto è rappresentato dai pixel 1 e lo sfondo
dai pixel 0
E. Ardizzone 20
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 Il metodo descritto può per esempio essere
applicato all’estrazione di testo manoscritto
su sfondo non uniforme, come nel caso
mostrato
200 T1
150
100
50
E. Ardizzone 22
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 Evidenziamo il contenuto originale del segmento S0 (il resto è in nero) ed il
relativo istogramma:
250
200
T2 Si può effettuare una altra
150
100
sogliatura a T2 = 40,
50 ottenendo i segmenti S00 e
0
250
200
T3 Si può effettuare una altra
150
sogliatura a T3 = 170,
ottenendo i segmenti S10 e
100
50
0
S11
0 50 100 150 200 250
E. Ardizzone 23
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 Arrestando a questo livello il processo di segmentazione, si hanno i quattro
segmenti S00, S01, S10 e S11, qui evidenziati in colore falso nella stessa
immagine:
250
200
T1 T3
150
T2
100
50
E. Ardizzone 24
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 L’estensione dei metodi di segmentazione a soglia al caso delle immagini in
cui ogni pixel è caratterizzato da più proprietà, come tipicamente avviene
nelle immagini a colori, è abbastanza immediata
9 Per una immagine RGB, per esempio, dato che ogni pixel è caratterizzato da
tre valori, è possibile costruire un istogramma 3-D definendo un reticolo
spaziale di celle cubiche, ciascuna delle quali corrisponde ad una delle
combinazioni possibili di R, G e B, che ne rappresentano le coordinate
9 Dopo la costruzione dell’istogramma, ogni cella contiene il numero dei pixel
caratterizzati dai tre valori RGB corrispondenti alle coordinate della cella
9 L’operazione di thresholding diviene a questo punto una ricerca di cluster di
punti nello spazio RGB: un cluster rappresenta quello che negli istogrammi
1-D è rappresentato da un modo, ovvero una aggregazione di valori contigui
di intensità, resa significativa dal numero dei punti dell’immagine che sono
caratterizzati da tali valori
E. Ardizzone 25
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 Individuati i cluster più significativi, la segmentazione può essere effettuata,
per esempio, assegnando un valore di intensità o un colore falso ai pixel le
cui componenti RGB sono vicine ad un cluster ed un altro valore agli altri
pixel dell’immagine
9 Un esempio di suddivisione in 4 segmenti di una immagine a colori:
E. Ardizzone 26
Università degli Studi
di Palermo
Tecniche di segmentazione a soglia
9 Rimanendo nell’ambito delle immagini a colori, la segmentazione può essere
ovviamente effettuata con riferimento a modelli di colore diversi dal modello
RGB
9 Per esempio, le rappresentazioni del tipo HSI si prestano bene a
segmentazioni basate sul valore della tinta, o della tinta e della saturazione,
quindi direttamente sulle caratteristiche percettive del colore (come richiesto
nelle applicazioni di classificazione di immagini che, basandosi sul colore,
tentano di emulare il comportamento umano)
E. Ardizzone 27
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 Sono tecniche basate ancora sull’analisi della similarità tra pixel, orientate
però alla individuazione diretta delle regioni
9 La segmentazione può infatti essere vista come un processo che determina la
presenza nell’intera immagine R di n componenti Ri, con (i= 1, …, n), tali
che:
a) la segmentazione risulti completa, cioè ogni pixel dell’immagine sia
contenuto in una regione:
n
UR i =R
i =1
Ri I R j = φ ∀i, j e i ≠ j
E. Ardizzone 28
Università degli Studi
di Palermo
Tecniche di regionalizzazione
d) tutti i pixel di ognuna delle regioni soddisfino le proprietà sulla base
delle quali si effettua la segmentazione, per l’esempio la similarità di
intensità; esprimendo la proprietà in forma di predicato si può scrivere
P( Ri ) = TRUE per i = 1,2, K, n
e) sulla base dello stesso predicato, ogni regione sia diversa da tutte le
altre:
P ( Ri U R j ) = FALSE per i ≠ j
E. Ardizzone 30
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 Se invece T=8 si ottiene solo la regione mostrata: a a a a a
a a a a a
9 Ci si deve chiedere come si scelgono i punti di
a a a a a
seme, in modo che siano appropriati per la
segmentazione che si deve effettuare, e come si a a a a a
scelgono le proprietà in base alle quali governare a a a a a
il processo di accrescimento
9 Per quanto riguarda la selezione dei semi, spesso la natura del problema
in esame può dare precise indicazioni
9 Per esempio, nell’analisi di immagini ad infrarossi spesso sono di
interesse le zone più luminose, che corrispondono ad oggetti a
temperatura più alta dello sfondo (mezzi in movimento, esseri viventi,
etc.). In casi come questo è naturale selezionare come semi i pixel di
valore più elevato
E. Ardizzone 31
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 Nei casi in cui la natura del problema non fornisca indicazioni, si può
procedere al calcolo, in ogni pixel, dello stesso insieme di proprietà che poi
saranno utilizzate durante l’accrescimento
9 Se i risultati di questi calcoli mostrano una tendenza al clustering dei valori
nello spazio delle proprietà, è possibile scegliere come semi i pixel
corrispondenti o vicini ai centroidi di questi cluster
9 Nell’esempio precedente, in cui la segmentazione è basata sui valori di
grigio, un’analisi dell’istogramma avrebbe suggerito come semi esattamente
i pixel di valore 1 e 7
9 La scelta delle proprietà da utilizzare per la segmentazione è legata non solo
al problema in esame, ma anche alla natura dei dati a disposizione: colore,
intensità, tessitura e altre proprietà spaziali sono di norma utilizzate, e
peraltro sono anche le proprietà sulle quali si basano in prevalenza i
descrittori di immagini, dei quali parleremo in seguito
9 E’ fondamentale non trascurare il ruolo rivestito, ai fini della estrazione delle
regioni, dalle informazioni di adiacenza o connettività tra pixel
E. Ardizzone 32
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 Un altro problema nel region growing può essere costituito dalla
formulazione di una regola di arresto dell’accrescimento, che non sempre
coincide con quella (ovvia) della mancanza, ad un certo punto del processo,
di pixel in grado di soddisfare i criteri per l’inserimento in una certa regione
9 Infatti i criteri legati all’intensità, al colore, alla tessitura, etc. non possono
che essere “locali”, e quindi non tengono conto del modo in cui la regione si
è fino a quel momento formata
9 Per esempio, potrebbe essere fondamentale, per una segmentazione sensata
in relazione ad un certo problema, tener conto anche della forma assunta dal
segmento fino all’istante corrente, ovvero di altre proprietà come il valor
medio dei pixel correntemente inclusi nella regione, etc.
9 L’esempio seguente mostra l’applicazione di questa tecnica a partire da un
solo seme, utilizzando i seguenti criteri:
– La differenza, in valore assoluto, tra il seme ed un punto candidato non deve
superare il 10% della gamma dinamica dell’immagine (che in questo caso è 255)
– Ogni pixel aggiunto alla regione deve essere 8-connesso con almeno un pixel
precedentemente incluso E. Ardizzone 33
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 Negli stadi iniziali dello
accrescimento, la regione ha
una forma a diamante dovuta al
fatto che i pixel aventi uguale
distanza D4 dal seme sono i
primi ad essere presi in
considerazione
9 La forma della regione perde
questa caratteristica non appena
si toccano i confini (pixel più
scuri che violano il primo
criterio)
9 Benché pixel in regioni vicine
abbiano valori di grigio simili,
essi non risultano inclusi nella
regione in quanto violano il
secondo criterio
E. Ardizzone 34
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 La tecnica nota come region splitting and merging procede in modo inverso
a quella di region growing, partendo dall’intera immagine e suddividendola
in parti disgiunte via via più piccole, fondendo quelle adiacenti fra esse con
caratteristiche simili, nel tentativo di costruire regioni che soddisfino ai
criteri adottati per la segmentazione
9 Supponendo che l’immagine di partenza, alla quale corrisponde la regione R,
sia quadrata, un modo naturale di effettuarne la suddivisione è in quadranti
via via più piccoli:
R
La radice dell’albero corrisponde
all’intera immagine, ogni nodo
corrisponde a una suddivisione
R1 R2 R3 R4 Nell’esempio, solo R4 risulta
ulteriormente suddiviso
E. Ardizzone 36
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 E’ da notare che lo splitting, da solo, non potrebbe evitare la presenza,
all’ultimo livello della suddivisione, di regioni adiacenti con caratteristiche
simili
9 A ciò si può porre rimedio mediante il merging delle regioni adiacenti i cui
pixel soddisfino il predicato P utilizzato nella segmentazione
9 Riassumendo, i passi della procedura-base di splitting e merging, ad ogni
livello della suddivisione, sono i seguenti:
– suddividere in quattro quadranti disgiunti ogni regione Ri per la quale
P(Ri) = FALSE
– fondere due regioni adiacenti Ri e Rj se P(Ri ∪ Rj) =TRUE, e
– terminare quando non è più possibile effettuare né splitting né merging
E. Ardizzone 37
Università degli Studi
di Palermo
Tecniche di regionalizzazione
9 Si è più volte accennato alla possibilità di utilizzare proprietà dei pixel
diverse dal semplice livello di grigio, ai fini sia della segmentazione che, più
in generale, della descrizione di regioni di una immagine
9 Di particolare rilievo sono le proprietà dei pixel che tendono a quantificare la
cosiddetta tessitura di una regione, come per esempio la media o la
deviazione standard dei valori dei pixel, momenti statistici di ordine più
elevato, etc.
9 La segmentazione basata sulla tessitura utilizza queste misure della tessitura
nella formulazione dei predicati P, come si vedrà in seguito
E. Ardizzone 38