Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRomano Massaro Modificato 6 anni fa
1
Luigi Cinque Cinque@di.uniroma1.it
Contorni e regioni Luigi Cinque
2
Binarizzazione La convoluzione Operatori di rango
Contorni e regioni Binarizzazione La convoluzione Operatori di rango
3
Segmentazione Ricerca di contorni Accrescimento di regioni
Inseguimento di contorni Contorni e regioni
4
Binarizzazione Vi sono applicazioni che per loro natura possono essere considerate binarie: Stampati, dattiloscritti Parti meccaniche piatte di superficie omogenea Immagini microscopiche di cellule, cromosomi ... Difatti spesso appaiono numerosi livelli di grigio a causa di: Rumore elettrico generato dalla telecamera Illuminazione non omogenea della scena Ineguale sensibilità dell'obiettivo al centro e ai bordi Contorni e regioni
5
Distribuzione bimodale
Possibili approcci: Ricerca del minimo Criteri statistici Contorni e regioni
6
Binarizzazione a soglia costante
È la soluzione più semplice y(x) = 0 se x < S y(x) = 255 altrimenti il problema è la scelta della soglia (threshold) S Contorni e regioni
7
Esempio pezzo Contorni e regioni
8
Esempio Vela Soglia = 140 Contorni e regioni
9
Esempio Orso Contorni e regioni
10
Esempio Cerchio Contorni e regioni
11
Estrazione di contorni
Operatori differenziali Template matching Contorni e regioni
12
Operatori differenziali
Ricerca di discontinuità (un cambiamento brusco di valore) Il problema viene affrontato tramite l'analisi della derivata In generale il problema della differenziazione risulta mal posto Un problema è ben posto se la sua soluzione: Esiste È unica Dipende con continuità dai dati iniziali Contorni e regioni
13
Operatori differenziali
Nel continuo una regione di transizione viene evidenziata dall'andamento della derivata prima Dovendo scegliere un punto preciso si può prendere il massimo (minimo) della derivata prima o lo zero (punto di attraversamento dell'asse x) della derivata seconda Contorni e regioni
14
Operatori differenziali
f(x) è l'intensità dell'immagine Contorni e regioni
15
Derivata discreta La derivata può essere approssimata tramite una differenza Lo stesso approccio vale per la derivata seconda In uno spazio bidimensionale al posto della derivata si ha il gradiente (si noti che il gradiente è un vettore) Contorni e regioni
16
Convoluzione g(x0,y0) = ò f(x0-x, y0-y) I(x,y) dx dy
g(x,y) = S f(x-i, y-j) I(i,j) La convoluzione è un operatore lineare Contorni e regioni
17
La convoluzione (maschera)
La convoluzione nel discreto avviene su un supporto limitato nello spazio (template) Può essere considerata una finestra che si muove sull'immagine Contorni e regioni
18
La convoluzione (scomposizione)
La convoluzione è una operazione pesante dal punto di vista computazionale per eseguire una convoluzione con la maschera precedente occorrono 25 moltiplicazioni per ogni pixel; spesso maschere complesse possono essere scomposte in più maschere semplici La convoluzione precedente può essere scomposta in due convoluzioni successive con le due maschere: e 4 6 1 in questo caso sono sufficienti 10 (5+5) moltiplicazioni per pixel Contorni e regioni
19
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 Contorni e regioni
20
Operatore di Roberts È la soluzione più semplice
Si sfruttano due maschere M1 e M2 per ottenere due componenti ortogonali del gradiente G1=M1*I,G2=M2*I È molto sensibile al rumore Il modulo del gradiente risulta: Gm = sqrt(G12,G22) la fase: Gf = arctan(G2/G1)+p/4 1 -1 1 -1 Contorni e regioni
21
Operatore isotropico Si sfruttano due maschere Mx e My per ottenere le due componenti ortogonali del gradiente Gx=Mx*I,Gy=My*I Il modulo del gradiente risulta: Gm = sqrt(Gx2,Gy2) la fase: Gf = arctan(Gy/Gx) In C e Java: phi = atan2(Gy,Gx) -1 1 -2 2 -1 1 1 2 1 -1 -2 -1 Contorni e regioni
22
Operatore di Sobel Per evitare i problemi di calcolo con i numeri reali, l'operatore isotropico viene normalmente approssimato: Prewitt Sobel -1 1 1 1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 2 1 -2 2 -1 1 -1 -2 -1 Contorni e regioni
23
Operatore di Sobel Normalmente si utilizza l'operatore di Sobel, approssimando il modulo con la somma dei valori assoluti Gm = |Gx|+|Gy| Gx Gy Attenzione nell'implementazione delle convoluzioni, se l'immagine assume valori fra 0 e 255, le componenti del gradiente assumono valori fra -255*4 e 255*4 Contorni e regioni
24
Operatore di Sobel Il colore indica il segno del risultato -1 1 -2 2
1 -2 2 -1 1 1 2 1 -1 -2 -1 Contorni e regioni Il colore indica il segno del risultato
25
Operatore di Sobel G28 f=arctg(-13/15) 1 2 -1 -2 2 -2 1 -1 1 2 -1 -2
1 2 -1 -2 Maschera per contorni verticali Vengono create due nuove immagini 2 -2 1 -1 Maschera per contorni orizzontali 1 2 -1 -2 2 14 9 -2 -6 Gx=15 G28 f=arctg(-13/15) Contorni e regioni 2 -2 1 -1 10 -16 2 -9 -2 Gy=-13
26
Operatore di Sobel Colori diversi rappresentano angoli diversi
È il negativo del risultato Contorni e regioni
27
Esempi Contorni e regioni
28
Inibizione laterale Nella retina i recettori sfruttano un meccanismo di inibizione laterale Da un punto di vista computazionale l'inibizione laterale può essere ottenuta tramite la differenza di due maschere di differente ampiezza (generalmente gaussiane) Lo zero-crossing indica il punto di transizione uno dei vantaggi dello zero-crossing è che produce contorni chiusi Contorni e regioni
29
L'operatore DOG L'operatore descritto viene spesso chiamato Difference Of Gaussians Il risultato migliore lo si ottiene se la maschera esterna è quanto più larga possibile, senza che includa due bordi adiacenti La maschera interna deve essere tanto larga quanto la zona di transizione Scene complesse devono perciò essere analizzate con un insieme di differenti operatori di ampiezza variabile Contorni e regioni
30
L'operatore DOG Contorni e regioni
31
L'operatore DOG Contorni e regioni
32
Template matching Sfrutta un modello di contorno ideale e tende ad evidenziare i punti dell'immagine in accordo con il modello La precisione nella valutazione dell'orientamento è bassa Contorni e regioni
33
Template matching Operatore di Kirsh Operatore Compass
Contorni e regioni
34
Operatore tre su nove 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Contorni e regioni
35
Operatore tre su nove Pi,k è il massimo fra gli 8 parametri Pi,j
i coefficienti 1.5 e servono per normalizzare il risultato e renderlo a media nulla Una opportuna soglia serve per selezionare i punti di contorno dal resto Contorni e regioni
36
Operatori di rango Sono operatori non lineari
Si considerano ancora i valori su una finestra locale, si riordinano e si usa come risultato quello in una posizione particolare Gli operatori più comuni sono: Massimo (il massimo locale) Minimo (il minimo locale) Mediano (il valore nella posizione n/2 nel vettore riordinato) Contorni e regioni
37
Operatore mediano È utilizzato per eliminare il rumore da una immagine
Rispetto ad una media locale ha il vantaggio di essere meno sensibile rispetto al rumore salt & pepper (sale & pepe) e di non introdurre nuovi valori Esempio considerando i valori: 1, 3, 5, 7, 14 Media=6 Mediana=5 Contorni e regioni
38
Operatore mediano Immagine originale Immagine con rumore Salt & pepper
Contorni e regioni
39
Operatore mediano Filtro medio Filtro mediano Contorni e regioni
40
Operatori di rango Generalizzando: Si riordinano i valori
Si 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 Contorni e regioni
41
Filtro di Nagao Assegna al pixel in esame il valor medio calcolato sull' intorno in cui viene riscontrata la varianza minore È utilizzato per eliminare il rumore Per esempio, preso in esame una porzione 5x5 dell' immagine i nove intorni sono: Contorni e regioni
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.