## **Problem statement**
The objective of this task is to classify different landcover types in a satellite image. This problem is approached as a machine learning task known as semantic segmentation, where the goal is to predict the class label for each individual pixel in the image.
## **Dataset**
The [dataset](https://www.kaggle.com/datasets/balraj98/deepglobe-land-cover-classification-dataset) used for this project is from the 2018 DeepGlobe Landcover Classification Challenge. It consists of a total of 803 satellite images, each with dimensions of 2448x2448 pixels. Each image in the dataset is accompanied by a segmentation mask that assigns class labels to the pixels.
| Landcover Name | Color | Explanation / Function |
| -------------------- | ------------------------ | ------------------------------------------------------------ |
| Urban land | Cyan | Man-made, built-up areas with human artifacts |
| Agriculture land | Yellow | Farms, planned plantations, cropland, orchards |
| Rangeland | Magenta | Non-forest, non-farm, green land, grass |
| Forest land | Green | Land with at least 20% tree crown density and clear cuts |
| Water | Blue | Rivers, oceans, lakes, wetlands, ponds |
| Barren land | White | Mountains, rocks, deserts, beaches, vegetation-free land |
| Unknown | Black | Clouds and others |
## **Model**
For this task, we utilized a pre-trained UNet model with weights pretrained on the ImageNet dataset. We then fine-tuned the UNet using the DeepGlobe Landcover Classification dataset. The training process took approximately 2 hours using a single NVIDIA T4 GPU.
## **Team members**
David Mora
Eduard's Mendez
Santiago Ahumada
## **Aditional information**
If you are interested in contributing to the project or just getting more information about the details you can head over to our GitHub [repository](https://github.com/DavidFM43/landcover-segmentation).