Sei sulla pagina 1di 15

Capitolo 12 - Individuazione di Forme

1

Template Matching

Molte applicazioni di visione richiedono di localizzare nell’immagine correntemente analizzata una o pi`u istanze di una particolare sotto-immagine di riferimento, che viene detta “template”o“pattern”. Questa problematica, che `e una delle pi`u clas- siche e delle pi`u studiate nell’ambito della visione artificiale, viene detta Template Matching o Pattern Matching.

Un’applicazione tipica nell’ambito dell’automazione industriale: ricerca dei marker di “allineamento”, detti fiducials, su una scheda elettronica per la guida della macchina che effettua il montaggio dei chip.

la guida della macchina che effettua il montaggio dei chip. Elaborazione dell’Immagine L-S, A.A. 2003-2004 Luigi

Capitolo 12 - Individuazione di Forme

2

Misure di similarit`a (1)

L’algoritmo classico di template matching consiste nel far scorrere il template sull’immagine da analizzare al fine di stimare in ogni posizione la similarit`a fra template e sotto-immagine corrente.

0

M-1

0 W-1 j 0 j+N-1 0 N-1 i i+M-1 ~ T I H-1 I
0
W-1
j
0
j+N-1
0
N-1
i
i+M-1
~
T
I
H-1
I

Sono possibili diverse scelte per la funzione da utilizzare per la stima della similarit`a.

SSD (Sum of Squared Differences)

SSD ( i, j ) =

˜

M 1 N 1

=0 (I ( i + m, j + n ) T ( m, n )) 2

m =0 n

Interpretando I ( i, j ) (la sottoimmagine associata alla posizione ( i, j ) ed avente le

stesse dimensioni di T ) e T come vettori di uno spazio a M · N dimensioni, SSD rappresenta il quadrato della norma L 2 (norma euclidea) della differenza dei due vettori.

Capitolo 12 - Individuazione di Forme

3

Misure di similarit`a (2)

SAD (Sum of Absolute Differences)

SAD (i, j ) =

M 1 N 1

=0 |I ( i + m, j + n ) T (m, n )|

m =0 n

˜

Interpretando

ferenza dei due vettori.

I ( i, j ) e T come vettori, SAD rappresenta la norma L 1 della dif-

NCC (Normalised Cross-Correlation)

NCC (i, j ) =

 

M 1

m

=0

N 1

I ( i + m, j + n ) · T ( m, n )

n

=0

M 1

m =0

N 1

n =0 I (i + m, j + n ) 2 ·

M 1

m =0

N 1

n =0 T ( m, n ) 2

Interpretando

˜

I ( i, j ) e T :

˜

I ( i, j ) e T come vettori, NCC rappresenta il coseno dell’angolo fra

NCC ( i, j ) =

˜

I ( i, j ) · T

I ( i, j ) · |T| =

˜

˜

I ( i, j ) · |T | · cos θ

˜

I ( i, j ) ·

|T|

= cos θ

ed `e quindi dipendente dalla sola direzione dei due vettori, assumendo il valore

˜

massimo (pari a 1) quando i due vettori sono paralleli I ( i, j ) = α · T .

Rispetto a SSD e SAD, NCC costituisce una misura di similarit`a pi`u robusta rispetto a possibili variazioni fotometriche dell’immagine. Difatti, a differenza di SSD e SAD, NCC risulta insensibile a variazioni proporzionali dell’intensit`a lumi- nosa dell’immagine (ad esempio, dovute a variazioni del guadagno sulla catena di acquisizione del segnale video):

˜

I ( i, j ) = α · T

Capitolo 12 - Individuazione di Forme

4

Misure di similarit`a (3)

ZNCC (Zero-mean Normalised Cross-Correlation)

ZNCC ( i, j ) =

˜

M 1 N 1

=0 I (i + m, j + n )

˜

µ( I ] · [ T (m, n ) µ( T )]

 

m =0 n

M 1 N 1

M 1 N 1

˜

=0 I ( i + m, j + n ) µ( I ] 2 ·

=0 [T ( m, n ) µ( T )] 2

m =0 n

m =0 n

µ( I ) e µ( T ) rappresentano rispettivamente il valore medio dell’intensit`a della sotto-

˜

immagine I associata alla posizione ( i, j ) e del template T :

˜

µ I =

M 1 N 1

=0 I ( i + m, j + n )

m =0 j

M · N

µ ( T ) =

M 1 N 1

=0 T (m, n )

m =0 j

M · N

Fra quelle qui considerate, ZNCC costituisce la misura di similarit`a pi`u robusta rispetto a possibili variazioni fotometriche dell’immagine. Difatti, ZNCC risulta insensibile a variazioni lineari dell’intensit`a luminosa dell’immagine (ad esempio, dovute a variazioni del guadagno e dell’offset sulla catena di acquisizione del segnale video):

˜

I ( i, j ) = α · T + β

Capitolo 12 - Individuazione di Forme

5

Metodi orientati all’incremento dell’efficienza computazionale

La complessit`a computazionale di un algoritmo di template matching `e pari al prodotto delle dimensioni di immagine e template:

N operazioni = ( H · W ) · ( M · N )

Di conseguenza, quando queste sono significative ( ad esempio immagine 768 · 576

 

`

pixels e template 256 · 256 ) il costo computazionale diviene enorme.

E quindi nec-

essario individuare dei metodi che consentano di velocizzare l’esecuzione e renderla compatibile con i vincoli sui tempi di elaborazione imposti dall’applicazione. Fra i

metodi proposti ricordiamo:

Ricerca Multi-resolution

Si cerca prima in una immagine a risoluzione ridotta e poi si raffina la ricerca alla

risoluzione piena (`e possibile anche lavorare con pi`u di due livelli di risoluzione)

Ricerca basata su Sub-Template Si fa una prima ricerca con un sub-template e poi si fa la ricerca con l’intero template solo nei punti che presentano un buon match con il sub-template.

SAD-SSD con opzione di Call-out

`

E

possibile interrompere il calcolo della SAD (o della SSD) quando il suo valore

`e

maggiore del minimo corrente.

Uso di bounds calcolabili in modo efficiente Ad esempio per la SAD `e possibile sfruttare la relazione:

SAD ( i, j )

M 1 N 1

=0 I ( i + m, j + n )

m =0 n

M 1 N 1

=0 T (m, n )

m =0 n

Capitolo 12 - Individuazione di Forme

6

Trasformata di Hough: principio base (1)

La trasformata di Hough ( HT ) `e una tecnica che consente di individuare rette, curve, forme predefinite presenti nell’immagine a partire dalla loro proiezione pun- tiforme in uno spazio dei parametri opportunamente definito (“Spazio di Hough”).

La HT trasforma un problema di detection di configurazioni spazialmente estese dell’immagine (“global detection”) in un problema pi`u semplice di detection di features compatte dello spazio dei parametri (“local detection”).

La HT `e una tecnica molto robusta rispetto alla presenza di rumore sui dati di input

e consente di individuare un’istanza della forma di interesse anche quando questa non `e presente in modo completo nell’immagine o risulta parzialmente occlusa.

La HT `e stata introdotta inizialmente per l’individuazione di rette. Facciamo rifer- imento a tale formulazione per descrivere il principio su cui fonda il metodo.

Una generica retta dell’immagine pu`o essere espressa mediante l’equazione

y mx c = 0

dove i parametri m e c sono rispettivamente la pendenza della retta e la sua inter- sezione con l’asse y.

Consideriamo ora lo spazio dell’immagine ( x, y ) e lo spazio dei parametri ( m, c) . Il modo usuale di interpretare l’equazione della retta si basa sul fissare mˆ e cˆ

y mxˆ

cˆ = 0

e conseguentemente vedere l’equazione come il “mapping” ( di tipo 1 → ∞ )

dallo spazio dei parametri allo spazio immagine che fornisce i punti dell’immagine appartenenti alla retta di parametri (m,ˆ cˆ) .

Se per`o si fissano xˆ e yˆ l’equazione

yˆ mxˆ c = 0

rappresenta il mapping ( di tipo 1 → ∞ ) dallo spazio immagine allo spazio dei parametri che fornisce le coppie di parametri ( m, c) che rappresentano rette dello spazio immagine passanti per x, yˆ)

L’equazione precedente, che `e ancora l’equazione di una retta, costituisce quindi

il vincolo cui devono sottostare i parametri affinch`e essi rappresentino una retta passante per un punto dell’immagine prefissato.

Capitolo 12 - Individuazione di Forme

7

Trasformata di Hough: principio base (2)

Se consideriamo due punti

entrambi la trasformazione yˆ mxˆ c = 0 si ha che la retta fra P 1 e P 2 `e individuata

dall’intersezione delle rette trasformate dello spazio dei parametri:

dell’immagine P 1 x 1 , yˆ 1 ), P 2 x 2 , yˆ 2 ) ed applichiamo ad

⎧ ⎧ yˆ 2 − yˆ 1 ⎪ yˆ 1 − mxˆ 1 − c
yˆ 2 − yˆ 1
yˆ 1 − mxˆ 1 − c
= 0
m =
2 − xˆ
1
=⇒
xˆ 2 yˆ 1 − xˆ 1 yˆ 2
yˆ 2 − mxˆ 2 − c =
0
c
=
2 − xˆ 1
yˆ 2 − mxˆ 2 − c = 0 ⎩ c = xˆ 2 − xˆ
yˆ 2 − mxˆ 2 − c = 0 ⎩ c = xˆ 2 − xˆ

Pi`u in generale, dato un insieme di punti dell’immagine e le trasformate ad essi associate, lo spazio dei parametri sar`a caratterizzato da tante intersezioni distinte quante sono le rette che `e possibile tracciare fra tali punti.

sono le rette che ` e possibile tracciare fra tali punti. Elaborazione dell’Immagine L-S, A.A. 2003-2004

Capitolo 12 - Individuazione di Forme

8

Trasformata di Hough: principio base (3)

Se poi consideriamo un insieme di punti collineari dell’immagine, otteniamo che tutte le rette trasformate associate a tali punti si intersecano in un unico punto dello spazio dei parametri:

c

y

8

7

6

5

4

3

2

1

P (5,6.8) P (6,7.25) P (7,7.7) P (8,8.15) 5 6 7 8 P (1,5) P
P
(5,6.8) P (6,7.25) P (7,7.7) P (8,8.15)
5
6
7
8
P
(1,5) P (2,5.45) P (3,5.9) P (4,6.35)
1
2
3
4

x

1 2 3 4 5 678

Immagine

9

8

7

6

5

4

3

2

1

r 1 r 2 r 3 r 4 r 5 r 6 r 7 r
r
1
r
2
r
3
r
4
r
5
r
6
r
7
r
8

m

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Spazio dei parametri

La HT si basa esattamente sul principo evidenziato nella figura precedente. Data una forma da individuare rappresentata mediante un insieme di parametri, ogni punto dell’immagine determina una curva nello spazio dei parametri che rappresenta il sotto-insieme dei valori dei parametri compatibili con quel punto; il fatto che un numero elevato di curve dello spazio dei parametri si incontrino in un punto indica che un numero elevato di punti dell’immagine sono compatibili con una particolare istanza della forma che si cerca di individuare e che quindi, molto probabilmente, quella forma `e presente nell’immagine.

Il procedimento di detection mediante la HT consiste nell’individuazione dei punti dello spazio dei parametri in cui si intersecano numerose curve; ci`o `e pi`u semplice rispetto all’individuazione di una forma estesa spazialmente nell’immagine.

Capitolo 12 - Individuazione di Forme

9

Trasformata di Hough: principio base (4)

Tipicamente la HT viene impiegata a valle di un’operazione di edge-detection. I “punti dell’immagine” devono quindi essere considerati i punti che sono stati mar- cati come edge-points.

Ai fini della implementazione pratica della HT lo spazio dei parametri deve essere adeguatamente quantizzato e rappresentato in un array in memoria che viene detto accumulatore (“accumulator array ”).

Per ogni punto dell’immagine `e necessario poi “tracciare” la curva ad esso corrispon- dente nell’accumulatore. Ci`o viene effettuato valutando l’equazione che definisce il mapping dallo spazio immagine allo spazio dei parametri ed incrementando di 1 tutte le celle dell’accumulatore per le quali tale equazione `e soddisfatta. Questo processo viene detto “voting”: ogni punto vota per tutte le configurazioni dei parametri che corrispondono a forme compatibili con il punto stesso. I voti per una data configurazione provenienti da tutti i punti dell’immagine vengono contati nelle celle dell’accumulatore.

`

E evidente che il valore presente in una cella corrisponde al numero di curve dello spazio dei parametri che attraversano la cella. Quindi le celle dell’accumulatore caratterizzate da valori elevati corrispondono a “punti” dello spazio dei parametri in cui si intersecano numerose curve. Riprendendo l’interpretazione in termini di voti si pu`o dire che quanto maggiore `e il totale dei voti per una data configurazione dei parametri tanto pi`u `e probabile che sia presente nell’immagine l’istanza della forma cercata che corrisponde a quella configurazione dei parametri. Nella HT la

fase di detection viene quindi eseguita individuando i picchi dell’accumulatore.

Capitolo 12 - Individuazione di Forme

10

Trasformata di Hough: principio base (5)

La figura seguente mostra una possibile struttura dell’accumulatore per lo spazio ( m, c) sin qui considerato ed i voti in esso accumulati nel caso dell’insieme di punti collineari mostrato precedentemente.

9

8

7

6

5

4

3

2

1

c

collineari mostrato precedentemente. 9 8 7 6 5 4 3 2 1 c 0.1 0.2 0.3

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Spazio dei parametri

9

8

7

6

5

4

3

2

1

m

c

0.7 0.8 0.9 1.0 Spazio dei parametri 9 8 7 6 5 4 3 2 1

1

3

2

3

4

3

3

4

7

5

1

1

3

888

3

2

1

1

5

6

5

3

2

2

4

4

3

1

3

3

1

2

3 4 3 3 4 7 5 1 1 3 888 3 2 1 1 5

m

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Array accumulatore

La struttura dell’accumulatore evidenzia la presenza di una retta con coefficiente angolare m [0 . 3 , 0 . 6] ed intercetta con l’asse verticale c [4 , 5] . Per individuare con maggior precisione la retta presente nell’immagine `e necessario adottare una quantizzazione pi`u fine dello spazio dei parametri.

Alla luce di quanto osservato `e possibile comprendere perch`e, come gi`a anticipato, la HT `e intrinsecamente robusta sia rispetto al rumore sia rispetto alla presenza di istanze parziali della forma da individuare. Per quanto riguarda il rumore `e estrema- mente improbabile che i punti “casuali” dovuti al rumore si accumulino in modo coerente nell’accumulatore producendo false evidenze della forma da individuare. Inoltre, se la forma da individuare non `e completamente presente nell’immagine si ha senza dubbio una riduzione del numero dei voti associati all’istanza, e quindi della sua “evidenza”, ma adattando opportunamente la strategia di ricerca dei pic- chi dell’accumulatore si pu`o rendere il processo di individuazione “pi`u tollerante” al fine di individuare anche forme “poco evidenti”.

Capitolo 12 - Individuazione di Forme

11

Trasformata di Hough per forme rettilinee (1)

Ritorniamo ora ad esaminare il caso, che `e certamente il pi`u comune, della trasfor- mata per le rette. La rappresentazione della retta mediante l’equazione

y mx c = 0

non `e adeguata ai fini dell’implementazione pratica della HT. Difatti il parametro m pu`o assumere valori molto elevati nel caso di rette circa verticali e quindi bisognerebbe predisporre un accumulatore di dimensioni enormi.

In conseguenza di ci`o si preferisce adottare la cosidetta parametrizzazione normale:

adottare la cosidetta parametrizzazione normale : che consente di esprimere l’equazione della retta come: ρ

che consente di esprimere l’equazione della retta come:

ρ = x cos ϑ + y sin ϑ

dove ρ `e la distanza della retta rispetto all’origine e ϑ l’angolo fra la normale alla retta dall’origine e l’asse x.

Utilizzando questa parametrizzazione i punti dell’immagine x, yˆ) vengono mappati in curve sinusoidali nello spazio dei parametri ( ϑ, ρ) :

ρ = xˆ cos ϑ + yˆ sin ϑ

Capitolo 12 - Individuazione di Forme

12

Trasformata di Hough per forme rettilinee (2)

Utilizzando la parametrizzazione normale l’intervallo di variazione dei parametri `e dato da:

ϑ

[ π 2 , π 2 ] ,

ρ [ ρ max , ρ max ]

ρ max viene assunto pari alla diagonale dell’immagine (ad esempio per un immagine di NxN pixels si ha ρ max = N 2 ).

La figura seguente mostra un’immagine con 5 punti isolati e la sua trasformata basata sulla parametrizzazione normale:

 

2

1

5

0.8

0.6

3

0.4

0.2

1

4

0

 

0

0.2

0.4

0.6

0.8

1

1.5 5 1 2 0.5 4 1 0 3 − 0.5 − 1 − 0.5
1.5
5
1
2
0.5
4
1
0
3
0.5
1
− 0.5
− 0.4
− 0.3
− 0.2
− 0.1
0
0.1
0.2
0.3
0.4
0.5

Capitolo 12 - Individuazione di Forme

13

Trasformata di Hough per forme circolari

La HT pu`o essere utilizzata per individuare altre forme aventi una rappresentazione analitica. Ad esempio, nel caso di forme circolari l’equazione

(x a) 2 + (y b ) 2 = r 2

pu`o essere vista come il mapping fra lo spazio immagine ( x, y ) e lo spazio dei parametri ( a, b, r ) che fornisce le configurazioni dei parametri che rappresentanno circonferenze passanti per un punto dato ( x, yˆ) ):

x a) 2 + (ˆy b ) 2 = r 2

La superficie dello spazio tridimensionale dei parametri associata ad un punto dell’immagine P `e un cono circolare di vertice P ; se si fissa il valore del raggio (r = r), si ottiene invece una circonferenza di centro P e raggio r, che rappresenta il luogo dei centri dei cerchi passanti per il punto dato ed aventi raggio pari al valore fissato:

per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per
per il punto dato ed aventi raggio pari al valore fissato: • Nell’implementazione della HT per

Nell’implementazione della HT per i cerchi lo spazio dei parametri deve essere dis- cretizzato e rappresentato mediante un accumulatore tridimensionale. L’accumulatore pu`o essere visto come una successione di layers, associati ai valori discreti del raggio, aventi le stesse dimensioni dell’immagine.

Nel procedimento di voting viene scandito l’intervallo discreto dei raggi e, per ogni punto, incrementate le celle attraversate dalla circonferenza centrata nel punto ed avente raggio pari al valore corrente del raggio.

Capitolo 12 - Individuazione di Forme

14

Trasformata di Hough ed efficienza computazionale

Il principale svantaggio della HT consiste nei costi sia in termini di occupazione di memoria sia in termini di tempi di calcolo. Difatti, se

f

P, a = 0 ,

P

= x, y

a = a 1 , a 2 ,

a

n (parametri della curva)

`e l’equazione che descrive la curva che si cerca di individuare e ciascuno dei parametri `e discretizzato in M intervalli, l’accumulatore richiede M n celle di memoria mentre il numero di operazioni relative alla fase di voting `e proporzionale a M n 1 . Quindi, sia l’occupazione di memoria sia i tempi di calcolo crescono esponenzialmente con il numero dei parametri necessari alla decrizione della curva. Per questa ragione la HT basata sulla descrizione analitica della curva `e utilizzabile in pratica solo nel caso di curve semplici, rappresentabili con un numero piccolo di parametri (retta,

cerchio, ellisse

Una significativa riduzione dei tempi di calcolo rispetto al metodo base pu`o es- sere ottenuta sfruttando, se disponibile, l’informazione relativa alla direzione del gradiente.

Nel caso delle rette la direzione del gradiente determina univocamente l’angolo θ ( il mapping dallo spazio-immagine allo spazio dei parametri diviene quindi di tipo 1 1 ).

Nel caso dei cerchi la direzione del gradiente coincide con quella su cui deve giacere il centro della circonferenza passante per il punto considerato:

).

della circonferenza pa ssante per il punto considerato: ). Elaborazione dell’Immagine L-S, A.A. 2003-2004 Luigi Di
della circonferenza pa ssante per il punto considerato: ). Elaborazione dell’Immagine L-S, A.A. 2003-2004 Luigi Di
della circonferenza pa ssante per il punto considerato: ). Elaborazione dell’Immagine L-S, A.A. 2003-2004 Luigi Di
della circonferenza pa ssante per il punto considerato: ). Elaborazione dell’Immagine L-S, A.A. 2003-2004 Luigi Di

Capitolo 12 - Individuazione di Forme

15

Trasformata di Hough generalizzata

La trasformata di Hough pu`o essere impiegata anche per individuare forme non de- scrivibili analiticamente. Questa estensione della HT viene detta GHT (Generalized Hough Transform). La GHT prevede due fasi, costruzione del modello della forma da individuare e riconoscimento vero e proprio.

Nella fase di costruzione del modello la forma da individuare viene descritta

del modello la forma da individuare viene descritta scegliendo un punto di riferimento, ( x r

scegliendo un punto di riferimento, ( x ref , y ref ) e valutando per i punti del contorno della figura, (x, y ), la lunghezza (r) e l’orientazione (β) del segmento fra il punto ed il punto di riferimento. Pi`u precisamente, scegliendo un insieme di punti di contorno sufficiente a descrivere la forma da individuare con la precisione desiderata, per ciascuno di essi vengono determinati la direzione della tangente al contorno (ω) ed i valori di r e β. Queste informazioni vengono memorizzate in una tabella, indicizzata tramite ω, detta R-table, che costitusce il “modello” della forma.

La posizione del punto di riferimento `e esprimibile in funzione di quella dei punti del contorno:

x ref = x + r cos β,

y ref = y + r sin β

Nella fase di riconoscimento si alloca un accumulatore avente le stesse dimensioni dell’immagine ed in cui le celle rappresentano le potenziali posizioni del punto di riferimento. Quindi, per ogni punto di edge si accede alla R-table (la riga viene determinata tramite la direzione del gradiente) e, mediante le relazioni precedenti, il punto “vota” per una o pi`u possibili posizioni del punto di riferimento.

Se l’immagine contiene istanze della forma da individuare i voti si accumuleranno nelle posizioni del punto di riferimento che corrispondono a tali istanze. Con- seguentemente, come nella HT, le istanze della forma di interesse vengono individ- uate ricercando i picchi dell’accumulatore.

Il metodo decritto presuppone che le dimensioni e l’orientazione della forma da

individuare siano fisse.

fine di riconoscere una forma anche in presenza di rotazioni e variazioni di scala.

`

E possibile generalizzare ulteriormente il procedimento al