Hot Topics in Computer Vision

In the project participants are introduced to a current research or industry-related topic. It is not intended to explore a specific area completely. Instead, the participants are confronted with the full complexity of a limited topic and to challenge their own initiative. This allows an insight into research and development of the field.

Please notice: The materials for our lectures and exercises are only available through the network of the Bauhaus-Universität Weimar.

Upcoming Projects

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

Current projects

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

Concluded Projects

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]