Skip to content

woo525/DEBIR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Dynamic Exposure Burst Image Restoration
Official PyTorch Implementation of the CVPR 2026 Paper

Woohyeok Kim, Jaesung Rim, Daeyeon Kim, Sunghyun Cho

[Paper] [Project Page]

overview

Abstract

Burst image restoration aims to reconstruct a high-quality image from burst images, which are typically captured using manually designed exposure settings. Although these exposure settings significantly influence the final restoration performance, the problem of finding optimal exposure settings has been overlooked. In this paper, we present Dynamic Exposure Burst Image Restoration (DEBIR), a novel burst image restoration pipeline that enhances restoration quality by dynamically predicting exposure times tailored to the shooting environment. In our pipeline, Burst Auto-Exposure Network (BAENet) estimates the optimal exposure time for each burst image based on a preview image, as well as motion magnitude and gain. Subsequently, a burst image restoration network reconstructs a high-quality image from burst images captured using these optimal exposure times. For training, we introduce a differentiable burst simulator and a three-stage training strategy. Our experiments demonstrate that our pipeline achieves state-of-the-art restoration quality. Furthermore, we validate the effectiveness of our approach on a real-world camera system, demonstrating its practicality.

Dataset Preparation

  • Ubuntu 20.04, Python 3.7.13, PyTorch 1.12.0

    cd ./EMA-VFI
    pip install -r requirements.txt
    
  • Download GOPRO (GOPRO_Large_all) & RealBlur official dataset - [GOPRO] [RealBlur]

  • Frame interpolation (x8)

    CUDA_VISIBLE_DEVICES=0 python interpolate_gopro_x8.py
    
  • Synthesize dataset for [stage-1] training

    CUDA_VISIBLE_DEVICES=0 python synthesize_dataset_for_stage1.py
    

Environment Setting

  cd ../ # DEBIR/
  conda env create -f install.yml
  conda init
  conda activate DEBIR

Training

[Official weights]

    # [Stage-1]
    CUDA_VISIBLE_DEVICES=0,1,2,3 python train_stage1.py
    
    # [Stage-2]
    CUDA_VISIBLE_DEVICES=0 python prepare_stage2w.py # make pseudo-gt 
    CUDA_VISIBLE_DEVICES=0,1,2,3 python train_stage2w.py # stage-2 warm-up
    CUDA_VISIBLE_DEVICES=0,1,2,3 python train_stage2m.py # stage-2 main
    
    # [Stage-3]
    CUDA_VISIBLE_DEVICES=0,1,2,3 python train_stage3.py

Test

    CUDA_VISIBLE_DEVICES=0 python test.py

Citation

@inproceedings{kim2026debir,
  title={Dynamic Exposure Burst Image Restoration},
  author={Kim, Woohyeok and Rim, Jaesung and Kim, Daeyeon and Cho, Sunghyun},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2026}
}

Contact

If you have any questions, please feel free to contact woohyeok@postech.ac.kr

Acknowledgment: This code is based on [Burstormer], [EMA-VFI], and [RAFT]

About

[CVPR 2026] Official PyTorch implementation of "DEBIR"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages