Stereo Vision



 

Einleitung

Gewöhnliche Kameras erzeugen Bilder durch die Projektion einer dreidimensionalen Szene auf eine zweidimensionale Ebene (d.h. die Bildebene). Bei dieser Abbildung wird eine Dimension verloren, diese entspricht der Tiefe des Bildes, d.h. der Abstand zwischen der Kamera und dem abgebildeten Objekt. Die Tiefeninformation kann aus zwei (oder mehr) Bilder, welche aus unterschiedlichen (bekannten) Blickrichtungen aufgenommen wurden, zurückgewonnen werden. Dieser Prozess wird Stereo Vision genannt. Aus der gewonnenen Bildtiefe kann sofort ein dreidimensionales Model (d.h. Rekonstruktion) der Szene erstellt werden und anschließend kann dieses mit den Kamerabildern texturiert werden.

Ein Programm für die automatische Rekonstruktion muss:

  • Korrespondierende Punkte in beiden Bildern finden.
  • Für alle gefundenen Korrespondenzen eine Triangulation unter Berücksichtigung der internen und externen Geometrie der Kameras (Kalibrierung) durchführen, um die dreidimensionalen Punkte zu gewinnen.

Der erste Schritt ist normalerweise die zeitintensive und fehleranfällig Suche nach Korrespondenzen in den Bildern und ein wichtiges Forschungsthema. Letzteres ist eine exakte geometrische Berechnung.

 

Genaues und Effizientes Stereo Matching

Originalbild

Disparität aus einem korrelationsbasierten Verfahren

Disparität unter Verwendung des SGM

Für Anwendungen in der Echtzeit Robotik sind schnelle Stereo Vision Systeme, welche mindestens ein paar Bilder pro Sekunde verarbeiten können, im Idealfall mit der Bildwiederholungsfrequenz, erforderlich. Zusätzlich müssen diese in Echtzeit berechneten Ergebnisse genau sein. Auf den ersten Blick scheint die Prozessierung von großen Luftbildaufnahmen (z.B. 1000MPixel) zur Rekonstruktion eine sehr verschiedene Problemstellung zu sein. Allerdings ist auch hier auf Grund der enormen Bildgrößen eine effiziente Berechnung erforderlich und exakte Resultate sind dabei unverzichtbar. Deshalb erfordern beide Applikationen sehr ähnliche Lösungsansätze, welche bei kurzer Rechenzeit gute Ergebnisse liefern.

Zuerst wurde ein verbessertes korrelationsbasiertes Echtzeit Stereo Verfahren implementiert (Hirschmüller et al., 200, Hirschmüller 2003). Das Hauptaugenmerk dieser Forschung war die Verbesserung der Genauigkeit des Stereoverfahrens, besonders an scharfen Objektgrenzen. Diese stellen ein Problem für korrelationsbasierte Verfahren dar.

Dann wurde eine neue Methode namens SGM entwickelt, welche anstatt Bildausschnitte mittels Korrelation einzelne Pixel zuordnet. Durch die Zuordnung von Pixeln anstelle von Bildregionen konnte die Genauigkeit im Bereich von Objektgrenzen erhöht werden. Die lokale Zuordnung einzelner Pixel wird durch eine globale Energiefunktion gesteuert, welche die Glätte von Oberflächen genauso modelliert, wie scharfe Kanten. Stereoverfahren, die eine globale Energiefunktion benutzten sind in der Literatur gut untersucht. Allerdings sind deren Implementierungen auf Grund des komplexen Minimierungsproblem über der globalen Energiefunktion sehr langsam. SGM kombiniert Techniken von lokalen Verfahren (z.B. Stereo Korrelation) mit jenen von globalen Methoden (z.B. globale Energieminimierung). Das Ergebnis ist eine schnell minimierbare semi-globalen Energiefunktion von Pixelzuordnungen. Die Komplexität des neuen Verfahrens entspricht derer von korrelationsbasierten Stereoverfahren, d.h O(w·h·d). Deshalb wird angenommen, dass rechenzeitoptimierte Implementierungen dieser Methode in Echtzeit Anwendungen eingesetzt werden können.

Rechts werden Ergebnisse gezeigt, das erste Bild ist ein Ausschnitt einer großen Luftbild Aufnahme von einer Zeilenkamera (HRSC). In der Mitte und unten sind Tiefenbilder zu sehen. Umso heller der Grauton ist, umso höher ist der Pixel über dem Boden. Das Bild in der Mitte zeigt die Ergebnisse des früher verwendeten hierarchischen, korrelationsbasierten Stereoalgorithmus. Es ist leicht zu sehen, dass die scharfen Kanten der Häuser verschwommen sind. Das untere Bild zeigt Ergebnisse der neuen Methode (SGM), welche viel schärfere Ergebnisse entlang Objektgrenzen produziert.

 

Semi-Global Matching (SGM)

Kirche Seefeld
3D Rekonstruktion mit SGM

Semi-Global Matching (SGM) ist ein dichtes Stereomatching Verfahren, welches zur genauen 3D Rekonstruktion aus Bildpaaren genutzt werden kann. SGM versucht dabei für jeden Pixel eine Korrespondenz im anderen Bild zu finden. Dies wird durch eine globale Kostenfunktion unterstützt, welche entlang von 8 Pfadrichtungen über das Bild optimiert wird. Die Methode hat eine reguläre algorithmische Struktur und nutzt einfache Operationen. In der Kernschleife sind dies lediglich Additionen und Vergleiche ganzer Zahlen. Dadurch werden parallele Implementierungen auf der Grafikkarte oder einem FPGA möglich, welche sich für Echtzeitanwendungen eignen. Obwohl SGM in internationalen Vergleichen, in denen nur die Qualität bewertet wird, nicht mehr zu den führenden Methoden gehört (siehe Middlebury Benchmark und KITTI), ist die gute Mischung aus Geschwindigkeit, Parallelisierbarkeit, Qualität und Robustheit der Grund für den Erfolg von SGM in der Praxis.

SGM wird unter anderem in der Photogrammetrie eingesetzt. Die Entwicklung vieler kommerzieller photogrammetrische Softwarepakete wurde massiv durch das Erscheinen von SGM beeinflusst. Diese Tatsache wurde durch die Verleihung des Carl Pulfrich Preises 2011 gewürdigt.

SGM wird auch für Fahrerassistenzsysteme genutzt. Das 6D Vision System, welches von Daimler Forschern entwickelt wurde, nutzt eine Echtzeitimplementierung von SGM. Seit Sommer 2013 wird das 6D Vision System als Grundlage diverser kommerziell verfügbarer Fahrerassistenzsysteme in Serienfahrzeugen eingesetzt.

Am RMC wird SGM zur Umgebungsmodellierung aus Satelliten-, Luft- und Multikopterbildern, zur Analyses des Arbeitsbereichs von Robotern wie z.B. ROMO, und zur 3D modellierung eingesetzt. Eine Echtzeitimplementierung auf einem FPGA wird zur autonomen Navigation von fliegenden, laufenden und krabbelnden Robotern, sowie für planetare Rover genutzt. Die Geländerekonstruktion von Luftbilder wird von einer spezialisierten FPGA Implementierung durchgeführt. Aktuell arbeiten wir an einer flexibleren und modernen Implementierung für unsere mobilen Roboter.

 

Ausgewählte Veröffentlichungen

Korbinian Schmid, Teodor Tomic, Felix Ruess, Heiko Hirschmüller und Michael Suppa (2013), Stereo Vision based indoor/outdoor Navigation for Flying Robots, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), November 2013, Tokyo Japan, Robocup Best Paper Award

Annett Stelzer, Heiko Hirschmüller und Martin Görner (2012), Stereo-Vision-Based Navigation of a Six-Legged Walking Robot in Unknown Rough Terrain, in the International Journal of Robotics Research, Special Issue on Robot Vision, Volume 31, Issue 4, pp. 381-402.

Heiko Hirschmüller und Daniel Scharstein (2009), Evaluation of Stereo Matching Costs on Images with Radiometric Differences, in IEEE Transactions on Pattern Analysis and Machine Intelligence, Volume 31(9), September 2009, pp. 1582-1599.

Heiko Hirschmüller (2008), Stereo Processing by Semi-Global Matching and Mutual Information, in IEEE Transactions on Pattern Analysis and Machine Intelligence, Volume 30(2), February 2008, pp. 328-341.

Heiko Hirschmüller (2005), Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information, IEEE CVPR, San Diego, USA, June 2005.

Heiko Hirschmüller (2003), Stereo Vision Based Mapping and Immediate Virtual Walkthroughs, Ph.D. Thesis, De Montfort University, Leicester, UK, June 2003.

Heiko Hirschmüller, Peter R. Innocent and Jon Garibaldi (2002), Real-Time Correlation-Based Stereo Vision with Reduced Border Errors, International Journal of Computer Vision, Volume 47 (1/2/3), April-June 2002, pp. 229-246.

 

Computer Vision Toolkit (cvkit)

Das cvkit Softwarepaket wird angeboten um den Austausch und die Analyse von Computer Vision Daten zu vereinfachen. Hierzu zählen unter anderem Bilder mit Fließkommawerten als Daten, sowie 3D Punktwolken und Oberflächenmodelle. Das Toolkit richtet sich an Forscher, aber auch an interessierte Personen und Gruppen. Es ist auch insbesondere nützlich beim Umgang mit den Stereo und Multi-View Daten des Middlebury College.

sv ist ein einfaches, wissenschaftliches Bildanzeigeprogram, welches Monochrome und Farbbilder mit 8 und 16 Bit Ganzzahlen, sowie 32 Bit Fließkommawerten als Datentypen pro Farbkanal anzeigen kann. Der Funktionsumfang beinhaltet die Anzeige von farbkodierten Monochrombildern, die Definition von radiometrischen Bereichen, Skalieren und automatisches Nachladen von Bildern (letzteres nur unter Linux). Zum Vergleich von Bildern können Einstellungen wie Zoom, radiometrische Bereiche, etc, beim Wechsel zwischen Bildern beibehalten werden. Tiefenbilder (oder Teile davon) mit zusätzlichen Kameraparameterdateien können direkt in 3D dargestellt werden. sv unterstützt das pgm, ppm und pfm Bildformat, sowie tiff mit 8 und 16 Bit Ganzzahlwerten und 32 Bit Fließkommawerten. Tiff, jpg, png, gif und viele andere Rasterdatenformate werden durch optionale Bibliotheken, wie z.B. GDAL unterstützt.

plyv ist ein einfacher aber ziemlich schneller Viewer für farbige Punktwolken und Dreicksnetze die mit punktweisen Farben, schattiert oder mit Texturbildern angezeigt werden können. Es unterstützt auch eine direkte Anzeige von Tiefenbildern mit Kameraparameterdateien. plyv basiert auf OpenGL und kann relativ große Modelle mit vielen Millionen Punkten und Dreiecken anzeigen. Im Wesentlichen wird das ply Format unterstützt, welches von der Universität Stanford als erweiterbares Format zur Speicherung von Punkten und Dreiecken entwickelt wurde. Es ist insbesondere für reale, gescannte Daten nützlich.

HINWEIS: Das Toolkit enthält keinen Code von SGM oder einer anderen Stereomethode. SGM wird weder im Sourcecode noch binär angeboten.

Download cvkit

Aktuelle Versionen sind auf der Middlebury Stereo Vision Page verfügbar.


Kontakt
Thomas Scherübl
Deutsches Zentrum für Luft- und Raumfahrt (DLR)

Institut für Robotik und Mechatronik
, Perzeption und Kognition
Tel: +49 8153 28-1170

Fax: +49 8153 28-1134

E-Mail: Thomas.Scheruebl@dlr.de
URL dieses Artikels
http://www.dlr.de/rmc/rm/desktopdefault.aspx/tabid-9389/16104_read-39811/
Links zu diesem Artikel
desktopdefault.aspx/tabid-3925
desktopdefault.aspx/tabid-4814
Texte zu diesem Artikel
SpaceBot Camp 2015 – Team: RMexplores! (http://www.dlr.de/rmc/rm/desktopdefault.aspx/tabid-10781/18794_read-43643/usetemplate-print/)