TH Köln

Master Digital Sciences

Documents for Study Program Accreditation

Guided Project WS26_11 »Learned Kalman Filter for State Estimation in a Dynamical System«

Organizational Details

Supervisor(s)
Prof. Dr. Daniel Gaida
Team size
2-4
Language
English
Start
October, 1st, 3 pm (just a suggestion, can be changed)
Offered as
GP-ID (6 ECTS) , GP-GAK (12 ECTS)

Project Image

Problem Description

Many technical processes can only be partially observed: the quantities that matter most are not measured directly. The standard tool for this is the Kalman filter, which combines a model-based prediction with a correction from new measurements. How much the filter trusts the model versus the measurement is controlled by tuning parameters that today have to be set by hand, a tedious process that rarely gives an optimal result.

A Learned Kalman Filter replaces this hand-tuning: a neural network learns the correction step directly from data, while the underlying model still produces the prediction. This combines the reliability of a physical model with the flexibility of machine learning.

Optional (if there are enough students, e.g. also from MI): As stated above, a neural network can learn that correction and usually does it better, but at a cost. The classical filter showed openly which sensor changed which value and by how much. The network hides it, leaving the user with a number and no reason to trust it. The optional task is to build an interface that earns back that trust. The user interface could e.g. show the confidence of the neural network and use methode from Explainable AI to visualize the reasons for the prediction of the neural network.

Project Definition

You will implement and evaluate a Learned Kalman Filter and compare it against an existing classical Kalman filter that serves as reference.

  • Get an overview of existing Learned Kalman Filter approaches and select one or more that fits the given setting.
  • Implement the chosen approach(es).
  • Optional (as stated above): Build the interactive view that shows the classical and the learned estimate side by side, including how certain each one is, and makes visible which sensor moved which value.
  • Evaluate the learned filter against the classical reference on a given test dataset.
  • Summarize what is gained and what is lost compared to the classical approach.

Scope by credits: a 6-credit contribution implements and evaluates a single approach. A 12-credit contribution compares at least two approaches and analyses why they differ.

Simulation model, training/test datasets, and the reference filter’s results are all provided.

Learning Outcome

  • Gain hands-on experience implementing and training a neural network with PyTorch on time-series data.
  • Optional (as stated above): Design and build an interactive visualisation for uncertain, model-based estimates. Learn how to make a black-box model legible to a user.
  • Practice evaluating a method, including its trade-offs, against an existing baseline.
  • Understand how Kalman filters work and where their limitations lie.
  • Learn how to combine a physical/mathematical model with a learned component (hybrid modeling).

Participation Requirements

  • Solid Python programming skills.
  • Either experience with PyTorch, or with interactive visualisation, and the willingness to pick up the other side at a basic level.
  • Basic understanding of state estimation / Kalman filters is helpful but not required.
  • No prior domain knowledge is needed, model and data are provided.