Complex Lab / Team Project Computer Graphics and Visualization (WS 2026/27)
Modules
see course catalog
SWS 0/0/4
CMS-VC-ELV2 (Complex Lab Computer Graphics and Visualization)
SWS 0/0/8
CMS-TRK-TEA-VC (Team Project Computer Graphics and Visualization)
Organisation
Kickoff Meeting
| Time: | Friday, Oct. 16th, 10 am |
| Place: | Room APB 2101 |
General Information
This year, our topics revolve around point clouds. You will not start from scratch but with an existing basic RGBD acquisition, point cloud creation, streaming, and rendering application. Your topics will focus on improving the existing code base as well as extending it with functionality. We will present the different topics in detail in a kickoff meeting (see above). If you are interested, please enroll in the OPAL course.
If you cannot make it to the kickoff, the slides will be accessible in OPAL. You can choose your topic until Wednesday, October 22th by enrolling to the specific topic in OPAL, after which we will do further organization directly within the team.
Your work on below topics will be related to the 6G-life research project and the TUD's Cluster of Excellence CeTI .
Topic "Point Cloud Rendering"
Advisor: Julien Fischer
Currently, point clouds are rendered rather naively with a few different shader options in Unity. Your task will be to improve this rendering with state-of-the-art concepts, and adapt it to different display options such as 2D and VR.
Basic Tasks:
- Research different rendering possibilities for point clouds and evaluate them for the project's use case.
- Based on your findings, enhance the existing solution by adding suitable concepts from the literature and existing state-of-the-art applications.
- Evaluate your implementation with respect to quantitative and qualitative metrics.
Optional Task:
- Adaption of point cloud rendering to different QoS levels
- Instead of rendering point clouds, evaluate the use of Gaussian splats for this task and implement it
Required during the project:
- Attended a basic computer graphics lecture
- General programming experience
Nice-to-have:
- Familiarity with Unity, C#, Git
Topic "Point Cloud Diff"
Advisor: Julien Fischer
In the existing application, each point cloud is streamed in its entirety each frame. A more efficient solution would be to compare the current point cloud with the previous one, and only transmit changes. Since depth acquisition is performed via infrared time-of-flight, depth images usually exhibit some amount of noise, which prevents a naive point-wise comparison.
Basic Tasks:
- Familiarization with concepts of depth image acquisition and point cloud creation
- Research and evaluation of potential strategies to calculate the differences between two (or more) point clouds
- Implementation of (at least) one such strategy and integration into the existing pipeline
- Evaluation of the above implementation
Required during the project:
- Experience with (modern) C++, Git, OpenCV, PCL
Nice-to-have:
- Previous experience with the K4A / Orbbec SDK or other RGB-D cameras
- Experience with multi-threading in C++ (atomics, locks, mutexes, conditional variables)
- Experience with Docker might come in handy
Topic "Optimized Cross-Platform Point Cloud Creation"
Advisor: Julien Fischer
Point clouds are currently created in a multi-threaded way on the CPU. In order to improve performance, your task is twofold: First, check whether CPU performance can be improved e.g. with SIMD and runtime CPU dispatch. Secondly, transfer the CPU code to GPU. While the use of e.g. CUDA would restrict the result to GPUs by NVIDIA, options like HIP, OpenCL, SYCL, or Vulkan offer cross-platform capabilities.
Basic Tasks:
-
Familiarization with the existing CPU-based point cloud creation
-
Evaluation and implementation of potential performance improvements for CPU-based computation
-
Research and evaluation of different strategies for cross-platform GPU-based computations
-
Implementation of (at least) one of the above strategies and integration into the existing pipeline, including auto-detection if the strategy can be used during runtime
-
Evaluation of the CPU-based and GPU-based improvements, with each other and against the existing CPU baseline.
Optional Tasks:
- Adaption of point cloud quality to different QoS levels
Required during the project:
- Knowledge of (modern) C++, Git
Nice-to-have:
- Experience with GPU programming, OpenCV, PCL, CMake
- Experience with Docker might come in handy
Topic "Point Cloud Compression for Streaming"
Advisor: Julien Fischer
Right now, point clouds are streamed via ROS2 between the creation and rendering applications. Your task is to improve streaming performance by introducing a point cloud compression scheme.
Basic Tasks:
- Familiarization with existing ROS2-based point cloud streaming
- Research on existing point cloud compression algorithm and their advantages and drawbacks
- Selection of (at least) one suitable compression scheme and implementation thereoff
- Integration into the existing pipeline
- Adaption of compression scheme according to different QoS levels
- Evaluation of the implementation with respect to the baseline
Requirements:
- Knowledge of (modern) C++, Git
Nice-to-have:
- Experience with OpenCV, PCL, CMake, Docker, ROS(2)
Topic "Segmentation"
Advisor: Julien Fischer
Right now, a point cloud of the whole scene is generated. If e.g. computation or network transmission resources are limited, computing and transmitting the whole-scene point cloud may become infeasible. In this case, one might decide to only transmit interesting parts of the scene (e.g. humans or other moving objects). This topic will investigate how to implement such a segmentation scheme into the existing pipeline. An interesting question is whether per-pixel segmentations are necessary, or if bounding-box-based approximations using a detector like YOLO are also suitable for real-time performance.
Basic Tasks:
- Familiarization with the existing point cloud creation
- Research on segmentation methods for images (or point clouds), with special focus on real-time capable methods
- Implementation of (at least) one such segmentation method and deployment as a docker container
- Evaluation of the implementation with respect to e.g. runtime and quality of segmentation
Optional Tasks:
- Adaption of the segmentation method to different QoS levels
Requirements:
- First experiences with Machine Learning, Git
Nice-to-have:
- Experience with Python, Docker, deployment of ML models
Topic "Acquisition Lead"
Advisor: Julien Fischer
Current RGB-D recordings were acquired in the experimental operating room of the Universitätsklinikum Dresden and might not be suitable for viewing by all people (e.g. due to blood). The goal of this topic is to design an acquisition protocol to create recordings that can be used for demonstrations of the other topic's results to the general-population.
Basic Tasks:
- Research on the acquisition hardware and its capabilities
- Interview of the other participants on special scene / acquisition requirements of their parts
- Design of an acquisition protocol
- Conduction of the acquisition
- Evaluation of the acquisition results with respect to the goals defined in the protocol