Aerial AI
Project
Aerial AI is a dual-task segmentation project for aerial imagery: - Semantic segmentation: buildings, roads, water - Instance segmentation: solar panels - Web inference UI with Streamlit in app.py
Datasets
- Aerial Segmentation (Kaggle): RGB aerial images + masks for semantic classes
- Solar Plants Brazil: TIFF imagery + binary masks for solar panel instances
- Indian Demo: sample aerial TIFF images for testing/inference
Models
- Semantic model: SegFormer (
nvidia/segformer-b1-finetuned-cityscapes-1024-1024) - Instance model: Mask2Former (
facebook/mask2former-swin-base-coco-instance) - Fine-tuned outputs are stored under:
- output/semantic/best_model
- output/instance/best_model
Architecture (Brief)
- Data prep/download scripts -> organized train/val folders
- Training scripts:
- train_semantic.py (SegFormer)
- train_instance.py (Mask2Former)
- Inference/UI:
- app.py loads best checkpoints and runs selected task
- overlay + basic stats shown in Streamlit
Screenshot Placeholder

Demo Video
Train (Brief)
# Train both models (Windows)
train_all.bat
# Or train individually
python train_semantic.py --train_image_dir ./data/aerial_segmentation/train/images --train_mask_dir ./data/aerial_segmentation/train/masks --val_image_dir ./data/aerial_segmentation/val/images --val_mask_dir ./data/aerial_segmentation/val/masks
python train_instance.py --train_image_dir ./data/solar_panels/train/images --train_mask_dir ./data/solar_panels/train/masks --val_image_dir ./data/solar_panels/val/images --val_mask_dir ./data/solar_panels/val/masksRun (Brief)
# Launch web app
streamlit run app.py