Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 42

2.1. SIFT 42 1 m(x, y) = [(L(x + 1, y) ≠ L(x ≠ 1, y))2 + (L(x, y + 1) ≠ L(x, y ≠ 1))2 ] 2 e ◊(x, y) = tan≠1 ((L(x, y + 1) ≠ L(x, y ≠ 1))/(L(x + 1, y) ≠ L(x ≠ 1, y))) 2.1.3 Keypoint descriptor Il passo successivo, consiste nel determinare un descriptor per una regione dell’immagine. Quest’ultima deve essere abbastanza distinguibile e deve rimanere invariante alle variazioni, quali il cambiamento di illuminazione e il punto di vista. Un’approccio canonico consiste nel campionare l’intensità dell’immagine attorno ad un keypoint rispetto ad un’opportuna scala e nel fare matching si adotta una correlazione normalizzata. Per ottenere l’invarianza nella rotazione, le coordinate dei descriptor e le orientazioni dei gradienti sono state ruotate in accordo con l’orientazione del keypoint. I gradienti sono rappresentati con piccole frecce in corrispondenza della locazione di ogni campione. Il motivo per cui viene usata la gaussiana è quello di evitare improvvisi cambiamenti nel descrittore, nel caso ci siano spostamenti anche modesti nella posizione della finestra e di cercare di non considerare i gradienti lontani dal centro del descrittore. Il descrittore è formato da un vettore contenente il valore di tutti gli istogrammi orientati in ingresso. Per ridurre gli e etti che sono provocati dai cambiamenti di illuminazione, si modifica il vettore delle features. Il vettore è stato normalizzato all’unità di lunghezza e tale normalizzazione serve a cancellare un cambiamento nel contrasto dell’immagine, dove i pixel e i gradienti sono moltiplicati per la stessa costante. Invece un cambiamento nella luminosità, dove una costante viene sommata a ciascun pixel dell’immagine, non cambierà i valori dei gradienti. Si può quindi a ermare che il descriptor rimane invariante per piccoli cambiamenti dell’illuminazione.