Water Body Semantic Segmentation using GeoAI
Overview
This project demonstrates semantic segmentation of water bodies from satellite imagery using the GeoAI framework. A U-Net model with a ResNet34 encoder was trained to classify each pixel as either water or background, enabling accurate extraction of water bodies from remote sensing imagery.
Key Features
- Semantic segmentation of water bodies
- U-Net architecture with ResNet34 encoder
- Pixel-wise classification
- Model training and evaluation
- Prediction on unseen satellite images
- Visualization of segmentation results
Project Workflow
- Prepare satellite images and segmentation masks.
- Train the U-Net segmentation model.
- Evaluate model performance.
- Perform semantic segmentation inference.
- Compare predictions with ground truth masks.
- Visualize segmentation outputs.
Technologies Used
- Python
- GeoAI
- U-Net
- ResNet34
- PyTorch
- Jupyter Notebook
Dataset
- Source: Water body segmentation dataset
- Task: Semantic segmentation of water bodies
- Classes: Water and Background
Results

| Metric | Value |
|---|---|
| Model | U net |
| Pretrained Weights | Yes |
| Training Epochs | 50 |
| Learning Rate | 0.001 |
| Batch Size | 8 |
| Validation Split | 20% |
| No of class | 2 |
Future Improvements
- Train for additional epochs to improve segmentation accuracy.
- Experiment with different encoder architectures.
- Apply data augmentation techniques.
- Extend the model to segment additional land cover classes.
- Deploy the model for large-scale satellite image inference.