Robust Single Shot Structured Light
Total Page:16
File Type:pdf, Size:1020Kb
Robust Single-Shot Structured Light 3D Scanning Robuste 3D-Vermessung mit strukturierter Beleuchtung in Einzelbildern Der Technischen Fakultät der Universität Erlangen–Nürnberg zur Erlangung des Grades DOKTOR–INGENIEUR vorgelegt von Christoph Schmalz Erlangen — 2011 Als Dissertation genehmigt von der Technischen Fakultät der Universität Erlangen-Nürnberg Tag der Einreichung: 29.08.2011 Tag der Promotion: 05.03.2012 Dekan: Prof. Dr.-Ing. habil. Marion Merklein Berichterstatter: Prof. Dr.-Ing. Joachim Hornegger Prof. Dr.-Ing. Gerd Häusler Abstract In this thesis a new robust approach for Single-Shot Structured Light 3D scanning is developed. As the name implies, this measurement principle requires only one image of an object, illuminated with a suitable pattern, to reconstruct the shape and distance of the object. This technique has several advantages. It can be used to record 3D video with a moving sensor or of a moving scene. Since the required hardware is very simple, the sensor can also be easily miniaturized. Single-Shot Structured Light, thus, has the potential to be the basis of a versatile and inexpensive 3D scanner. One focus of the work is the robustness of the method. Existing approaches are mostly limited to simple scenes, that is, smooth surfaces with neutral color and no external light. In contrast, the proposed method can work with almost any close-range scene and produces reliable range images even for very low-quality input images. An important consideration in this respect is the design of the illumination pattern. We show how suitable color stripe patterns for different applications can be created. A major part of the robustness is also due to the graph-based decoding algorithm for the pattern images. This has several reasons. Firstly, any color assessments are based on ensembles of pixels instead of single pixels. Secondly, disruptions in the observed pattern can be sidestepped by finding alternative paths in the graph. Thirdly, the graph makes it possible to apply inference techniques to get better approximations of the projected colors from the observed colors. For a typical camera resolution of 780 × 580, the whole decoding and reconstruction algorithm runs at 25Hz on current hardware and generates up to 50000 3D points per frame. The accuracy of the recovered range data is another important aspect. We im- plemented a new calibration method for cameras and projectors, which is based on active targets. The calibration accuracy was evaluated using the reprojection er- ror for single camera calibrations as well as the 3D reconstruction errors for complete scanner calibrations. The accuracy with active targets compares favorably to calibra- tion results with classic targets. In a stereo triangulation test, the root-mean-square error could be reduced to a fifth. The accuracy of the combined Structured Light setup of camera and projector was also tested with simulated and real test scenes. For example, using a barbell-shaped reference object, its known length of 80.0057mm could be determined with a mean absolute error of 42µm and a standard deviation of 74µm. The runtime performance, the robustness and the accuracy of the proposed ap- proach are very competitive in comparison with previously published methods. Fi- nally, endoscopic 3D scanning is a showcase application that is hard to replicate without Single-Shot Structured Light. Building on a miniature sensor head designed by Siemens, we developed calibration algorithms and apply the graph-based pattern decoding to generate high-quality 3D cavity reconstructions. Kurzfassung In dieser Arbeit wird ein neues robustes Verfahren zur 3D-Vermessung durch Strukturierte Beleuchtung in Einzelbildern entwickelt. Dieses Messprinzip benötigt nur ein einzige Aufnahme eines mit einem geeigneten Muster beleuchteten Objekts, um dessen Form und Abstand zu rekonstruieren. Diese Technik hat mehrere Vorteile. Sie kann benutzt werden, um 3D-Videos einer bewegten Szene oder mit einem be- wegten Sensor aufzunehmen. Da sein Aufbau sehr einfach ist, ist der Sensor auch gut zur Miniaturisierung geeignet. Strukturierte Beleuchtung in Einzelbildern hat daher das Potential, als Grundlage für vielseitige und günstige 3D-Abtaster zu dienen. Ein Schwerpunkt der Arbeit ist die Robustheit der Messmethode. Existierende An- sätze sind meistens auf einfache Szenen beschränkt, das bedeutet glatte Oberflächen in neutralen Farben und kein Fremdlicht. Im Gegensatz dazu kann die vorgeschlagene Methode mit fast jeder Szene im Nahbereich umgehen und zuverlässige Tiefenkarten auch aus Eingangsbildern mit sehr niedriger Qualität erzeugen. Eine wichtige Über- legung ist in dieser Hinsicht die Gestaltung des Beleuchtungsmusters. Wir zeigen, wie geeignete Farbstreifenmuster für verschiedene Anwendungen erzeugt werden können. Ein Großteil der Robustheit beruht auch auf dem graphenbasierten Dekodierungsalgo- rithmus für die Aufnahmen des Muster. Das hat mehrere Gründe. Erstens werden alle Farbeinschätzungen anhand von Gruppen von Pixeln anstatt Einzelpixeln vorgenom- men. Zweitens können Störungen im beobachteten Muster umgangen werden, indem alternative Pfade im Graphen gefunden werden. Drittens erlaubt es der Graph, Fol- gerungstechniken anzuwenden, um bessere Näherungen für die projizierten Farben aus den beobachteten Farben zu erhalten. Mit einer üblichen Kameraauflösung von 780 × 580 läuft der gesamte Algorithmus zur Dekodierung und Rekonstruktion mit 25Hz und erzeugt bis zu 50000 3D-Punkte pro Bild. Die Genauigkeit der gewonnenen 3D-Daten ist ein weiterer wichtiger Aspekt. Wir implementierten eine neue Kalibriermethode für Kameras und Projektoren, die auf aktiven Targets basiert. Die Kalibriergenauigkeit wurde sowohl anhand des Rückpro- jektionsfehlers für Einzelkamerakalibrierungen, als auch anhand des 3D-Rekonstruk- tionsfehlers für vollständige Systemkalibrierungen ermittelt. Mit aktiven Targets wird eine höhere Genauigkeit als mit klassischen Targets erreicht. Bei einem Test durch Triangulation mit zwei Kameras konnte der mittlere quadratische Fehler auf ein Fün- ftel reduziert werden. Die Genauigkeit des Aufbaus zur Strukturierten Beleuchtung aus Kamera und Projektor wurde ebenfalls ausgewertet. Die bekannte Länge eines hantelförmigen Referenzobjekts von 80.0057mm konnte mit einem mittleren Fehler von 42µm und einer Standardabweichung von 74µm bestimmt werden. Die Rechenzeit, die Robustheit und die Genauigkeit der vorgeschlagenen Mess- methode sind im Vergleich mit bisherigen Ansätzen sehr konkurrenzfähig. Eine Vorzeigeanwendung ist die endoskopische 3D-Abtastung, die ohne die Technik der Strukturierten Beleuchtung in Einzelbildern schwer umzusetzen ist. Aufbauend auf einem von Siemens entworfenen Miniatur-Sensorkopf entwickelten wir Kalibrierver- fahren und wenden die graphenbasierte Musterdekodierung an, um hochqualitative 3D-Modelle von Hohlräumen zu erzeugen. Acknowledgement The present work is the result of my research at the Chair of Pattern Recognition of the University of Erlangen-Nuremberg and at Siemens CT T HW2 in Munich. I would like to thank Prof. Dr. Joachim Hornegger for giving me the opportunity to become a member of the Pattern Recognition Lab and to work in such an excellent environment. I am very grateful to my advisor Dr. Frank Forster for his support, his guidance and his valuable insights. The same is also true for Dr. Elli Angelopoulou, who accepted me in the Computer Vision group and always had advice for me. Furthermore, I would like to thank my colleagues at the Pattern Recognition Lab and at Siemens for the memorable experiences shared over the past years. Special thanks go to Philip Mewes for his help in acquiring the pig stomach datasets, which was an experience in itself. Christoph Schmalz Contents 1 Introduction 1 1.1 Motivation . 1 1.2 Organization . 2 2 Basics 5 2.1 Image Formation . 5 2.1.1 Sensors . 5 2.1.2 Color . 6 2.1.3 Light sources . 8 2.1.4 Noise . 10 2.2 Calibration . 11 2.2.1 Coordinate systems . 11 2.2.2 The pinhole camera . 12 2.2.3 Image distortion . 13 2.2.4 Calibration algorithms . 14 2.2.5 Catadioptric cameras . 16 2.2.6 Two-View Geometry . 17 2.2.7 3D Reconstruction . 18 2.3 Edge Detection and Localization . 19 2.4 Image Segmentation . 21 2.4.1 Watershed Segmentation . 22 2.5 GPU Programming . 22 3 State of the Art in Optical 3D Shape Acquisition 25 3.1 Runtime Measurement . 27 3.2 Surface Normal Methods . 28 3.3 Other methods . 28 3.4 Triangulation Methods . 29 3.4.1 Stereo and Structure-from-Motion . 29 3.4.2 Structured Light . 31 3.4.3 Error estimation for triangulation-based systems . 42 3.5 Endoscopic 3D scanning . 45 4 Design and Calibration of Single-Shot Structured Light Systems 49 4.1 General Design Goals . 49 4.2 Pattern Design . 51 4.3 System Calibration . 55 i 4.3.1 Camera Calibration with Active Targets . 55 4.3.2 Projector Calibration . 72 4.3.3 Endoscopic Camera Calibration . 73 4.3.4 Endoscopic projector calibration . 78 5 Graph-Based Pattern Decoding 85 5.1 Superpixel Representation . 86 5.1.1 Watershed Segmentation . 88 5.2 Region Adjacency Graph Setup . 91 5.2.1 Vertices . 91 5.2.2 Edges . 92 5.3 Graph Traversal . 96 5.4 Color Enhancement with Belief Propagation . 100 5.5 Edge Localization and Tracing . 107 5.6 Depth Computation . 110 6 Evaluation 113 6.1 Accuracy . 113 6.1.1 Simulated images . 113 6.1.2 Desktop reference object . 114 6.1.3 Endoscopic reference object . 118 6.1.4 Comparison with the Kinect scanner . 122 6.2 Decoding performance . 125 6.2.1 Comparison with Dynamic Programming . 125 6.3 Endoscopic measurements . 133 6.3.1 Colon Phantom . 133 6.3.2 Windpipe . 134 6.4 Runtime . 135 7 Conclusion 139 A Appendix 141 A.1 List of Publications . 141 A.2 Example Patterns . 142 A.3 Endoscopic Calibration . 144 A.4 Algorithm Parameters . 147 Bibliography 151 ii Chapter 1 Introduction 1.1 Motivation The space around us is three-dimensional. Yet, the most common representations of the world have long been only two-dimensional. There is a long tradition of paintings, and later photographs and movies. We are very good at interpreting such two- dimensional views. After all, on the retina all our visual impressions turn into a 2D pattern.