Semi-Global Matching



 

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, sowie zur Analyses des Arbeitsbereichs von Robotern wie z.B. ROMO eingesetzt. Eine Echtzeitimplementierung auf einem FPGA wird zur autonomen Navigation von fliegenden, laufenden und krabbelnden Robotern, sowie für planetare Rover genutzt.

Ausgewählte Veröffentlichungen

  • 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 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.
  • 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.
  • 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!

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

Linux / Source: cvkit-1.5.1-src.tgz

Windows: cvkit-1.5.1-win32.zip

 


Kontakt
Dr. Heiko Hirschmüller
Deutsches Zentrum für Luft- und Raumfahrt (DLR)

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

Fax: +49 8153 28-1134

E-Mail: Heiko.Hirschmueller@dlr.de
URL dieses Artikels
http://www.dlr.de/rmc/rm/desktopdefault.aspx/tabid-9389/16104_read-39811/