Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Optimierung von Merkmalen für die
Bildsuche
2
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
I. Einführung in SIFT Features von Lowe1) Eigenschaften
2) Aufbau
II. Optimierung von SIFT Featurevektoren1) Wiederholte Muster
2) Ähnliche Featuredeskriptoren
3) Entfernen ähnlicher Features
III. Analyse-Tool1) Fundamental Matrix
2) Korrelationsverfahren
3) Anwendung
4) Erweiterung
IV. Weitere Optimierungsmöglichkeiten
V. Quellen
VI. Softwaredemonstration
Übersicht
3
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Invariant gegen
• Skalierung
• Rotation
Robust gegenüber
• Affine Verzerrung
• Änderung des Blickpunkts
• Verrauschen
• Änderung der Beleuchtung
• Verdeckung (bei Objekterkennung)
Trotzdem unterscheidbar
Hohe Wahrscheinlichkeit für korrektes Matching
Eigenschaften der SIFT Features
4
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Aufbau eines Features Koordinaten im Bild (x,y)
(im folgenden als Keypoint bezeichnet)
Maßstab (Extremum im Skalenraum)
Orientierung
128 dimensionaler geordneter
Deskriptionsvektor
(im folgenden als Keypointvektor
bezeichnet)
Für genauere Information
siehe (3)
Gradientenstärke und -orientierung berechnen
Gewichtung mit kreisförmigen Gaußkern
Auswahl von Keypoints:
Finde Extrema im Skalenraum durch
Aufbau einer “Difference of Gaussian“- Bildpyramide
Approximation der maßstabsinvarianten “Laplace of Gaussian“-Funktion
5
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
II. Optimierung von SIFT Features
Motivation:
1. Optimierung (Reduktion) der Datenbankgröße
2. Verbesserung der Matching-Eigenschaften der Keypointvektoren(unter “Weitere Optimierungsmöglichkeiten“)
Methode:
Entfernen von Features mit folgenden Eigenschaften
• Schlecht geeignet zum Matchen innerhalb eines Bildes
• Schlecht geeignet zur Zuordnung (Wiederfinden) von Bildern in der Datenbank
6
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Wiederholte Muster
Idee:Ersetzung von Keypointvektoren, die wiederholte Muster beschreiben, durch
einen Repräsentanten (Mittelung).
Problem:
• Aufgrund der Individualität der Keypointvektorenexistieren solch “Wiederholte Muster“-Features nicht, bzw. sind schwer als solche zu identifizieren.
• Mittelung zur späteren Zuordnung von Featuresin der Datenbank nicht sinnvoll, da ausschließlich die Features in der Datenbank gespeichert werden.
7
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Ähnliche KeypointvektorenIdee:
Ähnliche Keypointvektoren sicherlich schlecht zum Matching geeignet
(liefern oft falsche oder mehrdeutige Zuordnung)
Entfernen von Keypointvektoren, die:
• Zu geringen Abstand haben (Schwellwert ?)
• Clustering Verfahren, z.B. K-Means (Problem: Anzahl der Cluster im vornherein nicht bekannt)
• Hier: Euklidische Distanz als Abstandsmaß (Brute Force)
• Andere Abstandsmaße ebenfalls möglich (z.B. Mahalanobis Distanz), jedoch nicht erfolgsversprechend [siehe (3)]
8
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Entfernen ähnlicher FeaturesUntersuchung zur Legitimation:
• Euklidische Distanz zwischen gematchten Keypointvektoren
• Verhältnis des Besten zu zweitbestem Match(Nächstes zu zweitnächstem Match)
• Mit steigendem Verhältnis
• Zahl der falschen Matches steigt
• Anzahl der Matches nimmt ab einem Verhältnis von 0.7 ab
9
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
III. Analyse Tool
Motivation:Es wird ein Bewertungmaß für die Optimierung benötigt.
Optimierung soll richtige Matches erhalten und falsche Matches entfernen.
Anwendung des Tools:
Qualität des Matchings
• Anteil der richtigen Matches
• Anzahl der richtigen Matches (absoluter Wert)
Schwellwert für Parameter
• z.B. Wert für Maximalabstand zum Entfernen von Matchings
10
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Fundamental Matrix Robustes Verfahren benötigt, da hohe Anzahl falsche Matches möglich
RANSAC Verfahren “Um nicht das Rad neu zu erfinden“
Benutzung der “Open Computer Vision“ (OpenCV) Library von Intel• Verfahren bereits implementiert und optimiert• Interface für diverse Bilddateitypen implementiert• (Beschränktes) GUI nutzbar• Auch andere Verfahren zum Bestimmen der Fundamental Matrix nutzbar
- 7 Punkte Verfahren- 8 Punkte Verfahren- Least Squares Verfahren
- Probleme:- schlechte Dokumentation (insbes. der relativ neuen Funktionen)- Merkwürdige dynamische Speicherverwaltung
Viel Trial and Error Hoher Zeitaufwand
11
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Fundamental Matrix
“Fundamental Matrix“-Bedingung erfüllende Matches als richtig kennzeichnen Rest der Matches als falsch kennzeichnen Problem:
• Zu einem Keypoint in Bild A erfüllen alle Punkte auf Epipolarlinie in Bild B
die “F. Matrix“-Bedingung• Aufgrund der Geometrie von Hausfassadenaufnahmen
- wenig Rotation- Translation nur in X, Z-Richtung
Epipolarlinien verlaufen parallel zu Strukturen (Fenster, Türen,
Außenverkleidung, …) der Hausfassade
12
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Beispiel
Match erfüllt “F. Matrix“-Bedingung
13
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Korrelationsverfahren
Vergleich der 2 Profillinien zwischen 2 “richtigen“ Matches in beiden Bildern Funktioniert nur
• Bei Punkten auf Ebene = Hausfassade (Vorteil: Vordergrund wird gefiltert)• wenn Verdeckung durch Vordergrund nicht zu groß ist• wenn perspektivische Änderung nicht zu große Abschattung hervorruft• Mittelung über mehrere Profillinien (da auch Punkte im Vordergrund als
Kandidaten ausgewählt werden)• Probleme:
- Profillinie muss diskret “gesamplet“ werden- Äquidistantes “Sampling“ in Bild A ist in Bild B nicht direkt
rekonstruierbar- Samplingpunkte genähert berechenbar durch Epipolargeometrie- Falsche Punkte (im Vordergrund) liefern schlechte Profillinien
Mittelung über mehrere Random Keypoints
14
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Problem: Samplingpunkte1) Suche zu jedem Match ein anderes “richtiges“ Match
2) Werte Profillinie in Bild A an Samplingpunkten aus
3) Werte Profillinie in Bild B an “zugehörigen“ Samplingpunkten aus?
4) Berechne Korrelation beider Grauwert-“Funktionen“
Problem:
• Bestimmung der “zugehörigen“ Samplingpunkte
• Äquidistantes Sampling in Bild B würde falsche Samplingpunkte liefern
Lösung:
• Fundamental Matrix und damit Abbildung zwischen Bildern bekannt
• Berechne damit 1-D projektive Abbildung zwischen den Profillinien
• Zu jedem Samplingpunkt in Bild A ist Epipolarlinie in Bild B bekannt
• Schnitt von Epipolarlinie und Profillinie liefert korrekten “zugehörigen“ Samplingpunkt
Problem: Epipolarlinie und Profillinie parallel ? (siehe Falsche Matches)
15
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Problem: Samplingpunkte
16
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Beispiel: Samplingpunkte
17
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Vorteile und Probleme
Vordergrundfilterung Fehlerbehaftetes Verfahren
18
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Problem: Falsche Matches
19
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Problem: Falsche Matches1) Suche zu jedem Match ein anderes “richtiges“ Match
2) Werte Profillinie in Bild A äquidistant aus
3) Werte Profillinie in Bild B an Schnittpunkten aus
4) Berechne Korrelation beider Grauwert-“Funktionen“Liegt Korrelationswert unter Schwellwert Kennzeichne Match als falsch
Problem:
• (anderes) “richtiges“ Match erfüllt nur “F. Matrix“-Bedingung
• Kann auch falsches Match sein(Fall tritt hier sehr häufig auf: siehe Aufnahmegeometrie)
• Profillinienkorrelation liefert (wahrscheinlich) unkorreliert
Lösung:
• Wiederhole Vorgang mit mehreren zufällig ausgewählten Matches• Mittelung über Korrelationen liefert robustes Ergebnis• Liefert für falsche Matches auch bei richtigem Match als Partner
(wahrscheinlich): unkorreliert• Falls Epipolarlinie und Profillinie parallel wähle anderes Match
20
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Beispiel:Random Points
21
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Anwendung
Anwendung 1. Verfahren: Bestimmen der Fundamental Matrix
Parameter (OpenCV):
• Erlaubte Pixelabweichung von Epipolarlinie(empirisch: 5 Pixel = 0.5% der Bildbreite)
• Zuverlässigkeit RANSAC (99%)
Iteratives Anwenden von 2. Verfahren: Korrelationsverfahren
Parameter:
• Anzahl der zufälligen Matches (Anzahl Profillinien) “Random Points“(empirisch: 10 bis 20)
• Anzahl der Samplingpunkte (Stützstellen auf Profillinie)(empirisch: 30 bis 40)
• Schwellwert für Korrelationswert in jeder Iteration erhöhenNach jeder Iteration fließen nur verbleibende “richtige“ Matches ein(empirisch: Startwert: 0.2 in 0.1-Schritten mit 3 bis 5 Iterationen)
22
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Anwendung in der Projektpipeline Filter für Matchingverfahren
Um Relative Orientierung zu berechnen reicht ein kleiner Teil der, aus der KD-Tree Suche, gelieferten Matches
Parameter können entsprechend scharf gewählt werden
Hohe Wahrscheinlichkeit für Korrektheit der gefilterten Matches
23
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
Erweiterung “Fundamental Matrix“-Verfahren
• Filterung des Vordergrunds
Korrelationsverfahren
• Farbbilder (separate Korrelation auf Farbkanälen bei RGB)
• HSV-Farbmodell Farbkanal ist unkorreliert gegen Helligkeitsänderung
• Statt Vergleich “Grauwert“-Funktionen über Korrelation
- Berechnung der 2D projektiven Abbildung (zwischen Hausfassaden)- Histogrammvergleich
• Gewichtung der Profillinien über Differenz der Grauwerte, dahomogene Regionen immer hohe Korrelation liefern
• Problem: Mehrere Hausfassaden in einem Bild Graphen
- Knoten = Matches- Kanten = Profillinien zwischen Matches mit hoher Korrelation
- Untersuchung auf Cliquen oder Zusammenhangskomponenten liefert dann Punktwolken, die auf Fassaden verteilt sind
24
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
IV. Weitere Optimierungsmöglichkeiten Nutzung anderer Features [siehe (5)]
Einbindung Kantendetektoren und Segmentierung
Erweiterung der SIFT Featurevektoren
• Farbinformation
• Elliptisches Gradientenfenster
25
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
(1) ‘Ausarbeitung Praktikum SS 2004 ‘Optimierung von SIFT Features zum Wiederfinden von
Hausfassaden‘, Andreas Wedel, 18. Juli 2004
(2) ‘Object recognition from local scale-invariant features‘, D. G. Lowe
http://www.cs.ubc.ca/spider/lowe/papers/iccv99.pdf
(3) ‘Distinctive Image Feature from Scale-Invariant Keypoints‘, David G. Lowe, 2004
http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf
(4) ‘Improving SIFT Features / Finding Planes in Hallways‘, C. Gustavsson, A. Hui and M. Turitzin
(5) ‘A performance evaluation of local descriptors‘, K. Mikolajczek, C. Schmid, 2003
http://www.inrialpes.fr/movi/people/ Schmid/publi/mikolajczyk_cvpr2003.pdf
(6) ‘An affine invariant interest point detector‘, K. Mikolajczek, C. Schmid
http://www.inrialpes.fr/movi/publi/Publications/2002/MS02/mikolajc_ECCV2002.ps.gz
(7) ‘Invariant Feature from Interest Point Groups‘, Matthew Brown and David Lowe
http://www.bmva.ac.uk/bmvc/2002/papers/92/full_92.pdf
V. Quellen
26
Optimierung von Merkmalsvektoren Frank Klughardt
Vertieferpraktikum Photogrammetrie SS 2004
VI. Softwaredemonstration
NOCH FRAGEN ???