README.md
April 20, 2026 ยท View on GitHub

๐ท Introduction
rschange is an open-source change detection toolbox, which is dedicated to reproducing and developing advanced methods for change detection of remote sensing images.
-
Supported Methods
-
STNet (ICME2023)
-
DDLNet (ICME2024 oral)
-
CDMask (TGRS2026)
-
STeinFormer (JSTARS2025)
-
CD-Lamba (JSTARS2025)
-
CDxLSTM (GRSL2025)
-
Other popular methods including
BIT (TGRS2021), SNUNet (GRSL2021), ChangeFormer (IGARSS2022),
LGPNet(TGRS2021), SARAS-Net (AAAI2023), USSFCNet (TGRS2023), AFCF3DNet (TGRS2023), RSMamba (GRSL2024), ChangeMamba (TGRS2024), CDMamba(arXiv2024), CSSM(arXiv2025)
-
-
Supported Datasets
-
Supported Tools
- Training
- Testing
- Params and FLOPs counting
- Class activation maps
๐ฅ News
-
2026/4/20: CDMask has been accepted by TGRS2026. -
2025/12/24: CD-Lamba has been accepted by JSTARS2025. -
2025/12/23: The official implementation of some popular methods (CDMamba, CSSM) are now available. -
2025/07/03: TinyViM has been accepted by ICCV 2025! It is an efficient and powerful backbone, and performs well on remote sensing change detection tasks. We have included the code of TinyViM in the rschange repository. -
2025/04/16: CDxLSTM has been accepted by GRSL2025. -
2025/03/13: The official files of the environment preparation are now available in rscd_mamba. -
2025/02/11: The official implementation of CD-Lamba, CDXLSTM and some other popular methods (RSMamba, ChangeMamba) are now available. -
2025/01/02: STeInFormer has been accepted by JSTARS2025. -
2024/07/14: Class activation maps and some other popular methods (BIT, SNUNet, ChangeFormer, LGPNet, SARAS-Net) are now supported. -
2024/06/24: CDMask has been submitted to Arxiv, see here, and the official implementation of CDMask is available!
๐ Preparation
-
Environment preparation
conda create --name rscd python=3.8 conda activate rscd conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia pip install pytorch-lightning==2.0.5 pip install scikit-image==0.19.3 numpy==1.24.4 pip install torchmetrics==1.0.1 pip install -U catalyst==20.09 pip install albumentations==1.3.1 pip install einops==0.6.1 pip install timm==0.6.7 pip install addict==2.4.0 pip install soundfile==0.12.1 pip install ttach==0.0.3 pip install prettytable==3.8.0 pip install -U openmim pip install triton==2.0.0 mim install mmcv pip install -U fvcoreIf you need to run a model based on Mamba, please additionally download the releases and then perform the following installation for the Mamba environment.
pip install causal_conv1d-1.2.0.post1+cu118torch2.0cxx11abiFALSE-cp38-cp38-linux_x86_64.whl pip install mamba_ssm-1.2.0.post1+cu118torch2.0cxx11abiFALSE-cp38-cp38-linux_x86_64.whlIf you need to run CDMamba, please refer to here and download the folder named "mamba-1p1p1". Then replace the \texttt{mamba_ssm} package in your conda environment with the downloaded version by running:
cp -rf mamba-1p1p1/mamba_ssm /home/xxx/anaconda3/envs/xxx/lib/python3.10/site-packages[Optional] We have also prepared compressed files rscd_mamba for the CD-Lamba's environment, which you can download directly and install according to the following instructions.
// Firstly, you must be in a Linux environment (Ubuntu in Linux or WSL2 in windows). // Then, place this compressed file in the folder of \home\xxx\anaconda3\envs\ // Finally, mkdir -p rscd_mamba && tar -xzf rscd_mamba.tar.gz -C rscd_mamba conda activate rscd_mambaNote: same as rsseg. If you have already installed the environment of rsseg, use it directly.
-
Dataset preprocessing
LEVIR-CD๏ผThe original images are sized at 1024x1024. Following its original division method, we crop these images into non-overlapping patches of 256x256.
WHU-CD: It contains a pair of dual-time aerial images measuring 32507 ร 15354. These images are cropped into patches of 256 ร 256 size. The dataset is then randomly divided into three subsets: the training set, the validation set, and the test set, following a ratio of 8:1:1.
DSIFN-CD & CLCD & SYSU-CD: They all follow the original image size and dataset division method.
Note: We also provide the pre-processed data, which can be downloaded at this link
๐ Folder Structure
Prepare the following folders to organize this repo:
rschangedetection
โโโ rscd (code)
โโโ work_dirs (save the model weights and training logs)
โ โโCLCD_BS4_epoch200 (dataset)
โ โโstnet (model)
โ โโversion_0 (version)
โ โ โโckpts
โ โ โโtest (the best ckpts in test set)
โ โ โโval (the best ckpts in validation set)
โ โโlog (tensorboard logs)
โ โโtrain_metrics.txt (train & val results per epoch)
โ โโtest_metrics_max.txt (the best test results)
โ โโtest_metrics_rest.txt (other test results)
โโโ data
โโโ LEVIR_CD
โ โโโ train
โ โ โโโ A
โ โ โ โโโ images1.png
โ โ โโโ B
โ โ โ โโโ images2.png
โ โ โโโ label
โ โ โโโ label.png
โ โโโ val (the same with train)
โ โโโ test(the same with train)
โโโ DSIFN
โ โโโ train
โ โ โโโ t1
โ โ โ โโโ images1.jpg
โ โ โโโ t2
โ โ โ โโโ images2.jpg
โ โ โโโ mask
โ โ โโโ mask.png
โ โโโ val (the same with train)
โ โโโ test
โ โโโ t1
โ โ โโโ images1.jpg
โ โโโ t2
โ โ โโโ images2.jpg
โ โโโ mask
โ โโโ mask.tif
โโโ WHU_CD
โ โโโ train
โ โ โโโ image1
โ โ โ โโโ images1.png
โ โ โโโ image2
โ โ โ โโโ images2.png
โ โ โโโ label
โ โ โโโ label.png
โ โโโ val (the same with train)
โ โโโ test(the same with train)
โโโ CLCD (the same with WHU_CD)
โโโ SYSU_CD
โโโ train
โ โโโ time1
โ โ โโโ images1.png
โ โโโ time2
โ โ โโโ images2.png
โ โโโ label
โ โโโ label.png
โโโ val (the same with train)
โโโ test(the same with train)
๐ Use example
-
Training
python train.py -c configs/STNet.py -
Testing
python test.py \ -c configs/STNet.py \ --ckpt work_dirs/CLCD_BS4_epoch200/stnet/version_0/ckpts/test/epoch=45.ckpt \ --output_dir work_dirs/CLCD_BS4_epoch200/stnet/version_0/ckpts/test \ -
Count params and flops
python tools/params_flops.py --size 256 -
Class activation maps
python tools/grad_cam_CNN.py -c configs/cdxformer.py --layer=model.net.decoderhead.LHBlock2.mlp_l
๐ Citation
If you are interested in our work, please consider giving a ๐ and citing our work below. We will update rschange regularly.
@inproceedings{stnet,
title={STNet: Spatial and Temporal feature fusion network for change detection in remote sensing images},
author={Ma, Xiaowen and Yang, Jiawei and Hong, Tingfeng and Ma, Mengting and Zhao, Ziyan and Feng, Tian and Zhang, Wei},
booktitle={2023 IEEE International Conference on Multimedia and Expo (ICME)},
pages={2195--2200},
year={2023},
organization={IEEE}
}
@INPROCEEDINGS{ddlnet,
author={Ma, Xiaowen and Yang, Jiawei and Che, Rui and Zhang, Huanting and Zhang, Wei},
booktitle={2024 IEEE International Conference on Multimedia and Expo (ICME)},
title={DDLNet: Boosting Remote Sensing Change Detection with Dual-Domain Learning},
year={2024},
volume={},
number={},
pages={1-6},
doi={10.1109/ICME57554.2024.10688140}}
@article{cdmask,
title={Rethinking Remote Sensing Change Detection With A Mask View},
author={Ma, Xiaowen and Wu, Zhenkai and Lian, Rongrong and Zhang, Wei and Song, Siyang},
journal={arXiv preprint arXiv:2406.15320},
year={2024}
}
@ARTICLE{steinformer,
author={Ma, Xiaowen and Wu, Zhenkai and Ma, Mengting and Zhao, Mengjiao and Yang, Fan and Du, Zhenhong and Zhang, Wei},
journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing},
title={STeInFormer: SpatialโTemporal Interaction Transformer Architecture for Remote Sensing Change Detection},
year={2025},
volume={18},
number={},
pages={3735-3745},
doi={10.1109/JSTARS.2024.3522329}}
@ARTICLE{cdxlstm,
author={Wu, Zhenkai and Ma, Xiaowen and Lian, Rongrong and Zheng, Kai and Zhang, Wei},
journal={IEEE Geoscience and Remote Sensing Letters},
title={CDxLSTM: Boosting Remote Sensing Change Detection With Extended Long Short-Term Memory},
year={2025},
volume={22},
number={},
pages={1-5},
keywords={Feature extraction;Semantics;Transformers;Sensors;Remote sensing;Graphics processing units;Correlation;Convolutional codes;Computational modeling;Computational complexity;Extended long short-term memory (xLSTM);remote sensing change detection (RS-CD);spatiotemporal interaction},
doi={10.1109/LGRS.2025.3562480}}
๐ฎ Contact
If you are confused about the content of our paper or look forward to further academic exchanges and cooperation, please do not hesitate to contact us. The e-mail address is xwma@zju.edu.cn. We look forward to hearing from you!
๐ก Acknowledgement
Thanks to previous open-sourced repo:
Thanks to the main contributor Zhenkai Wu