*UDGLHQWHQEDVLHUWH5HNRQVWUXNWLRQ YRQG2EHUIOlFKHQ Simon Winkelbach Institut für Robotik und Prozeßinformatik Technische Universität Braunschweig Hamburger Str. 267 D-38114 Braunschweig Technischer Bericht
Zusammenfassung. In dieser Arbeit wird ein neues effizientes Verfahren zur Rekonstruktion von 3d-Oberflächen aus 2d-Gradientenrichtungen vorgestellt und experimentell evaluiert. Das Verfahren beruht nicht auf Tiefendatengewinnung durch Triangulation, sondern liefert zunächst die Normalen der Objektoberfläche. Aus den Oberflächennormalen kann zum einen die Oberfläche selbst rekonstruiert werden; und zum anderen können sie zur Gewinnung von robusten 3d-Merkmalen von Freiformflächen herangezogen werden. Die Rekonstruktion kann mit Hilfe einfacher Table-Lookup-Operationen sehr schnell mit moderater Genauigkeit mit einem unkalibrierten System erfolgen, oder mit erhöhter Genauigkeit mit einem kalibrierten System.
1. Einführung Fig. 1. Versuchsanordnung mit Streifenlichtprojektor und Graubildkamera In der Literatur wurden eine Vielzahl von Verfahren zur Gewinnung von Objektoberflächen publiziert. Prominente Verfahren sind unter anderem Strukturierte-Licht- Verfahren [1]-[4], das Codierte-Licht-Verfahren [5], Shape from Shading [6] und Stereo-Verfahren [7]. Das von uns hier Vorgeschlagene neue Verfahren zur 3d- Oberflächenrekonstruktion verwendet eine Graubildkamera und ein oder mehrere Lichtprojektoren, welche Streifenmuster auf das zu rekonstruierende Objekt projizieren. Die Rekonstruktion beruht darauf, dass je nach Orientierung der Oberfläche des Objektes ein anderer Winkel des projizierten Streifens im Graubild entsteht. Die Oberflächennormalen- und Tiefendatengewinnung erfolgt also nicht über Triangulation, wie beispielsweise beim Strukturierten- oder Codierten-Licht-Verfahren, sondern über Auswertung der Streifenwinkel des 2d-Streifenbildes. Jeder Streifenwinkel schränkt einen Freiheitsgrad der zugehörigen Oberflächennormale ein. Um die Oberflächennormalen vollständig zu rekonstruieren bedarf es also mindestens zweier Aufnahmen mit gedrehten Streifenmuster.
) ) & 2. Das Messprinzip prepro - cessing gradient operation '( "! # "! # $% & interpolation analysis prepro - cessing gradient operation '( *! Fig. 2. Verarbeitungsschritte des neuen Rekonstruktionsprinzips Die Oberflächenrekonstruktion lässt sich in mehrere Arbeitsschritte (siehe Fig.2) unterteilen. Im ersten Schritt werden Graubilder mit zwei unterschiedlich rotiertem Streifenmuster von der Szene aufgenommen. Unerwünschte Informationen wie inhomogene Objektschattierungen und Texturen werden durch eine geeignete Vorverarbeitung eliminiert. In den Streifenbildern können per Gradientenoperator die lokalen Winkel der Streifenkanten ermittelt werden. Nach der Streifenwinkelmessung erhält man zwei Winkelbilder bei denen noch schlechte Messergebnisse extrahiert und fehlende Punkte interpoliert werden müssen. Mit Hilfe jeweils zweier Streifenwinkel in einem Bildpunkt kann nun im nachfolgenden Schritt die 3d-Oberflächenorientierung bzw. Oberflächennormale an diesem Punkt bestimmt werden. Die Oberflächennormalen können im letzten Schritt zur Rekonstruktion der Oberfläche benutzt werden, oder aber als Grundlage zur Gewinnung von robusten 3d-Merkmalen von Freiformflächen dienen. 3. Vorverarbeitung Um die Streifenmuster im Graubild erkennen und auswerten zu können, erfolgt im ersten Schritt eine an das Problem angepasste Bildvorverarbeitung, die das Streifenmuster von den Oberflächenreflexionseigenschaften des Objektes, wie Farbe, etc. trennt. Fig. 3 zeigt die Vorgehensweise: Zusätzlich zu der Aufnahme mit Streifenmuster (a) wird eine Aufnahme mit ausgeschaltetem Projektor (b) und eine weitere mit eingeschaltetem Projektor ohne Streifenmaske (c) akquiriert. Durch die absolute Differenz (d = a-b ) werden die dunklen Streifen auf den Grauwert Null skaliert und so von Objektfarbe bzw. Textur getrennt. In diesem Differenzbild (d) bleiben allerdings die durch das Projektorlicht verursachten Schattierungen und variierende Reflexionsstärken bei den hellen Streifen. Aus diesem Grund wird das Streifensignal (d) auf eine konstante Höhe normiert, indem durch die absolute Differenz (e) zwischen beleuchtetem und unbeleuchtetem Bild geteilt wird (f = d / e). Durch die Normierung wird natürlich auch das Bildrauschen auf den gleichen Kontrast wie das Streifenmuster verstärkt. Verrauschte Werte ergeben sich an denjenigen Stellen, an denen das Objekt
nur schwach vom Projektor beleuchtet wurde und können deshalb mit der Maske ( f = e > Schwelle ) ausmaskiert werden. a d / f b e > g c Fig. 3. Zur Vorverarbeitung: (a) Messobjekt mit Streifenmuster; (b) Messobjekt bei ausgeschaltetem Projektor; (c) Messobjekt bei eingeschalteten Projektor ohne Streifen; (d) absolute Differenz von a und b; (e) absolute Differenz von b und c; (f) Normalisiertes Streifenbild; (g) Maske 5. Streifenwinkelbestimmung Nachdem das Streifenbild aufbereitet wurde, kann die Messung der Streifenwinkel mittels bekannter Gradientenoperatoren erfolgen. Hierbei wurden von uns verschieden Operatoren wie beispielsweise Sobel, Canny, etc. auf die Tauglichkeit für unser Verfahren untersucht. Fig. 4 zeigt die Anwendung des Sobel-Operators auf das vorverarbeitete Streifenbild (a) einer Kugeloberfläche. Im Winkelbild (b) (Winkel wurden hier als unterschiedliche Grauwerte dargestellt) entstehen zwischen den Streifenkanten verrauschte Bereiche, die darauf zurückzuführen sind, dass an diesen Stellen das Fenster des Sobel-Operators homogene Bereiche überdeckt. Diese verrauschten Gradientenwinkel weisen allerdings eine geringe Gradientenlänge auf und können deshalb ausmaskiert (c) und dann über die gültigen Winkel in der Nachbarschaft weitgehend interpoliert werden (d). Für die Interpolation wurde von uns eine effiziente Mittelwertinterpolation entwickelt: Auf das maskierte Graubild wird ein Average-Filter angewandt und das Ergebnis durch die ebenso Average-gefilterte binäre Maske (0 für ungültiger und 1 für gültiger Wert) dividiert. Hierdurch erhält man an jeder Stelle den Mittelwert aller gültigen Punkte im Operatorfenster. Die ungültigen Werte im Ausgangsbild werden am Ende durch die neu berechneten ersetzt.
a b c d Fig. 4. Zur Berechnung von Winkelbildern: (a) Streifenbild; (b) Sobel-Gradientenwinkel (Winkelbild); (c) über die Gradientenlänge ausmaskiertes Winkelbild; (d) Interpoliertes Winkelbild 6. Tiefendatenerzeugung stripe image1 angle image1 ω sphere position and radius stripe image2 normals of sphere surface angle image2 ω LookUp table G O( ω ) = Q 1,ω 2 Fig. 5. Generierung der LookUp-Tabelle mittels Streifenprojektion auf einer Kugel. Um von den Streifenwinkeln auf die Oberflächennormalen zu schließen wurden von uns zwei Methoden untersucht: Zum einen die mathematische korrekte Berechnung bei einem voll kalibrierten System (Kamera und Projektoren) und zum anderen die Verwendung einer LookUp-Tabelle welche jeweils zwei Streifenwinkel auf eine Oberflächennormale abbildet. Das Erstellen der LookUp-Tabelle funktioniert analog zum Ansatz beim Photometrischen Stereo [6]: Durch die bisher beschriebenen Schritte werden die Streifenwinkel der beiden gedrehten Streifenprojektionen auf einer Kugeloberfläche gemessen. Da die Position der Kugel im Bild berechenbar ist und deren Oberflächennormalen bekannt sind, liegen ausreichend Daten bereit um die LookUp-Tabelle zu füllen und anschließend fehlende Werte zu interpolieren. Um von den Oberflächennormalen (bzw. Oberflächengradienten) auf das Tiefenbild zu schließen wurde von uns das Integrationsverfahren von Fankot/Chellappa [8] angewandt.
7. Ergebnisse und abschließende Bemerkungen In den folgenden Abbildungen werden zwei experimentelle Oberflächenrekonstruktionen vorgestellt. Fig. 6 zeigt das Tiefenbild eines Würfels und die zugehörige 3d- Rekonstruktion bei künstlicher Beleuchtung. Fig. 7 zeigt das Abbild eines Kunstkopfes sowie das Tiefenbild und die 3d-Rekonstruktion aus zwei Sichten. An den Rändern des Kopfes sind fehlerhaft rekonstruierte Oberflächen zu erkennen, die darauf zurückzuführen sind, dass auf diese Stellen nur wenige Streifenkanten projiziert wurden. Um eine komplette Rundum-Rekonstruktion zu erstellen muss das Objekt schrittweise rotiert und rekonstruiert werden. Alle Rekonstruktionen werden zuletzt zu einem kompletten Objekt zusammengefügt, wobei die oben erwähnten Fehler an den Objekträndern behoben werden können. Ein Hauptvorteil des von uns vorgestellten Verfahrens ist, dass direkt Oberflächennormalen gewonnen werden und diese nicht erst, wie es bei triangulationsbasierten Verfahren der Fall ist, nachträglich aus den Tiefenbildern abgeleitet werden müssen. Die Oberflächennormalen sind eine wichtige Grundlage für robuste 3d Merkmale wie beispielsweise Orientierungen und relative Winkel, Flächenkrümmungen, Sattelpunkte und lokale Extrema. Das Verfahren bietet hierbei eine höhere Robustheit bei texturierten und inhomogen reflektierenden Objekten als stereometrische Verfahren [3]. Aufgrund des eingeschränkten Umfangs dieser Veröffentlichung konnte leider nur eine Zusammenfassung der am Institut erfolgten Untersuchungen bezüglich dieses Verfahrens wiedergegeben werden. Fragen zu wichtigen Aspekten wie mathematischer Zusammenhang zwischen Oberflächennormalen und Gradientenrichtungen, eine detaillierte Fehleranalyse, Einsatzmöglichkeiten des Verfahrens, etc. sind somit weiteren Publikationen vorbehalten. Zur Genauigkeit sei erwähnt, dass der hier vorgestellte effiziente Ansatz mittels LookUp-Tabelle zunächst von einem parallel projizierenden Projektor und einer orthogonal abbildenden Kamera ausgeht. Der durch diese falschen Annahmen verursachte Fehler kann jedoch durch Systeme mit langen Brennweiten vermindert werden. Mit den bisher erfolgten Untersuchungen sind die Verbesserungsmöglichkeiten des Verfahrens nicht erschöpft. Verschiedene Ansätze zur Weiterentwicklung sind geplant. Eine Verkürzung der Rekonstruktionszeit könnte zum Bespiel dadurch erzielt werden, dass beide gedrehten Streifenmuster farbcodiert und mittels nur einer Projektion gleichzeitig auf das Objekt geworfen und ausgewertet werden. Ein erweiterter Ansatz könnte neben den Streifenwinkeln auch die Streifenbreite als Informationsquelle über die Orientierung der Oberfläche nutzen. Die laterale Auflösung kann erhöht werden, indem man mehrere Aufnahmen mit phasenverschobenem Streifenmustern benutzt.
a Fig. 6. Experimentelle Ergebnisse I: (a) Tiefenbild eines Würfels; (b) rekonstruierter und künstlich beleuchteter Würfel b a b c d Fig. 7. Experimentelle Ergebnisse II: (a) Aufnahme eines Kunstkopfes; (b) Tiefenbild des Kopfes; (c und d) Rekonstruierter und künstlich beleuchteter Kopf aus verschiedenen Sichten
Literatur 1. D. Nitzan, A. E. Brain, R.O. Duda: The measurement and use of registered reflectance and range data in scene analysis, Proc. IEEE, vol. 65, 1977 2. T. Ueda, M. Matsuki: Time Sequential Coding for Three-Dimensional Measurement and Its Implementation, Denshi-Tsushin-Gakkai-Ronbunshi, 1981 3. M. Oshima, Y. Shirai: Object recognition using three dimensional information, IEEE Transact. on PAMI, vol. 5, July 1983 4. K. L. Boyer and A. C. Kak: Color-Encoded Structured Light for Rapid Active Ranging, IEEE Transact. on PAMI, vol. 9, no. 1, Januar 1987 5. F. M. Wahl: A Coded Light Approach for 3-Dimensional (3D) Vision, IBM Research Report RZ 1452, 1984 6. B. K. P. Horn and M. J. Brooks: Shape from Shading, M.I.T., Cambridge 1989 7. D. C. Marr, T. Poggio: A computational theory of human stereo vision, Proc. Roy. Soc. London 204, 1979 8. Robert T. Frankot, Rama Chellappa: A Methode for Enforcing Integrability in Shape from Shading Algorithms, IEEE Transact. on PAMI, vol. 10, no. 4, July 1988