Metriche Discrete e Morfologia Matematica

Slides:



Advertisements
Presentazioni simili
Corso di Percezione Robotica (PRo) A. A. 99/00 B
Advertisements

si modificano le forme con operatori locali;
Algoritmo per il calcolo del maggiore tra tre numeri qualsiasi Francesco PUCILLO matr
Le trasformazioni isometriche
2a + 10b abx2 3a + 1 y 2 a + 1 x + 2y a − Espressioni algebriche
VETTORI: DEFINIZIONI Se ad una grandezza fisica G si associa una direzione ed un verso si parla di vettori: ✔ Le grandezze fisiche possono essere di due.
Le rette e piani Geometria analitica dello spazio.
PRIMI CONCETTI ESEMPI INTRODUTTIVI DEFINIZIONI INTRODUZIONE ALLE FUNZIONI.
1 Simulazione Numerica dei Fenomeni di Trasporto Necessità di introduzione dei tensori  11  12  13  23  21  22 Vogliamo descrivere in un modo che.
Elaborazione delle Immagini Operatori Puntuali Luigi Cinque
Il metodo STATIS (L’Hermier des Plantes, 1976; Escoufier, 1983; Lavit et al., 1994) STATIS = Structuration des Tableaux A Trois IndiceS Tecnica esplorativa.
In geometria le figure si concepiscono come rigide, per cui è possibile “muoverle” nello spazio senza che subiscano alcuna deformazione. La traduzione.
x : variabile indipendente
Alcune note, dalla rete, sui Sistemi cellulari
Le funzioni matematiche e il piano cartesiano
Morfologia matematica
Appunti sull’ Integrale Indefinito e Definito
Imaging in Biologia e Medicina
Le successioni Un caso particolare di funzioni: le successioni
La circonferenza nel piano cartesiano
I poliedri diagonale DEFINIZIONE. Un poliedro è la parte di spazio delimitata da poligoni posti su piani diversi in modo tale che ogni lato sia comune.
Le equazioni di II°Grado
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
x : variabile indipendente
per l’economia e la finanza Prof.ssa Cristiana Mammana
La circonferenza nel piano cartesiano
Il concetto di derivata
(A+B+C)2=A2+B2+C2+2AB+2AC+2BC
Intervalli di numeri reali
Definizione e caratteristiche
Richiami di Algebra Matriciale
x : variabile indipendente
Calcolo combinatorio.
Come si misurano gli angoli
Insiemi di punti: altre caratteristiche
Elementi di teoria delle probabilità
Limiti e funzioni continue
Luigi Cinque Contorni e regioni Luigi Cinque
Prof.ssa Carolina Sementa
Operatori differenziali
Informatica A.A. 2016/17 Prof. Italo Epicoco
I MONOMI.
Circonferenza e cerchio
Appunti di analisi matematica: Integrale Definito
Quick Sort: Esempio Si consideri il seguente vettore, v, di n=10 elementi: i=inf j=sup Scegliamo come pivot.
Richiami di Algebra Matriciale
Analisi di sequenze di immagini
Lezione n°12 Prof.ssa Rossella Petreschi
Le trasformazioni isometriche
{ } Multipli di un numero M4 ESEMPIO 0, 4, 8, 12, 16, 20, 24, …
Impariamo a conoscere le Matrici
TEORIA ELEMENTARE DEGLI INSIEMI.
Matrici Definizioni Matrici Rettangolari Quadrate 02/01/2019
Algebra Booleana.
Il cilindro DEFINIZIONE. Si dice cilindro il solido generato dalla rotazione completa di un rettangolo attorno ad uno dei suoi lati. Analizzando la figura.
LA RETTA.
Schema generale, visita in ampiezza e profondità.
Strapazziamo le immagini…
Analisi di regioni Luigi Cinque 23/02/2019 Analisi di regioni.
Le Macchine di Turing.
Sistemi e Tecnologie della Comunicazione
concetti ed applicazioni
Matrici e determinanti
Integrale Definito Integrale Indefinito Integrale Definito
A cura dei Docenti: Prof Salvatore MENNITI, Prof ssa Alessandra SIA
Appunti di analisi matematica: Integrale Definito
Richiami di Algebra Matriciale
Algoritmi.
Definizione e caratteristiche
Corso di Fondamenti di Informatica
Transcript della presentazione:

Metriche Discrete e Morfologia Matematica 04/12/2018 Metriche Discrete e Morfologia Matematica Virginio Cantoni Laboratorio di Visione Artificiale http://vision.unipv.it/ Università di Pavia Via A. Ferrata 1, 27100 Pavia virginio.cantoni@unipv.it 04.12.2018 11:32

Sommario Metriche discrete Morfologia binaria Trasformata distanza 04/12/2018 Sommario Metriche discrete Morfologia binaria Trasformata distanza Medial Axis Transform Rappresentazioni binarie

Definizioni Preliminari 04/12/2018 Definizioni Preliminari Definiamo F={1} ed F*={0} i due insiemi costituenti una immagine binaria digitalizzata su griglia quadrata. Chiameremo rispettivamente tali insiemi immagine e sfondo. Dati due pixel p e q di coordinate (i,j) e (h,k) le funzioni distanza d4 (city block) e d8 (chessboard) sono definite come: d4 (p,q) = |i-h|+|j-k| d8 (p,q) = max {|i-h|, |j-k|} p q

Definizioni Preliminari 04/12/2018 Definizioni Preliminari I vicini di un pixel p sono i pixel aventi da p distanza unitaria L’insieme dei vicini di p costituisce l’intorno di p. Si parla di intorno N4 (p) oppure di N8 (p) a seconda della metrica usata Un percorso di lunghezza n da p a q è una sequenza di pixel p=p0, p1, p2, …..pn=q è tale che con la metrica scelta pi è un vicino di pi+1, 1in Un sottoinsieme di F (o di F*) è connesso se presi una copia dei suoi pixel esiste un percorso tra questi interamente costituito da pixel di F (o di F*). Il contorno C di una figura F è il sottoinsieme di F i cui punti hanno distanza unitaria da F*.

04/12/2018 4- and 8- Connectivity

Il Codice di Herbert Freeman 04/12/2018 Il Codice di Herbert Freeman 4-contorno con 102 codici 001010011000333000110001000111010121111211212222132222300030332322222121112122111223333333333333333333 8-contorno, con 81 codici 001102107660002100100221123222323444354446007755444332234322446666666666666666666

Il Codice di Freeman: caratteristiche 04/12/2018 Il Codice di Freeman: caratteristiche La lunghezza del contorno è pari al numero di codici in N4 e dalla formula: L8 = npari + √2 ndispari in N8 L’ascissa e l’ordinata al codice k-esimo sono rispettivamente: L’area è data da: Condizione di chiusura: n7+n0+n1=n3+n4+n5; n5+n6+n7=n1+ n2+ n3. Cx1=Cx2=Cx3=Cy7=Cy0=Cy1= 1 Cx5=Cx6=Cx7=Cy3=Cy4=Cy5=-1 Cx0=Cx4=Cy2=Cy6=0

Concavità e Convessità 04/12/2018 Concavità e Convessità

Morfologia Matematica 04/12/2018 Morfologia Matematica La Morfologia Matematica nasce negli anni ’60 in Francia (P. Serra, Ecole des Mines) e in USA in forma diversa col nome di Algebra delle Immagini (S. R. Sternberg, Michigan University).

Definizioni preliminari 04/12/2018 Definizioni preliminari A A  En, t En Traslazione di A rispetto ad un vettore t At = { cEn | c=a+t, aA } Riflessione di A Ar= { c | c=-a, aA } Complemento di A Ac = En -A A(2,1) Ar Ac

Somma di Minkowski (Dilation) 04/12/2018 Somma di Minkowski (Dilation) AB = { cEn | c=a+b, aA, bB } AB =  Ab , bB Si dimostra facilmente: AB = BA A B= { (0,0), (1,0) } A(0,0) A(1,0) AB

Dilation L’insieme B viene normalmente definito elemento strutturante 04/12/2018 Dilation L’insieme B viene normalmente definito elemento strutturante B= {(-1,0), (1,0) } A A(-1,0) A(1,0) AB

Dilation A B AB

Dilation A B AB

Dilation A B AB

Dilation A B AB

Dilation A B C ABC

Dilation A B C ABC

Differenza di Minkowski (Erosion) 04/12/2018 Differenza di Minkowski (Erosion) AB = { cEn | c + bA, per ogni bB } AB =  A-b bB AB = { cEn | Bc  A A B= { (0,0), (1,0) } A(-1,0) A-B

Erosion A B AB

Erosion A B AB

Erosion A B AB

Erosion A B AB

Erosion A B AB

Erosion A B AB

Proprietà di Dilation (+) e Erosion (-) 04/12/2018 Proprietà di Dilation (+) e Erosion (-) A + {} = A - {} = A A + {a} = A - {a} = Aa traslazione A + B = (Ac – B)c A – B = Ac + B c (A+B)c=Ac -Br A+Bt=(A+B)t A-Bt=(A-B)-t Scomposizione: B=B1+B2 +B3 +….+Bn (le forme convesse sono sempre scomponibili) A+B = (…(((A+ B1)+B2 )+B3) +….)+Bn A-B = (…(((A- B1)-B2 )-B3) -….)-Bn

Proprietà di Dilation (+) e Erosion (-) 04/12/2018 Proprietà di Dilation (+) e Erosion (-) (A+B)+C=A+(B+C) (A-B)-C=A-(B+C) (AB)+C=(A+C)(B+C) (A  B)-C=(A-C)  (B-C) A+(BC)=(A+B)(A+C) A-(BC)=(A-C)(B-C) A B(A+C) (B+C) AB(A-C) (B-C) BC(A-B)  (A-C) (AB)+C (A+C)(B+C) (A B)-C (A-C) (B-C) A-(BC)(A-C)(B-C

Chiusura C(A, K) = (A+K)-K AC(A,K)=C(C(A,K),K) K A A+K (A+K)-K 04/12/2018 Chiusura C(A, K) = (A+K)-K AC(A,K)=C(C(A,K),K) K A A+K (A+K)-K

04/12/2018 Chiusura C(A, K) = (A+K)-K K A A+K (A+K)-K

04/12/2018 Chiusura C(A, K) = (A+K)-K K A A+K (A+K)-K

04/12/2018 Chiusura K A A+K (A+K)-K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Chiusura C(A, K) = (AK)K K A AK (AK)K

Apertura O(A, K) = (A-K)+K O(O(A,K),K)=O(A,K)A K A A-K (A-K)+K 04/12/2018 Apertura O(A, K) = (A-K)+K O(O(A,K),K)=O(A,K)A K A A-K (A-K)+K

04/12/2018 Apertura O(A, K) = (A-K)+K K A A-K (A-K)+K

Proprietà di Apertura e Chiusura 04/12/2018 Proprietà di Apertura e Chiusura È possibile scambiare F con F* scambiando gli operatori: (A  B) c = Ac • B (A • B) c = Ac  B Idempotenza: (A  B)  B = A  B (A • B) • B = A • B Monotonicità: A  B  A  C  B  C A  B  A • C  B • C

Esempi Applicativi Propagazione Contorno 04/12/2018 Esempi Applicativi Propagazione C = { X }; C = immagine in evoluzione do D = C F = immagine iniziale C = (C  K)F while(DC) Contorno Interno: A-(AK) Esterno: (A  K)Ā oppure (A  K)-A Doppio: (A  K)(A  K) = (A  K)-(AK)

Hit or Miss A(J,K) = (A-J)(Ac-K) 04/12/2018 Hit or Miss A(J,K) = (A-J)(Ac-K) con il vincolo JK= Permette di trovare strutture regolari (template matching)

Hit or Miss Ricerca di punti isolati (8-connessi) A-J=A J K A Ac 04/12/2018 Hit or Miss Ricerca di punti isolati (8-connessi) A-J=A J K A Ac Risultato finale Ac-K

Hit or Miss Ricerca di punti isolati (4-connessi) A-J=A K J A Ac 04/12/2018 Hit or Miss Ricerca di punti isolati (4-connessi) A-J=A J K A Ac Risultato finale Ac-K

04/12/2018 Hit or Miss J e K possono essere visti come una unica maschera con tre tipi di valori Punti necessariamente di immagine Punti di background Punti non rilevanti M

Hit or Miss Pixel compatibili con la maschera di background 04/12/2018 Hit or Miss Pixel compatibili con la maschera di background Pixel compatibili con la maschera per l’immagine

04/12/2018 Trasformata Distanza La trasformata distanza di F rispetto a F* è una replica di F in cui i pixel sono etichettati con il valore della loro distanza da F*, calcolata secondo una data metrica. Un massimo locale è un pixel di F che nella trasformata distanza di F è caratterizzato da una distanza p da F* maggiore o uguale della distanza da F* dei suoi vicini ni

04/12/2018 Trasformata distanza La trasformata distanza è una funzione da una immagine binaria ad una a livelli di grigio Nella immagine prodotta i pixel di sfondo rimangono a 0, i pixel della figura vengono etichettati con la loro distanza dallo sfondo La distanza dipende dal tipo di connessione che si assume per la figura (4/8 connessione)

Trasformata Distanza TD 04/12/2018 Trasformata Distanza TD Una possibile implementazione è tramite una successione di operazioni di erosione e di somma dell’immagine ottenuta (il risultato dipende dalla scelta dell’elemento strutturante) R =  R = immagine in evoluzione while(A<>) do infine TD R = R+A A = RQK done

Trasformata distanza 04/12/2018 1 1 1 1 1 1 2 2 2 2 2 1 1 2 3 3 3 2 1

DT - algoritmo sequenziale 04/12/2018 DT - algoritmo sequenziale Si effettuano due scansioni dell’immagine La prima dall’alto al basso e da sinistra a destra ogni pixel della figura è uguale al valore minore fra i vicini già considerati o fondo incrementato di 1 La seconda dal basso all’alto, da destra a sinistra ogni pixel della figura è uguale al minimo fra i vicini già considerati o fondo incrementato di 1 ed il pixel stesso

DT - algoritmo sequenziale 04/12/2018 DT - algoritmo sequenziale 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 3 3 3 3 2 1 2 3 3 3 2 1 1 2 3 4 4 4 4 2 1 1 2 3 4 4 4 3 2 1 1 2 3 4 5 5 5 3 2 1 2 2 3 3 3 3 2 1 1 2 3 4 5 6 4 3 1 1 2 2 2 2 2 1 1 2 3 4 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 3 2 2 1 1 2 2 3 2 2 1 1 1 2 3 3 3 2 1 1 1 1 2 3 3 3 2 1 1 1 1 2 2 3 4 3 2 2 1 1 2 2 2 3 2 2 1 1 2 3 3 4 3 3 1 1 1 1 2 2 2 1 1 1 2 3 4 4 1 1 1 1 1

04/12/2018 DT - massimi locali I massimi locali sono una rappresentazione compatta della figura Possono essere utilizzati per ricostruire la figura: è l’unione dei dischi aventi per dimensione il valore del massimo 2 2 2 4 4 4 2 3 2 3 3 3 3 1 1 2 3

Dischi in 4 e 8 connettività 04/12/2018 Dischi in 4 e 8 connettività 5 5

Dischi massimi Ad ogni massimo locale si associa un disco massimo 04/12/2018 Dischi massimi Ad ogni massimo locale si associa un disco massimo Il disco massimo non è mai contenuto completamente da un altro disco associato ad un disco della DT La forma dei dischi dipende dall’elemento strutturante Si ottiene iterando una operazione di dilation tramite l’elemento strutturante (realizzando cosi una DT inversa) L’inseme dei dischi massimi forma una rappresentazione compatta della forma 1 1 1 1 1 1 1 2 2 2 1 1 2 1 3 1 2 3 2 1 1 2 3 2 1 3 3 3 1 1 2 2 2 1 1 2 1 1 2 3 1 1 1 1 1 1

Trasformata Distanza e MAT 04/12/2018 Trasformata Distanza e MAT

Approssimazioni Progressive della MAT 04/12/2018 Approssimazioni Progressive della MAT

Calcolo distanza Distanza fra due punti (X, Y ) 04/12/2018 Calcolo distanza Y X 4 1 5 8 3 2 6 7 9 F D Distanza fra due punti (X, Y ) A = { X }; D = A A= immagine in evoluzione while(YA) do F= immagine iniziale A = (A  K)F Y= componente connessa D = D + A done Seguendo la direzione del massimo gradiente si ottiene anche il percorso più breve (non è detto sia unico) K

Calcolo distanza Se A (A  K)F 04/12/2018 Calcolo distanza Se A (A  K)F allora se non è ancora coperto, Y non è raggiungibile da X F non è connesso Il metodo può essere pesante computazionalmente (si pensi ad una spirale)

Trasformata distanza pesata 04/12/2018 Trasformata distanza pesata La distanza di ogni vicino non è unitaria ma pesata (w) Algoritmo sequenziale Scansione diretta val = mini {pi+wi} (i vicini precedenti) Scansione inversa new-val = mink {pk+wk} (k vicini successivi) Esempio (per una migliore approssimazione della distanza euclidea, si ottiene circa il doppio) 3 2 3 2 2 3 2 3

Trasformata distanza pesata 04/12/2018 Trasformata distanza pesata 2 2 3 2 2 3 5 3 2 3 2 3 2 3 5 6 5 3 2 2 2 3 2 3 2 3 5 3 2 2 3 2 2

04/12/2018 Paradossi topologici Il contorno di una figura secondo la 4 connessione è solo 8 connessa Il contorno di una figura secondo la 8 connessione è 4 connessa Si noti che una tassellazione esagonale non provoca paradossi 1 1 1 1 1 1 2 2 2 2 2 1 1 2 3 3 3 2 1 1 2 3 4 4 4 3 2 1 1 2 2 3 3 3 3 2 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 2 2 3 2 2 1 1 1 2 3 3 3 2 1 1 1 1 2 2 2 3 2 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1

04/12/2018 Scheletro Lo scheletro di F è un sottoinsieme di F caratterizzato dalle seguenti proprietà: È connesso se F è connessa e ha o stesso ordine di molteplicità di F, ovvero hanno lo stesso numero di componenti connesse Ha ovunque spessore unitario È centrato in F Include i massimi locali di F

04/12/2018 Scheletro da TD e MAT

04/12/2018 8-Convex Hull

Rappresentazione con Quadtree 04/12/2018 Rappresentazione con Quadtree

Umbra Insieme A Top di A Umbra di A 04/12/2018 Umbra Estensione alle immagini a più livelli di grigio o colore A  En, FEn-1, xF, yE Top di un insieme A: T[A](x) = max { y | (x, y)  A } Umbra di f: U[f] = { (x, y)  F  E | y  f(x) } Insieme A Top di A Umbra di A

04/12/2018 Umbra - Proprietà T[A]  A  U[A]  En U[U[A]]  U[ A]

Dilation a più livelli di grigio 04/12/2018 Dilation a più livelli di grigio Dati: F,KEn-1 , f:FE, k:KE Si definisce dilation di f tramite k f k = T{U[f]U[k]} Si dimostra che una definizione equivalente è: (f k)(x) = max{f(x-z)+k(z) | zK, x-zF} Dal punto di vista computazionale la complessità è equivalente ad una convoluzione

Esempio - dilation k f U[f] U[k] fk = T[U[f]U[k]] U[f]U[k] 04/12/2018 Esempio - dilation k f U[f] U[k] fk = T[U[f]U[k]] U[f]U[k]

04/12/2018 Esempio - dilation (f k)(6) = max{f(6-0)+k(0), f(6-1)+k(1), f(6-2)+k(2)}= max{f(6)+k(0), f(5)+k(1), f(4)+k(2)}= max{5+0, 6+1, 5+0} = 7 x f k fk 1 1 1 3 1 3 2 5 5 3 3 6 4 5 5 5 6 6 6 5 7 7 6 8 5

04/12/2018 Esempio - dilation (f k)(5) = max{f(5-(-1))+k(-1), f(5-0)+k(0), f(5-1)+k(1)}= max{f(6)+k(-1), f(5)+k(0), f(4)+k(1)}= max{5-1, 6+0, 5-1} = 6 x f k fk -1 -1 1 2 1 3 -1 4 2 5 5 3 3 4 4 5 5 5 6 6 6 5 5 7 4

04/12/2018 Esempio - dilation

Gray scale erosion Dati: F,KEn-1 , f:FE, k:KE 04/12/2018 Gray scale erosion Dati: F,KEn-1 , f:FE, k:KE Si definisce erosion di f tramite k fk = T{U[f]U[k]} Si dimostra che una definizione equivalente è: (fk)(x) = min{f(x+z)-k(z) | zK, x+zF}

04/12/2018 Esempio - erosion (fk)(5) = min{f(5-(-1))-k(-1), f(5-0)-k(0), f(5-1)-k(1)}= min{f(6)-k(-1), f(5)-k(0), f(4)-k(1)}= min{5+1, 6-0, 5+1} = 6 x f k f-k -1 -1 1 1 3 -1 2 2 5 4 3 3 3 4 5 4 5 6 6 6 5 7

04/12/2018 Esempio - erosion

04/12/2018 Esempio - opening

04/12/2018 Esempio – closing

04/12/2018 Esempio