Logo
Universitaet Koblenz-Landau Arbeitsgruppe Computergraphik
Home
Mitarbeiter
Kontakt
Veranstaltungen
Studienarbeiten
Jobs
Publikationen

Freeform - Lightstage

Thorsten Grosch

Wintersemester 2003/2004

[ Übersicht & Beschreibung | Hauptprogramm-Beschreibung | Rekonstruktion der Beleuchtungsrichtung | Voronoi-Diagramm auf der Kugel | Ergebnisbilder ]
blue line

Rekonstruktion der Beleuchtungsrichtung

Übersicht

  1. Aufgabenstellung
  2. Kalibrierung
  3. Beleuchtungsrekonstruktion
    • Berechung von Startwerten
    • Präzise Richtungsrekonstruktion
  4. Referenzen

1. Aufgabenstellung

Aufgabe der Gruppe war eine Rekonstruktion der Beleuchtungsrichtung für jedes Basisbild anhand der Schattierungen der vier symmetrisch um das Objekt angeordneten diffusen Kugeln. Als Eingabe dienen dazu die Kalibrierungsdaten der Kamera, Zentren und Radien der Kugeln und je ein Basisbild, d.h. ein Photo der beleuchteten Szene. Zunächst wird die Beleuchtungsrichtung für jede Kugel einzeln ermittelt. Daraus wir durch Mittelung die Beleuchtungsrichtung relativ zum Szenenzentrum berechnet.

Beispiel eines Basisbilds Richtung aus Beleuchtung ermitteln Beleuchtungsrichtung relativ zum Szenenzentrum


2. Kalibrierung

Zunächst wurde eine optimierte Umgebung für die Aufnahme der Basisbilder geschaffen. Dazu wurde eine quadratische Holzplatte mit nicht reflektierendem schwarzen Stoff überzogen, die Ecken wurde mit reflektierenden Markierungen versehen. Der umgebende Untergrund wurde ebenfalls mit einem schwarzen Stofftuch abgedeckt, um den Einfall von indirektem Licht auf das Objekt und die Kugeln zu vermeiden. Auf der Platte wurden an ausgemessenen Stellen Arretierungen für die Kugeln angebracht. Die Kugeln selbst bestehen aus Styropor, das mit einer matten Lackierung überzogen wurde, um diffuse Reflektionseigenschaften zu erreichen.

Der Ursprung des Weltkoordinatensystem wurde an eine Ecke der Bodenplatte gelegt. Um die Achsen des Weltkoordinatensystems, die Kamerapose und die Brennweite der Kamera in Pixeleinheiten zu ermitteln, wurde auf ein bereits vorhandenes Hilfsprogramm zurückgegriffen, das im Rahmen eines Dialogs in das Hauptprogramm eingebunden wurde. Dieses bestimmt die benötigten Daten über Ermittlung der Fluchtpunkte von rechtwinkligen Geometrien. Dazu müssen lediglich im Dialog die vier Eckpunkte der Platte selektiert und die Berechnung gestartet werden. Nach der Berechnung werden die rekonstrierten Kugelgeometrien und die Achsen des Weltkoordinatensystems in das Bild gezeichnet. Während der Kalibrierung ist es möglich zwischen allen Bildern der Aufnahmeserie umzuschalten, wodurch jede Ecke in einer guten Beleuchtungssituation ausgewählt werden kann.

Ansicht des Kalibierungsdialogs

Die Kalibrierungsdaten können im Anschluss gespeichert und somit bei gleichem Versuchsaufbau wiederverwendet werden. Durch einen weiteren Dialog ist es möglich Ungenauigkeiten bei der Kalibrierung manuell zu korrigieren. Dort lässt sich jede Kugel einzeln entlang der Achsen des Weltkoordinatensystems verschieben und ihr Radius verändern. Auch bei diesem Dialog stehen alle Bilder der Aufnahmeserie zur Verfügung.

Ansicht des Korrigierungs-Dialogs für die Kalibrierung


3. Beleuchtungsrekonstruktion

Die Beleuchtungsrichtungen werden pro Kugel durch ein nichtlineares Optimierungsverfahren berechnet. Die Ausführungszeit dieses Verfahrens wird erheblich durch die Güte der Startwerte für die Lichtrichtung beeinflusst. Deshalb wird vor seine Ausführung eine Berechnung angenäherter Startwerte gesetzt.

Berechung von Startwerten

Die Berechung basiert auf der Formel: Berechnungsformel

Diese Formel setzt Lichtintensität mit der Beleuchtungsrichtung und dem Reflektionsgrad an jedem Punkt der Kugel in Beziehung. Das resultierende Gleichungssystem wird mit Hilfe der Singulärwertzerlegung gelöst, die Ergebnisse werden als Startwerte an die nichtlineare Optimierung übergeben.

Präzise Richtungsrekonstruktion

Als nichtlineares Optimierungsverfahren wird der Downhill-Simplex-Algorithmus verwendet. Zunächst wird jede Kugel der Szene mit den Startwerten für die Beleuchtungsrichtung ein synthetisches Bild erzeugt. Dieses Bild ist eine Nachbildung der Szene, die mittels OpenGL und den aus der Kalibrierungsphase gewonnen Daten erzeugt wird. Die Helligkeit der Lichtquelle wird dabei angepasst, indem das hellste Pixel der betrachteten Kugel aus dem Originalbild gesucht wird und anhand einer Tabelle eine Abschätzung der synthetischen Lichtquellenintensität geschieht. Somit wird das Problem behoben, dass weiter entfernt liegende und dadurch dunklere Kugeln falsch beleuchtet werden. Innerhalb des Optimierungsverfahrens existiert eine Vergleichsfunktion, die die Abweichung zwischen dem synthetischen Bildausschnitt und dem Originalbild berechnet. Solange die Abweichung nicht unter einem festgelegten Schwellwert liegt, werden neue Beleuchtungsrichtungen berechnet, aus diesen synthetische Bilder erzeugt und die Richtung des Bildes mit der geringsten Abweichung zur weiteren Berechnung ausgewählt. Liegt die Abweichung unter dem gegebenen Schwellwert, wird die Beleuchtungsrichtung, die dem synthetischen Vergleichsbild zugrunde lag, als Lösung für die jeweilige Kugel zurückgeliefert. Liegen Lösungen für alle 4 Kugeln vor, werden diese zu einer auf das Szenenzentrum bezogenen Beleuchtungsrichtung gemittelt und als Ergebnisvektor an das Hauptprogramm zurückgegeben.

Photo Kugel 0 Photo Kugel 1 Photo Kugel 2 Photo Kugel 3 Kugeln des Originalbildes

Ergebnis Kugel 0 Ergebnis Kugel 1 Ergebnis Kugel 2 Ergebnis Kugel 3 Synthetisch rekonstruierte Kugeln


4. Referenzen

  • Vincent Masselus, Philip Dutré, Frederik Anrys, The Free-form Light Stage, Katholieke Universiteit Leuven, Belgien, 2002
  • Downhill simplex in multidimensions, Numerical recipes, 1992
  • Thorsten Grosch, Interkative Erweiterung..., Technische Universität Darmstadt, 2001
  • Alex P. Pentland, Finding the illuminant direction, Massachusetts Institute of Technology, 1981