Student Projects
The IMAGE section regularly publishes project opportunities for BSc and MSc students.
The board below shows the current projects. This board is a read-only showcase: if you are interested in a project, contact the supervisor directly by e-mail.
FAQ
Start as early as possible by reaching out to a supervisor. It is difficult to find a good match between student, supervisor and the dream project/thesis topic. Hence, student should expect that this can take some time.
One can start already when one has an idea about what kind of “computer science topic” that really interests oneself, or when one knows what area to specialise in. Do not wait until the very last block before your thesis is supposed to start.
It is often a good idea to find a supervisor that does research in an area aligned with one’s interests. Hence, it is a good idea to get to learn the relevant people that are working in the IMAGE research section. Potential supervisors do not have infinite capacity, so it is a good idea to matchmake with them early on to ensure they have time for supervision. In many cases it really helps a supervisor to make space for more students if the student’s project or thesis is highly aligned with the research done by the supervisor.
It is often a good idea to start a dialogue with a potential supervisor about which projects or theses are possible, or how to prepare for a thesis topic, taking specific courses, etc. When reaching out to a potential supervisor it is therefore a good idea to be able to put some words on what one’s interests are and what type of work one is really good at doing.
One can get a coarse overview from the official IMAGE research section web-site about which fields and topics are available: Image Analysis, Computational Modelling and Geometry.
The IMAGE research section covers a wide diversity of topics ranging from image analysis, computer vision, machine learning, computational modelling, geometry and geometric statistics, computer graphics, simulation and robotics, and many more.
Once a student has found an interesting theme, the same web-site provides an overview of the members of the IMAGE research section. From this one can locate their personal web-pages and find more detailed information about the type of research they are doing. Once a potential match has been found, sending the potential supervisor an email asking about possibilities of doing projects and theses in the chosen area is a good way to get a first meeting.
In principle a student can define a project or thesis problem themselves in any computer science area they wish to specialise in. It can however be challenging to locate a supervisor with a research area that covers the proposed idea. This creates a bit of a chicken-and-egg challenge in finding a topic to work on and finding a supervisor.
One way to regularise this problem is to not get too detailed on the idea, but rather think of the idea as a direction, an elevator pitch, for locating a supervisor. Once a supervisor has been found, the details of the idea are often developed together with the supervisor. This has the added benefit of drawing on the supervisor’s experience when formulating the details of the project description and learning outcomes.
Do courses
At DIKU there are several courses that can be relevant for working in this area. They are a great way to build up basic foundational skills and meet teachers that can become potential supervisors. Many elective courses reflect research areas or interests of the teachers.
- Graphics: Introduction to Computer Graphics gives a good understanding of a rendering pipeline, light models, geometry transformations and boundary representations such as meshes or parametric surfaces. The course is good for learning many basic concepts and terminology.
- CMIS: Computational Methods in Simulation is a toolbox course that teaches one the main classical approaches for solving partial differential equations. These are often the algorithmic building blocks used when building simulators or creating methods for physics-based computer animation.
- NO: Numerical Optimization is an indispensable tool in many research areas. The problems solved in computer graphics and simulation are often modelled as optimization problems, and hence this course is extremely valuable in order to solve problems from day one.
- CG: The Computational Geometry course is very good at ensuring an overview of algorithms and data-structures used for spatial queries, such as collision detection or range queries, and locating nearest neighbours. These types of queries are often building blocks when building a simulator or an animation engine.
- SIP: The Signal and Image Processing course teaches many basic concepts about dealing with signals. This is highly relevant when connecting to kernels and basis functions used in simulation and animation, or working with motion data, which is basically high dimensional analog signals. The course is not directly touching on graphics use cases, but the fundamentals are important and generic.
- DADIU: The DADIU course is great for students that wish to have a taste of real-world game development. The course works more like an artificial internship where students will work in large game development teams of more than 15 people. The teams include a director, animators, level designers, game designers, compositors, programmers and more. The course is good if one wishes to learn about making games. Further, it gives one good experiences with game engines and other tools used in the field.
- SiRL: The Simulation-based Reinforcement Learning course touches on how rigid body simulators are used in machine learning to control the motion of robots. The techniques taught focus on hybrid methods of blending simulation and machine learning. This is general methodology that is also applied in the animation context of learning to control animated characters.
- MIA: The Medical Imaging course gives a firm idea of the whole modelling process that lies behind creating models for biomechanics simulations. This includes a basic understanding of how medical images are converted into boundary representations through registration and segmentation. This is relevant if one wishes to work with biomechanical simulation.
Play with animation and game engine software (aka 3D modelling software)
Besides taking courses relevant to one’s interest, it can be a good idea to have fun with some hobbies. These could be to learn to do some basic modelling and rendering using software such as Blender. This is just one example of modelling and animation software, many more exist, but this one is open source and has over the years created quite many online tutorials that make it easy for newcomers to get into the world of computer graphics terminology and the workflows used when creating digital content. If one is more game oriented, then there are likewise game engines such as Unity or Unreal that one can get for free and which have extensive learning resources for getting started. Animation software or game engine experience is great for learning how things are used in the real world and it helps to build up a vocabulary.
Check out SIGGRAPH, SCA and SGP conferences
The research field of computer graphics and simulation is captured by the SIGGRAPH conference. This is a great place to find research papers that cover one’s interest and get some ideas about what is timely and interesting to work on. A starting project can easily be to re-create results from a paper, compare one paper against another, or simply to implement a method from a paper.
SIGGRAPH has many education resources as well. In particular, their course program is quite developed and often targets newcomers. Hence, try and search for SIGGRAPH courses that cover your interests, read the notes, watch the video lectures, and play with the example code. Here is a link to get you started.
For some courses the authors have made their own web-sites to provide even more info. Here are a few links:
- SIGGRAPH contact course
- Dynamic Deformables
- SIGGRAPH 2022 course
- SIGGRAPH 2019 course
- Geometric computing in Python
- Blackbox computing in Python
The Symposium on Computer Animation (SCA) is a more specialised venue where you can find more research papers on animation topics.
The Symposium on Geometry Processing (SGP) is a more specialised venue for papers with a focus on geometry. SGP has for years been running a graduate school, which is basically extended talks covering basic topics, to help newcomers get into the field. COVID-19 caused many of these talks to now be available online: SGP YouTube channel.
SGP has recently started a summer school program too: school.geometryprocessing.org.
Do small fun projects
Computer graphics and simulation is both very theoretical and very practical. Hence, improving programming skills by gaining practical experience is time well spent. It is also a good opportunity to learn some of the libraries and tools that will make your life easier later in a project or thesis. Here are two examples of libraries to play with that may be useful later on:
It does not really matter exactly what you play around with, but gaining the experience of working with implementing math concepts into efficient code is something one is only going to benefit from.
No projects match the selected filters.
Is conditioning possible for a trained diffusion model / flow matching?
Explore current methods in low dimensional spaces, where analytical answers are known.
Supervisor: Julius Kirkegaard (juki@di.ku.dk)
Amortized Global Fitting
Speed up Amylofit.
Supervisor: Julius Kirkegaard (juki@di.ku.dk)
Generalize deeptangle
See github.com/kirkegaardlab/deeptangle. Different types of projects on both research and software side of things.
Supervisor: Julius Kirkegaard (juki@di.ku.dk)
Synthetic data of algal flagella beating.
Supervisor: Julius Kirkegaard (juki@di.ku.dk)
Gaussian splatting for microscopy (supervised jointly with Bernhard Kerbl)
“Computational confocal microscopy” with Gaussian splats.
Supervisor: Julius Kirkegaard (juki@di.ku.dk)
Mask-free training of masked diffusion
Please find me in my office (3-2-11) if this title captures your attention. Happy to explain in person.
Supervisor: Julius Kirkegaard (juki@di.ku.dk)
Improving skeletonization algorithms for pixel-thin segmentations
Supervisor: Julius Kirkegaard (juki@di.ku.dk)
Eye-tracking in radiology
This project uses eye tracking to understand how people read images.
Supervisor: Bulat Ibragimov (bulat@di.ku.dk)
Dental image analysis
This project focuses on the use of AI in dental image analysis and treatment planning.
Supervisor: Bulat Ibragimov (bulat@di.ku.dk)
ElectroEncephalography Simulations done right: simulate neural evoked responses for statistical modelling
Develop scripts to automatically generate known brain events using state of the art tools in ElectroEncephalography (EEG) simulations.
Supervisor: Cyril Pernet (cyril.pernet@nru.dk)
Learning to reconstruct Brain Data for QC
Use data science and machine learning to build an autoencoder that detects outliers in brain data (MRI, PET, EEG) and apply it to real data.
Supervisor: Cyril Pernet (cyril.pernet@nru.dk)
Predicting response to treatment in depression - a brain imaging approach
Apply your ML skills to brain imaging data!
Supervisor: Cyril Pernet (cyril.pernet@nru.dk)
Developing normative models of brain neurotransmitters.
Apply state of the art normative tools to positron emission tomography data in health and depression.
Supervisor: Cyril Pernet (cyril.pernet@nru.dk)
Reinforcement learning in machines and humans
Test and validate a reinforcement learning paradigm and the computational model of human behaviour.
Supervisor: Cyril Pernet (cyril.pernet@nru.dk)
Simulation for Robots
Think of simulation as a robot's rehearsal space: practice thousands of times virtually, predicting outcomes and perfecting movements, to develop and validate control algorithms safely.
Supervisor: Hang Yin (hayi@di.ku.dk)
Medical Robotics: Simulation & Mapping
Develop ultra-realistic simulation environments for colonoscopy training, using digital twins of the colon and 3D Gaussian splatting so robots and clinicians can practice safely.
Supervisor: Hang Yin (hayi@di.ku.dk)
Flying Drones as a Team
Program a team of drones to move in a coordinated way, implementing barrier-function or consensus-based control so they fly without colliding.
Supervisor: Hang Yin (hayi@di.ku.dk)
Teach Robots to Understand You: Building Language-Controlled Robot Arms
Build a complete system where a robot arm responds to natural language commands, combining language and vision models with real manipulation tasks.
Supervisor: Hang Yin (hayi@di.ku.dk)
Robots in the Lab: Automating Science So Scientists Can Focus on Discovery
Put robot arms to work in real scientific workflows: automate sample scanning and handling so scientists can focus on discovery.
Supervisor: Hang Yin (hayi@di.ku.dk)
Processing of larger than memory images
Recent microscope and synchrotron images can be extremely large. Explore methods and a FSharp library for processing images larger than memory.
Supervisor: Jon Sporring (sporring@di.ku.dk)
Segment and analyse Human Organ Atlas data
Work further with segmenting scans from the Human Organ Atlas, an exceptional collection of full human organ scans at micrometer resolution.
Supervisor: Jon Sporring (sporring@di.ku.dk)
Scaling laws in human organs
Identify and measure scaling laws in Human Organ Atlas data; scaling laws describe how biological properties change with size or volume.
Supervisor: Jon Sporring (sporring@di.ku.dk)
Reconstruction of the coronary artery tree
Reconstruct the coronary artery tree from 2-dimensional angiogram movies, continuing previous work on simulation and vessel segmentation.
Supervisor: Jon Sporring (sporring@di.ku.dk)
Automate generation of 3D-printed neck support for radiotherapy treatments.
In this project, we will use the planning scan to design a 3D-printed, patient-specific neck support that extends to include the shoulders.
Supervisor: Jens Petersen (phup@di.ku.dk)
Investigate Refusal Behavior of LLMs in Medical Tasks
Explore refusal behavior of LLMs in medical contexts: are refusals distributed equally across patient subgroups, and how does prompting in low-resource languages like Danish affect refusal?
Supervisor: Alissa Valentine (alissa.valentine@di.ku.dk)
Develop Lexicon for Multilingual Biased Language Detection
Existing lexicons for biased language in medicine are English-only. This project explores methods to translate lexicons of harmful words to other languages.
Supervisor: Alissa Valentine (alissa.valentine@di.ku.dk)