Inspiration

Our team is made up of three Artificial Intelligence MSc student and one 3rd Year Maths and CompSci student. Despite three of us doing the same course, we all wanted to focus on different things, including web dev, computer vision, and some machine learning.

As three of our team study Artificial Intelligence, we wanted our Hack to utilise the power of deep learning for data insights. We also were excited by Palantir's 'real world impact' challenge, which lead us done our eventual path for our Hack. 'Solar Searcher' searches through all satellite images (scraped off the Google Static Map API) for a given input country, segments then using a deep learning semantic segmentation model (based on the UNet architecture), and then assigns each image patch a score based on the land type and geographical location. We hope that this tool can be useful to map large, inaccessible regions for possible sites for solar panels.

What it does

Through our front-end, a user can enter any country in the world and receive a ranked list of areas of that country in terms of a score accounting for feasible terrain for solar farms and the photovoltaic power potential (taking into account sun irradiance, air temperature, weather, atmospheric pollution and terrain). The user can see the usable terrain overlayed over satellite images of the best locations for solar farms.

How we built it

Front-end: We use Flask (Python) and its prerequisites (e.g. Jinja) as the main framework to render content on screen, as well as modern styling languages/frameworks such as SCSS and BootStrap.

Back-end: Computer vision deep learning model for terrain classification.

To calculate a score for an area of land, we multiplied the area of usable terrain in a map segment by the photovoltaic power potential. For data on the latter, we found a geospatial dataset from Global Solar Atlas, that could be indexed with latitude and longitude through the python rasterio module.

Challenges we ran into

Easy to work with datasets on photovoltaic power potential (or sun irradiance in general) proved to be more difficult to find than one would have hoped, moreover we couldn't find an open source api, and the only data we could find we couldn't use with Foundry (ascii grid). The Google Static Maps API was difficult to learn to use at first, and it was hard to segment the globe into country regions for the segmentation task.

Accomplishments that we're proud of

  • The tool runs, and gives meaningful results!
  • We stitched several parts of a complex pipeline together into one end-to-end system

What we learned

  • We learned about UNets and deep semantic segmentation
  • We learned to use the Google Static Maps API
  • We learned to use MongoDB for database storage
  • We learned about website design (HTML, CSS)

What's next for SolarSearch

  • Train our own, bigger, better deep learning semantic segmentation model
  • Display more analytics about our results on the website
  • Incorporate new types of energy resources - Wind, geothermal etc.
  • A more complex calculation of the score of an image patch, taking into account new features such as terrain, land cost and accessibility.
Share this project:

Updates