EvEnhancer: Empowering Effectiveness, Efficiency and Generalizability for Continuous Space-Time Video Super-Resolution with Events (CVPR 2025, Highlight)
October 7, 2025 Β· View on GitHub
Authors: Shuoyan Wei1, Feng Li2,*, Shengeng Tang2, Yao Zhao1, Huihui Bai1,*
1Beijing Jiaotong UniversityοΌ 2Hefei University of Technology
*Corresponding Authors
This repository contains the reference code for the paper "EvEnhancer: Empowering Effectiveness, Efficiency and Generalizability for Continuous Space-Time Video Super-Resolution with Events" accepted to CVPR 2025 (Highlight).

In this paper, we introduce EvEnhancer, a novel approach that amalgamates the unique advantages of event streams to enhance the effectiveness, efficiency, and generalizability of Continuous Space-Time Video Super-Resolution. Our EvEnhancer is underpinned by two critical components: 1) the event-adapted synthesis module (EASM) capitalizes on the spatiotemporal correlations between frames and events to discern and learn long-term motion trajectories, facilitating the adaptive interpolation and fusion of informative spatiotemporal features; and 2) the local implicit video transformer (LIVT), which integrates a local implicit video neural function with cross-scale spatiotemporal attention to learn continuous video representations, enabling the generation of plausible videos at arbitrary resolutions and frame rates.
πNews
-
π [Oct 2025] The extended version of our work, EvEnhancerPlus, has been released π
This version introduces a controllable switching mechanism (CSM) that enables achieving better performance with lower computational cost. Also, the extended paper provides more refined technical details and a clearer methodological explanation. Welcome to read and reference it!
-
β [May 2025] The arXiv version of our paper has been released π
-
β [Apr 2025] πOur paper is selected to be presented as a Highlight in CVPR 2025!
-
β [Mar 2025] A demo video for our paper has been released π
-
β [Feb 2025] πOur paper is accepted to CVPR 2025!
π Installation
Dependencies
git clone https://github.com/W-Shuoyan/EvEnhancer.git
cd EvEnhancer
conda create -n EvEnhancer python=3.9.21
conda activate EvEnhancer
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
pip install -r requirements.txt
python setup.py develop
cd basicsr/archs/DCNv2 && python setup.py install && cd -
π Usage
Data Preparation
| Synthetic Datasets* | Real-World Datasets |
|---|---|
| Adobe240 (Train & Eval**) | BS-ERGB οΌEvalοΌ |
| GoPro οΌEvalοΌ | ALPIX-VSR οΌEvalοΌ |
Given a temporal scale t, consecutive (t+1) frames are selected as a clip.
* Event Simulation: We use vid2e to simulate Adobe240 and GoPro events in high-resolution. We first use the pre-trained EMA-VFI video frame interpolation model to interpolate the frames in each clip, and then use esim_torch in vid2e to simulate the events for each clip, where the parameters are followed as EvTexture:
import random
import esim_torch
config = {
'refractory_period': 1e-4,
'CT_range': [0.05, 0.5],
'max_CT': 0.5,
'min_CT': 0.02,
'mu': 1,
'sigma': 0.1,
}
Cp = random.uniform(config['CT_range'][0], config['CT_range'][1])
Cn = random.gauss(config['mu'], config['sigma']) * Cp
Cp = min(max(Cp, config['min_CT']), config['max_CT'])
Cn = min(max(Cn, config['min_CT']), config['max_CT'])
esim = esim_torch.ESIM(Cn, Cp, config['refractory_period']* 1e9)
** The Adobe240 dataset split follows the setting of Preparing Dataset in VideoINR.
To accommodate our dataset reading code, it is recommended that all datasets be organized in a similar manner to the BS-ERGB dataset:
BS-ERGB/
βββ 1_TEST/ # Test set
β βββ acquarium_08/ # Video sequence
β β βββ events/ # Aligned event data
β β β βββ 000000.npz
β β β βββ 000001.npz
β β β βββ ...
β β βββ images/ # Video frames
β β βββ 000000.png
β β βββ 000001.png
β β βββ ...
β βββ ...
βββ 2_VALIDATION/ # Validation set
β βββ ...
βββ 3_TRAINING/ # Training set
βββ ...
Training
- Step1:
# EvEnhancer-light
python basicsr/train.py -opt options/train/EvEnhancer_light_step1.yml
# EvEnhancer
python basicsr/train.py -opt options/train/EvEnhancer_step1.yml
- Step2:
# EvEnhancer-light
python basicsr/train.py -opt options/train/EvEnhancer_light_step2.yml
# EvEnhancer
python basicsr/train.py -opt options/train/EvEnhancer_step2.yml
Evaluation
- A demo example : temporal scale
t=8, spatial scales=4
# GoPro dataset (demo)
# EvEnhancer-light
python basicsr/test.py -opt options/test/EvEnhancer_light_GoPro_demo_T8S4.yml
# EvEnhancer
python basicsr/test.py -opt options/test/EvEnhancer_GoPro_demo_T8S4.yml
Pretrained Model
-
EvEnhancer-light: Downloadπ
-
EvEnhancer: Downloadπ
π‘ Cite
If you find this work useful for your research, please consider citing our paper~ π
@inproceedings{wei2025evenhancer,
title={EvEnhancer: Empowering Effectiveness, Efficiency and Generalizability for Continuous Space-Time Video Super-Resolution with Events},
author={Wei, Shuoyan and Li, Feng and Tang, Shengeng and Zhao, Yao and Bai, Huihui},
booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
pages={17755--17766},
year={2025}
}
π Acknowledgement
Our code is built upon BasicSR, which is an open-source image and video restoration toolbox based on PyTorch. Thanks to the code reference from: