If you want to generate training data, you need to initialize the submodules (SuperGlue)
November 7, 2025 ยท View on GitHub
SuperEvent: Cross-Modal Learning of Event-based Keypoint Detection for SLAM
ICCV 2025 (Highlight)
๐ Winner: IROS 2025 EvSLAM Challenge
This is the official repository of SuperEvent: Cross-Modal Learning of Event-based Keypoint Detection for SLAM.
For more details, please check our project page.
Installation
Clone this repository
git@github.com:ethz-mrl/SuperEvent.git
cd SuperEvent
# If you want to generate training data, you need to initialize the submodules (SuperGlue)
git submodule update --init --recursive
Create conda environment
conda create --name se python=3.12
conda activate se
Install requirements with pip
pip install -r requirements.txt
Add SuperEvent root directory to Pythonpath (required in every new terminal)
export PYTHONPATH=$PYTHONPATH:$PWD
Demo
To test the system using the pre-generated files in example_data (MCTS + pseudo labels), run
python visualize_matches.py
Steps to prepare training data
- Filter images without event stream at their timestamp.
- Create Multi-Channel Time Surfaces (MCTS) at image timestamps.
- Create pseudo labels using SuperPoint + SuperGlue.
- Divide sequences into 'train', 'val' and 'test' sets.
Bash script to execute this pipeline:
./data_preparation/prepare_training_data.sh -d path/to/dataset
Optional arguments:
-t : Path where SuperEvent training data will be written. Default: path/to/dataset/../SuperEvent_data
-c : Path of config file containing the desired 'train', 'val' and 'test' splits. Default: ${HOME}/repos/SuperEvent/config/super_event.yaml
-u : Adding this flag will create undistorted training data. We do not recommend turning undistortion on, since it can lead to artifacts in the MCTS.
We combined the following five datasets for training:
Training
python train.py
Evaluation
python evaluate_pose_estimation.py <path/to/evaluation/dataset>
We support evaluation on the following datasets:
Qualitative examples
python visualize_matches.py
Shows matched keypoints from SuperEvent inference on test set with SuperPoint + SuperGlue's pseudo labels.
Citation
If you find our work useful, please cite:
@InProceedings{Burkhardt_2025_ICCV,
author = {Burkhardt, Yannick and Schaefer, Simon and Leutenegger, Stefan},
title = {SuperEvent: Cross-Modal Learning of Event-based Keypoint Detection for SLAM},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2025},
pages = {8918-8928}
}