All Projects → lychengr3x → Image-Denoising-with-Deep-CNNs

lychengr3x / Image-Denoising-with-Deep-CNNs

Licence: MIT License
Use deep Convolutional Neural Networks (CNNs) with PyTorch, including investigating DnCNN and U-net architectures

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Image-Denoising-with-Deep-CNNs

depth-map-prediction
Pytorch Implementation of Depth Map Prediction from a Single Image using a Multi-Scale Deep Network
Stars: ✭ 78 (+44.44%)
Mutual labels:  convolutional-neural-network
tensorflow-image-classifier
Easily train an image classifier and then use it to label/tag other images
Stars: ✭ 29 (-46.3%)
Mutual labels:  convolutional-neural-network
NLRN
Code for Non-Local Recurrent Network for Image Restoration (NeurIPS 2018)
Stars: ✭ 165 (+205.56%)
Mutual labels:  image-denoising
strollr2d icassp2017
Image Denoising Codes using STROLLR learning, the Matlab implementation of the paper in ICASSP2017
Stars: ✭ 22 (-59.26%)
Mutual labels:  image-denoising
Keras-MultiClass-Image-Classification
Multiclass image classification using Convolutional Neural Network
Stars: ✭ 48 (-11.11%)
Mutual labels:  convolutional-neural-network
SimpNet-Tensorflow
A Tensorflow Implementation of the SimpNet Convolutional Neural Network Architecture
Stars: ✭ 16 (-70.37%)
Mutual labels:  convolutional-neural-network
DudeNet
Designing and Training of A Dual CNN for Image Denoising (Knowledge-based Systems, 2021)
Stars: ✭ 45 (-16.67%)
Mutual labels:  image-denoising
coursera-ai-for-medicine-specialization
Programming assignments, labs and quizzes from all courses in the Coursera AI for Medicine Specialization offered by deeplearning.ai
Stars: ✭ 80 (+48.15%)
Mutual labels:  convolutional-neural-network
PolyphonicPianoTranscription
Recurrent Neural Network for generating piano MIDI-files from audio (MP3, WAV, etc.)
Stars: ✭ 146 (+170.37%)
Mutual labels:  convolutional-neural-network
sentiment-analysis-of-tweets-in-russian
Sentiment analysis of tweets in Russian using Convolutional Neural Networks (CNN) with Word2Vec embeddings.
Stars: ✭ 51 (-5.56%)
Mutual labels:  convolutional-neural-network
deep-explanation-penalization
Code for using CDEP from the paper "Interpretations are useful: penalizing explanations to align neural networks with prior knowledge" https://arxiv.org/abs/1909.13584
Stars: ✭ 110 (+103.7%)
Mutual labels:  convolutional-neural-network
Hierarchical-Typing
Code and Data for all experiments from our ACL 2018 paper "Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking"
Stars: ✭ 44 (-18.52%)
Mutual labels:  convolutional-neural-network
Uformer
[CVPR 2022] Official repository for the paper "Uformer: A General U-Shaped Transformer for Image Restoration".
Stars: ✭ 415 (+668.52%)
Mutual labels:  image-denoising
DeepBind-with-PyTorch
CNN architecture for predicting DNA binding sites for Transcription Factors
Stars: ✭ 36 (-33.33%)
Mutual labels:  convolutional-neural-network
DSMSCN
[MultiTemp 2019] Official Tensorflow implementation for Change Detection in Multi-temporal VHR Images Based on Deep Siamese Multi-scale Convolutional Neural Networks.
Stars: ✭ 63 (+16.67%)
Mutual labels:  convolutional-neural-network
R2Net
Pytorch code for "Attention Based Real Image Restoration", IEEE Transactions on Neural Networks and Learning Systems, 2021
Stars: ✭ 19 (-64.81%)
Mutual labels:  image-denoising
DeTraC COVId19
Classification of COVID-19 in chest X-ray images using DeTraC deep convolutional neural network
Stars: ✭ 34 (-37.04%)
Mutual labels:  convolutional-neural-network
sparselandtools
✨ A Python package for sparse representations and dictionary learning, including matching pursuit, K-SVD and applications.
Stars: ✭ 55 (+1.85%)
Mutual labels:  image-denoising
Preprocessing-Method-for-STEMI-Detection
Official source code of "Preprocessing Method for Performance Enhancement in CNN-based STEMI Detection from 12-lead ECG"
Stars: ✭ 12 (-77.78%)
Mutual labels:  convolutional-neural-network
minirocket
MINIROCKET: A Very Fast (Almost) Deterministic Transform for Time Series Classification
Stars: ✭ 166 (+207.41%)
Mutual labels:  convolutional-neural-network

Image-Denoising-with-Deep-CNNs

Use deep Convolutional Neural Networks (CNNs) with PyTorch, including investigating DnCNN and U-net architectures. More details in tutorial.ipynb.

Model Architecture

  1. DnCNN

  1. UDnCNN

  2. DUDnCNN (Dilated U-shaped DnCNN)

Each convolution placed after k pooling and l unpooling in the network, should be replaced by a dilated filter with 2^(k−l) − 1 holes. This can be achieved with the dilation optional argument of nn.Conv2d. Make sure set up the argument padding accordingly to maintain tensors with the same spatial dimension during the forward propagation.

Dataset

Images from Berkeley Segmentation Dataset and Benchmark.

It contains two sub-directories: train and test, which consist of 200 and 100 images, respectively, of either size 321 × 481 or 481 × 321. While we saw that thousand to millions of images were required for image classification, we can use a much smaller training set for image denoising. This is because denoising each pixel of an image can be seen as one regression problem. Hence, our training is in fact composed of 200 × 321 × 481 ≈ 31 million samples.

Testing Environment

  • Pytorch version: 1.0.0
  • CUDA version: 9.0.176
  • Python version: 3.6.8
  • CPU: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
  • GPU: GeForce GTX 1080 Ti (11172MB GRAM)
  • RAM: 32GB

Usage

  1. Clone this repository
git clone https://github.com/lychengr3x/Image-Denoising-with-Deep-CNNs.git
  1. Download dataset
cd Image-Denoising-with-Deep-CNNs/dataset
wget https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/BSDS300-images.tgz
tar xvzf BSDS300-images.tgz
rm BSDS300-images.tgz
  1. Train the model
cd ../src
python main.py

PS: Read argument.py to see what parameters that you can change.

Demonstration and tutorial

Please see demo.ipynb for demonstration, and tutorial.ipynb for tutorial.

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].