31
L Caponetti Operatori locali L Caponetti Analisi di basso livello Si applica ad una immagine per produrre una immagine utile all’ applicazione finale Obiettivo è il miglioramento della immagine e riduzione del rumore – introdotto nella acquisizione e trasmissione

L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

Embed Size (px)

Citation preview

Page 1: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

1

L Caponetti

Operatori locali

L Caponetti

Analisi di basso livello

Si applica ad una immagine per produrre una immagine utile all’ applicazione finale

Obiettivo è il miglioramento della immagine e riduzione del rumore – introdotto nella acquisizione e trasmissione

Page 2: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

2

L Caponetti

Elaborazione intermedia

La descrizione per punti di una scena è troppo complessa per l’elaborazione di alto livello quale l’interpretazione

L’elaborazione intermedia si occupa di ottenere una descrizione significativa della scena mediante

la segmentazione – suddivisione della immagine in regioni a cui associare dei descrittoriIn ingresso si ha una immagine In uscita un insieme di descrittori

L Caponetti

Interpretazione

Viene definita di alto livello in analogia alla visione di alto livello dell’uomo

Utilizza tecniche di intelligenza artificialeRichiede un modello della scena che si vuole analizzareIn ingresso si hanno delle descrizioni – featuresIn uscita il risultato di un processo di classificazione

Page 3: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

3

L Caponetti

Operatori locali

Gli operatori locali associano ad ogni pixel (i,j) di una immagine f un valore calcolato sulla base dei valori di un intorno o finestra centrata nel pixel (i,j)

Per eseguire una elaborazione locale l’immagine viene esplorata in una sequenza prefissata – ad esempio da sinistra a destra e dall’alto verso il basso

f(i,j)

L Caponetti

Obiettivi

Smoothing – rimuove il rumore dovuto allatrasmissione, acquisizione..

Enhancement – migliora la qualità delle immagini o enfatizza feature significative, come gli edge

Deblurring – migliora la nitidezza ( sharpness) delleimmagini sfocate (blurred)

Page 4: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

4

L Caponetti

w(i,j) è una maschera 3 x 3 w1 w3w2

w4 w6w5

w7 w9w8

h =

)1,1(),1()1,1()1,(),()1,(

)1,1(),1()1,1(),(

987

654

321

+++++−+++++−+

+−+−+−−=

yxfwyxfwyxfwyxfwyxfwyxfw

yxfwyxfwyxfwyxg

(x,y)y

xf(x+1,y+1)f(x+1,y)f(x+1,y-1)

f(x,y+1)f(x,y)f(x,y-1)

f(x-1,y+1)f(x-1,y)f(x-1,y-1)Finestra immagine didimensione 3 x 3

Il valore del pixel centrale è calcolato come somma pesata di f secondo i coefficienti wi:

Operatori locali

L Caponetti

Convoluzione

Siano f(x,y) una immagine di dimensione NxNw(x,y) una maschera spaziale di dimensione LxL

L’operazione di convoluzione della immagine f(x,y) con w(x,y) con origine nel centro della maschera si può esprimere nel modo seguente

L’immagine di output g(x,y) è influenzata soltanto dai pixel che si trovano in un intorno di dimensione uguale a quella della maschera spaziale

)2/,2/(*),(),(1

0

1

0

jLyiLxfjiwyxgL

j

L

i

+−+−= ∑∑−

=

=

L’equazione descrive in effetti la correlazione – vedi lezione sui sistemi lineari

Page 5: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

5

L Caponetti

Maschera

Maschera: matrice quadrata di pesi utilizzati nel calcolo del nuovo valore di un determinato pixel a partire dall’intorno del pixel stesso.

Può essere considerata una finestra che si muove sulla immagine

L Caponetti

ConvoluzioneLa convoluzione è una operazione complessa dal punto di vista computazionale

Ad esempio consideriamo la maschera seguente: 1 4 6 4 14 16 24 16 46 24 36 24 6 4 16 24 16 41 4 6 4 1

La convoluzione con la matrice 5x5 richiede 25 (moltiplicazioni + addizioni) per ogni pixel

Quando una matrice può scomporsi nel prodotto di 2 vettori èconveniente applicare i 2 vettori singolarmente alle righe e alle colonne della immagine

Page 6: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

6

L Caponetti

ConvoluzioneLa maschera di convoluzione

1 4 6 4 14 16 24 16 46 24 36 24 6 4 16 24 16 41 4 6 4 1

Si può scrivere come prodotto dei vettori [1 4 6 4 1 ]T e [1 4 6 4 1 ]

In questo caso per ogni pixel sono sufficienti (5+5) moltiplicazioni e addizioni

L Caponetti

Elaborazione dei bordiSi applica l’operatore solo sui punti che hanno un intorno → l’immagine risultante è più piccola dell’originaleSi considera in aggiunta una cornice di punti (di solito uguali a zero) → l’immagine risultante ha le stesse dimensioni dell’originale

Bordo su cui non si può applicare l’operatore

Page 7: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

7

L Caponetti

Image smoothing

Obiettibo: attenuare attenuare le brusche variazionidi livello di grigio tra un pixel e il suo intornoUn processo di smoothing può eliminare

le brusche transizioni (random noise) nei livelli di grigioi dettagli irrilevanti cioè associati a pochi pixels: questa operazione è detta blurring

Un semplice processo di Image smoothing è quello dicalcolare localmente per ogni pixel il valore medio(lowpass spatial filtering). Si può ottenere medianteuna convoluzione

L Caponetti

Image Smoothing

Se i valori della maschera w sono uguali a 1/9 la convoluzione di w con l’immagine iniziale produce per ogni pixel (i,j) un valore pari al valore medio dei pixel dell’intorno 3x3 di (i,j) – box mask

1 1 11 1 11 1 1

×91

Si ottiene una immagine meno contrastata di quella iniziale con riduzione del rumore

Equivale a un filtro passa basso

Page 8: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

8

L Caponetti

Image Smoothing

L’applicazione della maschera precedente equivale a effettuare una media fra i pixel del contorno e sostituire al valore originale questa mediaIn questo approccio si dà la stessa importanza al valore originale del pixel e ai valori dei pixel vicini

In generale una averaging mask calcola una media pesata deivalori dei pixel in un intorno:

una maschera con pesi positivi, con somma uguale a 1, ènormalizzata in modo tale che I valori risultanti siano nellostesso range di quelli iniziali

Questa operazione è anche detta neighborhood averaging

L Caponetti

010111010

51

010141010

81

111111111

91

1313163131

321

Averaging mask

Page 9: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

9

L Caponetti

Esempio di Image Blurring

Average maskNN

11

111

2

L

LLK

L

Immagine originale N=5

N=9

L Caponetti

Filtro Gaussiano

Si utilizza quando si vuole che il pixel in esame abbia maggiore importanza nel calcolo del nuovo valore di grigio, rispetto a quelli del suo intorno: il peso di tale pixel sarà maggiore rispetto a quello dei pixel dell’intorno

1 2 12 4 21 2 1

×161

Il fattore moltiplicativo serve a normalizzare la somma dei pesi a 1. In tal modo il range dei valori di output risulta uguale a quello dei valori di input

Page 10: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

10

L Caponetti

Filtro Gaussiano

Il filtro gaussiano corrisponde a una funzione gaussiana discreta bidimensionale

Dove σ è la larghezza della funzione – standard deviation- ed r la distanza – raggio- dal centro.

Il pixel al centro ha il peso massimo, e gli altri hanno un peso che diminuisce con la distanza dal pixel centrale.

Il filtro gaussiano è isotropico cioè circolarmente simmetrico

2

22

222

1 σ

πσ

yx

e+−

L Caponetti

Normalizzazione

Se l’immagine risultante è finalizzata alla visualizzazione, i valori dei pixel devono restare entro la gamma dei livelli di grigio rappresentabili (es. 0 - 255)A questo scopo, i coefficienti del filtro devono soddisfare la

condizione:

In tal modo una zona a valore di grigio costante entro la maschera del filtro resta immutata dopo il filtraggio

∑=

==mn

iimn

R1

11 ω

Page 11: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

11

L Caponetti

L Caponetti

Image sharpening

Ha l’obiettivo di evidenziare i dettagli più fini in una immagine che potrebbero essere sfocati

Si può implementare mediante una maschera di pesi positivi e negativi

Un processo di sharpening – affilamento- tende a evidenziare le brusche variazioni di livello di grigio

Page 12: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

12

L Caponetti

Sharpening mask

(affilatura)

La maschera di sharpening ha un valore centrale positivo e i valori nell’intorno negativi. Lo scopo è di evidenziare i dettagli

-1 -1 -1-1 8 -1-1 -1 -1

×91

Equivale a un filtro passa alto

L Caponetti

g(m,n) = f(m,n) – lowpass(f(m,n))

Image sharpening

E’ equivalente a un filtro passa-alto

Una immagine filtrata con un filtro passa-alto si può pensare come la differenza tra l’immagine originale f ed una versione filtrata con un filtro passa-basso

Page 13: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

13

L Caponetti

Esempio

L Caponetti

Filtri 5x5 – box – gaussiano - sharpening

Page 14: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

14

L Caponetti

Unsharp masking

Un processo usato molto nella pubblicità; consiste nel sottrarre dalla immagine originale una versione sfocata della immagine stessa:

Una generalizzazione è detta High-boost filtering; consiste nelsottrarre una versione sfocata di f da una amplificata di un fattore A

g(m,n) = A f(m,n) – lowpass(f(m,n))

= (A-1) f(m,n) + f(m,n) – lowpass(f(m,n))

= (A-1) f(m,n) + highpass(f(m,n))Dove A>1

g(m,n) = f(m,n) – lowpass(f(m,n))

L Caponetti

High-boost mask

Il filtro high-boost può essere implementato con le seguenti maschere:

8-1

0-10

-1A+ 4-1

0-10

-1-1-1

-1A+8-1

-1-1-1

Page 15: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

15

L Caponetti

L’immagine risultante ha i contorni più evidenziati rispettoall’immagine originale

Esempio di high-boost filtering

L Caponetti

Filtri derivatoriObiettivo è quello di analizzare le variazioni fra un pixel e quello adiacente - ad esempio per evidenziare i contorni: equivale a studiare la derivata di una funzione e, nel caso di funzioni a due dimensioni, a studiarne il gradiente:

∂∂∂∂

=∇

yfxf

f e poi calcolarne il modulo:

22

∂∂

+

∂∂

=∇yf

xff

che può essere approssimato come differenze finite

( ) ( )22ii yyxx fffff −+−=∇

Page 16: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

16

L Caponetti

Operatori differenziali

Obiettivo è la ricerca di discontinuità (un brusco cambiamento di intensità)

Il problema viene affrontato tramite l'analisi delle derivate

In generale il problema della differenziazione risulta mal postoUn problema è ben posto se la sua soluzione:

Esiste

È unica

Dipende con continuità dai dati iniziali

L Caponetti

Operatori differenziali

I punti in cui si hanno delle variazioni brusche di intensità possono essere rilevati dall’analisi delle derivate:

Si può scegliere il massimo (minimo) della derivata prima o lo zero (punto di attraversamento dell'asse x) della derivata seconda

Page 17: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

17

L Caponetti

Operatori differenziali

f(x) è l'intensità dell'immagine

L Caponetti

Derivata discreta

La derivata può essere approssimata tramite una differenza

Lo stesso approccio vale per la derivata seconda

Nello spazio bidimensionale al posto della derivata si ha il gradiente - un vettore

hhxfhxfxf

2)()()( −−+

≈′

2

)()(2)()(h

hxfxfhxfxf −+−+≈′′

Page 18: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

18

L Caponetti

Approssimazione derivate prime

),()1,( ),(),1( yxfyxfyfyxfyxf

xf

−+≅∂∂

−+≅∂∂

L Caponetti

Approssimazione derivate seconde

( )

( )

f(x,y) )-f(x,y) f(x,y

yxfyxfyxfyxfyf

f(x,y) ,y)-f(x-,y)f(x

,y)f(xf(x,y)f(x,y),y)f(xxf

211

)1,(),(),()1,(

211

11

2

2

2

2

−++

=−−−−+≅∂∂

++

=−−−−+≅∂∂

Page 19: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

19

L Caponetti

Approssimazioni del gradiente

Il gradiente è un vettore (ha due componenti)

Gli operatori differenziali nel discreto sono realizzati tramite maschere a somma nulla:

l'applicazione a una regione uniforme deve dare risultato zero

∂∂

∂∂

=∇

yyxf

xyxf

yxf ),(

),(

),(

L Caponetti

Approssimazione del gradiente

L’ampiezza del gradiente è:

Consideriamo la seguente regione:

2/122 ),(),(),(

∂+

∂∂

=∇y

yxfx

yxfyxf

z1 z3z2

z4 z6z5

z7 z9z8

yx

)()1( xfxfxf

−+=∂∂

Page 20: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

20

L Caponetti

Approssimazione del gradiente

Possiamo usare la seguente approssimazione:

Si possono usare le maschere h1 e h2 lungo i 2 assi:

[ ] 2/1265

285 )()(),( zzzzyxf −+−≈∇

=1

11h [ ]112 −=h

[ ] 2/122

21 )()(),( hfhfyxf ∗+∗≈∇

L Caponetti

Approssimazione del gradienteRoberts cross-gradient operators

In alternativa si può usare la seguente approssimazione:

Si possono usare le maschere h1 e h2 lungo le diagonali:

[ ] 2/1286

295 )()(),( zzzzyxf −+−≈∇

=10

011h

=0110

1h

[ ] 2/122

21 )()(),( hfhfyxf ∗+∗≈∇

operatori diRoberts

Page 21: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

21

L Caponetti

Approssimazione del gradientePrewitt operators

Una migliore approssimazione si può ottenere nel modo seguente:

Si possono usare le maschere h1 e h2

[ ] 2/122

21 )()(),( hfhfyxf ∗+∗≈∇

operatori diPrewitt

[ ] 2/12741963

2321987 ))()(())()((),( zzzzzzzzzzzzyxf ++−+++++−++≈∇

−−−=

111000111

1h

−−−

=101101101

2h

L Caponetti

Approssimazione del gradienteSobel operators

Un’altra approssimazione si può ottenere con le maschere h1 e h2

Gli operatori di Robert, Prewitt e Sobel sono utilizzati nell’edge detector

operatori diSobel

−−−=

121000121

1h

−−−

=101202101

2h

Page 22: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

22

L Caponetti

Prewitt e SobelMaschere di Prewitt per evidenziare linee orizzontali e

linee verticali

-1 -1 -10 0 01 1 1

-1 0 1-1 0 1-1 0 1

-1 -2 -10 0 01 2 1

-1 0 1-2 0 2-1 0 1

Maschere di Sobel per evidenziare linee orizzontali e linee verticali

L Caponetti

Operatore di Sobel

Operatori di Sobel:

000

121

-1-2-1

20-2

10-1

10-1

Discontinuità nella direzione x 0 gradi

Discontinuità nella direzione y 90 gradi

Page 23: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

23

L Caponetti

SobelMaschere di Sobel per evidenziare linee orizzontali a 0

gradi e 180 gradi

-1 0 1-2 0 2-1 1 1

1 0 -12 0 -21 0 -1

-1 -2 -10 0 01 2 1

1 2 10 0 2-1 -2 -1

Maschere di Sobel per evidenziare linee verticali a 90 gradi e 270 gradi

L Caponetti

Operatore di Sobel000

121

-1-2-1

Maschera per contorni verticali

20-2

10-1

10-1

Maschera per contorni orizzontali

Vengono create duenuove immagini

000

121

-1-2-1

20-2

10-1

10-1

000

2149

-2-6-2

100

-16

20-9

20-2

Gx=15

Gy=-13

G≈28φ=arctg(-13/15)

Page 24: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

24

L Caponetti

Operatore di Sobel

È il negativo del risultato Colori diversi rappresentanoangoli diversi

L Caponetti

Oppure: 4

0-10

-1-1

-10 0

valore centrale positivo

Page 25: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

25

L Caponetti

Derivate I e II

L Caponetti

Page 26: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

26

L Caponetti

L Caponetti

Page 27: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

27

L Caponetti

L Caponetti

Operatori di rango

Sono operatori non lineariSi considerano ancora i valori su una finestra locale, si riordinano e si usa come risultato quello in una posizione particolareGli operatori più comuni sono:

Massimo (il massimo locale)Minimo (il minimo locale)Mediano (il valore nella posizione centrale del vettore ordinato)

Page 28: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

28

L Caponetti

Filtro medianoSostituisce il valore di ogni pixel con il valore mediano calcolato in una finestra centrata sul pixel in esame

Il valore mediano si calcola ordinando i valori dei pixel e scegliendo quello centrale.

10 20 2020 15 2020 25 90

10 15 20 20 20 20 20 25 90^

valore mediano

porzione di immagine

Scopo: rimozione del rumore tipo salt & pepper

L Caponetti

Operatore mediano

È utilizzato per eliminare il rumore da una immagineRispetto ad una media locale ha il vantaggio di essere meno sensibile rispetto al rumore salt & pepper (sale & pepe) e di non introdurre nuovi valoriEsempio considerando i valori: 1, 3, 5, 7, 14

Media=6Mediana=5

Page 29: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

29

L Caponetti

Filtro mediano

E’ un filtro non lineare

Funzione: forza i pixel i con intensità molto diverse ad essere simili ai loro vicini; si eliminano in questo modo gli “ spikes” isolati nell’area di azione della maschera

In caso di spikes residui si può usare il filtro piùvolte: in altre parole elimina il rumore impulsivo, detto sale e pepe

L Caponetti

Comportamento del filtro media e mediano applicati a rumore impulsivo(maschera di 3 pixel)

Media e filtro mediano

Page 30: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

30

L Caponetti

Comportamento del filtro media e mediano applicati a un gradino impulsivo (maschera di 3 pixel)

Media e filtro mediano

L Caponetti

Media e filtro mediano

La media tende a creare nuovi livelli di grigio

Attenua non solo il rumore, ma anche tutte le alte frequenze spaziali in modo indiscriminato, causando sfocatura, perdita di dettaglio fine e attenuazione dei fronti di salita delle transizioni di livello di grigio

Il filtro mediano non deteriora i fronti di salita, ma elimina i picchi con base sufficientemente piccola rispetto all’ampiezza della maschera

Page 31: L Caponetti - Dipartimento di Informaticaig/lezioni-08-09/5-operatori-locali.pdf · Enhancement – migliora la qualità delle immagini o ... come gli edge Deblurring ... Image sharpening

31

L Caponetti

Operatori di rango

Generalizzando:Si riordinano i valoriSi considerano quelli in un certo intervallo

Per esempio si escludono il 10% dei valori più grandi e il 10% dei valori più piccoli

Si calcola la media dei rimanenti