Skip to content

bemc22/GeneralizedR2R

Repository files navigation

[CVPR 2025] Generalized Recorrupted-to-Recorrupted: Self-Supervised Learning Beyond Gaussian Noise

Brayan Monroy, Jorge Bacca, Julian Tachella


DOI:10.1109/CVPR52734.2025.02622 arXiv Ask DeepWiki

In this paper, we propose Generalized R2R (GR2R), extending the R2R framework to handle a broader class of noise distribution as additive noise like log-Rayleigh and address the natural exponential family including Poisson and Gamma noise distributions, which play a key role in many applications including low-photon imaging and synthetic aperture radar. We show that the GR2R loss is an unbiased estimator of the supervised loss and that the popular Stein's unbiased risk estimator can be seen as a special case.

📢 News

  • Mar. 29, 2025: Native Jax and PyTorch demos for MNIST are now available in the repository.
  • Jan. 04, 2025: Fully integrated into DeepInverse GitHub Stars, take a look at the examples!

Method

We present GR2R, this loss can be used for unsupervised image denoising with unorganized noisy images where the observation model $\mathbf{y}\sim p(\mathbf{y}|\mathbf{x})$ belongs to the natural exponential family as

$$p(\mathbf{y}|\mathbf{x})= h(\mathbf{y}) \exp( \mathbf{y}^{\top} \eta(\mathbf{x}) - \phi(\mathbf{x})).$$

For this family of measurements distribution, we generalize the corruption strategy as

$$\mathbf{y}_1 \sim \; p(\mathbf{y}_1| \mathbf{y}, \alpha),$$ $$\mathbf{y}_2 = \frac{1}{\alpha} \mathbf{y} - \frac{(1-\alpha)}{\alpha}\mathbf{y}_1,$$

then, the generalize MSE loss is computed as

$$\mathcal{L}_{\text{GR2R-MSE}}^{\alpha}(\mathbf{y};f)=\mathbb{E}_{\mathbf{y}_1,\mathbf{y}_2|\mathbf{y},\alpha} \Vert f(\mathbf{y}_1) - \mathbf{y}_2 \Vert_2^2.$$

Quickstart

To quickly get started with the GeneralizedR2R framework, you can use the provided demo scripts for JAX and PyTorch on the MNIST dataset.

To run the JAX demo:

python jax_demo.py

To run the PyTorch demo:

python pytorch_demo.py

These scripts will train a model on the MNIST dataset using the GeneralizedR2R framework and display the training progress and results.

Implementations

We provide training and testing demonstrations for image denoising across popular noise distributions belonging to the natural exponential family, such as, Gamma, Poisson, Gaussian, and Binomial noise.

Demo Noise Type Dataset Link
Train Poisson/Gaussian/Gamma fastMRI/DIV2K Open In Colab
Test Gamma DIV2K Open In Colab
Test Poisson DIV2K Open In Colab
Test Gaussian fastMRI Open In Colab

How to cite

If this code is useful for your research and you use it in an academic work, please consider citing this paper as

@inproceedings{monroy2025generalized,
  title={Generalized recorrupted-to-recorrupted: Self-supervised learning beyond Gaussian noise},
  author={Monroy, Brayan and Bacca, Jorge and Tachella, Juli{\'a}n},
  booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR)},
  month={June},
  year={2025},
  pages={28155-28164}
}

About

[CVPR 2025] Generalized Recorrupted-to-Recorrupted

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages