Riconoscimento di forme e Trasformata di Hough

Slides:



Advertisements
Presentazioni simili
Le trasformazioni isometriche
Advertisements

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.
Funzioni reali di variabile reale. Definizione di funzione tra due insiemi Definizione: Dati due insiemi A e B si dice funzione (o anche applicazione)
Exs n. 25 pag. w 139. a) Studiare la funzione di equazione: b) La retta r ad essa tangente nel suo punto di intersezione con ascissa positiva [che è 1]
Formulario di geometria Analitica Argomento: Punti e Rette Di Chan Yi 3°O a.s. 2009/2010.
FORMULARIO DI ANALITICA di ORIZIO STEFANO. DISTANZA TRA DUE PUNTI Se il segmento è parallelo all'asse x: d=|X 2 -X 1 | Se il segmento è parallelo all'asse.
Le rette e piani Geometria analitica dello spazio.
Elaborazione delle Immagini Operatori Puntuali Luigi Cinque
In geometria le figure si concepiscono come rigide, per cui è possibile “muoverle” nello spazio senza che subiscano alcuna deformazione. La traduzione.
× = × ESEMPI DI LUOGHI GEOMETRICI Luoghi geometrici
Endogenous restricted participation
Le funzioni matematiche e il piano cartesiano
Fotogrammetria - Lezione 3
Georeferenziazione di immagini
La parabola e la sua equazione
Analisi dei Dati – Tabelle e Grafici
LA CIRCONFERENZA.
PICCOLA GUIDA PER FUNZIONI REALI A DUE VARIABILI
Similitudine e omotetia
Definizione di logaritmo
Piano cartesiano e retta
Le disequazioni in due variabili
Nozioni di Cartografia e problemi legati alla navigazione
La circonferenza nel piano cartesiano
Le equazioni di II°Grado
per l’economia e la finanza Prof.ssa Cristiana Mammana
LA GEOMETRIA LA GEOMETRIA
Formule generali per il calcolo di superficie e volume di solidi a 2 basi by iprof.
1 L’equazione dell’iperbole
Funzioni di due variabili
PROPORZIONALITÀ.
La circonferenza nel piano cartesiano
La circonferenza e il cerchio
Luigi Cinque Trasformata di Hough Luigi Cinque
Le potenze ad esponente reale
Sistema di riferimento su una retta
Equazioni differenziali
Le trasformazioni nel piano cartesiano
MATEMATICA II.
Definizione Classificazione Dominio e Codominio Proprietà
FUNZIONI MATEMATICHE DANIELA MAIOLINO.
Operatori differenziali
Magnetostatica 2 Legge di Biot-Savart Prima formula di Laplace
Fisica: lezioni e problemi
I movimenti e la congruenza
Campo elettrico.
L’equazione dell’ellisse
L’equazione dell’ellisse
Analisi di sequenze di immagini
Le trasformazioni isometriche
Scan matching nel dominio di Hough
La circonferenza e il cerchio
LA RETTA.
Trasformazioni Geometriche
Luigi Cinque Contorni e forme Luigi Cinque
Geometria descrittiva dinamica
Analisi di regioni Luigi Cinque 23/02/2019 Analisi di regioni.
Algebra di Boole e Funzioni Binarie
L’EQUAZIONE DI UNA RETTA
PICCOLA GUIDA PER FUNZIONI REALI A DUE VARIABILI
“Il piano cartesiano e la retta”
Geometria descrittiva dinamica
I sistemi di equazioni lineari
ISOMETRIE Si parla di ISOMETRIA (dal greco Iso=stessa Metria=misura) quando una figura F si trasforma in una F’ ad essa congruente. Si tratta quindi di.
A cura dei Docenti: Prof Salvatore MENNITI, Prof ssa Alessandra SIA
L’EQUAZIONE DI UNA RETTA
I sistemi di equazioni di I grado
La retta Esercitazioni Dott.ssa Badiglio S..
LA PARABOLA Esercitazioni Dott.ssa Badiglio S..
La circonferenza Esercitazioni Dott.ssa Badiglio S.
Transcript della presentazione:

Riconoscimento di forme e Trasformata di Hough Virginio Cantoni Laboratorio di Visione Artificiale http://vision.unipv.it/ Università di Pavia Via A. Ferrata 1, 27100 Pavia virginio.cantoni@unipv.it 22.11.2018 19:39

Riconoscimento di forme Il problema fondamentale nella visione artificiale è il riconoscimento di oggetti In generale è un problema difficile Gli oggetti subiscono traslazioni Gli oggetti variano per colore Gli oggetti subiscono rotazioni Gli oggetti subiscono cambiamenti di scala 22/11/2018 19:39

Riconoscimento di forme Gli oggetti sono spesso occlusi Le acquisizioni sono rumorose 22/11/2018 19:39

Definizione di forma Nella definizione di una forma occorre tenere conto del contesto in cui questa appare 22/11/2018 19:39

Apoprocci per il RF APPROCCIO RAPPRESENTAZIONE FUNZIONE DISCRIMINANTE Matching diretto Segmento Correlazione Teoretico decisionale Vettore di descrittori Massima verosimiglianza Minimo rischio, etc Linguistico Grammatica Appartenenza al linguaggio Hough Tabella Statistico - Ricerca dei punti di accumulazione Ibrido Combinazioni dei precedenti 22/11/2018 19:39

Trasformata di Hough Una delle soluzioni più efficaci per il riconoscimento è la trasformata di Hough (HT) La HT nella sua formulazione originaria (primi anni 60) permette di individuare forme descritte in forma analitica (prima è stata introdotta per le rette, poi per i cerchi, per le parabole, ecc.) La HT è parzialmente insensibile alle occlusioni (e al rumore) La HT trasforma il problema della ricerca di una curva (spesso) nella semplice ricerca di massimi 22/11/2018 19:39

Trasformata di Hough In generale una curva piana è definita in forma analitica tramite un insieme (limitato se è semplice) di parametri. Una equazione lega i parametri alle coordinate cartesiane f((x,y), (a1,a2,...,an))=0 (x,y) è un punto della curva (a1,a2,...,an) è una n-upla di valori che individuano un punto nello spazio dei parametri Un punto nello spazio dei parametri individua in modo univoco una curva analitica 22/11/2018 19:39

HT: proprietà In generale ad ogni punto P’ nello spazio immagine (SI) corrisponde una ipersuperficie nello spazio dei parametri (SP) in cui ogni punto rappresenta una curva passante per P’. n punti nello SI appartenenti ad una stessa curva generano n superfici che si intersecano in uno stesso punto in SP, corrispondente ai parametri della curva. Più ricca è l’evidenza nello spazio immagine (es. oltre al passaggio, anche la direzione della curva, oppure la curvatura nel punto), più limitato è l’insieme delle compatibilità in SP. 22/11/2018 19:39

HT: esempio rette y y = mx+q f((x,y), (m,q)) = y-mx-q = 0 x q m Equazione classica della retta y = mx+q può essere riscritta come f((x,y), (m,q)) = y-mx-q = 0 Fissato un punto (xi,yi) nello SI l'equazione q = yi-mxi descrive la curva delle compatibilità (che rimane ancora una retta) nello SP. Noto l’orientamento (dyi/dxi= mi) la compatibilità è ridotta ad un punto: (mi,qi) x q 22/11/2018 19:39 m

HT: esempio cerchio (y-yc)2+(x-xc)2=r2 y Primo approccio: ricerca di cerchi di raggio noto, in questo caso lo SP è bidimensionale e la curva generata da ogni punto nello SI è essa stessa un cerchio. N.B. è raro che a una curva corrisponda la stessa curva nello SP Lo spazio dei parametri è generato dalle coordinate del centro (xc,yc) Nota la tangente nel punto (dyi/dxi) la compatibilità è ridotta ad un punto: (xc,yc) dista r da (xi,yi) in direzione  x yc xc 22/11/2018 19:39

HT: esempio cerchio Caso generale: anche il raggio è incognito. In questo caso lo SP è tridimensionale: f((x,y),(xc,yc),r) = (y-yc)2+(x-xc)2-r2=0 La curva generata in questo caso è un cono. Nota la tangente nel punto (dyi/dxi) la compatibilità è ridotta ad una retta: yc= -1/mi xc + (yi- mixi). Nota la curvatura nel punto (r) la compatibilità è ridotta ad un punto: xc,yc r x o y o dyi/dxi y (xc,yc) y o x 22/11/2018 19:39 x o

Il processo di voto I voti si possono ‘pesare’ in base alla significatività La ricerca dei massimi può essere sufficiente per stabilire la presenza della curva cercata La soglia può essere fissata anche con criteri teorici: valore aspettato e rapporto S/N La soglia deve comunque rappresentare un compromesso fra il rischio di non rilevare oggetti presenti e quello di ottenere falsi positivi 22/11/2018 19:39

HT: ricerca di curve (espresse in forma analitica) Ogni punto nello SI genera una superficie nello SP Quindi nello SP una intersezione di molte superfici è l'indizio della presenza di una particolare istanza della curva analitica cercata In generale occorrerà un numero di punti almeno pari al numero dei parametri per individuare una curva (cioè le sue caratteristiche) La HT permette perciò di convertire un problema di ricerca di curve in quello più semplice di ricerca di intersezioni 22/11/2018 19:39

HT: ricerca di rette L'equazione classica della retta presenta dei problemi perché: - < m, q < +. Lo spazio immagine per immagini reali è ovviamente limitato (per esempio 256x256). Per ovviare al problema descritto si usa una diversa rappresentazione della retta: r = x cos(q) + y sin(q). In questo caso i parametri risultano limitati: 0 < r < L2; -  q  . 22/11/2018 19:39

Il processo di voto Da un punto di vista implementativo occorre discretizzare lo SP in celle (n-dimensionali) La dimensione delle celle dipende dalla precisione massima richiesta Ogni cella corrisponde ad una edizione (quantizzata) della curva Per ogni evidenza nello SI si incrementa ogni cella compatibile dello SP (processo di voto) Ogni cella misura perciò il numero di contributi al riconoscimento della curva corrispondente 22/11/2018 19:39

HT per ricerca di segmenti rettiliei Definire un accumulatore A(q, r) di dimensioni opportune Inizializzare A(q, r) a 0 Per ogni evidenza dell'immagine si incrementano tutti i punti dell'accumulatore compatibili con una regola di mappatura e pesi predefiniti. Seleziona i massimi (magari con un’analisi locale) nell'accumulatore: corrispondono alle edizioni più votate della curva cercata. 22/11/2018 19:39

Uso del gradiente Gli operatori differenziali (Sobel per esempio, ma con più precisione l’isotropico) producono anche informazioni sulla direzione del gradiente Questo ulteriore dato permette di ridurre di uno i gradi di libertà nello SP (cioè il numero di parametri indipendenti) Esempi: retta: r = x cos(q) + y sin(q) si vota solo il punto (r,q) cerchio: xc =x - r sin(q); yc = y - r cos(q) si vota solo il punto (xc, yc) 22/11/2018 19:39

Uso del gradiente Nel caso in cui la curva sia descritta da due soli parametri ad ogni punto dello SI corrisponde un solo punto nello SP In questo caso si sono perciò ridotti di molto il numero dei voti dispersi Sono perciò presenti solo i punti che corrispondono effettivamente a curve nell'immagine e pochi altri di rumore Il rapporto segnale-rumore è perciò migliorato 22/11/2018 19:39

Esempio di voto 22/11/2018 19:39

Esempio di voto 22/11/2018 19:39

Esempio di voto 22/11/2018 19:39

Trasformata di Hough generalizzata La HT è estendibile sotto l’ipotesi di moto rigido, a oggetti di forma arbitraria. Come prima ipotesi consideriamo fissi scala e rotazione Occorre scegliere un punto di riferimento P0(x0,y0) (non necessariamente il baricentro) Il generico punto di contorno P(x,y) può essere riferito a P0 : X0 = x + r cos(a); Y0 = y + r sin(a) 22/11/2018 19:39

Trasformata di Hough generalizzata Per ogni punto P si determina la direzione della tangente b al contorno La tabella-R (tabella di riferimento) è una lista dei valori di R e a corrispondente ai punti di contorno utili alla descrizione della forma cercata Il metodo è generalizzabile per forme di rotazione e scala variabili introducendo due nuovi parametri. Lo SP risultante è quindi: (X0,Y0,S,f) Le tabelle-R per le rotazioni e i cambiamenti di scala possono facilmente essere ottenuti da quello originale per orientamento e scala fissate 22/11/2018 19:39

Algoritmo di Hough generalizzato passo 0 Costruisci la tabella di riferimento RT passo 1 Inizializza l'accumulatore passo 2 Ripeti per ogni punto di contorno: passo 2.1 Calcola  passo 2.2 Calcola i possibili centri per ogni tupla di RT xc = x + S r cos(a(b)) yc = y + S r sin(a(b)) passo 2.3 Vota (incrementa l'accumulatore) passo 3 Analizza SP per i massimi e i rispettivi intorni 22/11/2018 19:39

Trasformata di Hough generalizzata La tabella può anche essere costruita con gli angoli misurati relativamente alla tangente: xc = x + r(q) cos(q+b) yc = y + r(q) sin(q+b) Si introduce cioè l'orientamento relativo. La descrizione del contorno è perciò invariante per rotazione 22/11/2018 19:39

Esempio 22/11/2018 19:39

Ricerca di forme geometriche Cercata Presente 22/11/2018 19:39

Esempio: ricerca del quadrato 22/11/2018 19:39

Esempio di voto: chiave 1 22/11/2018 19:39

Esempio di voto: chiave 2 22/11/2018 19:39

Esempio di voto: chiave 4 22/11/2018 19:39

Esempio di voto: chiave 5 22/11/2018 19:39

Poligoni regolari Per i poligoni regolari ogni punto ha una regola di mappatura, cioè vota lungo un segmento proporzionale alla lunghezza del lato 22/11/2018 19:39

Esempio di voto: cerchio 22/11/2018 19:39

Esempio di voto: ottagono 22/11/2018 19:39

Esempio di voto: esagono 22/11/2018 19:39

Esempio di voto: pentagono 22/11/2018 19:39

Esempio di voto: quadrato 22/11/2018 19:39

Esempio di voto: triangolo 22/11/2018 19:39

Esempio di voto: cerchio 22/11/2018 19:39

Esempio di voto: esagono 22/11/2018 19:39

Esempio di voto: quadrato 22/11/2018 19:39

Esempio di voto: triangolo 22/11/2018 19:39

HT: Forme arbitrarie 22/11/2018 19:39

HT: Forme arbitrarie-segmentate 22/11/2018 19:39

Prova: HT per poligoni e forme arbitrarie 22/11/2018 19:39

Prova: HT per rette 22/11/2018 19:39

Aspetti Implementativi: Etichettatura Nella tabella di riferimento i punti del contorno possono essere classificati sulla base di qualche criterio di omogeneità (ad esempio in base al contesto locale) e raggruppati in sottotabelle possibilmente disgiunte Nel piano immagine per ognuno dei punti rilevati si identifica la sottotabella di appartenenza, la sola che interviene nel processo di voto Il picco aspettato sul punto di riferimento non cambia di intensità, ma diminuisce il numero dei voti sparsi, quindi il rapporto segnale rumore 22/11/2018 19:39

Aspetti implementativi: Tempo di esecuzione Il tempo di esecuzione dipende linearmente dal prodotto del numero dei punti rilevati NE per la cardinalità della tabella di riferimento NRF. Nel caso di etichettatura è la somma pesata per la cardinalità delle sottotabelle del numero di occorrenze delle etichette. Il processo di voto è parallelizzabile sia sul pixel dello SI, sia sulla tupla della RF 22/11/2018 19:39