Bildbasierte Ortserkennung

Die bildbasierte Ortserkennung hat das Ziel, anhand des visuellen Inhalts eines Eingabebildes („Query“) herauszufinden, an welchem Ort es aufgenommen wurde. Dazu werden lokale Merkmale aus dem Bild extrahiert, welche mit den Merkmalen von Bildern einer bestehenden Datenbank (Bilder verknüpft mit Ortsinformationen) verglichen werden. Anhand dieser Vergleiche wird eine Rangliste der ähnlichsten Datenbankbilder erstellt. Durch eine geometrische Verifikation wird schließlich festgestellt, ob der auf dem Eingabebild sichtbare Ort tatsächlich auf einem der Datenbankbilder gefunden wurde. Da die Datenbankbilder Ortsinformationen enthalten, kann so dem Eingabebild eine Position zugeordnet werden.

Um ein Bild in einer Datenbank zu finden, ist der naheliegendste Ansatz, jedes Datenbankbild einzeln mit dem Eingabebild z.B. durch Matching lokaler Features zu vergleichen. Mit zunehmender Größe der Datenbank wird der Rechenaufwand für dieses Verfahren jedoch schnell zu groß. Um eine effiziente Suche in großen Datenbanken durchzuführen, wurde daher das von Textsuchalgorithmen inspirierte Bag-of-Words-Modell eingeführt. Dieses bestimmt die Ähnlichkeit von zwei Dokumenten anhand der enthaltenen Wörter. Zur Repräsentation von Bildern werden sogenannte visuelle Wörter verwendet, wobei ähnliche Bilder ähnliche Wörter enthalten sollen.

Dazu werden lokale Bildmerkmale (z.B. SIFT,  ORB, ...) aus markanten Regionen aller Trainingsbilder extrahiert. Die berechneten Deskriptoren werden mittels k-means in Cluster eingeteilt, wobei jedes Cluster ein visuelles Wort repräsentiert. Diese Cluster bilden das Vokabular, mit dessen Hilfe neue Merkmalsdeskriptoren visuellen Wörtern zugeordnet werden. Um einen Ähnlichkeitsscore für zwei Bilder zu berechnen, werden die in den Bildern enthaltenen Wörter verglichen.

 

Abb.: Lokalisierungs-Pipeline

Alle Datenbankbilder werden anhand dieser Ähnlichkeit zum Eingabebild in eine Rangliste eingeordnet. Beginnend beim ähnlichsten Bild wird eine geometrische Verifikation durchgeführt, um sicherzustellen, dass auf beiden Bildern der gleiche Ort sichtbar ist. Wenn die Verifikation erfolgreich ist, wird das Datenbankbild als korrekte Übereinstimmung akzeptiert, und dem Eingabebild werden die Positionsinformationen des Datenbankbildes zugewiesen. Wenn die Verifikation fehlschlägt, wird das Bild abgelehnt und das nächste Bild der Rangliste überprüft. Dieser Vorgang wird so lange wiederholt, bis ein Bild akzeptiert wird oder bis eine vorher festgelegte Anzahl an Durchläufen überschritten wird. Wenn kein passendes Bild gefunden wird, wird das Eingabebild als unbekannter Ort betrachtet.

Zur geometrischen Verifikation wird unter Verwendung von RANSAC eine Fundamentalmatrix für Matches (gleiches Wort in beiden Bildern) zwischen Eingabe- und Datenbankbild berechnet. Daraufhin wird anhand der Inlier-/Outlierrate entschieden, ob das Bild akzeptiert wird oder nicht.

Das System kann je nach Anwendungszweck unterschiedliche Features verwenden, wenn z.B. die Geschwindigkeit (ORB) oder die Qualität (SIFT) optimiert werden sollen. Es wurde eine umfangreiche Evaluierung sowohl auf öffentlichen Standarddatensätzen, als auch auf Daten aus internen Messkampagnen durchgeführt.