Mundhenk, Rüdian, Kliemannel, Structure-from-Motion - Hu

Structure-from-Motion
Christina Mundhenk
Leo Sylvio Rüdian
Marcel Kliemannel
Fahrplan
● Structure-from Motion Workflow
○ mit SIFT & Bundle Adjustment
○ mit SURE
● Probleme/ Grenzen
● Technik
● Metrik und Vergleich
● Anwendungsbeispiel
Motivation
● Unterschiedlicher Standpunkt der Kameras
für jedes Foto (Höhe, Rotation, Distanz)
Keypoints
1. Möglichkeit:
Structure-from-Motion Workflow
mit SIFT und Bundle Adjustment
Structure-from-Motion Workflow (SfM)
Fotos
SIFT
Keypoints
(Features)
Bundle Adjustment
und 3D Scence
Reconstruction
Dünne
Punktwolke
CMVS
PMVS2
CMPMVS
Dichte
Punktwolke
Scale Invariant Feature Transform (SIFT)
● Keypoints finden (Ecken, Flecke)
● Für jeden Keypoint wird ein Histogram
der Gradienten erstellen
● Für jede Spitze im Histogram ein Vektor
● Alle Vektoren im Keypoint descriptor
(Features) zusammengefasst
Grafiken-Quelle: http://courses.cs.washington.edu/courses/cse576/06sp/notes/Interest2.pdf
http://littlecheesecake.me/blog/13804625/feature-detectors-and-descriptors
Scale Invariant Feature Transform (SIFT)
Beispiel: Einzelne Features
Scale Invariant Feature Transform (SIFT)
● Features sind unabhängig von Skalierung und
Rotation der Fotos
● Jedes Foto wird mit jedem Foto auf passende
Feature Matches verglichen
● Keypoints hängen von der Textur des Objektes, Pixel
Auflösung (Größe des Bildes) und Spatial Auflösung
(feinste erkennbare Struktur) ab
● Fotos sollten sich möglichst großzügig überlappen
und eine möglichst kleine Verschiebung der Kamera
Scale Invariant Feature Transform (SIFT)
Beispiel: Matching Features
Bundle Adjustment und 3D Scene
Reconstruction
● Aus den extrahierten Features werden die Positionen
der Kameras geschätzt
● Ein “Track” (Contraint für Kamera-Positionen)
zwischen min. 2 Features in der Menge der Bilder
erzeugt
● Rekonstruktion aus der Minimierung des Fehlers
zwischen der gemessenen und geschätzten Position
aller Features
● 3D-Punkte aus Triangulation und die Szenengeometrie
wird zu einem relativen Koordinatensystem fixiert
Bundle Adjustment und 3D Scene
Reconstruction
Beispiel: Dünne Punktwolke
CMVS & PMVS2
● Clustering View for Multi-view Stereo (CMVS)
○ Für jede berechnete Kamera-Position werden die
überlappenden Original Bilder in unabhängige
Cluster zerlegt
● Patch-based Multiview Stereo (PMVS2)
○ Berechnet aus den Clustern die einzelnen 3DPunkte
● Resultat: Dichte Punktwolke
● Alternative CMPMVS
2. Möglichkeit:
Structure-from-Motion Workflow
mit SURE
SURE
Fotos
Rektifizierung
Bundle
Adjustment
Normalbilder
Tiefenkarte
Generiere
Punktwolke
3D-Punktwolke
SURE
SURE Ergebnis
Kamera:
Canon EOS 550D
Probleme & Grenzen
Grenzen
Grenzen
Grenzen
Funktioniert nur wenn Oberflächen sichtbar und zugänglich sind.
Sind Bilder zu dunkel, werden
keine Matches gefunden.
Zu detaillierte Strukturen
führen zu Fehlern.
Overhead
Bilder Canon PowerShot (34):
Projektdateien (CMPMVS):
Projektdaten (SURE):
Model (*ply):
68,8 MB
14,5 GB
1,8 GB
87,5 MB
Technik
Technik
0,3 Megapixel
4 Megapixel
10 Megapixel
18 Megapixel
Sensor (7,6 x 5,7 mm)
Sensor (22,3 x 14,9 mm)
Vergleich der Ergebnisse
Vergleich
Vergleich
Canon EOS 550D
CMPMVS, tageslicht
Canon PowerShot S95
CMPMVS, kunstlicht
Metrik für die Ergebnisse
Metrik Kriterien
●
●
●
●
Anzahl Bilder
Durchschnittliche Größe pro Bild (MB)
Pixel pro Bild
Umgebungslicht
●
●
●
●
Anzahl “cams” (Visual SFM)
Prozentualer Anteil verwendeter Bilder (Visual SFM)
Anzahl “projections” (Visual SFM)
Anzahl “pts” (Visual SFM)
● Vertices
● Faces
● Größe der *.ply (MB)
Metrik
Metrik
Metrik
Metrik
●
●
●
●
Anzahl Bilder
Durchschnittliche Größe pro Bild (MB)
Pixel pro Bild
Umgebungslicht
●
●
●
●
Anzahl “cams” (Visual SFM)
Prozentualer Anteil verwendeter Bilder (Visual SFM)
Anzahl “projections” (Visual SFM)
Anzahl “pts” (Visual SFM)
● Vertices
● Faces
● Größe der *.ply (MB)
Metrik
Anwendungsbeispiel
Wie messen wir den Testy
●
●
●
●
Brett: 9,0 cm
(Zollstock)
Brett: 0,810954 (MeshLab)
Testy:
3,49314
(MeshLab)
Testy:
38,77 cm (berechnet)
Structure-from-Motion
Christina Mundhenk
Leo Sylvio Rüdian
Marcel Kliemannel
Quellen
Quellen
● http://www.ifp.uni-stuttgart.de/publications/2012/Rothermel_etal_lc3d.pdf
● http://www.dgpf.de/neu/Proc2014/proceedings/papers/Beitrag114.pdf
● http://www2.informatik.hu-berlin.
de/cv/vorlesungen/WS1415/material/BundleSeminar14.pdf
● http://www.sciencedirect.com/science/article/pii/S0169555X12004217