Noise2Sim suppresses both independent and correlated nosies through training a neural networkin a self-supervised learning manner.
Project description
Suppression of Correlated Noises with Similarity-based Unsupervised Deep Learning
Introduction
Noise2Sim is a general unsupervised deep denoising method. On the common benchmark and practical low-dose CT datasets, Noise2Sim performs as effectively as or even better than the supervised learning methods. It has potential in various applications. Details can be found on the project page and in the paper.
News
Jan 6, 2022, noise2sim 0.1.2 released
Dec 24, 2021, noise2sim 0.1.0 released
Installation
Pytorch is required, for example,
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch # install pytorch
Then, Noise2Sim can be easily installed through pip,
pip install noise2sim
Or Noise2Sim can be installed from source,
git clone https://github.com/niuchuangnn/noise2sim.git
cd noise2sim
pip install -e .
Train denoising model with Noise2Sim
Low-dose CT Images
The low-dose CT dataset can be obtained at Low Dose CT Grand Challenge. The preprocessed FDA data can be obtained here.
Arrange the Mayo data like:
├── datasets
├── Mayo
├── L067
├── L096
...
List training and testing files:
from noise2sim.tools import prepare_ldct
python prepare_ldct.py --patient-folder L067 L096 L109 L143 L192 L286 L291 L310 --output-file ./datasets/Mayo/mayo_train.txt
python prepare_ldct.py --patient-folder L506 L333 --output-file ./datasets/Mayo/mayo_test.txt
Run on 4 GPUs:
python ./scripts/train.py --config-file ./configs/ldct_mayo_unet2.py # for Mayo dataset
python ./scripts/train.py --config-file ./configs/ldct_fda_unet2.py # for FDA dataset
Photon-counting CT Images
The photon-counting datasets can be obtained here,
and put it under ./datasets/
.
Run on 4 GPUs:
python ./tools/train.py --config-file ./configs/pcct_livemouse_unet2.py # for live mouse dataset
python ./tools/train.py --config-file ./configs/pcct_leg_unet2.py # for live leg dataset
python ./tools/train.py --config-file ./configs/pcct_diedmouse_unet2.py # for died mouse dataset
Natural Images
Download BSD68 test dataset at here,
and put them under the folder ./datasets/
Prepare dataset:
python noise2sim.tools.prepare_bsd400_lmdb.py
Run on 1 GPU:
python ./scripts/train.py --config-file ./configs/bsd400_unet2_ps3_ns8_gpu1.py # simultaneous training and testing
Run on 8 GPUs:
python ./sctipts/train.py --config-file ./configs/bsd400_unet2_ps3_ns8_gpu8.py # simultaneous training and testing
The results in the paper were obtained using 8 GPUs, you can obtain similar results with 1 GPU.
Using our pretrained models
Download our pretrained model here, and put these models under results
folder.
Then, run the corresponding test script as
python scripts/test_ldct.py --config-file ./configs/ldct_mayo_unet2.py # for Mayo dataset
python scripts/test_ldct.py --config-file ./configs/ldct_fda_unet2.py # for FDA dataset
python scripts/test_pcct.py --config-file ./configs/pcct_livemouse_unet2.py # for live mouse dataset
python scripts/test_pcct.py --config-file ./configs/pcct_leg_unet2.py # for chicken leg dataset
python scripts/test_pcct.py --config-file ./configs/pcct_diedmouse_unet2.py # for died mouse dataset
Citation
@inproceedings{noise2sim2021,
title={Noise2Sim – Similarity-based Self-Learning for Image Denoising},
author={Niu, Chuang and Wang, Ge},
booktitle={arXiv:2011.03384},
year={2020}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for noise2sim-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef240d129542ea8a453a0fc28ac4f9ac36baaebd9d1be1f2f857d98a47a7b99c |
|
MD5 | 2c9f2200d127dda32dd7eeacb34c32ed |
|
BLAKE2b-256 | 998aedbd3e7e425d7534ab46f4b27c29ed40c581b4cfcc3d277d76002f8be5e1 |