Skip to content

Official PyTorch implementation of "A Class-Aware Semi-Supervised Framework for Semantic Segmentation of High-Resolution Remote Sensing Imagery" (IEEE JSTARS 2025)

Notifications You must be signed in to change notification settings

wangshirou/CASSF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CASSF

This repository provides the official PyTorch implementation of the paper: "A Class-Aware Semi-Supervised Framework for Semantic Segmentation of High-Resolution Remote Sensing Imagery", published in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2025. πŸ”—Paper Link

πŸ“‚ Repository Structure

└── CASSF/
    β”œβ”€β”€ data
    β”‚   β”œβ”€β”€ Vaihingen
    β”‚   β”œβ”€β”€ __init__.py
    β”‚   └── build_data.py
    β”œβ”€β”€ model
    β”‚   β”œβ”€β”€ DeepLabv3p.py
    β”‚   β”œβ”€β”€ Unet.py
    β”‚   └── __init__.py
    β”œβ”€β”€ myutils
    β”‚   β”œβ”€β”€ __init__.py
    β”‚   └── utils.py
    └── train_CASSF.py

πŸ“Š Dataset

We provide cropped and pre-split semi-supervised training datasets for the following benchmarks:

  • ISPRS Vaihingen Dataset (IR-R-G + DSM & labels)
  • ISPRS Potsdam Dataset(R-G-B-IR + DSM & labels)
  • LoveDA Urban Dataset(R-G-B & labels)
  • LoveDA Rural Dataset(R-G-B & labels)

Each dataset includes multiple labeled/unlabeled splits for semi-supervised learning: 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 (e.g., 1/8 means 12.5% labeled and 87.5% unlabeled).

For quick start, the Vaihingen dataset is already included in this repo under data/Vaihingen/. For full experiments with all datasets, please download from: πŸ”— CASSF_data - Baidu Netdisk.

Note: Test datasets are not provided and must be downloaded separately from the official sources:

πŸš€ Quick Start

  1. Install dependencies

    It is recommended to use Python 3.8. Before training, please install the required dependencies (e.g., PyTorch, TorchVision, GDAL, Visdom, Scikit-learn, etc.) suitable for your environment.

  2. Run training

    Once dependencies are installed, start training with:

    python train_CASSF.py

πŸ”– Citation

If you use this code or data, please cite our paper:

@article{CASSF,
  author={Wang, Shirou and Su, Cheng and Zhang, Xiaocan},
  journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing}, 
  title={A Class-Aware Semi-Supervised Framework for Semantic Segmentation of High-Resolution Remote Sensing Imagery}, 
  year={2025},
  volume={18},
  pages={22372-22391},
  doi={10.1109/JSTARS.2025.3601148}}

About

Official PyTorch implementation of "A Class-Aware Semi-Supervised Framework for Semantic Segmentation of High-Resolution Remote Sensing Imagery" (IEEE JSTARS 2025)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages