elaborazione delle immagini - una viola rosaunaviolarosa.altervista.org/files/edge_detection.pdf ·...

27
ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION EDGE DETECTION Università degli Studi di Catania Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica, Secondo Livello Corso di Analisi Numerica Prof.ssa RM Pidatella Viola Rosalba Messina Teresa Morgano Gian Paolo

Upload: lythuy

Post on 15-Feb-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ELABORAZIONE DELLE IMMAGINI:EDGE DETECTIONEDGE DETECTION

Università degli Studi di CataniaFacoltà di Scienze Matematiche,Fisiche e NaturaliCorso di Laurea in Informatica, Secondo Livello

Corso di Analisi NumericaProf.ssa RM Pidatella

Viola RosalbaMessina Teresa

Morgano Gian Paolo

Page 2: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

INTRODUZIONE:COS’E’ UN EDGE DETECTOR

� Operatore che lavora sulle immagini

� Estrae i bordi

� Individua i confini di regione

Page 3: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

INTRODUZIONE:COS’E’ UN BORDO

� I bordi nelle immagini spesso corrispondono a contorni di oggetti

� Zone nell’immagine dove l’intensità varia rapidamente

Page 4: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

USO DELL’EDGE DETECTOR:VANTAGGI

� l’ individuazione dei bordi e’ largamente utilizzataquando si vuole dividere l’immagine in areecorrispondenti a oggetti differenti

� rappresentare un’immagine attraverso i suoi bordipermette che la quantità di dati da memorizzare èridotta significativamente mentre la maggior partedelle informazioni vengono comunque mantenute

� l’individuazione dei bordi costituisce uno stadiopreliminare dell’analisi delle immagini

Page 5: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

USO DELL’EDGE DETECTOR:ESEMPIO

input output

Page 6: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ESTRAZIONE DEI BORDI (1)

� i bordi corrispondono a punti con grandevariazione di intensità. Tra gli strumentimatematici,per la ricerca degli edge, risulterannoessere utili alcuni operatori diffenziali nella loroversione discreta

� Consideriamo il segnale in una dimensione Si , con i=1,…,N.

� Il modulo della derivata prima indichera’localmente dove siano grandi variazioni

Page 7: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ESTRAZIONE DEI BORDI (2)

� Nel discreto occorre valutare numericamente il valore di tale derivata e considerare rapporti incrementali. Per esempio per una funzione generica, f, la differenza all’indietro

fornisce una prima approssimazione.

Page 8: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ESTRAZIONE DEI BORDI (3)� Noi possiamo

osservare che la posizione del bordopuò essereconsiderata con ilmassimo delladerivata prima o con l’intersezionecon zero delladerivata secondaE’ possibile calcolare la derivata prima e seconda di un’immagine bidimensionale mediante la convoluzione

Page 9: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

CONVOLUZIONE (1)

� è un semplice operatore matematico� fornisce il modo di moltiplicare insieme due array

di numeri, generalmente di diversa misura, ma della stessa dimensionalità, per produrre un terzoarray di numeri della stessa dimensionalità

Page 10: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

CONVOLUZIONE (2)� Questo procedimento viene utilizzato per

l’implementazione di operatori sulle immagini cherestituiscono in output valori di pixel che sonocombinazioni lineari di certi valori di pixel dati in input

� uno dei due array in input è generalmenteun’immagine a toni di grigio. L’altro array,tipicamente più piccolo e bidimensionale, è notocome kernel

Page 11: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

CONVOLUZIONE (3)� La convoluzione e’ ottenuta scorrendo il kernel

sull’immagine, partendo generalmente dall’angolo in alto a sinistra, in maniera tale da muovere il kernel lungo tutte le posizioni dove il kernel calza all’internodei limiti dell’immagine.

� Ogni posizione del kernel corrisponde a un singolopixel in output, il valore del quale è calcolatomoltiplicando insieme il valore del kernel e il valoredel pixel dell’immagine sottostante per ogni cellapresente nel kernel, e sommando tutti questi valoriinsieme.

Page 12: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

CONVOLUZIONE (4)

Page 13: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

Convoluzione & Edge Detector� Differenti edge detector sono basati sulla possibilita’ di

calcolare la derivata prima di un’immagine bidimensionale, calcolando la convoluzione tra l’immagine ed un insieme di maschere

� La tecnica piu’ utilizzata e’ quella del gradient edgedetection.

� Le maschere piu’ comuni per questi tipi di edge detector sono: Sobel, Roberts Cross e Prewitt.

Page 14: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY

� L’operatore di Canny prende in input un’immagine a toni di grigio e produce in output un’immagine che mostra la posizione delle zone con intensita’discontinua, cioè i bordi

Page 15: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY

Il metodo di Canny e’ stato realizzato mediante i seguenti passi:

1. Filtro gaussiano2. Norma del gradiente3. Thresholding4. Thinning

Vediamo piu’ in dettaglio queste fasi…

Page 16: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:FILTRO GAUSSIANO

� E’ un operatore di convoluzione a due dimensioni che e’ usato per sfocare le immagini e per rimuovere qualche dettaglio e rumore.

� La distribuzione gaussiana ha la seguente forma:

rappresenta la deviazione standard della distribuzione

Page 17: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:FILTRO GAUSSIANO

� La funzione MATLAB che abbiamo implementato per lo sviluppo del calcolo della maschera con filtro gaussiano è la seguente:

function y = gauss(x,std)y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi));

Page 18: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:FILTRO GAUSSIANO

� Fissando x=0, la distribuzione e’ la seguente:

Piu’ e’ larga la campana e maggiore sara’l’effetto dello smoothing

Page 19: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:FILTRO GAUSSIANO

� si costruiscono i due filtri Gx e Gy, checostituiscono le due derivate della gaussiana

� si convolve l’immagine di ingresso I con G� le immagini Ix e Iy contengono le componenti sui

due assi del gradiente di cui vanno cercati i massimi

Page 20: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:NORMA DEL GRADIENTE

� Le componenti Ix e Iy vengono combinate insieme per trovare la norma del gradiente.

� La norma del gradiente è data da:

� Un difetto consiste nel fatto che tende ad “ingrossare”i bordi

Page 21: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:THRESHOLDING

� Un edge sara’ un punto caratterizzato da un alto valore della norma

� In questa fase dell’algoritmo determinati i valori massimi e minimi della norma del gradiente e dunque definito un parametro di soglia, i valori dei pixel dell’immagine in input sono confrontati con tale valore, e nell’immagine in output il pixel corrispondente avrà associato come valore quello massimo

Page 22: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:THRESHOLDING

� Il semplice confronto con una soglia non porta arisultati soddisfacenti e inoltre e’ difficile individuare un corretto valore di soglia

Page 23: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:THINNING

� In questa fase va eseguita la ricerca dei massimi locali del gradiente

� In effetti se un punto appartiene a un bordo, il valoredel gradiente in esso è superiore ai valori dei vicininella direzione del gradiente

� Se il punto in esame non verifica questa condizione,viene azzerato (nonmaximum suppression)

Page 24: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:THINNING

� Per ogni punto bisogna quindi individuare ladirezione del gradiente e confrontare ilmodulo del gradiente, nel punto in esame, con i valori dei vicini al punto e giacenti sulla direzione del gradiente

Page 25: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:THINNING

� Per trovare i pixel dove le norme del gradiente sono massimi locali abbiamo applicato l’interpolazione; tale funzione in MATLAB è interp2

Page 26: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

ALGORITMO DI CANNY:DIPENDENZA DA

Il fattore di deviazione standard influisce sulla definizione dei bordi.

Page 27: ELABORAZIONE DELLE IMMAGINI - Una Viola Rosaunaviolarosa.altervista.org/files/edge_detection.pdf · ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Università degli Studi di Catania

BIBLIOGRAFIA & WEBGRAFIA

� Naldi-Pareschi Matlab Concetti e Progetti Apogeo� http://www-dsp.elet.polimi.it/ispg/eti/laboratorio/

sessioni/Edge_Detection/Teoria.html� http://giachetti.sc.unica.it/vision/materialeold.html