Flächen- und Texturintegration mehrerer Aufnahmen eines 3D-Scanners

  • Typ:Diplomarbeit
  • Datum:2008
  • Autor(en):Tobias Roth

Übersicht

Am Institut wird ein 3D-Scanner entwickelt, der Objekte durch Beleuchten mit strukturiertem Licht erfasst. Dabei wird während einer Erfassung auch eine Aufnahme des weiß beleuchteten Objekts erstellt.

3D-Scanner, die auf dem Verfahren der optischen Triangulation basieren (siehe Abbildung 1), können bei einer Aufnahme immer nur einen Teil der zu erfassenden Objektoberfläche abtasten. Um einen Gegenstand vollständig zu erfassen, müssen mehrere Aufnahmen erstellt werden. Die daraus resultierenden Teilflächen, werden dann in einem Registrierungsschritt derart gedreht und verschoben, dass sie in ihrer Gesamtheit, das Objekt beschreiben. Diese Repräsentation in ein einziges topologisch korrektes Dreiecksnetz zu überführen ist Aufgabe der Flächenintegration. Durch die Aufnahmen des weiß beleuchteten Objekts, sind Texturinformationen gegeben. Mit der Texturintegration werden diese auf das integrierte Netz übertragen.

Im Rahmen dieser Arbeit sollten für den vorgegeben 3D-Scanner Verfahren zur Flächen- und Texturintegration implementiert werden. Um diese vorläufig testen zu können, war es Aufgabe, die Objekterfassung möglichst realitätsnah zu simulieren (siehe Abbildung 2).


Abbildung 1: Rekonstruktion der Fläche, durch optische Triangulation.
Abbildung 2:  Rekonstruktionspipeline und Aufgabenstellung dieser Arbeit. Die ersten vier Schritte
sollten simuliert werden; für die farbig hinterlegten Schritte der Flächen- und
Texturintegration, sollten Verfahren untersucht werden.

Ergebnisse

Simulation

Der reale 3D-Scanner projiziert ein aus senkrechten Streifen bestehendes Muster auf das zu erfassende Objekt und die so beleuchtete Szene wird mit der Kamera fotografiert. Durch eine eindimensionale Kantendetektion entlang der Bildzeilen der Aufnahme, werden die Kantenübergänge zwischen den Streifen ermittelt. Daran anschließend wird eine maximale Eins-zu-eins-Zuordnung zwischen projizierten und detektierten Streifenübergängen gesucht (siehe auch [1]). Dieser Vorgang wird insgesamt dadurch simuliert, dass für jeden projizierten Streifenübergang und jede Kamerabildzeile die zugehörigen Sichtebenen paarweise miteinander geschnitten werden. Auf diese Weise erhält man eine Schar von Geraden, die mit einem im Rechner bereits als Dreiecksnetz gegebenen Dreiecksnetz geschnitten wird. Die resultierenden Schnittpunkte werden mit Hilfe eines Zufallsgenerators verfälscht und daraufhin überprüft, ob sie Messpunkte einer realen Objekterfassung sein können. Das heißt es wird getestet, ob sie von Projektor und Kamera aus sichtbar sind, sie in der Kamerabildebene genügend Abstand voneinander besitzen, etc.

Die Aufnahme des weiß beleuchteten Objekts wird mit einem ganz einfachen Strahlverfolgungstechniken simuliert; der Projektor wird als einzige zu beachtende Lichtquelle angenommen. Da die zur Simulation verwendeten Dreiecksnetze nicht texturiert sind, wurde für sie eine prozedurale Textur verwendet.
Ergebnisse der Simulation sind in den Abbildungen 3 und 4 dargestellt.

 

 

Abbildung 3: Simulationsergebnis der Flächenrekonstruktion.

 

 

Abbildung 4: Simulationsergebnis der Aufnahme des weiß
beleuchteten Objekts.

Flächenintegration

Die Flächenintegration verwendet als Eingabe die geglätteten und registrierten Teilflächen der Objekterfassung und die durch die Kalibrierung bestimmten und die Registrierung um eine euklidische Bewegung veränderten Projektionsmatrizen von Projektor und Kamera. Zusätzlich werden noch drei Eingabeparameter verwendet:

  • Detailgenauigkeit r der Integration, d. h. Auflösung der während der Integration verwendeten Gitterstruktur
  • Distanz s innerhalb der verschiedenen Teilflächen als redundant betrachtet werden sollen
  • Durchmesser l, den Löcher maximal besitzen sollen, damit sie geschlossen werden

Volumetrische Flächenintegration Die Flächenintegration basiert auf dem von Curless und Levoy in [2] vorgestellten Verfahren. Zu jeder der gegeben Teilflächen Ni wird eine vorzeichenbehaftete Distanzfunktion di bestimmt. Sei oc,i das Projektionszentrum der Kamera für die i-te Teilfläche, dann gleicht der Betrag von di(x) gerade dem Abstand, den x entlang der Sichtgeraden <x,oc,i> besitzt. Das Vorzeichen gibt an, ob sich x bezüglich oc,i vor oder hinter der Fläche befindet. Zusammen mit reellwertigen Gewichtungsfunktionen ωi, für die ωi(x) = 0 gilt, falls di(x) s, und deren Wert ansonsten von der Geometrie der Teilflächen abhängt, lässt sich das gewichtete Mittel

da-roth_4x.png

angegeben. Die Funktion d wird an den Gitterpunkten eines regelmäßigen Zellrasters abgetastet. Dadurch kann mit Hilfe des Marching-Cubes-Algorithmus die integrierte Fläche extrahiert werden.

Die hier verwendete Funktion d besitzt die Eigenschaft, entlang von Kanten oder stark gekrümmten Regionen des erfassten Objekts zusätzliche Flächenstücke zu erzeugen (siehe Abbildung 5). Durch eine geeignete Zwischenbearbeitung der durch das Zellraster gegebenen Auswertung der Funktion d können diese Artefakte entfernt werden (siehe Abbildung 6).

 

 

Abbildung 5: Das Standardverfahren zur volumetrischen
Flächenintegration erzeugt Artefakte.

 

 

Abbildung 6: Integration einer unvollständig erfassten
Fläche.

Löcherschließen Da bei dem entwickelten 3D-Scanner keine Positionsplanung zum Einsatz kommt, ist es für den Anwender unter Umständen schwer ein Objekt vollständig zu erfassen, wodurch die integrierte Fläche Löcher besitzt. Daher wurde im Rahmen dieser Arbeit ein Verfahren entwickelt, welches von den Arbeiten [3, 4] von Bischoff et al. inspiriert wurde, das unter Ausnutzung der bekannten Positionen von Projektor und Kamera solche Löcher automatisch schließt. Dieses Verfahren modifiziert dabei direkt, die durch die Abtastung von d erzeugte Datenstruktur.

Extraktion und Nachbearbeitung Mit dem Marching-Cubes-Algorithmus kann schließlich die integrierte Fläche mit geschlossenen Löchern erzeugt werden (siehe Abbildung 7). Die Flächenstücke, welche die Löcher schließen, passen sich meist nicht schön in die durch die Objekterfassung gegebene Fläche ein. Daher wurden Glättungsverfahren untersucht, mit denen diese Flächenstücke geeignet verformt werden. Das Ergebnis ist in Abbildung 8 dargestellt.

 

Abbildung 7: Automatisch geschlossene Löcher.

 

 

 

Abbildung 8: Ergebnis nach Glättung der eingefügten
Flächenstücke.

Texturintegration

Für die Texturintegration wurde ein einfaches Verfahren implementiert, welches die Textur durch Überblenden der gegebenen Aufnahmen des erfassten Objekts erzeugt. Die Netze werden dabei als VRML-Datei gespeichert. Bildschirmfotos der Resultate sind in den Abbildungen 9 und 10 zu sehen. Man erkennt, dass auf die durch das Schließen der Löcher erhaltenen Flächenstücke teilweise der Hintergrund projiziert wurde.

 

 

Abbildung 9: Objekt nach Texturintegration.

 

 

Abbildung 10: An den Ohren des Hasen wurden die Löcher durch
Flächenstücke geschlossen, die zu weit außerhalb des
Objekts liegen.

Literatur

[1] H. Li. Rekonstruktion farbiger Objekte aus strukturiert beleuchteten Ansichten. Diplomarbeit, Universität Karlsruhe (TH), Juni 2005.

[2] B. Curless und M. Levoy. A volumetric method for building complex models from range images. Proceedings ot the 23rd annual conference on Computer graphics and interactive techniques, S. 303–312, 1996.

[3] S. Bischoff und L. Kobbelt. Structure Preserving CAD Model Repair.Computer Graphics Forum, 24, Nr. 3, S. 527–536, 2005.

[4] S. Bischoff, D. Pavic und L. Kobbelt. Automatic restoration of polygon models. ACM Transactions on Graphics, 24, Nr. 4, S. 1332–1352, 2005.