Institut für Computervisualistik
Filtern
Erscheinungsjahr
Dokumenttyp
- Bachelorarbeit (100)
- Diplomarbeit (81)
- Studienarbeit (76)
- Masterarbeit (46)
- Dissertation (18)
- Ausgabe (Heft) zu einer Zeitschrift (12)
- Konferenzveröffentlichung (2)
Sprache
- Deutsch (282)
- Englisch (51)
- Mehrsprachig (2)
Gehört zur Bibliographie
- nein (335) (entfernen)
Schlagworte
- Bildverarbeitung (16)
- Augmented Reality (13)
- Robotik (10)
- Computergrafik (9)
- Computergraphik (9)
- Computervisualistik (9)
- OpenGL (8)
- GPGPU (5)
- GPU (5)
- Line Space (5)
Institut
Die vorliegende Arbeit behandelt die Entwicklung einer Simulationsumgebung zur Darstellung von Objekten im Weltraum und ihrer gravitativen Wechselwirkung zu einander.
Vorab werden in Kapitel 1 Motivation und Zielsetzung der Arbeit erläutert, des Weiteren werden die verwendeten Werkzeuge benannt. Die nötigen astronomischen Grundlagen werden in Form von Begriffserklärungen und der Vorstellung der dieser Arbeit zugrunde liegenden physikalischen Gesetze in Kapitel 2 beschrieben.
Kapitel 3 befasst sich mit dem Aufbau der einzelnen Klassen. Hier wird insbesondere auf die Berechnung der Positionen und Geschwindigkeiten der simulierten Himmelskörper und den Aufbau und die Funktionsweise der verwendeten Elemente der Graphikengine Ogre3D eingegangen.
Im Kapitel 4 wird der Einsatz des Werkzeugs 3ds Max zur Erstellung der Geometrieobjekte und Materialien erläutert.
Abschließend wird in Kapitel 5 ein Fazit gezogen und mögliche zukünftige Erweiterungen erwogen.
In dieser Arbeit wird die Geschwindigkeit des Simulationscodes zur Pho-
tonenausbreitung beim IceCube-Projekt (clsim) optimiert. Der Prozess der
GPU-Code-Analyse und Leistungsoptimierung wird im Detail beschrie-
ben. Wenn beide Codes auf der gleichen Hardware ausgeführt werden,
wird ein Speedup von etwa 3x gegenüber der ursprünglichen Implemen-
tierung erreicht. Vergleicht man den unveränderten Code auf der derzeit
von IceCube verwendeten Hardware (NVIDIA GTX 1080) mit der opti-
mierten Version, die auf einer aktuellen GPU (NVIDIA A100) läuft, wird
ein Speedup von etwa 9,23x beobachtet. Alle Änderungen am Code wer-
den vorgestellt und deren Auswirkung auf die Laufzeit und Genauigkeit
der Simulation diskutiert.
Der für die Optimierung verfolgte Weg wird dann in einem Schema
verallgemeinert. Programmierer können es als Leitfaden nutzen, um große
und komplexe GPU-Programme zu optimieren. Darüber hinaus wird die
per warp job-queue, ein Entwurfsmuster für das load balancing innerhalb
eines CUDA-Thread-Blocks, im Detail besprochen.
In dieser Bachelorarbeit wird ein Simulationscode für astrophysikalische
Simulationen von Fluiden unter dem Einfluss ihrer eigenen
Gravitation entwickelt. Der Code wird hauptsächlich von der GPU
ausgeführt. Leichte Vereinfachungen der physikalischen Modelle und
einige Parameter zum Steuern von Genauigkeit und Rechenaufwand
ermöglichen das Simulieren mit interaktiver Bildwiederholrate auf den
meisten handelsüblichen, modernen Computern mit einer dedizierten
Grafikkarte. Der Simulationscode wird verwendet, um die Entstehung
von Sternen aus einer Gaswolke zu simulieren. Einige Merkmale der
Sternentstehung, wie zum Beispiel Akkretionsscheiben und Fragmentierung,
lassen sich selbst bei niedrigen Partikelzahlen beobachten.
Ziel dieser Studienarbeit ist es, eine vorhandene video-see-through Augmented Reality Visualisierung (ARToolKit) anhand von Shaderprogrammierung mit der OpenGL Shading Language um nicht-photorealistische Renderingverfahren zu ergänzen. Dabei sollen nicht nur die virtuellen Objekte mit diesen Verfahren dargestellt, sondern auch die realen vom ARSystem gelieferten Bilder analog stilisiert werden, sodass die Unterscheidbarkeit zwischen Realität und Virtualität abnimmt.
Im Kontext der Erweiterten Realität versteht man unter Tracking Methoden zur Bestimmung von Position und Orientierung (Pose) eines Betrachters, die es ermöglichen, grafische Informationen mittels verschiedenster Displaytechniken lagerichtig in dessen Sichtfeld einzublenden. Die präzisesten Tracking-Ergebnisse liefern Methoden der Bildverarbeitung, welche in der Regel nur die Pixel des Kamerabildes zur Informationsgewinnung heranziehen. Der Bildentstehungsprozess wird bei diesen Verfahren jedoch nur bedingt oder sehr vereinfacht miteinbezogen. Bei modellbasierten Verfahren hingegen, werden auf Basis von 3D-Modelldaten Merkmale identifiziert, ihre Entsprechungen im Kamerabild gefunden und aus diesen Merkmalskorrespondenzen die Kamerapose berechnet. Einen interessanten Ansatz bilden die Strategien der Analyse-durch-Synthese, welche das Modellwissen um Informationen aus der computergrafischen Bildsynthese und weitere Umgebungsvariablen ergänzen.
Im Rahmen dieser Arbeit wird unter Anwendung der Analyse-durch-Synthese untersucht, wie die Informationen aus dem Modell, dem Renderingprozess und der Umgebung in die einzelnen Komponenten des Trackingsystems einfließen können. Das Ziel ist es, das Tracking, insbesondere die Merkmalssynthese und Korrespondenzfindung, zu verbessern. Im Vordergrund steht dabei die Gewinnung von visuell eindeutigen Merkmalen, die anhand des Wissens über topologische Informationen, Beleuchtung oder perspektivische Darstellung hinsichtlich ihrer Eignung für stabiles Tracking der Kamerapose vorhergesagt und bewertet werden können.
Ziel dieser Arbeit ist es, markerloses Tracking unter dem Ansatz der Analyse durch Synthese zu realisieren und dabei auf den Einsatz merkmalsbasierter Verfahren zu verzichten. Das Bild einer Kamera und ein synthetisches Bild der Szene sollen durch den Einsatz von Stilisierungstechniken so verändert und angeglichen werden, dass zu dem gegebenen Kamerabild aus einer Auswahl von gerenderten Bildern jenes erkannt werden kann, welches die reale Kamerapose am exaktesten wiedergibt. Es werden Kombinationen von Ähnlichkeitsmaßen und Visualisierungen untersucht, um eine bestmögliche Vergleichbarkeit der Bilder zu erreichen, welche die Robustheit gegen Trackingfehler erhöhen soll.
Diese Bachelorarbeit befasst sich mit der Entwicklung einer Anwendung für die HoloLens von Microsoft. Die Anwendung dient der Vermarktung von Werbeflächen der Firma awk AUSSSENWERBUNG GmbH. Anhand der Entwicklung wird die Frage beantwortet, welches die Möglichkeiten und Grenzen der HoloLens in Verbindung mit der Mixed Reality Platform sind. Dabei wird auch auf die Probleme eingegangen, welche bei der Ent- wicklung einer Anwendung für eine neue Technologie, wie die HoloLens auftreten. Neben der neuen Technologie, ergeben sich auch durch den Ein- satzort der Anwendung weitere Herausforderungen. Diverse Anwendungs- beispiele und Präsentationen lassen vermuten, dass die HoloLens primär für Anwendungen innerhalb von Räumen ausgelegt ist. Die zu entwickeln- de Anwendung ist dagegen für die Verwendung außerhalb geschlossener Räume konzipiert. Bei der Entwicklung konnten Erkenntnisse über die- se neue Technologie gewonnen werden. Zum einen wurde deutlich, dass sowohl die HoloLens, als auch die Entwicklungsumgebung noch an eini- gen Stellen verbessert werden können. Zum anderen, dass die HoloLens nicht für den Einsatz im Freien geeignet ist. Trotz der Schwierigkeiten bei der Entwicklung konnten auch die vielen Möglichkeiten der HoloLens be- leuchtet werden.
Diese Arbeit zeigt eine neue Technik der Computergrafik zur Simulation von globaler Beleuchtung durch Path Tracing in Echtzeit. Das Path Tracing wird dafür mit Compute Shadern auf der Grafikkarte (GPU) realisiert, um das Rendering hoch parallelisiert auszuführen. Zur Beschleunigung der Strahlverfolgung wird dabei der
Line Space in verschiedenen Varianten als Datenstruktur verwendet, um leere Bereiche in der Szene schneller zu überspringen. Der Line Space speichert Szeneninformationen basierend auf einer Voxelisierung in richtungsabhängige Shafts und wird sowohl auf der GPU generiert, als auch traversiert. Mit diesem Verfahren kann eine Szene physikalisch korrekt indirekt beleuchtet und mit weichen Schatten schattiert werden. Außerdem kann das Path Tracing damit weitgehend unabhängig von der Polygonanzahl mit über 100 Bildern pro Sekunde klar in Echtzeit durchgeführt werden und ist somit deutlich schneller als mit einem vergleichbaren Voxel-Gitter. Die Bildqualität wird davon nicht negativ beeinflusst und die Schattenqualität ist in den meisten Fällen deutlich besser als bei der Verwendung von Shadow-Mapping.
Ein Gonioreflektometer ist ein Gerät zum Vermessen der Reflexionseigenschaften von Materialien. Ein solche Apparatur wird in dieser Arbeit mit handelsüblichen Bauteilen gebaut. Dafür werden drei Schrittmotoren und 809 Leuchtdioden mit einem Arduino-Mikrocontroller gesteuert. Als Reflexionsdaten werden RGB-Bilder mit einer industriellen Kamera aufgenommen. Zusätzlich wird eine Steuersoftware für verschiedene Aufnahmeprogramme sowie ein Renderer zum Anzeigen der vermessenen Materialien implementiert. Somit können komplette bidirektionale Reflektanz-Verteilungsfunktionen (BRDFs) aufgenommen und gerendert werden, wodurch selbst komplizierte anisotrope Materialeigenschaften repräsentierbar sind. Die Qualität der Ergebnisse ist aufgrund von Schattierungen zwar Artefakt-behaftet, jedoch können diese Artefakte durch entsprechende Algorithmen wie Inpainting weitestgehend behoben werden. Außerdem wurde das Gonioreflektometer auf andere Anwendungen übertragen. So sind ohne Veränderungen am Gerät auch 3D-Scans, Lichtfeldaufnahmen und Light-Staging möglich. Auch die Qualität der Ergebnisse dieser Aufnahmeverfahren entspricht den Erwartungen im positiven Sinne. Somit ist das in dieser Arbeit gebaute Gonioreflektometer im Vergleich zu anderen Publikationen eine breit anwendbare und kostengünstige Alternative.
Ray Tracing als Bildsyntheseverfahren ist relevant für viele Anwendungsbereiche, da es Aspekte des Lichttransports physikalisch korrekt simulieren kann. Aufgrund des hohen Berechnungsaufwands sind der Einsatz von Datenstrukturen zur Beschleunigung und die parallele Verarbeitung notwendig. GPUs sind inzwischen hoch parallele, programmierbare Prozessoren mit zahlreichen Kernen und eignen sich aufgrund ihrer hohen Leistungsfähigkeit dazu, aufwändige, parallelisierbare Probleme zu lösen. In dieser Arbeit geht es um GPU Ray Tracing, beschleunigt durch Bounding Volume Hierarchien (BVH). Auf Basis relevanter Veröffentlichungen zu Aufbau und Traversierung von BVHs und der Abbildung des Ray Tracing Prozesses auf die GPU Architektur wird ein GPU Ray Tracer konzeptioniert und entwickelt. Während der BVH Aufbau vorab auf dem Host stattfindet, wird der gesamte Ray Tracing Prozess durch mehrere Kernel komplett auf der GPU ausgeführt. Die Implementierung der Kernel erfolgt in Form von OpenGL Compute Shader Programmen, und die Aufteilung des Ray Tracers auf mehrere Kernel ist durch die GPU Achitektur und das SIMT Ausführungsmodell motiviert. Für die Speicherorganisation der binären BVHs werden zwei Varianten betrachtet, klassisch und als MBVH, wobei sich die MBVH Organisation als effizienter erweist. Zudem werden verschiedene Varianten für die Traversierung ohne Stack und für die Stack-basierte Traversierung umgesetzt und bewertet. Der in mehrere Kernel strukturierte GPU Ray Tracer wird zudem mit einer Einzelkernel Version verglichen. Die besten Ergebnisse erreicht die Traversierung ohne Stack mit einem while-while Ablauf und MBVH im Rahmen des aufgeteilten GPU Ray Tracers.