The implementation of TNNLS 2020 paper "3D Quasi-Recurrent Neural Network for Hyperspectral Image Denoising"
- Our network outperforms all leading-edge methods (2019) on ICVL dataset in both Gaussian and complex noise cases, as shown below:
- We demonstrated our network pretrained on 31-bands natural HSI database (ICVL) can be utilized to recover remotely-sensed HSI (> 100 bands) corrupted by real-world non-Gaussian noise due to terrible atmosphere and water absorptions
- Python >=3.5, PyTorch >= 0.4.1
- Requirements: opencv-python, tensorboardX, caffe
- Platforms: Ubuntu 16.04, cuda-8.0
Download ICVL hyperspectral image database from here (we only need .mat
version)
Note cafe (via conda install) and lmdb are required to execute the following instructions.
-
Read the function
create_icvl64_31
inutility/lmdb_data.py
and follow the instruction comment to define your data/dataset address. -
Create ICVL training dataset by
python utility/lmdb_data.py
Note matlab is required to execute the following instructions.
-
Read the matlab code of
matlab/generate_dataset*
to understand how we generate noisy HSIs. -
Read and modify the matlab code of
matlab/HSIData.m
to generate your own testing dataset
-
Download our pretrained models from OneDrive and move them to
checkpoints/qrnn3d/gauss/
andcheckpoints/qrnn3d/complex/
respectively. -
[Blind Gaussian noise removal]:
python hsi_test.py -a qrnn3d -p gauss -r -rp checkpoints/qrnn3d/gauss/model_epoch_50_118454.pth
-
[Mixture noise removal]:
python hsi_test.py -a qrnn3d -p complex -r -rp checkpoints/qrnn3d/complex/model_epoch_100_159904.pth
You can also use hsi_eval.py
to evaluate quantitative HSI denoising performance.
-
Training a blind Gaussian model firstly by
python hsi_denoising_gauss.py -a qrnn3d -p gauss --dataroot (your own dataroot)
-
Using the pretrained Gaussian model as initialization to train a complex model:
python hsi_denoising_complex.py -a qrnn3d -p complex --dataroot (your own dataroot) -r -rp checkpoints/qrnn3d/gauss/model_epoch_50_118454.pth --no-ropt
If you find this work useful for your research, please cite:
@article{wei2020QRNN3D,
title={3-D Quasi-Recurrent Neural Network for Hyperspectral Image Denoising},
author={Wei, Kaixuan and Fu, Ying and Huang, Hua},
journal={IEEE Transactions on Neural Networks and Learning Systems},
year={2020},
publisher={IEEE}
}
Please contact me if there is any question (Kaixuan Wei [email protected])