Skip to content

zmoka-zht/CDMamba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CDMamba: Remote Sensing Image Change Detection with Mamba



     arXiv      PDF     


GitHub stars license arXiv



Introduction

This repository is the code implementation of the paper CDMamba: Remote Sensing Image Change Detection with Mamba

The current branch has been tested on Linux system, PyTorch 2.1.0 and CUDA 12.1, supports Python 3.10.

If you find this project helpful, please give us a star ⭐️, your support is our greatest motivation.

Updates

🌟 2024.06.20 Released the CDMamba project.

Benchmark

Change detection methods supported by the repository

  • FC-EF (ICIP'2018)
  • FC-Siam-diff (ICIP'2018)
  • FC-Siam-conc (ICIP'2018)
  • IFN (ISPRS'2020)
  • SNUNet (GRSL'2021)
  • SwinUnet (TGRS'2022)
  • BIT (TGRS'2022)
  • ChangeFormer (IGARSS'22)
  • MSCANet (JSTARS'2022)
  • Paformer (GRSL'2022)
  • DARNet (TGRS'2022)
  • ACABFNet (JSTARS'2023)
  • RS-Mamba (arxiv'2024)
  • ChangeMamba (arxiv'2024)
  • CDMamba (arxiv'2024)
  • ......

TODO

  • Updated more change detection methods

Table of Contents

Installation

Requirements

  • Linux system, Windows is not tested, depending on whether causal-conv1d and mamba-ssm can be installed
  • Python 3.8+, recommended 3.10
  • PyTorch 2.0 or higher, recommended 2.1.0
  • CUDA 11.7 or higher, recommended 12.1

Environment Installation

It is recommended to use Miniconda for installation. The following commands will create a virtual environment named cd_mamba and install PyTorch. In the following installation steps, the default installed CUDA version is 12.1. If your CUDA version is not 12.1, please modify it according to the actual situation.

Note: If you are experienced with PyTorch and have already installed it, you can skip to the next section. Otherwise, you can follow the steps below.

Step 0: Install Miniconda.

Step 1: Create a virtual environment named cd_mamba and activate it.

conda create -n cd_mamba python=3.10
conda activate cd_mamba

Step 2: Install dependencies.

pip install -r requirements.txt

Note: If importing mamba fails, please download the corresponding package at https://github.com/state-spaces/mamba/releases.

Install CDMamba

You can download or clone the CDMamba repository.

git clone git@github.com:zmoka-zht/CDMamba.git
cd CDMamba

Dataset Preparation

Remote Sensing Change Detection Dataset

We provide the method of preparing the remote sensing change detection dataset used in the paper.

WHU-CD Dataset

LEVIR-CD Dataset

LEVIR+-CD Dataset

Organization Method

You can also choose other sources to download the data, but you need to organize the dataset in the following format:

${DATASET_ROOT} # Dataset root directory, for example: /home/username/data/LEVIR-CD
├── A
│   ├── train_1_1.png
│   ├── train_1_2.png
│   ├──...
│   ├── val_1_1.png
│   ├── val_1_2.png
│   ├──...
│   ├── test_1_1.png
│   ├── test_1_2.png
│   └── ...
├── B
│   ├── train_1_1.png
│   ├── train_1_2.png
│   ├──...
│   ├── val_1_1.png
│   ├── val_1_2.png
│   ├──...
│   ├── test_1_1.png
│   ├── test_1_2.png
│   └── ...
├── label
│   ├── train_1_1.png
│   ├── train_1_2.png
│   ├──...
│   ├── val_1_1.png
│   ├── val_1_2.png
│   ├──...
│   ├── test_1_1.png
│   ├── test_1_2.png
│   └── ...
├── list
│   ├── train.txt
│   ├── val.txt
│   └── test.txt

Model Training and Testing

All configuration for model training and testing are stored in the local folder config

Example of Training on LEVIR-CD Dataset

python train.py --config/mamba/levir_cdmamba.json 

Example of Testing on LEVIR-CD Dataset

python test.py --config/mamba/levir_test_cdmamba.json 

CDMamba Weight

Data download link: Weight PanBaiDu. Code:d0tn

Citation

If you use the code or performance benchmarks of this project in your research, please refer to the following bibtex citation of CDMamba.

@article{zhang2024cdmamba,
  title={CDMamba: Remote Sensing Image Change Detection with Mamba},
  author={Zhang, Haotian and Chen, Keyan and Liu, Chenyang and Chen, Hao and Zou, Zhengxia and Shi, Zhenwei},
  journal={arXiv preprint arXiv:2406.04207},
  year={2024}
}

License

This project is licensed under the Apache 2.0 License.

Contact Us

If you have any other questions❓, please contact us in time 👬

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages