This is the official codebase for the paper EMatch: A Unified Framework for Event-based Optical Flow and Stereo Matching (ICCV 2025).
-
[2025.11.15] ✨ The checkpoints have been organized and published.
-
[2025.07.03] 🚀 We released the traning and evaluation code.
-
[2025.06.24] 🎉 EMatch is accepted by ICCV 2025.
EMatch is a unified framework applicable to both optical flow and stereo matching for event cameras. We reformulate these two tasks as a pixel-wise correspondence matching problem and design a novel unified framework to solve them within a shared representation space. Our unified framework supports both separate training of single-task models for optical flow and disparity, and joint training of a multi-task model — each method achieves optimal performance.
You can install anaconda and configure the virtual environment.
The following is a feasible version configuration:
- python = 3.8
- pytorch = 2.0.0
- CUDA = 11.7 (NVIDIA-SMI = 515.76)
You can refer to the following installation steps:
-
Create and activate a virtual environment.
conda create -n ematch python=3.8 activate ematch -
Install Pytorch and CUDA.
conda install pip pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1You can find the installation instructions on the PyTorch official website.
-
Install the necessary python libraries.
pip install -r requirements.txt
You can download all checkpoints here: Google Drive / BaiduDisk
Please download the DSEC and MVSEC datasets.
Details about the datasets can be found in the data/README.md file.
All training and evaluation scripts are provided in the /scripts directory.
For example, you can run the .sh files directly from the command line to obtain results of EMatch:
sh ./scripts/test/unified/dsec_ematch_flow.py
sh ./scripts/test/unified/dsec_ematch_disparity.py
sh ./scripts/test/unified/mvsec_ematch_flow.py
sh ./scripts/test/unified/mvsec_ematch_disparity.py
You can run the following .sh files to train EMatch:
sh ./scripts/train/unified/dsec_ematch_stage1.sh
sh ./scripts/train/unified/dsec_ematch_stage2.sh
sh ./scripts/train/unified/mvsec_ematch.sh
More scripts are available in the /scripts directory. If you wish to conduct further experiments, you may customize the provided .sh files to fit your specific requirements.
We would like to thank the following projects for their contributions to this work: DCEI, TMA, IDNet, E-RAFT, se-cff, unimatch.
