Hinterhofer, T. (2010). A trinocular census-based stereo vision system for real-time applications [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/160869
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2010
-
Number of Pages:
81
-
Keywords:
Trinokular Stereo Vision; Echtzeit; Kamera Kalibrierung und Rektifizierung
de
Trinocular Stereo Vision; Real-Time; Camera Calibration and Rectification
en
Abstract:
In dieser Diplomarbeit wird die Entwicklung eines echtzeitfähigen, trinokularen Stereo Vision Systems beschrieben. Die Erweiterung eines herkömmlichen Systems um eine dritte Kamera wirkt dabei einigen bei binokularen Systemen inherent auftretenden Problemen entgegen. Als erster Schritt wurde ein Kalibrierungs-Tool entwickelt, um die Kamerabilder zu entzerren und zu rektifizieren. Das Tool basiert auf einer Modifikation der frei verfügbaren Open Computer Vision (OpenCV) 2.1 Bibliothek. Sind die Kameras in einer Linie angeordnet (Inline Konfiguration), kann die Rektifizierung für eine beliebige Anzahl von Kameras durchgeführt werden. Zusätzlich ist eine Rektifizierung von so genannten L-shaped Konfigurationen möglich, falls die Projektionszentren der drei Kameras näherungsweise einen rechten Winkel aufspannen. Nach der Rektifizierung liegen korrespondierende Punkte in der selben Zeile bzw. in der selben Spalte. Diese Eigenschaft ermöglicht den Einsatz von effizienten Stereo Matching Algorithmen.<br />Um die zu den vorhandenen Eingangsbildern gehörenden Tiefenbilder zu berechnen, wird die bestehende, von dem Austrian Institute of Technology GmbH (AIT) entwickelte, binokulare High Speed Software Stereo Engine (S3E) modifiziert und erweitert, um die neuen trinokularen Kamera-Konfigurationen zu unterstützen. Die Implementierung basiert auf einer Census- Transformation, wobei die Qualität des Ergebnisses durch einen Consistency Check und Subpixel Refinement erhöht wird. Aufgrund des hohen Optimierungsgrades mit Hilfe von Single Instruction, Multiple Data (SIMD) Befehlssätzen und der Unterstützung aktueller Multi-Core CPUs werden dichte Tiefenbilder mit hohen Bildraten erzeugt. Zusätzlich wird eine Fusionsmethode entwickelt, um die Ergebnisse zweier seperat berechneter Stereo Matching Prozesse zu einem globalen Ergebnis umzuwandeln. Dieses ist dichter und beinhaltet weniger falsche Tiefenwerte. Neben einer Vielzahl anderer Anwendungen können die Ergebnisse verwendet werden, um Live-Szenen auf einem autostereoskopischen Multi-User Display darzustellen.<br />Abschließend werden die verschiedenen Kamera-Anordnungen getestet und verifiziert, um die spezifischen Vor- und Nachteile aufzuzeigen. Dafür werden bekannte Datensätze mit verfügbarer Referenz-Tiefeninformation, sowie mit Hilfe unseres trinokularen Kamerakopfes aufgenommene Szenen verwendet. Die durch den Einsatz einer dritten Kamera erreichten Qualitätssteigerungen, werden mit dem Stereo Vision Evaluierungs-System des Middlebury College quantitativ erfasst. Demzufolge wird die Anzahl falscher Korrespondenzen um bis zu 40% reduziert. Innerhalb der Klasse der lokal optimierenden, echtzeitfähigen Algorithmen erreicht der Ansatz einen Spitzenplatz im Middlebury Vergleich. Es werden Bildraten von über 10 Bilder/s bei 640x480 mit 80 Disparitäten auf jedem Kamerapaar bzw.<br />über 70 Bilder/s bei 320x240 mit 40 Disparitäten auf herkömmlichen Multi-Core Plattformen erreicht.<br />
de
This thesis is about the design and implementation of a trinocular stereo vision system for realtime applications. The extension of an existing, census transform-based, binocular stereo matching engine by one additional camera addresses some inherently occurring problems of such systems. At first, a calibration tool based on a modification of the Open Computer Vision (OpenCV) 2.1 library was developed to undistort and rectify three or more input images. If the cameras are located in a row (inline configuration), the epipolar constraint can be fulfilled for any number of cameras. Additionally, L-shaped configurations with three cameras are supported, when the three centres of projection approximately enclose a right angle. After rectification, corresponding object points are located in the same row or column, respectively, which enables using efficient matching algorithms.<br />For calculating the desired depth images, the existing High Speed Software Stereo Engine (S3E) for binocular stereo vision, developed by the Austrian Institute of Technology GmbH (AIT), is modified and extended to support the new trinocular camera configurations. The algorithm is based on a census transform and it performs a consistency check and subpixel refinement. Because of the extensive usage of Single Instruction, Multiple Data (SIMD) instruction sets and the support of state-of-the-art multi-core CPUs, dense depth maps are produced with high frame rates. A method of fusing the results of two stereo matching processes is developed in order to obtain disparity maps, which are more dense and which contain less false positive matches. Beside of various other possible applications, the output of the system can be used to display live scenes on an autostereoscopic multi-user display.<br />Finally, the inline and L-shaped camera configurations are tested and verified to analyse the benefits and drawbacks of the specific alignments. For that purpose, known image data sets providing ground truths are used as well as real-world scenes captured by our trinocular camera head. The quality enhancements of adding a third camera are verified by the stereo vision evaluation system of the Middlebury college. The number of false matches can be reduced by up to 40% compared to the binocular results. In the field of local-optimizing, real-time capable algorithms, our approach achieves a top result in the Middlebury ranking. Frame rates of more than 10fps at 640x480 with 80 disparities each camera pair or over 70fps at 320x240 with 40 disparities are achieved on standard multi-core CPUs.<br />