This project is to automate the assessment process of solar panel installation, which includes finding available space (rooftops) and specifying the features of that place.
- Automatically detect rooftops from satellite images.
- Specify the type of the rooftop (flat, hip, gable).
- Calculate the surface area excluding obstructions.
- Place suggested solar panels taking into consideration the roof edges, obstacles, and rotation.
Our approach combines 2 CNN models to segment and classify rooftops in addition to image processing techniques to crop the satellite image based on the segmentation results then calculate the area for each rooftop detected then finally plot suggested placements for solar panels on the detected rooftops.
- U-net model for semantic segmentation to label the rooftops
- Multi-class classification model to classify roof types (Hip, gable, flat)
- Extract each detected rooftop into a separate cropped image.
- Calculate the area of the roof
- Plot suggested placements for the solar panel
We built a webpage using Flask, where the user enters the satellite image and the scale of the image (to convert from pixel to sqm). Then we containerized the app using docker and deployed it on Heruko using AWS EC2 instance.
This was the capstone project for the MLC training program with Zaka AI.
Project Report: https://docs.google.com/document/d/1zOV_ufTdYVlAyo5UlTS2zegPGU7uaHbSB-xvuSI-8cA/edit