You are on page 1of 15

Capitolo 12 - Individuazione di Forme 1

Template Matching
Molte applicazioni di visione richiedono di localizzare nellimmagine 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 nellambito della visione articiale, viene detta Template
Matching o Pattern Matching.
Unapplicazione tipica nellambito dellautomazione industriale: ricerca dei marker
di allineamento, detti ducials, su una scheda elettronica per la guida della
macchina che eettua il montaggio dei chip.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 2
Misure di similarit`a (1)
Lalgoritmo classico di template matching consiste nel far scorrere il template
sullimmagine da analizzare al ne di stimare in ogni posizione la similarit`a fra
template e sotto-immagine corrente.
0
M-1
0 N-1
j+N-1
T
i+M-1
W-1
H-1
I
i
j
0
0
I
~
Sono possibili diverse scelte per la funzione da utilizzare per la stima della similarit`a.
SSD (Sum of Squared Dierences)
SSD(i, j) =
M1

m=0
N1

n=0
(I (i +m, j +n) T (m, n))
2
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 dierenza dei due
vettori.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 3
Misure di similarit`a (2)
SAD (Sum of Absolute Dierences)
SAD(i, j) =
M1

m=0
N1

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

I(i, j) e T come vettori, SAD rappresenta la norma L
1
della dif-
ferenza dei due vettori.
NCC (Normalised Cross-Correlation)
NCC (i, j) =

M1
m=0

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

M1
m=0

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

_
_

M1
m=0

N1
n=0
T (m, n)
2
_
Interpretando

I(i, j) e T come vettori, NCC rappresenta il coseno dellangolo fra

I(i, j) e T:
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 dellimmagine. Difatti, a dierenza di
SSD e SAD, NCC risulta insensibile a variazioni proporzionali dellintensit`a lumi-
nosa dellimmagine (ad esempio, dovute a variazioni del guadagno sulla catena di
acquisizione del segnale video):

I(i, j) = T
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 4
Misure di similarit`a (3)
ZNCC (Zero-mean Normalised Cross-Correlation)
ZNCC (i, j) =
M1

m=0
N1

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

I
_
] [T (m, n) (T)]

_
M1

m=0
N1

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

I
_
]
2

_
M1

m=0
N1

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

I) e (T) rappresentano rispettivamente il valore medio dellintensit`a della sotto-


immagine

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

I
_
=
M1

m=0
N1

j=0
I (i +m, j +n)
M N
(T) =
M1

m=0
N1

j=0
T (m, n)
M N
Fra quelle qui considerate, ZNCC costituisce la misura di similarit`a pi`u robusta
rispetto a possibili variazioni fotometriche dellimmagine. Difatti, ZNCC risulta
insensibile a variazioni lineari dellintensit`a luminosa dellimmagine (ad esempio,
dovute a variazioni del guadagno e delloset sulla catena di acquisizione del segnale
video):

I(i, j) = T +
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 5
Metodi orientati allincremento dellecienza 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 signicative ( 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 lesecuzione e renderla
compatibile con i vincoli sui tempi di elaborazione imposti dallapplicazione. Fra i
metodi proposti ricordiamo:
Ricerca Multi-resolution
Si cerca prima in una immagine a risoluzione ridotta e poi si rana 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 lintero
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 eciente
Ad esempio per la SAD `e possibile sfruttare la relazione:
SAD(i, j)

M1

m=0
N1

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

m=0
N1

n=0
T (m, n)

Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano


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 predenite presenti nellimmagine a partire dalla loro proiezione pun-
tiforme in uno spazio dei parametri opportunamente denito (Spazio di Hough).
La HT trasforma un problema di detection di congurazioni spazialmente estese
dellimmagine (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 unistanza della forma di interesse anche quando questa
non `e presente in modo completo nellimmagine o risulta parzialmente occlusa.
La HT `e stata introdotta inizialmente per lindividuazione di rette. Facciamo rifer-
imento a tale formulazione per descrivere il principio su cui fonda il metodo.
Una generica retta dellimmagine pu` o essere espressa mediante lequazione
y mx c = 0
dove i parametri m e c sono rispettivamente la pendenza della retta e la sua inter-
sezione con lasse y.
Consideriamo ora lo spazio dellimmagine (x, y) e lo spazio dei parametri (m, c). Il
modo usuale di interpretare lequazione della retta si basa sul ssare m e c
y mx c = 0
e conseguentemente vedere lequazione come il mapping ( di tipo 1 )
dallo spazio dei parametri allo spazio immagine che fornisce i punti dellimmagine
appartenenti alla retta di parametri ( m, c).
Se per`o si ssano x e y lequazione
y m x 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)
Lequazione precedente, che `e ancora lequazione di una retta, costituisce quindi
il vincolo cui devono sottostare i parametri anch`e essi rappresentino una retta
passante per un punto dellimmagine pressato.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 7
Trasformata di Hough: principio base (2)
Se consideriamo due punti dellimmagine P
1
( x
1
, y
1
), P
2
( x
2
, y
2
) ed applichiamo ad
entrambi la trasformazione ym xc = 0 si ha che la retta fra P
1
e P
2
`e individuata
dallintersezione delle rette trasformate dello spazio dei parametri:

y
1
m x
1
c = 0
y
2
m x
2
c = 0
=

m =
y
2
y
1
x
2
x
1
c =
x
2
y
1
x
1
y
2
x
2
x
1
Pi` u in generale, dato un insieme di punti dellimmagine 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.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 8
Trasformata di Hough: principio base (3)
Se poi consideriamo un insieme di punti collineari dellimmagine, otteniamo che
tutte le rette trasformate associate a tali punti si intersecano in un unico punto
dello spazio dei parametri:
x
Immagine
y
m
c
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
9
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Spazio dei parametri
P (1,5)
1
P (2,5.45)
2
P (3,5.9)
3
P (4,6.35)
4
P (5,6.8)
5
P (6,7.25)
6
P (7,7.7)
7
P (8,8.15)
8
r
1
r
2
r
3
r
4
r
5
r
6
r
7
r
8
La HT si basa esattamente sul principo evidenziato nella gura precedente. Data
una forma da individuare rappresentata mediante un insieme di parametri, ogni
punto dellimmagine 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 dellimmagine sono compatibili con una particolare
istanza della forma che si cerca di individuare e che quindi, molto probabilmente,
quella forma `e presente nellimmagine.
Il procedimento di detection mediante la HT consiste nellindividuazione dei punti
dello spazio dei parametri in cui si intersecano numerose curve; ci`o `e pi`u semplice
rispetto allindividuazione di una forma estesa spazialmente nellimmagine.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 9
Trasformata di Hough: principio base (4)
Tipicamente la HT viene impiegata a valle di unoperazione di edge-detection. I
punti dellimmagine devono quindi essere considerati i punti che sono stati mar-
cati come edge-points.
Ai ni 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 dellimmagine `e necessario poi tracciare la curva ad esso corrispon-
dente nellaccumulatore. Ci` o viene eettuato valutando lequazione che denisce
il mapping dallo spazio immagine allo spazio dei parametri ed incrementando di 1
tutte le celle dellaccumulatore per le quali tale equazione `e soddisfatta. Questo
processo viene detto voting: ogni punto vota per tutte le congurazioni dei
parametri che corrispondono a forme compatibili con il punto stesso. I voti per una
data congurazione provenienti da tutti i punti dellimmagine vengono contati nelle
celle dellaccumulatore.

`
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 dellaccumulatore
caratterizzate da valori elevati corrispondono a punti dello spazio dei parametri
in cui si intersecano numerose curve. Riprendendo linterpretazione in termini di
voti si pu`o dire che quanto maggiore `e il totale dei voti per una data congurazione
dei parametri tanto pi` u `e probabile che sia presente nellimmagine listanza della
forma cercata che corrisponde a quella congurazione dei parametri. Nella HT la
fase di detection viene quindi eseguita individuando i picchi dellaccumulatore.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 10
Trasformata di Hough: principio base (5)
La gura seguente mostra una possibile struttura dellaccumulatore per lo spazio
(m, c) sin qui considerato ed i voti in esso accumulati nel caso dellinsieme di punti
collineari mostrato precedentemente.
m
c
1
2
3
4
5
6
7
8
9
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
m
c
1
2
3
4
5
6
7
8
9
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
1
3
3
3
1
2
4
4
1
3
7
3
5
8 8 8
5
3
6
2
5
4
1
1
3
4
3
1
2
3
3
2
2
1
Spazio dei parametri Array accumulatore
La struttura dellaccumulatore evidenzia la presenza di una retta con coeciente
angolare m [0.3, 0.6] ed intercetta con lasse verticale c [4, 5]. Per individuare
con maggior precisione la retta presente nellimmagine `e necessario adottare una
quantizzazione pi`u ne 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 nellaccumulatore producendo false evidenze della forma da individuare.
Inoltre, se la forma da individuare non `e completamente presente nellimmagine si
ha senza dubbio una riduzione del numero dei voti associati allistanza, e quindi
della sua evidenza, ma adattando opportunamente la strategia di ricerca dei pic-
chi dellaccumulatore si pu`o rendere il processo di individuazione pi`u tollerante
al ne di individuare anche forme poco evidenti.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
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 lequazione
y mx c = 0
non `e adeguata ai ni dellimplementazione 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:
che consente di esprimere lequazione della retta come:
= x cos +y sin
dove `e la distanza della retta rispetto allorigine e langolo fra la normale alla
retta dallorigine e lasse x.
Utilizzando questa parametrizzazione i punti dellimmagine ( x, y) vengono mappati
in curve sinusoidali nello spazio dei parametri (, ):
= xcos + y sin
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 12
Trasformata di Hough per forme rettilinee (2)
Utilizzando la parametrizzazione normale lintervallo di variazione dei parametri `e
dato da:
[

2
,

2
], [
max
,
max
]

max
viene assunto pari alla diagonale dellimmagine (ad esempio per un immagine
di NxN pixels si ha
max
= N

2).
La gura seguente mostra unimmagine con 5 punti isolati e la sua trasformata
basata sulla parametrizzazione normale:
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
1
2
3
4
5
0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5
1
0.5
0
0.5
1
1.5
1
2
3
4
5
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
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 lequazione
(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 congurazioni dei parametri che rappresentanno
circonferenze passanti per un punto dato (( x, y)):
( x a)
2
+ ( y b)
2
= r
2
La supercie dello spazio tridimensionale dei parametri associata ad un punto
dellimmagine P `e un cono circolare di vertice P; se si ssa 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
ssato:
Nellimplementazione della HT per i cerchi lo spazio dei parametri deve essere dis-
cretizzato e rappresentato mediante un accumulatore tridimensionale. Laccumulatore
pu`o essere visto come una successione di layers, associati ai valori discreti del raggio,
aventi le stesse dimensioni dellimmagine.
Nel procedimento di voting viene scandito lintervallo 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.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
Capitolo 12 - Individuazione di Forme 14
Trasformata di Hough ed ecienza 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 lequazione che descrive la curva che si cerca di individuare e ciascuno dei parametri
`e discretizzato in M intervalli, laccumulatore richiede M
n
celle di memoria mentre
il numero di operazioni relative alla fase di voting `e proporzionale a M
n1
. Quindi,
sia loccupazione 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 signicativa riduzione dei tempi di calcolo rispetto al metodo base pu`o es-
sere ottenuta sfruttando, se disponibile, linformazione relativa alla direzione del
gradiente.
Nel caso delle rette la direzione del gradiente determina univocamente langolo
( 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:
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano
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
scegliendo un punto di riferimento, (x
ref
, y
ref
) e valutando per i punti del contorno
della gura, (x, y), la lunghezza (r) e lorientazione () del segmento fra il punto ed
il punto di riferimento. Pi` u precisamente, scegliendo un insieme di punti di contorno
suciente 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
dellimmagine 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 limmagine 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 dellaccumulatore.
Il metodo decritto presuppone che le dimensioni e lorientazione della forma da
individuare siano sse.
`
E possibile generalizzare ulteriormente il procedimento al
ne di riconoscere una forma anche in presenza di rotazioni e variazioni di scala.
Elaborazione dellImmagine L-S, A.A. 2003-2004 Luigi Di Stefano

You might also like