Hot Topics in Computer Vision

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

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:

  • Datacamp Python/Shell ( free for course participants )
  • Udacity PyTorch Intro ( free course )
  • Deep Learning Specialisation ( free course  )
  • Deep Learning with PyTorch ( free ebook )

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

Abgeschlossene Projekte

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]