Edge e Segmentazione

Documenti analoghi
Filtraggio. Stefano Ferrari. Università degli Studi di Milano Tecniche di calcolo e sistemi operativi e informatica

Estrazione dei bordi

Sharpening mediante filtraggio spaziale

Corso di laurea magistrale in Informatica Multimedia - Prof. F.Stanco. Segmentazione. A cura di Andrea Tambone

SEGMENTAZIONE DI IMMAGINI. Elaborazione dei Segnali Multimediali Raffaele Gaetano 06 Maggio 2014

Elaborazione delle immagini a basso livello

Segmentazione di immagini. Multimedia

Image segmentation. Elaborazione intermedia

Image Processing 2. Dispense del corso di Elaborazione di Immagini e Audio Digitali. Prof. Roberto Vezzani.

Elaborazione delle immagini

ELABORAZIONE DELLE IMMAGINI:

Morfologia Matematica su immagini in scala di grigio

Trasformare e migliorare

Corso di Visione Artificiale. Features. Samuel Rota Bulò

Introduzione a Matlab

Image segmentation. Image segmentation

Corso di Multimedia A.A 2013/2014

Operatori locali su immagini digitali

Elaborazione di Segnali Multimediali a.a. 2017/2018. Segmentazione

Operatori locali. Operatori locali. Q=f(P,w)

Low Level Vision: Trasformata di Hough

Image Elaboration. Image Processing

Fondamenti di Elaborazione di Immagini Estrazione dei Bordi e Segmentazione. Raffaele Cappelli raffaele.cappelli@unibo.it

Elaborazione di immagini. I filtri Digital Image Processing

Operatori locali su immagini digitali

Low Level Vision: Trasformata di Hough

Operazioni puntuali. Tipi di elaborazioni Operatori puntuali Look Up Table Istogramma

Acquisizione e rappresentazione di immagini

Elaborazione dei Segnali Multimediali a.a. 2009/2010. Segmentazione

Elaborazione di immagini digitali: trasformare e migliorare

Dato un vettore di lunghezza N, questo può essere pensato come un elemento di uno spazio N dimensionale.

Video Analysis (cenni) Annalisa Franco

Operatori locali. Analisi di basso livello

Processamento di immagini

Segmentazione di impronte digitali. Annalisa Franco

Capitolo 10 SEGMENTAZIONE DI IMMAGINI

Morfologia. Stefano Ferrari. Università degli Studi di Milano

Tramite il software ImageJ è possibile effettuare la conta di cellule principalmente in due modi: a) Conta automatica b) Conta manuale

Struttura topologica di una immagine

Elaborazione di Segnali Multimediali a.a. 2013/2014. Segmentazione

Restauro di immagini. Prof. Filippo Stanco. Multimedia

Corso di Visione Artificiale. Segmentazione. Samuel Rota Bulò

Statistica. Capitolo 10. Verifica di Ipotesi su una Singola Popolazione. Cap. 10-1

Esercitazione 4: Filters

Elaborazione delle immagini

Riconoscimento e recupero dell informazione per bioinformatica

Corso di Visione Artificiale. Texture. Samuel Rota Bulò

Keypoint detector: Scale Invariant Feature Transform (SIFT)

0 altimenti 1 soggetto trova lavoroentro 6 mesi}

Università degli Studi di Pisa

Elementi di Probabilità e Statistica, A.A

Corso di Elaborazione di Segnali Multimediali Elaborazione Morfologica delle Immagini

Telerilevamento e Modellistica Forestale

IL PROBLEMA DEI DATI SPARSI IN ELABORAZIONE DI IMMAGINI

Corso di Percezione Robotica (PRo) C. Modulo di Percezione Attiva

La trasformata di Hough

Corso di Visione Artificiale. Filtri III parte. Samuel Rota Bulò

Operazioni locali: Edging

Progetto di Computer Vision: Plugin per imagej: Harry Corners Detection. Corso di laurea specialistica in Informatica.

Analisi Matematica 2 (Corso di Laurea in Informatica)

L istogramma. Interazione & Multimedia 2

BLAND-ALTMAN PLOT. + X 2i 2 la differenza ( d ) tra le due misure per ognuno degli n campioni; d i. X i. = X 1i. X 2i

Computazione per l interazione naturale: Regressione probabilistica

Operazioni sulle immagini. Multimedia

( ρ, θ + π ) sono le coordinate dello stesso punto. Pertanto un punto P può essere descritto come

Analisi della varianza: I contrasti e il metodo di Bonferroni

Introduzione a Matlab

Corso Integrato di Statistica Informatica e Analisi dei Dati Sperimentali. Esercitazione E

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Esercizi di ricapitolazione

Il contrasto. La percezione del contrasto. Contrasto e filling-in. Il contrasto simultaneo. Le distribuzioni di luminanza (ii)

Ulteriori conoscenze di informatica Elementi di statistica Esercitazione3

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Esercitazione I

Analisi Numerica. Debora Botturi ALTAIR. Debora Botturi. Laboratorio di Sistemi e Segnali

SPAZI EUCLIDEI, APPLICAZIONI SIMMETRICHE, FORME QUADRATICHE

Programma del corso di Elaborazione delle immagini I

Quanti soggetti devono essere selezionati?

Richiami di inferenza statistica. Strumenti quantitativi per la gestione. Emanuele Taufer

Richiami di inferenza statistica Strumenti quantitativi per la gestione

Maria Prandini Dipartimento di Elettronica e Informazione Politecnico di Milano

Filtraggio nel Dominio della Frequenza

Esercizi di Ricapitolazione

Nel modello omoschedastico la varianza dell errore non dipende da i ed è quindi pari a σ 0.

Elementi di grafica raster

COMPLEMENTI DI ANALISI MATEMATICA A.A Primo appello del 5/5/2010

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Statistica Applicata all edilizia: Stime e stimatori

2. Funzioni reali di più variabili reali

Riconoscimento e recupero dell informazione per bioinformatica. Clustering: validazione. Manuele Bicego

Estrazione di feature locali per il riconoscimento del volto

Calcolo Numerico. Corso di Laurea in Ingegneria Elettronica Appello del 17 gennaio A(x) =

Analisi Matematica 2. Michele Campiti. Prove scritte di. Ingegneria Industriale a.a

EUROPEAN COMPUTER DRIVING LICENCE SYLLABUS VERSIONE 5.0

Transcript:

Edge e Segmentazione Stefano Ferrari Università degli Studi di Milano stefanoferrari@unimiit Tecniche di calcolo e sistemi operativi e informatica anno accademico 2017 2018 Segmentazione di immagini Molte applicazioni basate sull analisi di immagini richiedono l individuazione di oggetti sulla scena Ciò richiede la corretta attribuzione dei pixel a ciascun oggetto Un passo fondamentale è la segmentazione dell immagine Due criteri per il partizionamento: discontinuità; similarità Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 1

Descrizione formale della segmentazione La segmentazione di una immagine può essere definita come il partizionamento della regione R descritta nell immagine in n sottoregioni, R 1,, R n, tali che: n i=1 R i = R R i è connesso, i = 1,, n R i R j =, i, j, i j Q(R i ) = VERO, i = 1,, n Q(R i R j ) = FALSO, per ogni coppia di regioni adiacenti R i e R j dove Q è un predicato logico definito sui punti della regione considerata Segmentazione basata sugli edge a b c (a) Immagine composta da oggetto e sfondo, entrambi a intensità costante (b) Le discontinuità sono individuate facilmente e il borso viene trovato (c) Q(R) può essere definito VERO sse tutti i pixel di R sono sullo stesso lato del bordo Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 2

Segmentazione basata sulla regione a b c (a) Un immagine composta da un oggetto con texture e sfondo a intensità costante (b) Le discontinuità formano un pattern intricato di piccoli bordi (c) L immagine in (a) può essere suddivisa in regioni 4 4 e ogni regione marcata a decondo della sua deviazione standard Individuazione di discontinuità punti di discontinuità brusche variazioni locali di intensità edge insieme connesso di punti di discontinuità line regione sottile con cambiamenti di intensità in entrambi i lati algoritmi di edge detection Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 3

Individuazione di discontinuità (2) le derivate sono gli strumenti più indicati approssimazioni (usando l espansione di Taylor): derivata prima: f derivata seconda x = f (x + 1) f (x) 2 f = f (x + 1) 2f (x) + f (x 1) x 2 Tipi di edge Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 4

Individuazione di punti isolati Il laplaciano è il più semplice operatore derivativo isotropico rispetto alle direzioni principali: Derivate parziali: 2 f = 2 f x 2 + 2 f y 2 2 f x 2 = f (x + 1, y) 2f (x, y) + f (x 1, y) 2 f y 2 = f (x, y + 1) 2f (x, y) + f (x, y 1) Quindi, il laplaciano risulta essere: 2 f (x, y) = f (x + 1, y) + f (x 1, y) + f (x, y + 1) +f (x, y 1) 4f (x, y) Si possono aggiungere le derivate lungo le diagonali: 2 f (x, y) + f (x 1, y 1) + f (x + 1, y + 1) + f (x 1, y + 1) + f (x + 1, y 1) 4f (x, y) Sogliatura Viene considerata l immagine g ottenuta come: { 1, se g(x, y) = 2 f (x, y) T 0, altrimenti per un opportuna soglia T Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 5

Sogliatura (2) Laplaciano in presenza di linee Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 6

Maschere per l individuazione di linee Le quattro maschere consentono l individuazione della direzione principale dell edge Ogni pixel può essere associato alla direzione per la quale la risposta alla maschera corrispondente è maggiore Individuazione di direzioni specifiche Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 7

Modelli di egde Edge ideali Edge reali Edge a rampa Tipicamente, gli edge a rampa sono i più probabili (sfocatura) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 8

Edge e rumore Edge e rumore (2) Smoothing per riduzione rumore Individuzione dei punti di edge potenziali Localizzazione degli edge Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 9

Individuazione degli edge Il gradiente di una funzione è il vettore delle derivate parziali Per una funzione bidimensionale, f (x, y): [ ] gx f grad(f ) = g y f x f y La magnitudo del gradiente, M(x, y) è: M(x, y) = mag( f ) = gx 2 + gy 2 Spesso approssimata come M(x, y) g x + g y Il vettore gradiente punta nella direzione della maggiore variazione: [ ] α(x, y) = tan 1 gy g x Edge e gradiente Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 10

Operatori derivativi derivate parziali operatori derivativi Operatori derivativi (2) edge diagonali Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 11

Esempi di uso del gradiente a I b d c e The images (b) and (c) are respectively the magnitude of the (Sobel) horizontal and vertical gradients of (a), while (d) and (e) are the magnitude and the angle of the gradient Esempi di uso del gradiente (2) I As well as noise, too small details can crowd the gradient image and make difficult the edge detection I Smoothing can handle this problem (a) Original image (834 1114) are smoothed with a 5 5 averaging filter (b-c) Horizontal and vertical gradients (Sobel) of (a) (d) Gradient magnitude (e-f) Diagonal Sobel gradients Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 12

Esempi di uso del gradiente (3) a b Thresholding can help in simplifying the edge detection (a) Thresholding at the 33% of the maximum value of the gradient (b) Thresholding the gradient of the smoothed image Edge detector di Marr-Hildreth La variazione di intesità è legata alla scala Filtrare l immagine con un filtro gaussiano di σ opportuna Calcolarne il Laplaciano Trovare gli zero-crossing La Gaussiana è smooth sia nello spazio, sia nella frequenza: meno possibilità di introdurre artefatti Il Laplaciano è isotropico: evita di dover usare maschere multiple Un semplice algoritmo di zero crossing considera un intorno per ogni pixel: se almeno due pixel opposti sono discordi, c è lo zero crossing; un ulteriore condizione sul valore assoluto della differenza degli opposti rende l individuazione più robusta Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 13

Edge detector di Marr-Hildreth (2) Edge detector di Marr-Hildreth (3) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 14

Algoritmo di Canny L algoritmo di Canny risponde a tre criteri: Basso tasso di errore Edge ben localizzati Risposta puntuale per edge singolo Sfocatura con Gaussiana per attenuare il rumore Calcolo del gradiente per individuare la direzione dell edge Stima robusta della direzione (non maxima suppression): approssimazione alle quattro direzioni principali (orizzontale, verticale e diagonali) se almeno uno dei vicini nella direzione dell edge ha il valore del gradiente superiore, il pixel corrispondente nell immagine degli edge, g N viene posto a 0, altrimenti al valore del gradiente (solo punti di massimo) Algoritmo di Canny (2) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 15

Algoritmo di Canny (3) Individuazione e collegamento degli edge: sogliatura con isteresi dei punti di edge: g NH (x, y) = g N (x, y) T H g NL (x, y) = g N (x, y) T L g NL (x, y) = g NL (x, y) g NH (x, y) g NH e g NL rispettivamente pixel di edge forti e deboli connessione: per ogni punto in g NH, marcare come validi tutti i punti in g NL 8-connessi al punto considerato al termine, eliminare da g NL i punti non validi unire g NH e g NL Confronto Marr vs Canny Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 16

Confronto Marr vs Canny (2) Edge linking Algoritmo locale: ogni punto è collegato ai punti adiacenti se la magnitudine e la direzione del gradiente nei punti considerati è simile Approssimazione poligonale: dato un insieme di punti di edge, si aggiungono via via i lati di una poligonale in modo che tutti i punti siano abbastanza vicini ad un segmento Trasformata di Hough: si trovano le rette più probabili Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 17

Edge linking locale Gradiente, edge orizzontali, edge verticali, unione degli edge orizzontali e verticali, risultato finale dopo assotigliamento morfologico Edge linking poligonale Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 18

Trasformata di Hough y = a x + b Problema per le rette verticali Trasformata di Hough (2) Notazione normale x cos θ + y sin θ = ρ Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 19

Trasformata di Hough (3) Quantizzazione dello spazio dei parametri θ-ρ Conteggio delle rette possibili Utilizzo di quelle più probabili Possibilità di aggiungere ulteriori vincoli (eg, direzione) Trasformata di Hough esempio Selezione dei punti di edge tramite l algoritmo di Canny Trasformata di Hough Selezione delle rette quasi verticali Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 20

Segmentazione per sogliatura Metodo più semplice per segmentare Ripartizione diretta dei pixel in base all intensità Sogliatura globale, per un opportuna soglia T : { 1, se f (x, y) > T g(x, y) = 0, se f (x, y) T Sogliatura variabile, se T non è costante durante l elaborazione Sogliatura locale o regionale, se T dipende da un intorno di (x, y) Sogliatura adattativa, se T è funzione di (x, y) Sogliatura multipla: a, se f (x, y) > T 2 g(x, y) = b, se T 1 < f (x, y) T 2 c, se f (x, y) T 1 Individuazione delle soglie La presenza di picchi e valli nell istogramma dell immagine facilita l individuazione delle soglie Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 21

Fattori in gioco Distanza tra i picchi Presenza di rumore Dimensioni relative di oggetti e sfondo Uniformità di illuminazione Uniformità di riflettanza di oggetti e sfondo Sogliatura in presenza di rumore Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 22

Sogliatura con illuminazione o riflettanza variabile Sogliatura globale 1 Stima di un valore iniziale di T 2 Segmentazione usando T : G1, pixel con intensità maggiore di T ; G2, pixel con intensità minore o uguale a T 3 Calcolo dell intensità media m 1 e m 2 di G 1 e G 2 4 Nuovo valore di soglia: T new = m 1 + m 2 2 5 Se T T new > T, si riprende dal passo 2, altrimenti si termina Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 23

Sogliatura globale esempio Metodo di Otsu Basato sulla massimizzazione della varianza interclasse Classi ben sogliate hanno valori di intensità ben distinti Istogramma dell immagine M N: L livelli di intensità, [0,, L 1]; n i pixel di intensità i: Istogramma normalizzato: L 1 MN = p i = i=0 n i MN n i L 1 p i = 1, p i 0 i=0 Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 24

Metodo di Otsu (2) Se si usasse T = k, 0 < k < L 1, come soglia: due classi C1 (pixel in [0, k]) e C 2 (pixel in [k + 1, L 1]) P1 = P(C 1 ) = k i=0 p i, probabilità della classe C 1 P 2 = P(C 2 ) = L 1 i=k+1 p i = 1 P 1, probabilità della classe C 2 m1, intensità media dei pixel in C 1 : m 1 = = k i P(i C 1 ) i=0 k i=0 i P(C 1 i)p(i) P(C 1 ) = 1 k i p i P 1 i=0 dove P(C 1 i) = 1, P(i) = p i e P(C 1 ) = P 1 Metodo di Otsu (3) Analogamente, m 2, intensità media dei pixel in C 2 : m 2 = 1 P 2 L intensità media globale, m G : L 1 i=k+1 L 1 m G = i p i i=0 i p i mentre l intensità media fino al livello k, m: Si ha che: m = k i p i i=0 P 1 m 1 + P 2 m 2 = m G P 1 + P 2 = 1 Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 25

Metodo di Otsu (4) La varianza globale σ 2 G : L 1 σg 2 = (i m G ) 2 p i i=0 Si definisce la varianza interclasse, σ B : σ 2 B = P 1(m 1 m G ) 2 + P 2 (m 2 m G ) 2 = P 1 P 2 (m 1 m 2 ) 2 = (m G P 1 m) 2 P 1 (1 P 1 ) Si può stimare l efficienza della soglia T = k, η: η = σ2 B σ 2 G Metodo di Otsu (5) Le quantità necessarie al calcolo di η, si ottengono facilmente dall istogramma Quindi, si può calcolare η(k) per ogni k: η(k) = σ2 B (k) σ 2 G dove σ 2 B (k) = (m G P 1 (k) m(k)) 2 P 1 (k) (1 P 1 (k)) La soglia ottimale k viene individuata come: σ 2 B (k ) = max 0<k<L 1 σ2 B (k) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 26

Metodo di Otsu esempio La sogliatura globale (T = 169) ha η = 0467, mentre il metodo di Otsu (T = 181) ha η = 0944 Smoothing Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 27

Significatività dell istogramma Se la proporzione tra i pixel dello sfondo e quelli degli oggetti da sementare è molto sbilanciata, l istogramma non è significativo: fornirà informazioni fuorvianti ai fini della segmentazione Uso dei contorni per la segmentazione Il laplaciano può essere utilizzato per selezionare i pixel significativi Quelli che appartengono agli oggetti ed allo sfondo al 50% Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 28

Uso dei contorni per la segmentazione (2) Variando la soglia del laplaciano, si ottengono segmentazioni differenti Metodo di Otsu con soglie multiple Il metodo di Otsu può essere applicato anche per segmentazione a sogliatura miltipla (tipicamente, doppia soglia) Varianza interclasse: σ 2 B (k 1, k 2 ) = P 1 (m 1 m G ) 2 + P 2 (m 2 m G ) 2 + P 3 (m 3 m G ) 2 Le soglia ottimali k 1 e k 2 vengono individuate come: σ 2 B (k 1, k 2 ) = La misura di separabilità: max 0<k 1 <k 2 <L 1 σ2 B (k 1, k 2 ) η(k 1, k 2 ) = σ2 B (k 1, k 2 ) σ 2 G Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 29

Metodo di Otsu con soglie multiple esempio Sogliatura basata su partizione di immagine L immagine viene partizionata e la sogliatura operata su ogni elemento della partizione Si suppone che in ogni elemento della partizione l illuminazione e la riflettenza sia uniforme In ogni elemento della partizione oggetti e sfondo devono essere rappresentati (significativamente) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 30

Sogliatura basata su proprietà locali Si individuano dei criteri basati sulle proprietà (eg, statistiche) locali dell immagine Esempi: Txy = aσ xy + bm xy Txy = aσ xy + bm G La segmentazione è effettuata usando un opportuno predicato, Q xy : g(x, y) = { 1, se Qxy 0, altrimenti dove Q xy può essere, per esempio: f (x, y) > T xy f (x, y) > aσxy AND f (x, y) > bm xy Facilmente generalizzabile per segmentazione multiclasse Sogliatura basata su proprietà locali esempio (a) (c) (b) (d) (b): segmentazione Otsu doppia soglia; (c): deviazione standard locale (3 3); (d): segmentazione con sogliatura locale Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 31

Sogliatura con media mobile Si scansiona l immagine con percorsi a zig-zag e si calcola la media degli ultimi n pixel visitati Segmentazione per accrescimento Region growing è una tecnica iterativa basata sull accrescimento controllato di alcuni pixel iniziali (seed) La selezione dei seed può avvenire manualmente o tramite procedure automatiche basate su opportuni criteri Può includere della conoscenza a priori sul problema Può dipendere dall applicazione L accrescimento è basato sulla connettività La regola per decidere la terminazione è un altra caratteristica dell algoritmo Dipende dalla conoscenza a priori sul problema Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 32

Region growing algoritmo base Dati: f (x, y), immagine da segmentare; S(x, y), immagine binaria con i seed (vale 1 solo dove sono posti i seed); Q, predicato da applicare ad ogni locazione (x, y) Un semplice algoritmo di region growing basato sulla 8-connettività è il seguente: 1 Ridurre tutte le componenti connesse di S ad un pixel tramite erosione 2 Creare l immagine binaria f Q dove f Q (x, y) = 1 se Q(x, y) è vera 3 Creare l immagine binaria g dove g(x, y) = 1 se f (x, y) = 1 e (x, y) è 8-connesso ad un seed in S 4 Le componenti connesse in g sono le regioni segmentate per region growing Region growing esempio (a) (b) (c) (d) (e) (f) (g) (h) (i) (a) f (c) S(x, y) := f (x, y) > 254 (d) erosione di S (e) f S (h) f S > 68 (i) segmentazione per region growing con Q := f S <= 68 Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 33

Region splitting e merging Suddivisione iterativa dell immagine in regioni omogenee (splitting) Accorpamento delle regioni omogenee adiacenti (merging) Data un immagine f e un predicato Q, l algoritmo di base è: 1 R 1 = f 2 Suddivisione in quadranti di ogni regione R i per la quale Q(R i ) = FALSO 3 Se Q(R i ) = VERO per ogni regione, accorpamento delle regioni adiacenti R i e R j per le quali Q(R i R j ) = VERO; altrimenti, ripetere il punto 2 4 Ripetere il punto 3 finché possibile Partizionamento basato su quadtree Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 34

Splitting e merging esempio (a) (c) (b) (d) Q := σ > a AND 0 < m < b (b) 32 32 (c) 16 16 (b) 8 8 Watershed Basato su un interpretazione topografica dell immagine Si immagina una falda che sale dal terreno e riempie via via tutti i bacini Le dighe necessarie a tenere separati i bacini, individuano le regioni della segmentazione Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 35

Watershed (2) Watershed (3) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 36

Costruzione delle dighe Costruzione delle dighe (2) Le dighe possono essere implementate ponendo a L il valore dei pixel corrispondenti (dove i livelli di intensità sono in [0, L 1]) Generalmente, l algoritmo watershed si applica al gradiente della funzione da segmentare Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 37

Watershed esempio Watershed con marker La presenza di rumore o di dettagli irrilevanti rende difficile l applicazione di watershed Spesso si preferisce limitare la procedura di allagamento mediante marker: interni, associati agli oggetti da segmentare; esterni, associati allo sfondo (bordo degli oggetti) Viene poi applicato watershed considerando i marker come gli unici minimi da cui iniziare la procedura I criteri usati per la definizione dei marker incorporano della conoscenza a priori Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 38

Watershed con marker esempio Sovrasegmentazione ottenuta applicando watershed al gradiente dell immagine Watershed con marker esempio (2) a b Smoothing dell immagine originale Definizione dei marker interni come punti di minimo locale che formano componenti connesse L applicazione di watershed a partire dai marker interni genera le dighe in (a), che vengono utilizzati come marker esterni Si può applicare watershed ottenendo (b) Anche altri algoritmi di segmentazione possono essere applicati alle singole regioni Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 39

Segmentazione basata sulla texture (a) (c) (b) (d) I (b): Chiusura di (a) con disco di raggio 30 I (c): Apertura con disco di raggio 60 I (d): Linea di segmentazione ottenuta come gradiente morfologico Segmentazione basata sul colore I Spazio HSI Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 40

Segmentazione basata sul colore (2) Segmentazione basata sul colore (3) Spazio RGB: selezione di un colore simile ad a Criterio: D(z, a) < D0 D(z, a) = z a = D(z, a) = ( ) 1 (z a) T 2 (z a) ( ) 1 (z a) T C 1 2 (z a) Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 41

Segmentazione basata sul colore (4) (a) (b) (a): Selezione manuale del colore da segmentare Calcolo del colore medio, a = [a R a G a B ] Calcolo della deviazione standard dei colori dei pixel selezionati, σ = [σ R σ G σ B ] (b): Segmentazione dei punti con canale rosso nell intervallo [a R σ R a R + σ R ] Stefano Ferrari Tecniche di calcolo e sistemi operativi e informatica aa 2017/18 42