Building Instance Segmentation using GeoAI
Overview
This project demonstrates building instance segmentation from high-resolution aerial imagery using the GeoAI framework. A Mask R-CNN model was trained on building footprint data to detect individual buildings, generate segmentation masks, and convert predictions into vector polygons for geospatial analysis.
Key Features
- Building instance segmentation
- Mask R-CNN deep learning model
- Training using building footprint annotations
- Prediction on unseen aerial imagery
- Polygon vectorization of detected buildings
- Visualization and geometric property analysis
Project Workflow
- Download aerial imagery and building footprint data.
- Generate image tiles for model training.
- Train the Mask R-CNN instance segmentation model.
- Perform inference on test imagery.
- Generate building masks.
- Convert masks into GeoJSON polygons.
- Calculate geometric properties and visualize results.
Technologies Used
- Python
- GeoAI
- Mask R-CNN
- Raster Data Processing
- GeoPandas
- Matplotlib
- Jupyter Notebook
Dataset
- Source: NAIP aerial imagery
- Training Labels: Building footprint GeoJSON
- Task: Building instance segmentation
Results

| Metric | Value |
|---|---|
| Model | Mask R CNN |
| Pretrained Weights | Yes |
| Training Epochs | 50 |
| Learning Rate | 0.005 |
| Batch Size | 4 |
| Validation Split | 20% |
| No of class | 2 |
Future Improvements
- Improve segmentation accuracy using additional training data.
- Experiment with different backbone architectures.
- Support multi-class instance segmentation.
- Optimize inference for large-area aerial imagery.
- Deploy the workflow for automated building extraction.