DiGATe-UNet: Lightweight Dual-Stream Framework for Landslide Segmentation
November 5, 2025 Β· View on GitHub
This repository contains the implementation of our lightweight dual-stream Siamese framework for landslide segmentation from remote sensing imagery. The model integrates optical and topographical data fusion, an adaptive decoder with lightweight cross-attention, gated fusion, and deep supervision to achieve accurate boundary delineation and robust performance across diverse landscapes.
-
π Our manuscript has been accepted by the CMC-Computers, Materials & Continua journal.
-
π Current content: Full training pipeline, model implementation, and benchmark datasets integration.
Requirements
Tested on Python 3.10 with CUDA 12.x.
Minimal runtime dependencies (the ones actually used by the code/notebook):
numpy==1.26.4
torch==2.6.0
torchvision==0.21.0
timm==1.0.19
segmentation-models-pytorch==0.4.0
opencv-python==4.11.0.86
Pillow==11.1.0
h5py==3.13.0
tqdm==4.67.1
matplotlib==3.10.1
scikit-image==0.25.2
Optional (only if you use certain SMP backbones that rely on them):
efficientnet-pytorch==0.7.1
pretrainedmodels==0.7.4
Installation
- Create env (recommended)
conda create -n digate python=3.10 -y
conda activate digate
- Install PyTorch first (match your CUDA):
# Example for CUDA 12.x wheels
pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu121
If youβre on CPU or a different CUDA, use the command from the official PyTorch site for your setup.
- Install the rest
pip install -r requirements.txt
Quick Start (Inference) Weights required*
- Place the Bijie dataset (or your data) under the expected paths used in
inference.ipynb. - Open the notebook:
jupyter notebook inference.ipynb
- Run all cells to produce masks and basic metrics/visualizations.
Dataset
- Bijie landslide dataset (examples used in the notebook).
- Additional datasets and loaders will be wired in with the training pipeline update.
Project Structure (current)
βββ \datset\ # Dataset preprocessing
βββ \models\ # Models, Loss and metrics
βββ \rrain\ # Training
βββ \utils\ # Evaluate and plot
βββ LS_segmentation_landslide4sense.ipynb # Train on LandSlide4Sense dataset
βββ inference.ipynb # Example inference workflow on Bijie
βββ backbones.ipynb # Test computational efficieny on trained weigths
βββ LS_segmentation_bijie.ipynb # Train on Bijie dataset