SRCDNet
The pytorch implementation for "Super-resolution-based Change Detection Network with Stacked Attention Module for Images with Different Resolutions ".
Install / Use
/learn @liumency/SRCDNetREADME
SRCDNet
The pytorch implementation for "Super-resolution-based Change Detection Network with Stacked Attention Module for Images with Different Resolutions " on IEEE Transactions on Geoscience and Remote Sensing.
The SRCDNet is designed to learn and predict change maps from bi-temporal images with different resolutions, which can be neatly turned into a CDNet and applied to images without any resolution difference.
Requirements
-
Python 3.6
-
Pytorch 1.2.0
Datasets
- Download the BCDD Dataset
- Download the CDD Dataset
Since the intial BCDD and CDD dataset only contains bi-temporal images with the same resolution, in our experiment, images of the latter phase are down-samplinged by 4 and 8 times to simulate resolution difference of 4 and 8 times (4x and 8x), respectively.
The data folder is structured as follows:
├── data/
│ ├── CDD/ # CDD dataset
| | ├── train/ # traning set
| | | ├── time1/ #images of time t1
| | | ├── time2/ #images of time t2
| | | ├── time2_lr/ #lower resolution images of time t2
| | | | ├── X4.00/ #4 times resolution difference
| | | | ├── X8.00/ #8 times resolution difference
| | | ├── label/ #ground truth
| | ├── val/ # validation set, have the same structure of the training set
│ ├── BCDD/ # BCDD dataset, have the same structure of the CDD dataset
│ └──
└── epochs/ # path to save the model
│ ├── CD/
│ ├── SR/
│ └──
...
Train Examples
- Train SRCDNet on CDD with 4x resolution difference
python train_srcd.py --scale 4
--hr1_train '../data/CDD/train/time1'
--lr2_train '../data/CDD/train/time2_lr/X4.00'
--hr2_train '../data/CDD/train/time2'
--lab_train '../data/CDD/train/label'
--hr1_val '../data/CDD/val/time1'
--lr2_val '../data/CDD/val/time2_lr/X4.00'
--hr2_val '../data/CDD/val/time2'
--lab_val '../data/CDD/val/label'
--model_dir 'epochs/X4.00/CD/'
--sr_dir 'epochs/X4.00/SR/'
--sta_dir 'statistics/CDD_4x.csv'
*Note that more optional arguments could be found and retified in configures.py, including: num_epochs, gpu_id, batchsize, lr, etc.
- Train SRCDNet on BCDD with 8x resolution difference
python train_srcd.py --scale 8
--hr1_train '../data/BCDD/train/time1'
--lr2_train '../data/BCDD/train/time2_lr/X4.00'
--hr2_train '../data/BCDD/train/time2'
--lab_train '../data/BCDD/train/label'
--hr1_val '../data/BCDD/val/time1'
--lr2_val '../data/BCDD/val/time2_lr/X4.00'
--hr2_val '../data/BCDD/val/time2'
--lab_val '../data/BCDD/val/label'
--model_dir 'epochs/X8.00/CD/'
--sr_dir 'epochs/X8.00/SR/'
--sta_dir 'statistics/BCDD_8x.csv'
- Train CDNet on CDD with no resolution difference
python train_cd.py
--hr1_train '../data/BCDD/train/time1'
--hr2_train '../data/BCDD/train/time2'
--lab_train '../data/BCDD/train/label'
--hr1_val '../data/BCDD/val/time1'
--hr2_val '../data/BCDD/val/time2'
--lab_val '../data/BCDD/val/label'
--model_dir 'epochs/X0.00/CD/'
--sta_dir 'statistics/CDD_0x.csv'
Citation
Please cite our paper if you use this code in your work:
@ARTICLE{liu2021super,
author={Liu, Mengxi and Shi, Qian and Marinoni, Andrea and He, Da and Liu, Xiaoping and Zhang, Liangpei},
journal={IEEE Transactions on Geoscience and Remote Sensing},
title={Super-Resolution-Based Change Detection Network With Stacked Attention Module for Images With Different Resolutions},
year={2021},
volume={},
number={},
pages={1-18},
doi={10.1109/TGRS.2021.3091758}}
Acknowledgment
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
