NR-GAN: Noise Robust Generative Adversarial Networks

Related tags

Deep LearningNR-GAN
Overview

NR-GAN: Noise Robust Generative Adversarial Networks (CVPR 2020)

This repository provides PyTorch implementation for noise robust GAN (NR-GAN). NR-GAN is unique in that it can learn a clean image generator even when only noisy images are available for training.

NR-GAN examples

Note: In our previous studies, we have also proposed GANs for label noise. Please check them from the links below.

Paper

Noise Robust Generative Adversarial Networks. Takuhiro Kaneko and Tatsuya Harada. In CVPR, 2020.

[Paper] [Project] [Slides] [Video]

Installation

Clone this repo:

git clone https://github.com/takuhirok/NR-GAN.git
cd NR-GAN/

First, install Python 3+. Then install PyTorch 1.3 and other dependencies by the following:

pip install -r requirements.txt

Training

To train a model, use the following script:

bash ./scripts/train.sh [dataset] [model] [output_directory_path]

Example

To train SI-NR-GAN-I (sinrgan1) on CIFAR-10 with additive Gaussian noise with a fixed standard deviation (cifar10ag25), run the following:

bash ./scripts/train.sh cifar10ag25 sinrgan1 outputs

The results are saved into outputs.

Note: In our experiments, we report the best model encountered during training to mitigate the performance fluctuation caused by GAN training instability.

Options

Regarding [dataset], choose one option among the following:

  • cifar10: No noise
  • cifar10ag25: (A) Additive Gaussian noise with a fixed standard deviation
  • cifar10ag5-50: (B) Additive Gaussian noise with a variable standard deviation
  • cifar10lg25p16: (C) Local Gaussian noise with a fixed-size patch
  • cifar10lg25p8-24: (D) Local Gaussian noise with a variable-size patch
  • cifar10u50: (E) Uniform noise
  • cifar10mix: (F) Mixture noise
  • cifar10bg25k5: (G) Brown Gaussian noise
  • cifar10abg25k5: (H) Sum of (A) and (G)
  • cifar10mg25: (I) Multiplicative Gaussian noise with a fixed standard deviation
  • cifar10mg5-50: (J) Multiplicative Gaussian noise with a variable standard deviation
  • cifar10amg5_25: (K) Sum of few (A) and (I)
  • cifar10amg25_25: (L) Sum of much (A) and (I)
  • cifar10p30: (M) Poisson noise with a fixed total number of events
  • cifar10p10-50: (N) Poisson noise with a variable total number of events
  • cifar10pg30_5: (O) Sum of (M) and few (A)
  • cifar10pg30_25: (P) Sum of (M) and much (A)

Noise examples

Regarding [model], choose one option among the following:

  • gan: GAN
  • ambientgan: AmbientGAN
  • sinrgan1: SI-NR-GAN-I
  • sinrgan2: SI-NR-GAN-II
  • sdnrgan1: SD-NR-GAN-I
  • sdnrgan2: SD-NR-GAN-II
  • sdnrgan3: SD-NR-GAN-III

Examples of generated images

CIFAR-10 with additive Gaussian noise

cifar10ag25: (A) Additive Gaussian noise with a fixed standard deviation

Examples of generated images on CIFAR-10 with additive Gaussian noise

AmbientGAN is trained with the ground-truth noise model, while the other models are trained without full knowledge of the noise (i.e., the noise distribution type and noise amount).

CIFAR-10 with multiplicative Gaussian noise

cifar10mg25: (I) Multiplicative Gaussian noise with a fixed standard deviation

Examples of generated images on CIFAR-10 with multiplicative Gaussian noise

AmbientGAN is trained with the ground-truth noise model, while the other models are trained without full knowledge of the noise (i.e., the noise distribution type, noise amount, and signal-noise relationship).

Citation

If you find this work useful for your research, please cite our paper.

@inproceedings{kaneko2020NR-GAN,
  title={Noise Robust Generative Adversarial Networks},
  author={Kaneko, Takuhiro and Harada, Tatsuya},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2020}
}

Related work

  1. A. Bora, E. Price, A. G. Dimakis. AmbientGAN: Generative Models from Lossy Measurements. In ICLR, 2018.
  2. T. Kaneko, Y. Ushiku, T. Harada. Label-Noise Robust Generative Adversarial Networks. In CVPR, 2019.
  3. T. Kaneko, Y. Ushiku, T. Harada. Class-Distinct and Class-Mutual Image Generation with GANs. In BMVC, 2019.
Spectralformer: Rethinking hyperspectral image classification with transformers

Spectralformer: Rethinking hyperspectral image classification with transformers Danfeng Hong, Zhu Han, Jing Yao, Lianru Gao, Bing Zhang, Antonio Plaza

Danfeng Hong 102 Dec 29, 2022
PyTorch implementation of CDistNet: Perceiving Multi-Domain Character Distance for Robust Text Recognition

PyTorch implementation of CDistNet: Perceiving Multi-Domain Character Distance for Robust Text Recognition The unofficial code of CDistNet. Now, we ha

25 Jul 20, 2022
Sharpened cosine similarity torch - A Sharpened Cosine Similarity layer for PyTorch

Sharpened Cosine Similarity A layer implementation for PyTorch Install At your c

Brandon Rohrer 203 Nov 30, 2022
Repository for GNSS-based position estimation using a Deep Neural Network

Code repository accompanying our work on 'Improving GNSS Positioning using Neural Network-based Corrections'. In this paper, we present a Deep Neural

32 Dec 13, 2022
Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy.

Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy. Now with tensorflow 1.0 support. Evaluation usa

Marcel R. 349 Aug 06, 2022
Tensorflow implementation of soft-attention mechanism for video caption generation.

SA-tensorflow Tensorflow implementation of soft-attention mechanism for video caption generation. An example of soft-attention mechanism. The attentio

Paul Chen 153 Nov 14, 2022
Official implementation of the paper "Lightweight Deep CNN for Natural Image Matting via Similarity Preserving Knowledge Distillation"

Lightweight-Deep-CNN-for-Natural-Image-Matting-via-Similarity-Preserving-Knowledge-Distillation Introduction Accepted at IEEE Signal Processing Letter

DongGeun-Yoon 19 Jun 07, 2022
Differentiable Abundance Matching With Python

shamnet Differentiable Stellar Population Synthesis Installation You can install shamnet with pip. Installation dependencies are numpy, jax, corrfunc,

5 Dec 17, 2021
The source code for Adaptive Kernel Graph Neural Network at AAAI2022

AKGNN The source code for Adaptive Kernel Graph Neural Network at AAAI2022. Please cite our paper if you think our work is helpful to you: @inproceedi

11 Nov 25, 2022
Official Code for "Constrained Mean Shift Using Distant Yet Related Neighbors for Representation Learning"

CMSF Official Code for "Constrained Mean Shift Using Distant Yet Related Neighbors for Representation Learning" Requirements Python = 3.7.6 PyTorch

4 Nov 25, 2022
ICON: Implicit Clothed humans Obtained from Normals

ICON: Implicit Clothed humans Obtained from Normals arXiv, December 2021. Yuliang Xiu · Jinlong Yang · Dimitrios Tzionas · Michael J. Black Table of C

Yuliang Xiu 1.1k Dec 30, 2022
Implementation of parameterized soft-exponential activation function.

Soft-Exponential-Activation-Function: Implementation of parameterized soft-exponential activation function. In this implementation, the parameters are

Shuvrajeet Das 1 Feb 23, 2022
Implementation of paper "DeepTag: A General Framework for Fiducial Marker Design and Detection"

Implementation of paper DeepTag: A General Framework for Fiducial Marker Design and Detection. Project page: https://herohuyongtao.github.io/research/

Yongtao Hu 46 Dec 12, 2022
An Official Repo of CVPR '20 "MSeg: A Composite Dataset for Multi-Domain Segmentation"

This is the code for the paper: MSeg: A Composite Dataset for Multi-domain Semantic Segmentation (CVPR 2020, Official Repo) [CVPR PDF] [Journal PDF] J

226 Nov 05, 2022
Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation

SimplePose Code and pre-trained models for our paper, “Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation”, a

Jia Li 256 Dec 24, 2022
[NeurIPS-2021] Slow Learning and Fast Inference: Efficient Graph Similarity Computation via Knowledge Distillation

Efficient Graph Similarity Computation - (EGSC) This repo contains the source code and dataset for our paper: Slow Learning and Fast Inference: Effici

23 Nov 11, 2022
Official Pytorch implementation of ICLR 2018 paper Deep Learning for Physical Processes: Integrating Prior Scientific Knowledge.

Deep Learning for Physical Processes: Integrating Prior Scientific Knowledge: Official Pytorch implementation of ICLR 2018 paper Deep Learning for Phy

emmanuel 47 Nov 06, 2022
ncnn is a high-performance neural network inference framework optimized for the mobile platform

ncnn ncnn is a high-performance neural network inference computing framework optimized for mobile platforms. ncnn is deeply considerate about deployme

Tencent 16.2k Jan 05, 2023
This is a pytorch implementation of the NeurIPS paper GAN Memory with No Forgetting.

GAN Memory for Lifelong learning This is a pytorch implementation of the NeurIPS paper GAN Memory with No Forgetting. Please consider citing our paper

Miaoyun Zhao 43 Dec 27, 2022
Very deep VAEs in JAX/Flax

Very Deep VAEs in JAX/Flax Implementation of the experiments in the paper Very Deep VAEs Generalize Autoregressive Models and Can Outperform Them on I

Jamie Townsend 42 Dec 12, 2022