This repository contains simple python implementation of our paper HRMNet.
A framework of the proposed AR-CDNet. Initially, the bi-temporal images pass through a shared feature extractor to obtain bi-temporal features, and then multi-level temporal difference features are obtained through the TDE. CKRMs fully explore the multi-level temporal difference knowledge to enhance the feature capabilities. The OHRE branch estimates pixel-wise hard samples corresponding of changed and unchanged regions, supervised by the diversity between predicted change maps and corresponding ground truth in the training process. Finally, the multi-level temporal difference features and hard region aware feature obtained from the OHRE branch are aggregated to generate the final change maps.
-
Prepare the data:
- Download datasets LEVIR, BCDD, and MCD.
- Crop LEVIR, BCDD, and MCD datasets into 512x512 patches.
- The pre-processed BCDD dataset can be obtained from BCDD_512x512.
- For MCD dataset, we provide
./datasets/split_MCD.py
to Crop MCD into 512x512 patches. - Prepare datasets into the following structure and set their path in
train.py
andtest.py
├─Train ├─A ...jpg/png ├─B ...jpg/png ├─label ...jpg/png └─list ...txt ├─Val ├─A ├─B ├─label └─list ├─Test ├─A ├─B ├─label └─list
- Generate list file as
ls -R ./label/* > test.txt
or using./datasets/data_inf.py
-
Prerequisites for Python:
- Creating a virtual environment in the terminal:
conda create -n HRMNet python=3.8
- Installing necessary packages:
pip install -r requirements.txt
- Creating a virtual environment in the terminal:
-
Train/Test
sh train.sh
sh test.sh