All Projects → Wenchao-Du → Lir For Unsupervised Ir

Wenchao-Du / Lir For Unsupervised Ir

This is an implementation for the CVPR2020 paper "Learning Invariant Representation for Unsupervised Image Restoration"

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lir For Unsupervised Ir

Awesome Artificial Intelligence
A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers.
Stars: ✭ 6,516 (+12194.34%)
Mutual labels:  unsupervised-learning
Transferlearning
Transfer learning / domain adaptation / domain generalization / multi-task learning etc. Papers, codes, datasets, applications, tutorials.-迁移学习
Stars: ✭ 8,481 (+15901.89%)
Mutual labels:  unsupervised-learning
Susi
SuSi: Python package for unsupervised, supervised and semi-supervised self-organizing maps (SOM)
Stars: ✭ 42 (-20.75%)
Mutual labels:  unsupervised-learning
Minisom
🔴 MiniSom is a minimalistic implementation of the Self Organizing Maps
Stars: ✭ 801 (+1411.32%)
Mutual labels:  unsupervised-learning
Summary loop
Codebase for the Summary Loop paper at ACL2020
Stars: ✭ 26 (-50.94%)
Mutual labels:  unsupervised-learning
Uc Davis Cs Exams Analysis
📈 Regression and Classification with UC Davis student quiz data and exam data
Stars: ✭ 33 (-37.74%)
Mutual labels:  unsupervised-learning
All About The Gan
All About the GANs(Generative Adversarial Networks) - Summarized lists for GAN
Stars: ✭ 630 (+1088.68%)
Mutual labels:  unsupervised-learning
Php Ml
PHP-ML - Machine Learning library for PHP
Stars: ✭ 7,900 (+14805.66%)
Mutual labels:  unsupervised-learning
Domain Transfer Network
TensorFlow Implementation of Unsupervised Cross-Domain Image Generation
Stars: ✭ 850 (+1503.77%)
Mutual labels:  unsupervised-learning
Unsuprevised seg via cnn
Stars: ✭ 38 (-28.3%)
Mutual labels:  unsupervised-learning
Variational Autoencoder
Variational autoencoder implemented in tensorflow and pytorch (including inverse autoregressive flow)
Stars: ✭ 807 (+1422.64%)
Mutual labels:  unsupervised-learning
Unsup3d
(CVPR'20 Oral) Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Images in the Wild
Stars: ✭ 905 (+1607.55%)
Mutual labels:  unsupervised-learning
Iva
IVA: Independent Vector Analysis implementation
Stars: ✭ 35 (-33.96%)
Mutual labels:  unsupervised-learning
Simclr
PyTorch implementation of SimCLR: A Simple Framework for Contrastive Learning of Visual Representations
Stars: ✭ 750 (+1315.09%)
Mutual labels:  unsupervised-learning
Student Teacher Anomaly Detection
Student–Teacher Anomaly Detection with Discriminative Latent Embeddings
Stars: ✭ 43 (-18.87%)
Mutual labels:  unsupervised-learning
Context Encoder
[CVPR 2016] Unsupervised Feature Learning by Image Inpainting using GANs
Stars: ✭ 731 (+1279.25%)
Mutual labels:  unsupervised-learning
Discogan Pytorch
PyTorch implementation of "Learning to Discover Cross-Domain Relations with Generative Adversarial Networks"
Stars: ✭ 961 (+1713.21%)
Mutual labels:  unsupervised-learning
Voxelmorph
Unsupervised Learning for Image Registration
Stars: ✭ 1,057 (+1894.34%)
Mutual labels:  unsupervised-learning
Tadw
An implementation of "Network Representation Learning with Rich Text Information" (IJCAI '15).
Stars: ✭ 43 (-18.87%)
Mutual labels:  unsupervised-learning
Gdynet
Unsupervised learning of atomic scale dynamics from molecular dynamics.
Stars: ✭ 37 (-30.19%)
Mutual labels:  unsupervised-learning

Learning Invariant Representation for Unsupervised Image Restoration (CVPR 2020)

Introduction

This is an implementation for the paper "Learning Invariant Representation for Unsupervised Image Restoration" (CVPR 2020), a simple and efficient framework for unsupervised image restoration, which is injected into the general domain transfer architecture. More details could be found in the original paper.

Network Architecture

test

Proposed method aims to learn the intermediate representation free of noise from corrupted input that $z_{x}$and align it with $z_{y}$ from clean image in the latent space $Z$. In addition, adversarial domain adaption and self-supervised constraints are introduced into our architecture. As shown in Fig1-(b), our method is more straight and effective than other domain-transfer methods, e.g., CycleGAN, UNIT, DRIT and so on.

Prerequisites

  • (OS) Windows/Ubuntu
  • Python >= 3.6
  • Pytorch >= 1.1.0
  • Python-Libs, e.g., cv2, skimage.

Training

  • Prepare your dataset. In our experiments, we used the PascalVoc dataset to generate training data for Gaussian noise removal.
  • Generate Gaussian or Poisson noise via skimage-lib.
  • Update the data paths in config.py and utils.py file.
  • Train your model by the train.py file.

Test

A simple script to test your model:

python3 test.py

Results

  • Gaussian Noise Removal

  • Poisson Noise Removal

  • Medical Image Denoising (Low-Dose CT)

Extending for other IR tasks

You could extend this work for other image restoration tasks, e.g., super-resolution, deblurring and so on. If so, you need to adjust some hyperparameters for them, and extra self-supervised modules also need to be altered. In this paper, we just provide a more general idea to process the unsupervised image restoration tasks via representation learning.

Acknowledge

Our code is based on the UNIT, which is a nice work for unsupervised image translation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].