Skip to content

aokdata/Land_Cover_Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Land Cover Classification of Satellite Images

Aidan O'Keefe

Overview

A deep learning (neural network) land cover classification project using RGB satellite images (remote sensing) across 10 classes. This land cover classifier could be used by nature conservancies to monitor deforestation/land development using satellite images to observe if land starts changing from one class (forest, vegetation,etc) to another class (industrial, crop, etc). From a Baseline Model with a performance of 74.1% Test accuracy, I iterated until reaching my final model, a Fine Tuned VGG16 Model with additonal Dense and Dropout Layers with a 91.46% Test accuracy.

LandCoverClasses

*Samples of each of the Land Cover Classes; from top left- Annual Crop, Forest, Herbaceous Vegetation, Highway, Industrial, Pasture, Permanent Crop, Residential, River, Sea or Lake*

Business Understanding

The Nature Conservancy (TNC) is looking to help protect wildlife migration corridors from development/deforestation, but they can’t be everywhere at once.

In order to help them find where to focus their efforts, we want to build Land Cover Classifier so that TNC can monitor deforestation using satellite images to observe if land starts changing from forest or vegetation to another class.

Data Understanding

For this project, I am using RGB satellite images from EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification.

This dataset contains 27,000 RGB Satellite Images across 10 classes:

  • Annual Crop
  • Forest
  • Herbaceous Vegetation
  • Highway
  • Industrial
  • Pasture
  • Permanent Crop
  • Residential
  • River
  • Sea or Lake

There are about 2,500 images per class.

Modeling and Evaluation

I used a variety of Convolutional Neural Networks to classify the image data. Compared to my Baseline Model's performance of 74.1% Test accuracy, my final model was Model 16 (a Fine Tuned VGG16 Model with additonal Dense and Dropout Layers) with a 91.46% Test accuracy.

Simplified rendering of the structure of Final Model (Model 16)- a fine-tuned VGG16 model using augmented training data. FinalModelArch

Training/Validation Loss and Accuracy of Final Model FinalModel_Loss

FinalModel_Accuracy

Test Prediction Accuracy by Class

FinalModel_ConfusionMatrix

Conclusion

I would recommend to use this land cover classifier tool on images of the same land area over time. By observing where an image’s class has changed over time, TNC could focus deforestation prevention efforts on areas where images are changing from a natural classification (Forest, Herbaceous Vegetation) to a developed classication (Crops, Highways, Industrial, Residential, etc).

Next, I would work to refine my model to better differientiate between confused classes (i.e. river and highway), possibly through preprocessing. Additionally, I would like to incorporate object detection into this project to help classify multiple areas of land cover within a singular image.

References

[1] Eurosat: A novel dataset and deep learning benchmark for land use and land cover classification. Patrick Helber, Benjamin Bischke, Andreas Dengel, Damian Borth. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2019.

[2] Introducing EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification. Patrick Helber, Benjamin Bischke, Andreas Dengel. 2018 IEEE International Geoscience and Remote Sensing Symposium, 2018.

Repository Structure

├── data
├── .gitignore
├── Land_Cover_Classification_Notebook.ipynb
├── README.md
└── presentation.pdf

About

A deep learning (neural network) land cover classification project using satellite images (remote sensing).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published