Aidan O'Keefe
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.
*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*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.
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.
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.
Training/Validation Loss and Accuracy of Final Model
Test Prediction Accuracy by Class
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.
[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.
├── data
├── .gitignore
├── Land_Cover_Classification_Notebook.ipynb
├── README.md
└── presentation.pdf