SemanticSeg4EO — QGIS Plugin Documentation

SemanticSeg4EO Banner

SemanticSeg4EO is a QGIS plugin for semantic segmentation of satellite and aerial imagery using deep learning — all from within QGIS, without breaking your QGIS Python environment.

Key Design Principle

SemanticSeg4EO uses an external Python environment (Conda or venv) for all heavy processing. PyTorch, rasterio, and other dependencies are never loaded into QGIS itself, keeping your installation stable and conflict-free.

Overview

SemanticSeg4EO is designed for Earth Observation (EO) professionals who need to:

  • Extract training patches from large satellite GeoTIFFs

  • Train state-of-the-art deep learning segmentation models

  • Apply trained models to new large images with seamless reconstruction

All processing happens in a clean external Python environment, communicating with QGIS via temporary JSON and subprocess calls.

Plugin Architecture

Plugin architecture: QGIS GUI talks to an external Python environment via subprocess.

Features at a Glance

Module

Features

Patch Extraction

Single & batch mode, georeferenced GeoTIFF output, CRS validation, configurable train/val/test split, custom file naming patterns

Model Training

20+ architectures, 5 augmentation levels, 15+ loss functions, AMP mixed precision, K-Fold cross-validation, early stopping

Prediction

Large image tiling, Gaussian blending, batch inference, confidence map output, auto-load result in QGIS

Supported Architectures

Category

Architectures

Built-in (no deps)

unet-dropout

SMP (segmentation-models)

unet, unet++, manet, linknet, fpn, pspnet, pan, deeplabv3, deeplabv3+

Transformer (modern)

segformer-b0b5, unetformer, hrnet-w18/w32/w48, swin-unet