Title | Kalman Filter and Extensions |
Authors | Matvei Kreinin, Maria Nikitina, Petr Babkin, Anastasia Voznyuk |
Consultant | Oleg Bakhteev, PhD |
This project focuses on implementing Kalman Filters and their extensions in a simple and clear manner. Despite their importance, these state-space models remain underrepresented in the deep learning community. Our goal is to create a well-documented and efficient implementation that aligns with existing structured state-space models.
We plan to implement the following distributions in our library:
- Kalman Filter
- Extended Kalman Filter (EKF)
- Unscented Kalman Filter (UKF)
- Variational Kalman Filters
- PyTorch implementation of Kalman Filters
- Extended Kalman Filter implementation in Pyro
- Compatibility considerations with S4 and other SSM state-of-the-art models
The project is implemented using:
- Python
- PyTorch for tensor computation and differentiation
- NumPy for numerical computations
- SciPy for advanced mathematical functions
- Jupyter Notebooks for experimentation and visualization
You can install the required packages using pip:
- Clone the repository:
git clone https://github.com/intsystems/Kalman-filter-and-his-friends /tmp/Kalman-filter-and-his-friends
- Install the dependencies:
python3 -m pip install /tmp/Kalman-filter-and-his-friends/src/
Basic usage examples for different filters will be can be found in folder notebooks
To run test, after intalling the pacakge, the following comman must be executed from the project root.
PYTHONPATH="${PYTHONPATH}:src" pytest tests/test_filters.py -v