Awesome
<div align="center"> <h2> CDMamba: Remote Sensing Image Change Detection with Mamba </h2> </div> <br> <div align="center"> <img src="resources/CDMamba.png" width="800"/> </div> <br> <div align="center"> <a href="https://arxiv.org/abs/2406.04207"> <span style="font-size: 20px; ">arXiv</span> </a> <a href="resources/CDMamba.pdf"> <span style="font-size: 20px; ">PDF</span> </a> </div> <br> <br> <br> <br>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
- Introduction
- Benchmark
- TODO
- Table of Contents
- Installation
- Dataset Preparation
- Model Training and Testing
- Citation
- License
- Contact Us
Installation
Requirements
- Linux system, Windows is not tested, depending on whether
causal-conv1d
andmamba-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.
<details open>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: Please refer to https://github.com/hustvl/Vim or https://blog.csdn.net/weixin_45667052/article/details/136311600 when installing mamba.
</details>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
- Data download link: WHU-CD Dataset PanBaiDu. Code:t2sb
LEVIR-CD Dataset
- Data download link: LEVIR-CD Dataset PanBaiDu. Code:qlvs
LEVIR+-CD Dataset
- Data download link: LEVIR+-CD Dataset PanBaiDu. Code: xtj8
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
PanBaiDu download link: Weight PanBaiDu. Code:ckpt
Google Drive download link [https://drive.google.com/file/d/1ImTvjN-vPnlJtVwfemzeHWcjoNMFsrS7/view?usp=drive_link]
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 π¬