Title: Riconoscimento di forme e Trasformata di Hough
1Riconoscimento 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_at_unipv.it
2Riconoscimento 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
3Riconoscimento di forme
- Gli oggetti sono spesso occlusi
- Le acquisizioni sono rumorose
4Definizione di forma
- Nella definizione di una forma occorre tenere
conto del contesto in cui questa appare
5Apoprocci 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 Combinazioni dei precedenti
6Trasformata 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
7Trasformata 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
8HT 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 è levidenza nello spazio immagine (es.
oltre al passaggio, anche la direzione della
curva, oppure la curvatura nel punto), più
limitato è linsieme delle compatibilità in SP.
9HT esempio rette
y
- Equazione classica della retta
- y mxq
- 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 lorientamento (dyi/dxi mi) la
compatibilità è ridotta ad un punto
(mi,qi)
x
q
m
10HT esempio cerchio
y
- (y-yc)2(x-xc)2r2
- 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
11HT 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-r20
- 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
12Il 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
13HT 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
14HT ricerca di rette
- L'equazione classica della retta presenta dei
problemi perché - -? lt m, q lt ?.
- 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
lt r lt L?2 -? ? q ? ?.
15Il 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
16HT 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 unanalisi
locale) nell'accumulatore corrispondono alle
edizioni più votate della curva cercata.
17Uso del gradiente
- Gli operatori differenziali (Sobel per esempio,
ma con più precisione lisotropico) 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)
18Uso 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
19Esempio di voto
20Esempio di voto
21Esempio di voto
22Trasformata di Hough generalizzata
- La HT è estendibile sotto lipotesi 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)
23Trasformata 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
24Algoritmo 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
25Trasformata di Hough generalizzata
- La tabella può anche essere costruita con gli
angoli misurati relativamente alla tangente - xc x r(q) cos(qb)yc y r(q) sin(qb)
- Si introduce cioè l'orientamento relativo. La
descrizione del contorno è perciò invariante per
rotazione
26Esempio
27Ricerca di forme geometriche
Cercata Presente
28Esempio ricerca del quadrato
29Esempio di voto chiave 1
30Esempio di voto chiave 2
31Esempio di voto chiave 4
32Esempio di voto chiave 5
33Poligoni regolari
- Per i poligoni regolari ogni punto ha una regola
di mappatura, cioè vota lungo un segmento
proporzionale alla lunghezza del lato
34Esempio di voto cerchio
35Esempio di voto ottagono
36Esempio di voto esagono
37Esempio di voto pentagono
38Esempio di voto quadrato
39Esempio di voto triangolo
40Esempio di voto cerchio
41Esempio di voto esagono
42Esempio di voto quadrato
43Esempio di voto triangolo
44HT Forme arbitrarie
45HT Forme arbitrarie-segmentate
46Prova HT per poligoni e forme arbitrarie
47Prova HT per rette
48Aspetti 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
49Aspetti 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