/CBDNet-pytorch

An unofficial implementation of CBDNet by PyTorch.

Primary LanguagePythonMIT LicenseMIT

CBDNet-pytorch

An unofficial implementation of CBDNet by PyTorch.

CBDNet in MATLAB

CBDNet in Tensorflow

Quick Start

Data

Download the dataset and pre-trained model: [OneDrive] [Baidu Pan (8ko0)] [Mega]

Extract the files to dataset folder and checkpoint folder as follow:

Train

Train the model on synthetic noisy images:

python train_syn.py

Train the model on real noisy images:

python train_real.py

Train the model on synthetic noisy images and real noisy images:

python train_all.py

In order to reduce the time to read the images, it will save all the images in memory which requires large memory.

Test

Test the trained model on DND dataset:

python test.py

Optional:

--ckpt {all,real,synthetic}     checkpoint type
--cpu [CPU]                     Use CPU

Example:

python test.py --ckpt synthetic --cpu

Network Structure

Image of Network

Realistic Noise Model

Given a clean image x, the realistic noise model can be represented as:

Where y is the noisy image, f(.) is the CRF function and the irradiance , M(.) represents the function that convert sRGB image to Bayer image and DM(.) represents the demosaicing function.

If considering denosing on compressed images,

Result