Università degli studi “La Sapienza” Tesina di Visione e Percezione anno accademico 2005/2006 Nobili Diana Santoro Simona Componenti del sistema • computer • telecamera non calibrata • insieme di immagini di riferimento: • disordinate • acquisite a mano con la telecamera • punti di vista non conosciuti a priori • almeno 2 immagini Cosa fa il sistema Riconoscimento modello Inserimento oggetto virtuale Estrazione features Feature matching Validazione match Natural features Scale Invariant Feature Transform (SIFT) Caratteristiche • Invarianti a cambiamento di scala, rotazione e traslazione. • Parzialmente invarianti a trasformazioni affini, cambiamenti di illuminazione, cambiamenti di punto di vista nella scena, aggiunta di rumore e occlusioni. SIFT: algoritmo di David Lowe L’algoritmo calcola un set di keypoints insieme ai corrispondenti descrittori di features. 1. Costruzione dello spazio scala definito come: dove 2. Differenza di gaussiane e individuazione di massimi e minimi della piramide. 3. Localizzazione dei keypoints individuati. 4. Attribuzione di una direzione a ciascun keypoint. 5. Definizione dei descrittori di keypoints: Feature matching • Miglior match – minima distanza Euclidea tra vettori di descrittori • Matches tra 2 viste calcolate con ricerca Best-Bin-First (BBF) su un albero k-d • Miglioramento matches attraverso RANSAC su coppie di immagini selezionate costruendo uno spanning tree sul set delle immagini: Struttura della scena Struttura 3D euclidea ottenuta da corrispondenze tra diverse viste utilizzando il direct bundle adjustment che minimizza l’errore di riproiezione: Pij= proiezione 2D di un punto 3D dove: X’j= coordinate 3D del punto del mondo Y’j=posizione della camera per l’immagine j Z’’j=parametri di calibrazione Ottimizzazione della formula per riduzione jitter: α2 iterativamente corretto per ogni frame nel modo: 2 W p t pt 1 2N 2 2 2N W pt pt 1 2 dove W è una matrice diagonale 6x6 di pesi sui parametri di posizionamento della telecamera e α è uno scalare che controlla la differenza tra misure correnti e stima desiderata. Costruzione del modello: un esempio Il modello ricostruito cattura correttamente la planarità della superficie del libro e la rotondità della tazza. Inserimento oggetto virtuale Inserimento iniziale in 2D Determinazione della profondità relativa Inserimento dell’oggetto Correzione dimensione e posizionamento Un esempio www.cs.ubc.ca/~skrypnyk/arproject SIFT Tutorial by Thomas El Maraghi Il tutorial fornisce diversi esempi di applicazione dell’algoritmo delle SIFT sviluppato da David G. Lowe ed è basato sugli articoli seguenti: [1] David G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints” [2] David G. Lowe, “Object Recognition from Local Scale-Invariant Features” [3] David G. Lowe, “Local feature view clustering for 3D object recognition” Esempio 1: the Einstein image Vengono calcolati i keypoints per l’immagine di Einstein e per la sua versione ruotata applicando l’algoritmo delle SIFT. 1. Piramidi 2. Localizzazione keypoints. Massimi locali nella piramide laplaciana. 3. Localizzazione keypoints dopo eliminazione punti a basso contrasto. 5a. Keypoints finali con attribuzione direzione. 4. Localizzazione keypoints dopo filtraggio per eliminazione edges. 5b. Keypoints finali per l’immagine ruotata Esempio 2: architectural images Passo1 : SIFT su insieme di immagini I; Passo2 : scelta immagine di riferimento r; per ogni coppia di immagini <r, p> con p in I <> da r : Passo3 : calcolate le corrispondenze con r; Legenda: O inliers O outliers + + features Passo4 : calcolata la matrice affine tra immagine r e originale per ottenere l’immagine allineata; Passo5 : differenza tra r e immagine allineata. Esempio 3: object recognition Sfruttando le stesse tecniche dell’esempio precedente si individua un oggetto in un’ immagine anche se parzialmente nascosto. Conclusioni PRO non necessita di: calibrazione camera, markers, conoscenza della geometria della scena, ecc. tracciamento robusto anche in presenza di occlusioni o cambiamenti di scena. CONTRO non su tutte le immagini(es. basso contrasto) buoni risultati; su Web disponibili alternative alle SIFT come Multi-Scale Oriented Patches che restitituiscono una migliore distribuzione spaziale delle features. Altre applicazioni delle SIFT generazione panorama a partire da un gruppo d’immagini (nell’esempio 57) sony aibo per la localizzazione