Skip to content

Zusammenfassung

Alexander Melde edited this page Mar 25, 2019 · 2 revisions

In der Dokumentation dieser Projektarbeit wurde in der Einarbeitung zunächst ein grundlegendes Verständnis für die Funktionsweise von 3D GANs geschaffen.

Anschließend wurde der Verlauf des Projekts und der Entwicklung dokumentiert. Dieser lässt sich in die fünf Schritte Auswahl und Einrichtung der Entwicklungsumgebung sowie Generierung, Interpolation und Visualisierung von 3D-Modellen unterteilen.

Darüber hinaus lassen sich in den einzelnen Schritten die drei verschiedenen Ansätze erkennen, die im Rahmen der Projektarbeit verfolgt wurden: 3dgan-release [WU16], 3D-IWGAN [SM17] und das coms-project [RP17].

Insbesondere wurde für jeden Ansatz geprüft, ob sich dieser zur Interpolation zwischen zwei 3D-Objekten einer Klasse eignet. Im Rahmen dieser Projektarbeit konnte ausschließlich der Quellcode des coms-project [RP17] für eine korrekte Interpolation genutzt werden. Hierbei ist aufgefallen, dass sich nicht jedes Zufallsvektor-Paar für eine Interpolation eignet. Bei einzelnen Versuchen kam es zu einer Voxel-Artefakt-Bildung am Rand der 3D-Szene.

Eine Generierung von 3D-Modellen konnte mit jedem der Ansätze erreicht werden.

Um die Ergebnisse zu überprüfen, wurden zwei Visualisierungsskripte geschrieben. Eines öffnet das 3D-Programm MeshLab für jedes Objekt und erstellt automatisiert Screenshots, das zweite erstellt ein Video der Interpolation mithilfe des 3D-Programms Blender.

Die ersten Wochen dieser Projektarbeit wurden zur Schaffung einer Grundlage zur Verwendung von Docker-Containern auf Hochschul-Rechnern genutzt. Dies war aufgrund der fehlenden Adminrechte und den Hochschul-Proxy keine triviale Aufgabe. Die hierfür notwendigen Befehle sind in den Dockerfiles dokumentiert.

Als nächste Schritte sehen wir eine Weiterentwicklung der Interpolation, um ein Morphing zwischen 3D-Objekten verschiedener Klassen zu ermöglichen. Auch eine tiefere Einarbeitung in den Interpolationscode wäre sinnvoll, um beispielsweise zu verstehen, warum sich bei einzelnen Kombinationen Artefakte bilden, und wie diese umgangen oder im Voraus detektiert werden können. Wohl möglich kann man durch anpassen der Gewichte der Lernfortschritte und anderen Parametern auch bessere Ergebnisse erzielen.

Abschließend lässt sich sagen, dass eine Interpolation zwischen 3D-Objekten mithilfe von GANs möglich ist, die bestehenden Quelltexte aber nur in seltenen Fällen 1:1 in der eigenen Entwicklungsumgebung funktionieren. Mit dieser Arbeit wurde ein Dockerfile (lfm_coms) entwickelt, das einen plattformübergreifenden Interpolations-Test mit wenigen Befehlen ermöglicht.

Clone this wiki locally