Post on 24-Feb-2016
description
transcript
Structure from Motion
Papagna SabinoFlavia Camoes
Ricostruire un oggetto in 3D a partire da immagini dell’oggeto da più viste
Vincoli: Uso di una sola telecamera Calibrazione necessaria
Obiettivo
Macchina fotografica digitale
A Multiple View Geometry in computer vision [Hartley & Zisserman]
Matlab
Strumenti Utilizzati
Calibrazione Telecamera Acquisizione Immagini Estrazione Features Matching Features Calcolo matrice F Ricostruzione Proiettiva Ricostruzione Affine Ricostruzione Metrica
Procedura
Effettuata tramite il Calibration ToolBox Calcolo parametri intrinseci fotocamera
Fase 1: Calibrazione
Fase 2: Acquisizione Immagini
Estrazione Features mediante Harris Corner Detector
In questa fase si è preferito ricavare un gran numero di punti
Fase 3: Estrazione Features
Corners
Matching effettuato mediante correlazione SSD (Sum of Square Difference)
Durante questa fase la soglia è stata alzata in modo da avere un matching più robusto
Fase 4: Matching Features
Definita in modo tale che: x’Fx=0
Si fa uso del metodo RANSAC per la linearizzazione
Si eliminano gli outliers
Fase 5: Calcolo Matrice F
P ha forma canonica P=[ I |0] P’ viene estratta da F Conoscendo P, P’ e le coordinate degli
inliers è possibile triangolare il punto nello spazio X
Fase 6: Ricostruzione Proiettiva (1/2)
Ciò che si osserva non è molto chiaro in quanto il numero degli inliers ottenuti è basso e la matrice F è affetta da errore
Fase 6: Ricostruzione Proiettiva (2/2)
-2000
-1000
0
1000
-200-150-100-50050
-4
-2
0
2
4
6
Ricostruzione proiettiva
Nella ricostruzione affine le linee che nella realtà sono parallele convergono in un punto detto Vanish Point
La ricostruzione affine permette di riavere linee parallele anche nella ricostruzione
Omografia Affine: Ha = [ I |0; ]
Necessario piano all’infinito:
Necessari 3 vanish point (calcolo manuale)
Fase 7: Ricostruzione Affine (1/3)
Calcolo Vanish Points non automatico Vanno trovate le rette parallele Problema: la scena deve avere diverse linee
parallele in direzioni diverse altrimenti si ricade sullo stesso punto
Fase 7: Ricostruzione Affine (2/3)
Il risultato ottenuto è conseguenza del precedente
Fase 7: Ricostruzione Affine (3/3)
00.20.40.60.811.21.4 x 10-4
0
0.5
1
1.5
2
2.5
3
3.5
x 10-5
0
0.5
1
x 10-6 Ricostruzione affine
Necessita dei parametri intrinseci della telecamera:
P = [M | m]=(KK’)-1
A*A’=(M’M)-1
Hm = [A-1 0; 0 1]
Fase 8: Ricostruzione Metrica (1/2)
Anche in questo caso vale la considerazione fatta nella ricostruzione Affine
Fase 8: Ricostruzione Metrica (2/2)
-50
510
1520
x 10-8
0
1
2
3
4
5
x 10-80
0.5
1
x 10-6
Ricostruzione metrica
Morpheus
Morpheus
-250
-200
-150
-100
-50
0
50
100
-400-300-200-1000100200
-1
0
1
Ricostruzione proiettiva
-4
-3
-2
-1
0
1
2
x 10-4
-10-8
-6-4
-20
2
x 10-4
-5
0
5
x 10-6
Ricostruzione affine
-5
-4
-3
-2
-1
0
1
x 10-7
-15
-10
-5
0
5
x 10-7
-4
-2
0
2
x 10-6
Ricostruzione metrica
MorpheusLati positivi: Molte features
Lati Negativi: Matching delle features errato Difficoltà nel trovare linee parallele da
utilizzare per il calcolo dei Vanish Points
Viste MultipleProblema: L’oggetto è visto a 360°, impossibilità di
avere gli stessi punti in tutte le immagini
Soluzione suggerita: Le immagini vengono elaborate a coppie di
2 (img1 con img2, img2 con img3, ecc…)
ConclusioneL’algoritmo realizzato presenta i seguentiPRO Computazionalmente leggero Due viste permettono di avere un risultato
CONTRO: Necessario calcolo manuale vanish points Pochi inliers portano a risultati di difficile
comprensione
Fine