Image Filtering - biplab.unisa.it · o Un edge si presenta in una immagine come il confine tra due...

62
Image Filtering Michele Nappi, Ph.D Università degli Studi di Salerno [email protected] biplab.unisa.it 089-963334

Transcript of Image Filtering - biplab.unisa.it · o Un edge si presenta in una immagine come il confine tra due...

Image Filtering

Michele Nappi, Ph.D

Università degli Studi di Salerno

[email protected]

biplab.unisa.it

089-963334

22/03/2016 Michele Nappi 2

Background

22/03/2016 Michele Nappi 3

Background (cont.)

• Trasformazione dell’immagine:

• f è l’immagine input

• g è l’immagine elaborata

• T è l’operatore di trasformazione

• T è lineare se gode delle seguenti

proprietà:• Omogeneo se T{af[n]}=aT{f[n]}

• Associativo se T{f1[n]+f2[n]}=T{f1[n] }+T {f2[n]}

yxfTyxg ,,

22/03/2016 Michele Nappi 4

Background (cont.)

• Classificazione delle Trasformazioni T:

– Tecniche operanti nel dominio spaziale • Manipolazione diretta dei pixel

– Tecniche operanti nel dominio delle frequenze

• Trasformazione dell’immagine nel dominio delle frequenze e manipolazione delle frequenze

– Tecniche Ibride• Combinazione di tecniche

22/03/2016 Michele Nappi 5

Classificazione delle Tecniche

22/03/2016 Michele Nappi 6

Tecniche Operanti nel

Dominio Spaziale• Point Processing: La

trasformazione T è definita solo nel punto (x,y)

– s = input gray level

– r = output gray level

– T dipende solo da un punto

• Negativo (T è monotona decrescente)

• Binarizzazione (T è monotona crescente)

• Contrast Stretching (T è monotona crescente)

r

s

L-1

L-1

T(s)

r

s

L-1

L-1

(s1 ,r1)

(s2 ,r2)

Binarizzazione

22/03/2016 Michele Nappi 7

Negativo

22/03/2016 Michele Nappi 8

22/03/2016 Michele Nappi 9

Tecniche Operanti nel

Dominio Spaziale (cont.)

• La trasformazione T è definita in un intorno

predefinito di (x,y)

– Filtri Spaziali (mask processing)

• T dipende da un intorno del punto

– Lowpass (passa basso): attenua o elimina le alte frequenze

» Contorni e dettagli

– Highpass (passa alto): attenua o elimina le basse frequenze

» Contrasto e intesità

– Bandpass (passa banda): attenua frequenze in una banda

predefinita

22/03/2016 Michele Nappi 10

Filtri Spaziali• Filtro lineare (mask) 3x3

• R=w1z1 + w2z2 + w3z3 + w4z4 + w5z5+w6z6 + w7z7+w8z8 + w9z9

• Dove z1, z2…………z9 rappresentano i pixel dell’immagine ai quali è sovrapposto il filtro e w1, w2…………w9 i pesi caratterizzanti il filtro

W1 W2 W3

W4 W5 W6

W7 W8 W9

22/03/2016 Michele Nappi 11

Filtri Spaziali (cont.)

22/03/2016 Michele Nappi 12

Filtri Spaziali (cont.)

22/03/2016 Michele Nappi 13

Filtri Spaziali (cont.)

• Smoothing Filter (preprocessing step)

– Blurring e Noise reduction

• Blurring è usato per rimuovere piccoli dettagli

prima di estrarre (grandi) oggetti

• Lowpass

– Lineari

» Filtro Media (aritmetica)

– Non Lineari

» Filtro Mediano

» Filtro Max

» Filtro Min

22/03/2016 Michele Nappi 14

Filtri Spaziali: La Media

• Filtro Media– S= insieme di pixel

connessi con (x,y)

– M= numero di pixel

coinvolti (|S|+1)

Smnf

mnfM

yxg,

,1

,

111

111

111

9

1

22/03/2016 Michele Nappi 15

Filtri Spaziali: La Media (cont.)

22/03/2016 Michele Nappi 16

Filtri Spaziali: La Media Adattiva

22/03/2016 Michele Nappi 17

Filtri Spaziali: La Mediana

• Filtro Mediana

Syxfyxfmedianayxg

,,,

22/03/2016 Michele Nappi 18

Filtri Spaziali: La Mediana (cont.)

22/03/2016 Michele Nappi 19

Filtri Spaziali

• Filtro Ibrido:

– Media + Mediana

Media vs Mediana

22/03/2016 Michele Nappi 20

22/03/2016 Michele Nappi 21

Media vs Mediana

22/03/2016 Michele Nappi 22

Media vs Mediana (cont.)

22/03/2016 Michele Nappi 23

Media vs Mediana (cont.)

• Media

– Eccessiva velatura (blurring) al crescere della

maschera e delle iterazioni con conseguente perdita

dei dettagli

– Preserva con la versione adattiva le forme (scalini)

• Mediana

– Riduzione del rumore (noise reduction) senza

(eccessiva) perdita di dettagli (blurring limitato)

– Non preserva le forme (scalini)

22/03/2016 Michele Nappi 24

Media vs Mediana (cont.)

22/03/2016 Michele Nappi 25

Media vs Mediana (cont.)

Media vs Mediana (cont.)

22/03/2016 Michele Nappi 26

22/03/2016 Michele Nappi 27

Max/Min Filtering

22/03/2016 Michele Nappi 28

Smoothing Gaussiano

22/03/2016 Michele Nappi 29

Smoothing Gaussiano (cont.)

22/03/2016 Michele Nappi 30

Smoothing

Media

Gaussiana

Mediana

22/03/2016 Michele Nappi 31

Originale,

Gaussiano,Media,Mediana

22/03/2016 Michele Nappi 32

SUSAN: Smoothing Segment

Univalue Assimilating Values

22/03/2016 Michele Nappi 33

SUSAN (cont.)

22/03/2016 Michele Nappi 34

SUSAN (cont.)

22/03/2016 Michele Nappi 35

Smoothing: Confronto

22/03/2016 Michele Nappi 36

Edge Detection

• Edge:

– Aree di transizione tra regioni omogenee

• Punti Isolati

• Linee (Orizzontali, Verticali, Oblique)

• Contorni (insieme di punti con inizio e fine

coincidenti)

22/03/2016 Michele Nappi 37

Edge Detection (cont.)

Edge Detection (cont.)

22/03/2016 Michele Nappi 38

22/03/2016 Michele Nappi 39

Edge Detection (cont.)

22/03/2016 Michele Nappi 40

Edge Detection: Punti Isolati

o Le discontinuità probabilmente più semplici da rilevare sono i punti isolati

o Il punto corrispondente alla posizione centrale della maschera può essere considerato un punto isolato quando, per esempio con riferimento alla maschera mostrata, si ha:

R>T

essendo T un opportuno valore di soglia (non negativo)

o La motivazione è che il valore di grigio di un punto isolato è normalmente molto differente da quello dei suoi vicini

22/03/2016 Michele Nappi 41

Edge Detection: Punti Isolati (cont.)

22/03/2016 Michele Nappi 42

Edge Detection: Linee

• 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

• Analogamente, la seconda maschera risponde meglio a linee orientate a 45°, la terza a linee verticali, la quarta a linee orientate a 45°

• Supponiamo di passare tutte e quattro le maschere su una immagine, e che in un certo punto si abbia che R1, R2, R3 e R4 le risposte delle quattro maschere.

• Se si verifica |Ri|>|Rj| per ogni i≠j allora il punto in questione è associato alla maschera Ri

22/03/2016 Michele Nappi 43

Edge Detection: Contorni

o L’estrazione dei contorni (edge) è sicuramente uno degli argomenti che hanno ricevuto più attenzione nella letteratura sull’image processing

o 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

o Un edge si presenta in una immagine come il confine tra due regioni caratterizzate da proprietà dei livelli di grigio in qualche modo distinguibili

o 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

o Le prime tecniche di edge detection che analizziamo sono basate sull’applicazione di un operatore locale di derivata.

22/03/2016 Michele Nappi 44

Edge Detection: Contorni (cont.)

22/03/2016 Michele Nappi 45

Edge Detection: Contorni (cont.)

• 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

• 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

• 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

22/03/2016 Michele Nappi 46

Edge Detetction: Contorni (cont.)

• 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

• L’applicazione dei concetti precedentemente illustrati necessita tuttavia di alcune cautele, essenzialmente legate alla natura digitale delle immagini

22/03/2016 Michele Nappi 47

Localizzazione dei Punti di Edge

22/03/2016 Michele Nappi 48

Edge Detetction: Il Gradiente

22/03/2016 Michele Nappi 49

Edge Detetction: Il Gradiente (cont.)

22/03/2016 Michele Nappi 50

Edge Detection: Roberts e Prewitt

• Molto Sensibili al

Rumore

22/03/2016 Michele Nappi 51

Edge Detection: Sobel

22/03/2016 Michele Nappi 52

Edge Detection: Laplaciano

22/03/2016 Michele Nappi 53

Edge Detection: Laplaciano (cont.)

22/03/2016 Michele Nappi 54

Edge Detection: Laplaciano (cont.)

22/03/2016 Michele Nappi 55

Edge Detection: Laplaciano (cont.)

22/03/2016 Michele Nappi 56

Edge Detection: Laplaciano (cont.)

22/03/2016 Michele Nappi 57

Edge Detection: Laplaciano (cont.)

22/03/2016 Michele Nappi 58

Sharpening

• Filtri Highpass

– Evidenziano i dettagli fini

111

181

111

9

1

22/03/2016 Michele Nappi 59

High Boost Filter

• Highpass = Original – Lowpass

• High Boost = (A)(Original) - Lowpass

(A-1)(Original) + Original – Lowpass

(A-1)(Original) + Highpass

• A=1 Highpass

• A>1 Parte dell’immagine originale è sommata

al risultato del filtro highpass

22/03/2016 Michele Nappi 60

High Boost Filter (cont.)

1 ,19

111

11

111

9

1

AAw

w

Sharpening

22/03/2016 Michele Nappi 61

22/03/2016 Michele Nappi 62