Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justchenhao/BIT_CD
Official Pytorch Implementation of "Remote Sensing Image Change Detection with Transformers"
https://github.com/justchenhao/BIT_CD
Last synced: about 2 months ago
JSON representation
Official Pytorch Implementation of "Remote Sensing Image Change Detection with Transformers"
- Host: GitHub
- URL: https://github.com/justchenhao/BIT_CD
- Owner: justchenhao
- Created: 2021-07-04T02:08:34.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-07-25T10:09:15.000Z (over 3 years ago)
- Last Synced: 2024-08-03T19:09:21.713Z (5 months ago)
- Language: Python
- Size: 56.2 MB
- Stars: 347
- Watchers: 4
- Forks: 80
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-remote-sensing-change-detection - Chen H, Qi Z, Shi Z. Remote Sensing Image Change Detection with Transformers
README
# Remote Sensing Image Change Detection with Transformers
Here, we provide the pytorch implementation of the paper: Remote Sensing Image Change Detection with Transformers.
For more ore information, please see our published paper at [IEEE TGRS](https://ieeexplore.ieee.org/document/9491802) or [arxiv](https://arxiv.org/abs/2103.00208).
![image-20210228153142126](./images/pipeline.png)
## Requirements
```
Python 3.6
pytorch 1.6.0
torchvision 0.7.0
einops 0.3.0
```## Installation
Clone this repo:
```shell
git clone https://github.com/justchenhao/BIT_CD.git
cd BIT_CD
```## Quick Start
We have some samples from the [LEVIR-CD](https://justchenhao.github.io/LEVIR/) dataset in the folder `samples` for a quick start.
Firstly, you can download our BIT pretrained model——by [baidu drive, code: 2lyz](https://pan.baidu.com/s/1HiXwpspl6odYQKda6pMuZQ) or [google drive](https://drive.google.com/file/d/1IVdF5a3e1_7DiSndtMkhpZuCSgDLLFcg/view?usp=sharing). After downloaded the pretrained model, you can put it in `checkpoints/BIT_LEVIR/`.
Then, run a demo to get started as follows:
```python
python demo.py
```After that, you can find the prediction results in `samples/predict`.
## Train
You can find the training script `run_cd.sh` in the folder `scripts`. You can run the script file by `sh scripts/run_cd.sh` in the command environment.
The detailed script file `run_cd.sh` is as follows:
```cmd
gpus=0
checkpoint_root=checkpoints
data_name=LEVIR # dataset nameimg_size=256
batch_size=8
lr=0.01
max_epochs=200 #training epochs
net_G=base_transformer_pos_s4_dd8 # model name
#base_resnet18
#base_transformer_pos_s4_dd8
#base_transformer_pos_s4_dd8_dedim8
lr_policy=linearsplit=train # training txt
split_val=val #validation txt
project_name=CD_${net_G}_${data_name}_b${batch_size}_lr${lr}_${split}_${split_val}_${max_epochs}_${lr_policy}python main_cd.py --img_size ${img_size} --checkpoint_root ${checkpoint_root} --lr_policy ${lr_policy} --split ${split} --split_val ${split_val} --net_G ${net_G} --gpu_ids ${gpus} --max_epochs ${max_epochs} --project_name ${project_name} --batch_size ${batch_size} --data_name ${data_name} --lr ${lr}
```## Evaluate
You can find the evaluation script `eval.sh` in the folder `scripts`. You can run the script file by `sh scripts/eval.sh` in the command environment.
The detailed script file `eval.sh` is as follows:
```cmd
gpus=0
data_name=LEVIR # dataset name
net_G=base_transformer_pos_s4_dd8_dedim8 # model name
split=test # test.txt
project_name=BIT_LEVIR # the name of the subfolder in the checkpoints folder
checkpoint_name=best_ckpt.pt # the name of evaluated model filepython eval_cd.py --split ${split} --net_G ${net_G} --checkpoint_name ${checkpoint_name} --gpu_ids ${gpus} --project_name ${project_name} --data_name ${data_name}
```## Dataset Preparation
### Data structure
```
"""
Change detection data set with pixel-level binary labels;
├─A
├─B
├─label
└─list
"""
````A`: images of t1 phase;
`B`:images of t2 phase;
`label`: label maps;
`list`: contains `train.txt, val.txt and test.txt`, each file records the image names (XXX.png) in the change detection dataset.
### Data Download
LEVIR-CD: https://justchenhao.github.io/LEVIR/
WHU-CD: https://study.rsgis.whu.edu.cn/pages/download/building_dataset.html
DSIFN-CD: https://github.com/GeoZcx/A-deeply-supervised-image-fusion-network-for-change-detection-in-remote-sensing-images/tree/master/dataset
## License
Code is released for non-commercial and research purposes **only**. For commercial purposes, please contact the authors.
## Citation
If you use this code for your research, please cite our paper:
```
@Article{chen2021a,
title={Remote Sensing Image Change Detection with Transformers},
author={Hao Chen, Zipeng Qi and Zhenwei Shi},
year={2021},
journal={IEEE Transactions on Geoscience and Remote Sensing},
volume={},
number={},
pages={1-14},
doi={10.1109/TGRS.2021.3095166}
}
```