Spaces:
Running on Zero
Running on Zero
| title: Aftermath | |
| emoji: 🛰️ | |
| colorFrom: blue | |
| colorTo: indigo | |
| sdk: gradio | |
| app_file: app.py | |
| pinned: false | |
| # 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). | |
|  | |
| ## 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 name | |
| img_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=linear | |
| split=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 file | |
| python 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} | |
| } | |
| ``` | |