Skip to content

Dsfer-Net: A Deep Supervision and Feature Retrieval Network for Bitemporal Change Detection Using Modern Hopfield Networks

License

Notifications You must be signed in to change notification settings

ShizhenChang/Dsfer-Net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dsfer-Net: A Deep Supervision and Feature Retrieval Network for Bitemporal Change Detection Using Modern Hopfield Network

Shizhen Chang, Michael Kopp, Pedram Ghamisi, and Bo Du

Flowchart

Introduction

This project concludes the official Pytorch implementation for applying Hopfield layer for deep feature retrieval and aggregration in our paper Dsfer-Net: A Deep Supervision and Feature Retrieval Network for Bitemporal Change Detection Using Modern Hopfield Network which has been conducted at the Institute of Advanced Research in Artificial Intelligence (IARAI).

Clues of the project:

  1. Preliminaries
  2. Usage
  3. Results
  4. Paper
  5. Acknowledgement
  6. License

Preliminaries

  • Environments:
s1.11.0+cu113
numpy==1.23.0
einops==0.4.1
scikit-image==0.18.0
scikit-learn==0.24.1
  • Datasets and Settings:

Three datasets are used in this repo: LEVIR-CD dataset, WHU-CD dataset, and CDD dataset.

Detailed settings of the datasets can be found in our paper, and the cropped image can also be downloaded from:

** LEVIR-CD: Google Drive

** WHU-CD: Google Drive

** CDD-CD: Google Drive

The path of the images is orgarnied as follow:

├─ <Root-path-of-the LEVIR-CD and CDD dataset>/
│   ├──train/
│   │  ├──A
│   │  ├──B
│   │  ├──label
│   ├──val/
│   │  ├──A
│   │  ├──B
│   │  ├──label
│   ├──test/
│   │  ├──A
│   │  ├──B
│   │  ├──label
├─ <Root-path-of-the WHU dataset>/
│───A
│───B
│───label

Usage

  • Main arguments of this repo:
--dataID                    dataset id in the training/testing.
--data_dir                  root directory of the datasets.
--batch_size                number of images in each batch.
--lam                       the pernatly scalar on loss.
--learning_rate             learning rate.
--weight_decay              regularisation parameter for L2-loss.
--num_steps                 number of training steps.
--num_steps_stop            number of training steps for early stopping.
  • Pretrain the network on training and validation sets:
python Train.py

Alternatively, you can download our pretrained models for a quick look.

  • Evaluating the performance on the test set:
python Test.py

Results

  • Examples of the visualized results of different methods on three datasets:

Visualized_Result

  • Quantitative analysis of different networks:

Quantitative_analysis

Paper

For researchers who are interested in using this project, please cite the following paper:

@article{chang2023dsfer,
  title={Dsfer-Net: A Deep Supervision and Feature Retrieval Network for Bitemporal Change Detection Using Modern Hopfield Networks},
  author={Chang, Shizhen and Kopp, Michael and Ghamisi, Pedram},
  journal={arXiv preprint arXiv:2304.01101},
  year={2023}
}

Acknowledgement

The authors would like to thank the authors of all comparative methods for sharing their codes, the contributors of the LEVIR-CD, WHU-CD, and CDD datasets, Dr. Yonghao Xu for his valuable comments and discussions, and the Institute of Advanced Research in Artificial Intelligence (IARAI) for its support.

License

This repo is distributed under MIT License. The code can be used for academic purposes only.

About

Dsfer-Net: A Deep Supervision and Feature Retrieval Network for Bitemporal Change Detection Using Modern Hopfield Networks

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages