EntSeg: Entropy-Guided Pseudolabel Denoising and Masked Image Consistency for Cross-Domain Remote Sensing Segmentation
- [2026/05/22] 🥰🥰 The Training Code has been updated.
- [2026/05/20] 🎉🎉 Our paper is accepted by IEEE TGRS!
- [2025/11/24] ✨✨ Init Repo.
Install script
pip install torch==1.10.2+cu111 -f https://mirror.sjtu.edu.cn/pytorch-wheels/cu111/?mirror_intel_list
pip install torchvision==0.11.3+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install mmcv-full==1.5.0 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.10.0/index.html
pip install kornia matplotlib prettytable timm yapf==0.40.1for CN user:
pip install torch==1.10.2+cu111 -f https://mirror.sjtu.edu.cn/pytorch-wheels/cu111/?mirror_intel_list
pip install torchvision==0.11.3+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install mmcv-full==1.5.0 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.10.0/index.html
pip install kornia matplotlib prettytable timm yapf==0.40.1Installation of the reference document refer:
Torch and torchvision versions relationship.
Version relationship of mmcv and torch.
We selected Postsdam, Vaihingen and LoveDA as benchmark datasets and created train, val, test lists for researchers.
Potsdam download
The Potsdam dataset is for urban semantic segmentation used in the 2D Semantic Labeling Contest - Potsdam.
The dataset can be requested at the challenge homepage. The '2_Ortho_RGB.zip', '3_Ortho_IRRG.zip' and '5_Labels_all_noBoundary.zip' are required.
Vaihingen download
The Vaihingen dataset is for urban semantic segmentation used in the 2D Semantic Labeling Contest - Vaihingen.
The dataset can be requested at the challenge homepage. The 'ISPRS_semantic_labeling_Vaihingen.zip' and 'ISPRS_semantic_labeling_Vaihingen_ground_truth_eroded_COMPLETE.zip' are required.
Place the downloaded file in the corresponding path The format is as follows:
detals
EntSeg/
├── data/
├── ├── Potsdam_IRRG_DA/
│ │ ├── 3_Ortho_IRRG.zip
│ │ └── 5_Labels_all_noBoundary.zip
├── ├── Vaihingen_IRRG_DA/
│ │ ├── ISPRS_semantic_labeling_Vaihingen.zip
│ │ └── ISPRS_semantic_labeling_Vaihingen_ground_truth_eroded_COMPLETE.zip
after that we can convert dataset:
dataset convert
- Potsdam
python tools/convert_datasets/potsdam.py data/Potsdam_IRRG/ --clip_size 512 --stride_size 512
python tools/convert_datasets/potsdam.py data/Potsdam_RGB/ --clip_size 512 --stride_size 512- Vaihingen
python tools/convert_datasets/vaihingen.py data/Vaihingen_IRRG/ --clip_size 512 --stride_size 256mit_b5.pth :
We provide a script mit2mmseg.py in the tools directory to convert the key of models from the official repo to MMSegmentation style.
python tools/model_converters/mit2mmseg.py ${PRETRAIN_PATH} ./pretrainedOr you can download it from google drive.
The structure of the file is as follows
model convert
SiamSeg/
├── pretrained/
│ ├── mit_b5.pth (needed)
│ └── ohter.pth (option)
Potsdam IRRG to Vaihingen IRRG
# Potsdam IRRG to Vaihingen IRRG
CUDA_VISIBLE_DEVICES=0,1 PORT=10985 \
./tools/dist_train.sh \
config/entseg/entseg_daformer_mit-b5_POT_IRRG_2_VAI_IRRG.py 2Potsdam RGB to Vaihingen IRRG
# Potsdam RGB to Vaihingen IRRG
CUDA_VISIBLE_DEVICES=0,1 PORT=10985 \
./tools/dist_train.sh \
config/entseg/entseg_daformer_mit-b5_POT_RGB_2_VAI_IRRG.py 2This project is built upon OpenMMLab. We thank the OpenMMLab developers.
If you use Geoad in your research, please cite:
@ARTICLE{11534173,
author={Wang, Bin and Chen, Zeyu and Lv, Shun and Deng, Fei and Liu, Yiguang},
journal={IEEE Transactions on Geoscience and Remote Sensing},
title={EntSeg: Entropy-Guided Pseudolabel Denoising and Masked Image Consistency for Cross-Domain Remote Sensing Segmentation},
year={2026},
volume={64},
number={},
pages={5623815-5623815},
keywords={Labeling;Modeling;Entropy;Training;Learning (artificial intelligence);Remote sensing;Semantic segmentation;Noise measurement;Landline;Computers;Pseudolabel denoising;remote sensing (RS);self-training (ST);semantic segmentation;unsupervised domain adaptation (UDA)},
doi={10.1109/TGRS.2026.3696112}}