Augmented Reality mit korrekter Beleuchtung Thorsten Grosch CG Praktikum Augmented Reality mit korrekter Beleuchtung Thorsten Grosch
Aufbau Konzept 2 1 Fish-Eye Fish-Eye 2 HDR Kameras mit Weitwinkelobjektiv nehmen Bild von oberer Hemisphäre auf
1. Konvertierung Lochkamera 2 Die Bilder der Kameras werden ins Lochkameramodell konvertiert
2. Auswahl Punktlichtquellen 1 2 Aus dem HDR Bild der ersten Kamera werden einige, helle Lichtquellen rekonstruiert
3. Triangulierung 1 2 Die extrahierten Lichtquellen werden im zweiten Kamerabild gesucht, wodurch die 3D Position bestimmt werden kann.
4. Beleuchtung virtuell 1 2 Virtuelle Objekte werden mit den rekonstruierten Punktlichtquellen beleuchtet
5. Darstellung Betrachter virtuell 2 1 Tracking Für die Darstellung wird ins Koordinatensystem der Betrachterkamera umgerechnet abmessen
Teilaufgabe 1 Entzerrung der Fischaugenbilder Konvertierung in perspektivisches Bild (Lochkameramodell) HDR Kameras und Linsen kommen erst in den nächsten Wochen Nicht Teil des Praktikums, wird vorgegeben
Teilaufgabe 2 Auswahl von N Lichtquellen (benutzerdef.) Unterlagen Einfacher Ansatz: Wähle die N hellsten Pixel Restliche Pixel: ambienter Term Verbesserungen Importance Sampling (siehe PCG Vorlesung) Ausnutzung zeitlicher Kohärenz (Flackern durch stark variierende Lichtpositionen vermeiden) Unterlagen Sampling aus PCG Vorlesung Sampling von HDR Environment Maps Eigenes Verfahren überlegen
Teilaufgabe 3 Suche korrespondierende Lichtquellen Unterlagen Orientierung der beiden HDR Kameras bekannt Suche auf Epipolarline, suche ähnliches Pixel Bestimme 3D Position durch Triangulierung Unterlagen Hartley/Zisserman: Multiple View Geometry for Computer Vision Paulus Skript: Struktur aus Bewegung OpenCV: http://sourceforge.net/projects/opencvlibrary
Teilaufgabe 4 Beleuchtung der virtuellen Geometrie mit den rekonstruierten Lichtquellen Einfacher Ansatz : Verwende 8 OpenGL Lichtquellen Lichtquellen enthalten HDR Werte > 1 Eigene Vertex/Fragment Programme zur Beleuchtung Die M hellsten Lichtquellen werfen Schatten (Benutzerparameter, M < N) Die Überlagerung der Schlagschatten ergibt weichen Schatten Unterlagen Cg, Hardware Schatten: Vorlesung CG2 RenderTexture: http://www.markmark.net/misc/rendertexture.html Cg: http://developer.nvidia.com/page/home.html
Teilaufgabe 5 Tracking Umrechnung in Kamerakoordinaten des Betrachters Wird voraussichtlich aus letztem Praktikum übernommen (Tilmann Jaeschke) Umrechnung der Farbräume (HDR Kamera -> LDR Betrachterkamera)
Gruppenaufteilung Auswahl (Sampling) der Lichtquellen (4) Bestimmung der 3D Position der Lichtquellen (4) Darstellung mit Multipass-Rendering (4)
Erster Prototyp Nur eine HDR Kamera Auswahl der 8 hellsten Pixel Abschätzen der Richtung Beleuchtung mit 8 gerichteten OpenGL Lichtquellen Einfache Darstellung auf einem Monitor
Endversion Zwei HDR Kameras Entzerrung der Fischaugenbilder Auswahl von N Pixeln in einem Kamerabild Suchen der korrespondierenden Punkte im zweiten Kamerabild und Bestimmung der 3D Position Beleuchtung mit N Lichtquellen, für M Lichtquellen Schatten mit korrekter Helligkeit Tracking, Transformation in Betrachterkamera, Umrechnung der Farbräume, Darstellung in Betrachterkamera (Webcam oder HMD) Alles in Echtzeit…
Allgemeines / Zeitplan Dauer: 1.10.2005 – 31.3.2006 Ende Oktober: Vorträge, Konzept (wann ?) Danach : Implementierung Prototyp Programmiersprache: C++, OpenGL, OpenCV Betriebssystem ? 1. lauffähige Version: 15. Dezember Ende März: Endversion Treffen alle 1-2 Wochen (Mo 16:00 G210) Einfache Programmierübung Grundkonzepte C++, Compiler einrichten Ausgabe in den nächsten Wochen, Abgabe Anfang-Mitte Oktober
Vorträge Sampling Lichtquellen Lichtquellen Positionen Beleuchtung Importance Sampling Sampling von HDR Environment Maps Zeitliche Kohärenz ausnutzen, evtl. eigenes Verfahren Lichtquellen Positionen Epipolargeometrie, Fundamental Matrix (F), Bestimmung von F (8 Punkte, SVD) Triangulierung (3D Position bestimmen) OpenCV Beleuchtung Vertex / Fragment Programs , Cg Multipass Rendering, Hardware Schatten überlagern RenderTexture Library (PBuffer) Pro Vortrag: Klassendiagramm, Schnittstellen
Priorisierung 12 Teilnehmer Gruppe 1 : In nächsten 2 Semestern fertig Gruppe 2 : abgeschlossenes Vordiplom Gruppe 3 : Rest