Aller au contenu
ModelPrésentéExterne
Télécharger

DEM SuperRes Model

This repository contains a pipeline for generating synthetic high-resolution Digital Elevation Models (DEMs) by super-resolving 30m SRTM data to 10m resolution, fused with Sentinel-2 imagery. The model is trained on...

TypeOtherVersionDeepdem modelCClasse

Source du modèle

Type
Other
Taille du fichier
280 MB
Version
vDeepdem model
Mis à jour
20 oct. 2026
Source
Hugging Face

Description de la source

DEM Super-Resolution

This repository contains a pipeline for generating synthetic high-resolution Digital Elevation Models (DEMs) by super-resolving 30m SRTM data to 10m resolution, fused with Sentinel-2 imagery. The model is trained on high-resolution LiDAR DEM data from McKinley Mine, NM, and applied to generate DEMs for Marrakech, Morocco.

Overview

The implementation uses an adapted DeepDEM model with a U-Net architecture (ResNet34 encoder) that takes 7 input channels:

  • SRTM DEM (30m)
  • Sentinel-2 RGB bands (10m)
  • Sentinel-2 NIR band (10m)
  • NDVI
  • Nodata mask

The model predicts residual corrections to be added to a smoothed SRTM trend, producing 10m synthetic DEMs.

Requirements

  • Python 3.8+
  • PyTorch 2.0+
  • PyTorch Lightning
  • Segmentation Models PyTorch
  • Rasterio
  • Geopandas
  • Albumentations
  • Earth Engine API (for data acquisition)
  • GDAL
  • Boto3 (for LiDAR data download)

Installation

  1. Clone the repository:

    git clone https://github.com/nfl0/DEM_SuperRes.git
    cd DEM_SuperRes
    
  2. Install dependencies:

    pip install torch torchvision torchaudio pytorch-lightning segmentation-models-pytorch rasterio geopandas albumentations scipy gdown earthengine-api boto3
    
  3. Install system dependencies:

    apt-get install libspatialindex-dev libgdal-dev gdal-bin
    pip install gdal
    

Data Acquisition

The notebook handles data acquisition from:

  • SRTM 30m DEM: CGIAR/SRTM90_V4 via Google Earth Engine
  • Sentinel-2 10m imagery: COPERNICUS/S2_SR_HARMONIZED via Google Earth Engine
  • High-resolution LiDAR DEM: OpenTopography (McKinley Mine, NM)

Authenticate with Google Earth Engine and ensure access to required datasets.

Usage

  1. Open DEM_SuperRes.ipynb in Google Colab or Jupyter.

  2. Run cells sequentially to:

    • Acquire and preprocess training data (McKinley)
    • Train the model
    • Acquire and preprocess inference data (Marrakech)
    • Generate synthetic DEM
    • Run validation checks
  3. Key outputs:

    • Trained model: Models/deepdem_model.ckpt
    • Synthetic DEM: synth_dem_marrakech.tif

Model Training

  • Architecture: U-Net with ResNet34 encoder, 7 input channels, 1 output channel (residuals)
  • Loss: L1 loss
  • Optimizer: Adam (lr=1e-4)
  • Training: 5 epochs on random crops from McKinley DEM
  • Data Augmentation: Random crops, rotations, flips, noise

Validation

The notebook includes checks for:

  • Input data statistics and validity
  • Training fit (MAE/RMSE on validation crops)
  • Output alignment and correlation with SRTM trend

Sources

1 source
Hugging FacePrincipalVersion 084d3788744d00dbb00965ae734bf7de93592d82
huggingface.co/zcash/DEM-SuperRes-Model/tree/084d3788744d00dbb00965ae734bf7de93592d82

Vérifié 20 oct.

Artefacts du modèle

1 artefact

deepdem_model.ckpt

ckpt · 280 MB · SHA-256 47b10ff2e69a…71cd · Hugging Face

Download file

Extraits de sources

2 extraits

--- license: mit tags: - pytorch - pytorch-lightning - dem - super-resolution - remote-sensing - geospatial --- # DEM Super-Resolution This repository contains a pipeline for generating synthetic high-resolution Digital Elevation Models (DEMs) by super-resolving 30m SRTM data to 10m resolution, fused with Sentinel-2 imagery. The model is trained on high-resolution LiDAR DEM data from McKinley Mine, NM, and applied to generate DEMs for Marrakech, Morocco. ## Overview The implementation uses an adapted DeepDEM model with a U-Net architecture (ResNet34 encoder) that takes 7 input channels: - SRTM DEM (30m) - Sentinel-2 RGB bands (10m) - Sentinel-2 NIR band (10m) - NDVI - Nodata mask The model predicts residual corrections to be added to a smoothed SRTM trend, producing 10m synthetic DEMs. ## Requirements - Python 3.8+ - PyTorch 2.0+ - PyTorch Lightning - Segmentation Models PyTorch - Rasterio - Geopandas - Albumentations - Earth Engine API (for data acquisition) - GDAL - Boto3 (for LiDAR data download) ## Installation 1. Clone the repository: ```bash git clone https://github.com/nfl0/DEM_SuperRes.git cd DEM_SuperRes ``` 2. Install dependencies: ```bash pip install torch torchvision torchaudio pytorch-lightning segmentation-models-pytorch rasterio geopandas albumentations scipy gdown earthengine-api boto3 ``` 3. Install system dependencies: ```bash apt-get install libspatialindex-dev libgdal-dev gdal-bin pip install gdal ``` ## Data Acquisition The notebook handles data acquisition from: - **SRTM 30m DEM**: CGIAR/SRTM90_V4 via Google Earth Engine - **Sentinel-2 10m imagery**: COPERNICUS/S2_SR_HARMONIZED via Google Earth Engine - **High-resolution LiDAR DEM**: OpenTopography (McKinley Mine, NM) Authenticate with Google Earth Engine and ensure access to required datasets. ## Usage 1. Open `DEM_SuperRes.ipynb` in Google Colab or Jupyter. 2. Run cells sequentially to: - Acquire and preprocess training data (McKinley) - Train the model - Acquire and preprocess inference data (Marrakech) - Generate synthetic DEM - Run validation checks 3. Key outputs: - Trained model: `Models/deepdem_model.ckpt` - Synthetic DEM: `synth_dem_marrakech.tif` ## Model Training - **Architecture**: U-Net with ResNet34 encoder, 7 input channels, 1 output channel (residuals) - **Loss**: L1 loss - **Optimizer**: Adam (lr=1e-4) - **Training**: 5 epochs on...

Source context: 0 downloads · 1 likes · Repo zcash/DEM-SuperRes-Model