La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Riconoscimento di forme e Trasformata di Hough

Presentazioni simili


Presentazione sul tema: "Riconoscimento di forme e Trasformata di Hough"— Transcript della presentazione:

1 Riconoscimento di forme e Trasformata di Hough
Virginio Cantoni Laboratorio di Visione Artificiale Università di Pavia Via A. Ferrata 1, Pavia :39

2 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/ :39

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

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

5 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/ :39

6 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/ :39

7 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/ :39

8 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/ :39

9 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/ :39 m

10 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/ :39

11 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/ :39 x o

12 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/ :39

13 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/ :39

14 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/ :39

15 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/ :39

16 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/ :39

17 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/ :39

18 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/ :39

19 Esempio di voto 22/11/ :39

20 Esempio di voto 22/11/ :39

21 Esempio di voto 22/11/ :39

22 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/ :39

23 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/ :39

24 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/ :39

25 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/ :39

26 Esempio 22/11/ :39

27 Ricerca di forme geometriche
Cercata Presente 22/11/ :39

28 Esempio: ricerca del quadrato
22/11/ :39

29 Esempio di voto: chiave 1
22/11/ :39

30 Esempio di voto: chiave 2
22/11/ :39

31 Esempio di voto: chiave 4
22/11/ :39

32 Esempio di voto: chiave 5
22/11/ :39

33 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/ :39

34 Esempio di voto: cerchio
22/11/ :39

35 Esempio di voto: ottagono
22/11/ :39

36 Esempio di voto: esagono
22/11/ :39

37 Esempio di voto: pentagono
22/11/ :39

38 Esempio di voto: quadrato
22/11/ :39

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

40 Esempio di voto: cerchio
22/11/ :39

41 Esempio di voto: esagono
22/11/ :39

42 Esempio di voto: quadrato
22/11/ :39

43 Esempio di voto: triangolo
22/11/ :39

44 HT: Forme arbitrarie 22/11/ :39

45 HT: Forme arbitrarie-segmentate
22/11/ :39

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

47 Prova: HT per rette 22/11/ :39

48 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/ :39

49 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/ :39


Scaricare ppt "Riconoscimento di forme e Trasformata di Hough"

Presentazioni simili


Annunci Google