Bachelor / Master Thesis

We are always looking for motivated students who want to write their BSc or MSc thesis with us. If you are interested in writing your thesis on a topic that aligns with our research interests, a broad range from low-level optimizations to rendering techniques and algorithms, feel free to contact us at any time.

The non-exhaustive list below is meant to provide you with an impression of what you could be working on with us. You will not have to work on exactly one of those topics (although you could), they are rather meant to help you choose what you want to work on. If you have your own ideas for different topics, we are more than happy to discuss those with you as well!

Topics on Global Illumination and Algorithms

If you are interested in one of the following topics, or looking to work on something similar, contact Pascal Grittmann

Efficient Handling of Measured Materials for Daylight Simulation

Measuring material data in the real world is essential for realistic appearence. Such measurements are crucial for simulation applications, where the goal is typically not (only) an appealing image but (also) some sort of prediction of real world behaviour. An example for such an application is (indoor) daylight simulation: The propagation of light through a fenestration system into a building is simulated to predict (and avoid), for instance, glare. Daylight simulation requires measured materials for accuracy, but handling measured materials in a ray-tracer is quite expensive, both in terms of computation as well as in terms of memory.

The goal of this topic is to implement a material system that is optimized for the types of materials common in daylight simulation. This can be achieved by compressing material data, fitting models to the measured data, and/or devising efficient implementations on the CPU and/or GPU.

Who is this topic for?

  • Students interested in software engineering, performance optimizations, or both
  • Students interested in materials and appearance

Useful skills (not hard requiremetns):

  • Basic understanding of computer graphics and ray-tracing (e.g., through our CG1 course)
  • Programming experience

Suggested reading:

Machine Learning in Rendering

In recent years, machine learning methods have started to see use in the rendering community. For instance, machine learning is used to learn importance sampling distributions for Monte Carlo integration. Portable high performance kernels for mixture fitting could be of great use for researchers looking into this topic. Also, finding better representations for learned sampling distributions or faster algorithms to fit distributions to the data could be potential thesis topics.

Who is this topic for?

  • Students interested in rendering and machine learning

Useful skills (not hard requirements):

  • Lectures: Computer graphics and/or Realistic Image Synthesis
  • Experience with C++
  • Experience with machine learning

Suggested reading materials:

Radar Simulation

The introduction of global illumination algorithms via ray-tracing has revolutionized the movie industry and many other fields. With ever more powerful hardware, ray-tracing applications are becoming popular for simulation outside the visible spectrum. One particularly interesting such application is the simulation of radar. Autonomous driving and many other applications rely heavily on radar. Simulation tools could be of great use for advancements in these fields, for instance, to generate training data for machine learning.

This topic involves implementing a proof-of-concept prototype for radar simulation based on ray-tracing methods. Emphasis can be either on algorithmic advancements, verification of correctness, or high-performance implementations.

Who is this topic for?

  • Students interested in either or all of: ray-tracing, simulations, physics, autonomous driving, high-performance

Requirements:

  • Background in Monte Carlo simulation and ray tracing (e.g., via our RIS course)

Useful skills (not hard requirements):

  • Experience with C++
  • Background in physics or engineering

Topics on High-Performance Graphics and Computing

If you are interested in one of the following topics, or looking to work on something similar, contact Dr.-Ing. Richard Membarth

High-Performance Ray Tracing Routines on AMD GPUs

High-performance ray tracers rely on efficient routines, typically optimized and tuned for a given hardware architecture. For example, both, Intel and NVIDIA provide libraries (Embree/OptiX) with optimized ray tracing kernels for their hardware. While AMD provides competitive hardware, optimized ray tracing on AMD GPUs received only little attention. The goal for this topic is the design of high-performance ray tracing routines for AMD GPUs.

Who is this topic for?

  • Students interested in high performance and ray tracing

Useful skills for inference topics (not hard requirements):

  • Experience with C++, CUDA/OpenCL
  • Experience with performance optimizations
  • Experience with ray tracing

Efficient Implementations for Deep Learning

High performance is a key driver of the recent advancements in deep learning. For example, using GPUs as accelerators for deep learning can speed up training significantly, reducing training times from weeks to days or even hours.

For training, the resource management and scheduling decisions are crucial for substantial acceleration. Looking at such strategies in the context of clusters with CPU and GPU hardware is one research direction.

For inference, fast implementations taking advantage of specialized hardware instructions, often using a reduced precision, are essential. Examples for this are tensor cores on NVIDIA GPUs and the tensor processing unit (TPU) from Google. Properly utilizing these hardware units for fast inference on embedded hardware is another research topic.

Who is this topic for?

  • Students interested in high performance and deep learning

Useful skills (not hard requirements):

  • Experience with Python and C++
  • Experience with deep learning and respective frameworks
  • Experience with distributed computing and performance optimizations

Efficient Implementations for Computer Vision

Many image processing and computer vision applications constitute a pipeline that needs to be executed in real-time. To achieve this, implementations are highly optimized and tuned for a given architecture. However, those implementations typically only optimize individual operators and do not exploit the potential when optimizing across multiple stages. New standards like OpenVX allow to describe computer vision applications as a graph, which makes optimization over multiple stages accessible. The goal of this thesis topic is to investigate the optimization potential of image processing pipelines on embedded hardware.

Who is this topic for?

  • Students interested in high performance and computer vision

Useful skills for inference topics (not hard requirements):

  • Experience with C++, CUDA / OpenCL, or FPGA
  • Experience with performance optimizations
  • Experience with computer vision