Skip to main content

Road Segmentation from Aerial Images

Deep learning pipeline for automatic road network extraction from high-resolution satellite imagery using encoder-decoder CNNs with combined BCE+Dice loss.

Visit website
  • Computer Vision
  • Semantic Segmentation
  • Geospatial ML
  • PyTorch
Satellite imagery with automatically segmented road network

Problem & Motivation

Manual road network mapping from satellite imagery is labour-intensive and does not scale. Accurate, automated extraction enables real-time urban planning, disaster response routing, and large-scale geospatial analysis. This pipeline processes high-resolution aerial tiles and outputs binary pixel masks of road regions.

Architecture

  • Encoder: Pre-trained ImageNet backbone for rich multi-scale feature extraction
  • Decoder: Progressive upsampling with skip connections preserving spatial precision
  • Loss: Combined BCE + Dice to handle severe class imbalance (roads ≈ 5–15% of pixels)
  • Augmentation: Random crops, flips, elastic transforms, colour jitter, Gaussian blur
  • Inference: Sliding window tiling for arbitrary-resolution satellite inputs

Evaluation

Models are evaluated on IoU (Jaccard Index), Dice coefficient, precision, and recall at pixel level. Post-processing with morphological operations removes isolated false positives and closes gaps in predicted road segments.

Stack: Python · PyTorch · torchvision · OpenCV · Rasterio · scikit-learn · NumPy