Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MsRE: Towards Efficient Remote Sensing Segmentation via Vision Foundation Models

Bin Wang 1, Shun Lv 1, Zhi Li 1, Fei Deng 2, Yiguang Liu1†

1 Sichuan University 2 Chengdu University of Technology

Corresponding author.


Static Badge Static Badge Static Badge Static Badge
GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub forks GitHub Repo stars


MsRE
Network Overview

🔍️🔍️ NEWS

  • [2026/07/14] 🤗🤗 The Training Code has been updated.
  • [2026/07/06] 🎉🎉 Our paper is accepted by IEEE TGRS (Link)!
  • [2026/05/04] 🧨🧨 Update project page && readme.md.
  • [2026/04/13] ✨✨ Init Repo.

📖 Clone Repo


We add mmsegmentation as our repository submodule .

So, one should clone this repository use the script as follows:

clone repository
git clone --recurse-submodules https://github.com/woldier/MsRE

Tips

If one already cloned the project and forgot --recurse-submodules,

 # cloned the project and forgot clone submodules 🥲🥲
 git clone https://github.com/woldier/Bridge 

 # initialize and update each submodule in the repository 🥰🥰
 git submodule update --init

after that, we link mmsegmentation/mmseg $\to$ mmseg:

soft link
$ pwd work_dir/MsRE
ln -s mmsegmentation/mmseg mmseg

🛠️️ 1. Creating Virtual Environment

This repo use python-3.8, for nvcc -v with cuda >= 11.6.

torch 2.1.1, cuda 12.1, mmcv 2.1.0, mmengine 0.9.1

Install script
conda create -n  MsRE  python==3.8 -y
conda activate MsRE


pip install torch==2.1.2+cu121  torchvision==0.16.2+cu121 -f https://download.pytorch.org/whl/torch_stable.html
# for CN user use follow script
pip install torch==2.1.2+cu121  torchvision==0.16.2+cu121 -f https://mirrors.aliyun.com/pytorch-wheels/cu121/  

pip install mmcv==2.1.0 mmengine==0.9.1 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.1/index.html

pip install -r submodule-mmseg/requirements/runtime.txt

Installation of the reference document refer:

Torch and torchvision versions relationship.

Official Repo CSDN

📂 2.Preparation of datasets

We selected Postsdam, Vaihingen and LoveDA as benchmark datasets.

2.1 Download of datasets

ISPRS Potsdam

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' and '5_Labels_all_noBoundary.zip' are required.

ISPRS Vaihingen

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.

LoveDA

The data could be downloaded from Google Drive here.

Or it can be downloaded from zenodo, you should run the following command:

loveda download
cd /{your_project_base_path}/Bridge/data/LoveDA

# Download Train.zip
wget https://zenodo.org/record/5706578/files/Train.zip
# Download Val.zip
wget https://zenodo.org/record/5706578/files/Val.zip
# Download Test.zip
wget https://zenodo.org/record/5706578/files/Test.zip

2.2 Data set preprocessing

Place the downloaded file in the corresponding path The format is as follows:

file structure
MsRE/
├── data/
│   ├── LoveDA/
│   │   ├── Test.zip
│   │   ├── Train.zip
│   │   └── Val.zip
├── ├── Potsdam_RGB/
│   │   ├── 2_Ortho_RGB.zip
│   │   └── 5_Labels_all_noBoundary.zip
├── ├── Vaihingen_IRRG/
│   │   ├── ISPRS_semantic_labeling_Vaihingen.zip
│   │   └── ISPRS_semantic_labeling_Vaihingen_ground_truth_eroded_COMPLETE.zip

after that we can convert dataset:

details
  • Potsdam
python tools/convert_datasets/potsdam.py data/Potsdam_RGB/ --clip_size 512 --stride_size 512 -o data/potsdam
  • Vaihingen
python tools/convert_datasets/vaihingen.py data/Vaihingen_IRRG/ --clip_size 512 --stride_size 256 -o data/vaihingen
  • LoveDA
python tools/convert_datasets/loveda.py data/LoveDA/ --tmp_dir data -o data/loveda

🔥 3. Training

training scripts
# loveda
python tools/train.py configs/msre/msre_dinov3_vit-large_segmentor_1xb2-amp-40k_loveda-512x512.py

# potsdam
python tools/train.py configs/msre/msre_dinov3_vit-large_segmentor_1xb2-amp-40k_potsdam-512x512.py

# vaihingen
python tools/train.py configs/msre/msre_dinov3_vit-large_segmentor_1xb2-amp-40k_vaihingen-512x512.py

Acknowledgements

This project is built upon OpenMMLab. We thank the OpenMMLab developers.

Citation

If you use Geoad in your research, please cite:

        @ARTICLE{11599658,
          author={Wang, Bin and Lv, Shun and Li, Zhi and Deng, Fei and Liu, Yiguang},
          journal={IEEE Transactions on Geoscience and Remote Sensing},
          title={MsRE: Towards Efficient Remote Sensing Segmentation via Vision Foundation Models},
          year={2026},
          volume={},
          number={},
          pages={1-1},
          keywords={Modeling;Remote sensing;Semantic segmentation;Training;Tuning;Decoding;LoRa;Visualization;Vegetation;Head;Vision Foundation Models;Semantic Segmentation;Parameter-Efficient Fine-Tuning;Remote Sensing},
          doi={10.1109/TGRS.2026.3711219}
        }

About

[TGRS 2026] MsRE: Towards Efficient Remote Sensing Segmentation via Vision Foundation Models

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages