1 Star 0 Fork 0

我叫张梦来 / BIT_CD

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
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 or arxiv.

image-20210228153142126

Requirements

Python 3.6
pytorch 1.6.0
torchvision 0.7.0
einops  0.3.0

Installation

Clone this repo:

git clone https://github.com/justchenhao/BIT_CD.git
cd BIT_CD

Quick Start

We have some samples from the LEVIR-CD dataset in the folder samples for a quick start.

Firstly, you can download our BIT pretrained model——by baidu drive, code: 2lyz or google drive. After downloaded the pretrained model, you can put it in checkpoints/BIT_LEVIR/.

Then, run a demo to get started as follows:

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:

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:

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}
}

空文件

简介

路径 (请注意:仓库路径即仓库访问 URL 地址,更改仓库路径将导致原克隆地址不可用) 展开 收起
Python 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangjq123/BIT_CD.git
git@gitee.com:zhangjq123/BIT_CD.git
zhangjq123
BIT_CD
BIT_CD
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891