Deep learning for Geospatial data applications — Semantic Segmentation
A beginner’s guide and tutorial for Segmenting satellite images with Fastai
--
Semantic Segmentation is the process of labelling pixels or regions of the image. In Geospatial, labelling pixels for satellite images is essential in many applications including infrastructure planning, land cover, humanitarian crisis maps and environmental assessments.
Therefore, automatic segmentation, using deep learning and computer vision, can significantly help many tasks and add economic value in geospatial and earth observation domains.
In the first blog, we have covered multi-label classifications using deep learning for satellite imagery.
In this blog post, I will show the easiest way to use Deep Learning for Geospatial Applications. I will go through training a state-of-the-art deep learning model with Satellite image data. We use Fastai Version 2 built on top of Pytorch, to train our model. It will take less than ten lines of python code to accomplish this task. If you have read the first post of this series, we only need to change a few methods. That is the beautify of using Fastai.
You also do not need to worry about the Graphics Processing Unit (GPU) as we use the freely available GPU environment from Google — Google Colab. I also share the Google Colab Notebook, in case you want to interact and play with the code.
The Data
For this tutorial, we use Landcover.ai Data. The Landcover.ai semantic segmentation dataset contains 216.27 sq. km images with both 50 and 25-meter high-resolution RGB images. The images are manually annotated, which makes the data more robust.
In this dataset, we have only 3 class — Buildings, woodland and water. The fourth class is all other objects in the image, including among other field, roads, etc.
The original dataset is available at Landcover.ai website and comes with the original images and python file to process the data. In this tutorial, I will use the processed data, and it is available in this Google Drive link.
So let us get the data. First, we unzip the data from the Google Drive link and create…