Skip to content

Latest commit

 

History

55 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SKOOP-RED Banner

Python License: MIT

Official implementation of the paper: “Stabilizing RED using the Koopman Operator”
Accepted to IEEE Signal Processing Letters (SPL), 2025.
DOI arXiv

📌 Overview

Regularization by Denoising (RED) is a powerful framework for solving inverse problems using pretrained denoisers as implicit regularizers for model-based reconstruction. Although RED gives high-fidelity reconstructions, the use of trained black-box denoisers can result in instability. SKOOP-RED introduces novel data-driven mechanism for stabilizing RED. This is based on the linear Koopman operator, a classical tool for analyzing nonlinear dynamical systems. Specifically, we use the Koopman operator to capture the local dynamics of the RED iterations. The spectral radius of this operator is used to derive an adaptive step size rule that is modelagnostic, introduces reasonable overhead, and does not require retraining. We present reconstructions using different pretrained denoisers to demonstrate the effectiveness of our stabilization mechanism.


🛠 Requirements

torch numpy opencv-python matplotlib scikit-image h5py scipy deepinv (https://deepinv.github.io/deepinv/index.html) tqdm

#Use requirements.txt to install all dependencies:

pip install -r requirements.txt

🚀 Getting Started

Clone the repository and install dependencies:

git clone https://github.com/YourUsername/SKOOP-RED.git
cd SKOOP-RED
pip install -r requirements.txt

📂 Directory Structure

SKOOP-RED/
├── demo_SR.ipynb           
├── main.py             
├── utils/               
├── methods/
├── Set15C/             
├── requirements.txt
└── README.md

🖼 Example: Superresolution Demo

jupyter notebook demo_SR.ipynb

Inputs:

#Update img_path in demo_SR.py or the notebook to use your own images. #Pretrained denoisers (DnCNN, DRUNet, etc) are automatically handled by deepinv.

Outputs:

#Reconstructed images and result plots (PSNR, residuals) are saved in the working directory.

📈 Results:

Vanilla RED is often unstable (PSNR drops, residuals explode). SKOOP-RED provides robust stabilization, consistent improvement, and high-quality reconstructions across tasks. #See the paper for quantitative and visual results.


📚 Citation

If you use this code or build upon our work, please cite:

Stabilizing RED using the Koopman Operator
Shraddha Chavan and Kunal N. Chaudhury
IEEE Signal Processing Letters (SPL), 2025
DOI: 10.1109/LSP.2025.3604690

@ARTICLE{11145758,
  author={Chavan, Shraddha and Chaudhury, Kunal N.},
  journal={IEEE Signal Processing Letters}, 
  title={Stabilizing RED using the Koopman Operator}, 
  year={2025},
  volume={},
  number={},
  pages={1-5},
  keywords={Image reconstruction; Deblurring; Stability analysis; Superresolution; Training; Runtime; Kernel; Hilbert space; Heuristic algorithms; Data mining; image reconstruction; deep denoiser; RED; convergence; Koopman operator; stability},
  doi={10.1109/LSP.2025.3604690}
}

About

Official code for the IEEE SPL paper "Stabilizing RED using the Koopman Operator (SKOOP-RED)." Includes implementations, demos, and scripts to reproduce results and plots.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages