This repo is the source code and supplementary material of the paper "DIMM: Decoupled Multi-hierarchy Kalman Filter via Reinforcement Learning".
Before you begin, ensure you have met the following requirements:
- Python: This project is primarily developed in Python. Make sure you have Python installed on your system. You can download it from python.org.
-
Python Libraries: It is recommended to build an environment either in pip or conda and install the following packages:
$\quad$ - Tensorflow (2.17.0)
$\quad$ - Gym (0.26.2)
$\quad$ - Matplotlib (3.8.4)
$\quad$ - Numpy (1.26.4)
DIMM/ # Decoupled IMM (interacting multiple model)
│
├── Filters/
│ ├── KF.py # basic Kalman filtering algorithm
│ └── ourIMM.py # IMM algorithm with CV, CA, and CJ model
│
├── data/
│ ├── OKFdata/ # OKF dataset
│ │ ├── train # train set
│ │ ├── test # test set
│ └── └── val # validation set
│
├── RLEnvs/
│ └──Estimation.py # RL environment: position estimation
│
├── RL/
│ └──TD3.py # RL method: attention-based twin delayed deep deterministic policy gradient (TD3)
│
├── models/ # save the best training model
│
├── train.py # main function for training the 'DIMM' model
├── test.py # main function for testing the 'DIMM' model
└── Metrics.py # evaluation metrics to test the algorithm's estimation accuracy
- Run 'train.py' to train the best model of the actor and critic networks in DIMM and save them in the 'models' folder.
- Run 'test.py' to test the trained DIMM model, compare its estimates with the ground-truth values, and calculate its estimation errors.
If you use this project in your research, please cite the following paper:
@article{zha2025dimm,
title={DIMM: Decoupled Multi-hierarchy Kalman Filter for 3D Object Tracking},
author={Zha, Jirong and Fan, Yuxuan and Li, Kai and Li, Han and Gao, Chen and Chen, Xinlei and Li, Yong},
journal={arXiv preprint arXiv:2505.12340},
year={2025}
}