Home

Awesome

Spectral Enhanced Rectangle Transformer for Hyperspectral Image Denoising

Miaoyu Li, Ji Liu, Ying Fu, Yulun Zhang, and Dejing Dou, "Spectral Enhanced Rectangle Transformer for Hyperspectral Image Denoising" CVPR 2023

Arxiv

<hr />

Abstract: Denoising is a crucial step for Hyperspectral image (HSI) applications. Though witnessing the great power of deep learning, existing HSI denoising methods suffer from limitations in capturing the non-local self-similarity. Transformers have shown potential in capturing long-range dependencies, but few attempts have been made with specifically designed Transformer to model the spatial and spectral correlation in HSIs. In this paper, we address these issues by proposing a spectral enhanced rectangle Transformer, driving it to explore the non-local spatial similarity and global spectral low-rank property of HSIs. For the former, we exploit the rectangle self-attention horizontally and vertically to capture the non-local similarity in the spatial domain. For the latter, we design a spectral enhancement module that is capable of extracting global underlying low-rank property of spatial-spectral cubes to suppress noise, while enabling the interactions among non-overlapping spatial rectangles. Extensive experiments have been conducted on both synthetic noisy HSIs and real noisy HSIs, showing the effectiveness of our proposed method in terms of both objective metric and subjective visual quality.

<hr />

Network Architecture

<img src = "figs/overall.png">

Contents

  1. Models
  2. Datasets
  3. Training and Testing
  4. Results

<a id="Models"></a>

Models

We also provide the checkpoints of our competing methods.

Quantitative Comparison on ICVL Dataset

MethodPublicationParams (M)GFLOPs (512×512×31)Model Zoo (Gaussian noise)Model Zoo (Complex noise)
GRNetTGRS 202241.44610.7Google DriveGoogle Drive
QRNN3DTNNLS 20200.862513.7Google DriveGoogle Drive
T3SCNeurIPS 20210.83-Google DriveGoogle Drive
MACNetTGRS 20220.43-Google DriveGoogle Drive
SSTAAAI 20234.102082.4`Google DriveGoogle Drive
SERTCVPR 20231.911018.9Google DriveGoogle Drive

Quantitative Comparison on Realistic Dataset

MethodParams (M)GFLOPs(512×512×34)PSNRModel Zoo
GRNet44.40611.9Google Drive
QRNN3D0.862756.9Google Drive
T3SC0.83-Google Drive
MACNet0.43-Google Drive
SST2.14Google Drive
SERT1.911021.9Google Drive

Quantitative Comparison on Apex/Urban Dataset

MethodParams (M)GFLOPsModel Zoo
GRNet44.53Google Drive
QRNN3D0.86Google Drive
T3SC0.83Google Drive
MACNet0.43Google Drive
SST22.76GoogleDriver
SERT8Google Drive

<a id="Datasets"></a>

Datasets

ICVL

  1. split the entire dataset into training samples, testing samples and validating samples. The files used in training are listed in utility/icvl_partition/icvl_train_list.txt.
  2. generate lmdb dataset for training
python utility/lmdb_data.py
  1. download the testing data from BaiduDisk or generate them by yourself through
python utility/mat_data.py

Realistic Dataset

Testing HSIs are listed in utility/realistic_partition/test.txt. Other HSIs in the dataset are used for training.

Urban dataset

  1. Run the create_big_apex_dataset() funtion in utility/mat_data.py to generate training samples.

  2. Run the createDCmall() function in utility/lmdb_data.py to generate training lmdb dataset.

<a id="Training"></a>

Training and Testing

ICVL Dataset

#for gaussian noise
#----training----
python hside_simu.py -a sert_base -p sert_base_gaussian

#----testing---- The results are shown in Table 1 in the main paper.
python hside_simu_test.py -a sert_base -p sert_base_gaussian_test -r -rp checkpoints/icvl_gaussian.pth --test-dir /icvl_noise/512_50
#for comlpex noise
#----training----
python hside_simu_complex.py -a sert_base -p sert_base_complex

#----testing---- The results are shown in Table 2 in the main paper.
python hside_simu_test.py -a sert_base -p sert_base_complex_test -r -rp checkpoints/icvl_complex.pth --test-dir  /icvl_noise/512_mix

Urban Dataset

#----training----
python hside_urban.py -a sert_urban -p sert_urban 

#----testing----  The results are shown in Figure 4 in the main paper.
python hside_urban_test.py -a sert_urban -p sert_urban_test -r -rp ./checkpoints/real_urban.pth

Realistic Dataset

#----training----
python hside_real.py -a sert_real -p sert_real

#----testing---- The results are shown in Table 3 in the main paper.
python hside_real_test.py -a sert_real -p sert_real_test -r -rp ./checkpoints/real_realistic.pth

<a id="Results"></a>

Results

<details> <summary><strong>Denoising on Random noise (ICVL)</strong> (click to expand) </summary> <img src = "figs/table1.png"> </details> <details> <summary><strong>Denoising on Complex noise (ICVL)</strong> (click to expand) </summary> <img src = "figs/complex.png"> <img src = "figs/icvl.png"> </details> <details> <summary><strong>Denoising on Realistic noise </strong> (click to expand) </summary> <img src = "figs/real_table.png"> <img src = "figs/real.png"> </details> <details> <summary><strong>Denoising on Urban dataset</strong> (click to expand) </summary> <img src = "figs/urban.png"> </details>

Citations

If you find the code helpful in your resarch or work, please cite the following paper(s).

@inproceedings{li2023spatial,
    title={Spatial-Spectral Transformer for Hyperspectral Image Denoising},
    author={Li, Miaoyu and Fu, Ying and Zhang, Yulun},
    booktitle={AAAI},
    year={2023}
}
@inproceedings{li2023spectral,
    title={Spectral Enhanced Rectangle Transformer for Hyperspectral Image Denoising},
    author={Miaoyu Li and Ji Liu and Ying Fu and Yulun Zhang and Dejing Dou},
    booktitle={CVPR},
    year={2023}
}

Acknowledgement

The codes are based on QRNN3D.