Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 40
2.1. SIFT
40
L’o set finale x viene aggiunto alla locazione del suo punto campione e si ha la
ˆ
stima interpolata per la locazione dell’estremo. La funzione calcolata nel punto
massimo, D(ˆ) viene usata per scartare gli estremi instabili con un contrasto
x
basso. Questo si può ottenere sostituendo la seconda equazione nella prima ed
abbiamo:
D(ˆ) = D +
x
2.1.1.1
1 ˆDT
x
ˆ
2 ˆx
Eliminating edge response
Per avere stabilità non è su ciente eliminare i keypoints con un basso contrasto.
La funzione DoG darà una risposta robusta lungo gli edges, anche se la locazione
non è comunque ben determinata lungo gli stessi e perciò ci sarà la presenza di
quantità, seppur minima, di rumore. Per quanto riguarda invece le principali
curvature, si ottengono dalla matrice Hessiana1 2 ◊ 2, che chiameremo H per
comodità, calcolate nella locazione dei keypoints e nella rispettiva scala:
H=
5
Dxx
Dyx
Dxy
Dyy
6
Le derivate sono stimate considerando le di erenze tra i punti campione vicini.
Gli autovalori di H sono proporzionali alle principali curvature di D, si prende
l’autovalore con la maggiore ampiezza e il più piccolo. La somma di tali autovalori si ricava dalla traccia di H e il loro prodotto dal determinante della stessa,
pertanto:
T r(H) = Dxx + Dyy = – + —
e
Det(H) = Dxx Dyy ≠ (Dxy )2 = – · —
Nell’improbabile caso che il determinante sia negativo, le curvature hanno segno
di erente, pertanto i punti vengono scartati. Sia ora r il rapporto tra – e—, così
da avere: – = r · —. Allora abbiamo che:
1 Ricordiamo che l’hessiano di una funzione è una matrice quadrata contenente tutte le
derivate seconde parziali di tale funzione