In dem Projekt werden die Teilnehmer an ein aktuelles forschungs- oder industrierelevantes Thema herangeführt. Es ist nicht beabsichtigt einen festgelegten Bereich in voller Breite zu untersuchen. Stattdessen werden die Teilnehmer mit der vollen Komplexität eines begrenzten Themas konfrontiert und die Eigeninitiative gefördert. Dies ermöglicht einen Einblick in die Forschungs- und Entwicklungsprojekte des Fachgebiets.
Bitte beachten Sie: Die Unterlagen zu unseren Vorlesungen und Übungen sind nur aus dem Netzwerk der Bauhaus-Universität Weimar erreichbar.
Laufende Projekte
Gigapixels von perfekt kalibrierter Vision: Erlernen der subpixelgenauen Kalibrierung für High-End-Multikamera-Vision-Systeme

Visionssysteme mit mehreren Kameras kommen bei einer Vielzahl von 3D-Vision-Aufgaben zum Einsatz, z. B. bei der Erfassung von Free-Viewpoint-Videos (FVV) und der Motion Capture. In solchen Systemen arbeiten mehrere Bildsensoren zusammen, um mehrere sich überlappende, synchrone Perspektiven der realen Welt zu erfassen. Um die aufgenommenen Bilder nutzen zu können, müssen die geometrischen Beziehungen zwischen den Kameras mit sehr hoher Genauigkeit bekannt sein.
Mit zunehmender Auflösung der Bildsensoren steigen auch die Anforderungen an die Genauigkeit ihrer Kalibrierung. Kleinste Defekte, die bei der Herstellung praktisch aller Objektive und Bildsensoren auftreten, führen zu nichtlinearen Verzerrungen, die mit klassischen parametrischen Verzerrungsmodellen nur schwer approximiert werden können.
In diesem Projekt werden die Studierenden ihre Kenntnisse über die Grundlagen der Bilderfassung und des photogrammetrischen Computer-Vision erwerben oder vertiefen und sich mit dem neuesten Stand der Technik in Bezug auf genaue Kalibrierungsverfahren vertraut machen. Die erworbenen Kenntnisse und Fähigkeiten werden angewandt, um eine interaktive Kalibrierungstechnik für ein wissenschaftliches Multi-Kamera-Vision-System mit einem maximalen Durchsatz von 7.2 Gigapixeln pro Sekunde zu entwickeln.
Learning Robust Object Detection with Soft-Labels from Multiple Annotators


Relying on predictions of data driven models means trusting the ground truth data - since models can only predict what they have learned. But what if the training data is very difficult to annotate since it requires expert knowledge and the annotator might be wrong?
A possible way to target these issues is to annotate data multiple times and extract the presumed ground truth via majority voting. However, there are other methods that use these data more effectively.
This project will explore existing methods to merge, vote or otherwise extract ground truth from multi-annotated images. For this purpose the VinDr-XCR and TexBiG Dataset are used, since both provide multi-annotated object detection data. Furthermore, deep neural network architectures will be modified and adapted to utilize such data better during training.
Neuronale Radianzfelder (NeRF) im Kontext des 3reCapSL-Großgerätes

Neuronale Radianzfelder (NeRF) bilden einen aufstrebenden Ansatz zur Erzeugung fotorealistischer Ansichten auf eine digitale 3D-Szenerie. Im Unterschied zu anderen Ansätzen modellieren und speichern NeRFs die Szenengeometrie nicht explizit, sondern kodieren sie implizit in Form eines Mehrschichtenperzeptrons (MLP). Für einige Anwendungsgebiete konnten NeRFs beeindruckende Resultate vorweisen. In diesem Projekt soll die Anwendbarkeit von NeRFs im Kontext unseres 3reCapSL-Großgerätes untersucht werden.
Zu diesem Zweck wird (1) ein 3D-Rekonstruktionspipeline geskriptet, (2) ein tiefes Verständnis von und fundierte Implementationsfähigkeiten im Bezug auf NeRFs erworben und (3) Erweiterungen von NeRFs für Erkennungsaufgaben untersucht.
Betreut durch Jan Frederick Eick, Paul Debus und Christian Benz.
Abgeschlossene Projekte
Generierung von 3D-Inneneinrichtung für Punktwolken-Szenenverständnis und Raumlayout-Analyse

Datengetriebene Algorithmen erfordern eine ausreichende Menge an Daten. Insbesondere für 3D-Szenen sind die Menge und die Art der Trainingsdaten, die für das Lernen hochpräziser und robuster Modelle zur Verfügung stehen, immer noch sehr begrenzt. Im Laufe des Projekts wird der Datenmangel durch die Erzeugung ansprechender 3D-Innenraumszenen verringert, um das Lernen leistungsfähiger Modelle für das Szenenverständnis und die Raumlayoutanalyse zu erleichtern.
Das Projekt wird über den Moodle-Raum verwaltet.
Bewertung der Bildschärfe für nicht-stationäre Bildaufnahmeplattformen

Die Bedeutung von nicht stationären Plattformen für die Bilderfassung - wie Mobiltelefone oder Drohnen - nimmt für eine Vielzahl von Anwendungen stetig zu. Die für bestimmte Kamerakonfigurationen und Aufnahmeabstände erreichbare Auflösung (eng verbunden mit der Bildschärfe) wurde theoretisch unter Bezugnahme auf das Lochkameramodell beantwortet. Die praktisch erreichte Auflösung kann jedoch deutlich schlechter sein als die theoretisch mögliche. Faktoren wie (Bewegungs-)Unschärfe, Rauschen und ungeeignete Kameraparameter können die Bildqualität beeinträchtigen.
In diesem Projekt wird die praktische Auflösung mit Hilfe eines Siemenssterns gemessen. Ziel ist es, eine robuste Erkennungspipeline zu implementieren, die automatisch eine Kamera auslöst, das Bild überträgt, den Siemensstern erkennt, die Ellipse der Unschärfe misst und die Abweichung der theoretischen und praktischen Auflösung schätzt. Die Implementierung wird auf der Nvidia Jetson Nano Plattform unter Verwendung von z.B. dem Roboterbetriebssystem (ROS) durchgeführt. Durch die Verknüpfung der sensorischen Informationen des Jetson Nano mit der geschätzten Bildauflösung ist es schließlich möglich, die verschlechternden Auswirkungen von Bewegungen während der Aufnahme zu analysieren und zu quantifizieren.
Das Projekt bietet einen interessanten Einstieg in die Computer Vision. Sie lernen die grundlegenden praktischen Werkzeuge der Computer Vision kennen, wie Python, OpenCV, gPhoto, Git, etc. Außerdem werden Sie lernen, wie man eine echte Kamera benutzt und konfiguriert, um echte Bilder aufzunehmen. Neben den Grundlagen wird es möglich sein, Bereiche wie künstliche neuronale Netze oder Datenanalyse zu erforschen, wenn es dem Projektziel dient.
Das Projekt wird über den Moodle-Raum verwaltet.
Shape of you: 3D Semantic Segmentation of Point Cloud Data
With increasing availability and affordability of 3D sensors, such as laser scanners and RGB-D systems in smartphones, 3D scans are becoming the new digital photograph. In the 2D image domain we are already able to perform automatic detection of objects and pixel-wis segmentation into different categories. These tasks are dominated by the utilization of convolutional neural networks.
For this project we will demonstrate how to create high quality 3D scans of indoor environments for visualization tasks, computer games and virtual reality applications. Using these 3D scans, we will then explore methods to analyze and segment the reconstructed geometric data. The goal is to understand and extend technologies that can be used to identify both basic shapes and complex objects of interest such as works of art or museum artifacts.
Applied Deep Learning for Computer Vision
Deep Learning for Computer Vision can be applied on different application-domains such as autonomous driving, anomaly detection, document layout recognition and many more. Throughout the recent years, these tasks have been solved with ever-evolving techniques adding to a vast box of tools to deep learning researchers and practitioners alike.
The project is aimed towards building a fundamental understanding of current techniques for constructing learning based models, so that they can be applied to problems in the realm of 2D image segmentation, image retrieval and 3D point cloud analysis.
Associated research projects:
Requirements:
- Successful completion of the course “Image Analysis and Object Recognition”
- Good programming skills in Python
Auxiliary Materials:
Drone Flight Path Planning
Drones have recently be applied more and more in the inspection of infrastructure. This project explores possibilities and approaches for efficient and complete mission planning. The project is coordinated via its Moodle room
Separation of Reflectance Components
The project is managed via the learning platform Moodle. All documents and further information can be found in the Moodle course Separation of Reflectance Components 2020.
Combined Camera and Projector Calibration for Real-time Tracking and Mapping
The project is managed via the learning platform Moodle. All documents and further information can be found in the Moodle course Separation of Combined Camera and Projector Calibration 2020.
Neural Bauhaus Style Transfer
Whereas typical deep learning models only have discriminative capabilities -- basically classifying or regressing images or pixels -- generative adversarial networks (GANs) [1] are capable of generating, i.e. producing or synthesizing new images. A whole movement has emerged around the CycleGAN [2,3] approach, which tries to apply the style of one image set (say the paintings of Van Gogh) onto another (say landscape photographs). The applicability of this approach for the transfer of Bauhaus style onto objects or buildings in images or whole images should be explored. At the end of the project a minor exploration on a seemingly different, but well-related problem takes place: In how far is the obtained GAN capable of augmenting a dataset of structural defect data.
Necessary requirements:
- IAOR passed
- good python knowledge (-> examples see below)
Optional skills:
- deep learning
- pytorch
Reference:
[1] Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems. 2014.
[2] Zhu, Jun-Yan, et al. "Unpaired image-to-image translation using cycle-consistent adversarial networks." Proceedings of the IEEE international conference on computer vision. 2017.
[3] https://junyanz.github.io/CycleGAN/
Python Examples:
In case you relatively quickly can answer the following python questions, you're good to go.
1) What does the 'self' refer to?
def compute_difference(self, x, y)...
2) What will be the output?
mat = np.array([[1,2,3],[4,5,6]])
print(mat[1,2])
3) Was the example above coded in python 2 or 3?
4) Does that code run? Why?
mat = np.array([[1,2,3],[4,5,6]])
print(mat[...,0])
5) Does that code run? Why?
mat = np.array([[1,2,3],[4,5,6]])
x,y = 5,3
print(mat[0,x/y])
6) How many elements does arr have?
arr = range(1,11,3)
7) What will be the last element of arr?
arr = [elem**2 for elem in range(5) if elem%2==1]