Multi-Class Image Classification Model for Land Use and Land Cover with Sentinel-2 Using TensorFlow Take 4

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: This project aims to construct a predictive model using a TensorFlow convolutional neural network (CNN) and document the end-to-end steps using a template. The Land Use and Land Cover with Sentinel-2 dataset is a multi-class classification situation where we attempt to predict one of several (more than two) possible outcomes.

INTRODUCTION: This dataset is part of a research study that addresses the challenge of land use and land cover classification using Sentinel-2 satellite images. The research project presented a novel dataset based on Sentinel-2 satellite images covering 13 spectral bands and consisting out of 10 classes within a total of 27,000 labeled and geo-referenced images. The study project also provided benchmarks for this novel dataset with its spectral bands using deep Convolutional Neural Network (CNNs).

In iteration Take1, we constructed a CNN model using a simple three-block VGG architecture and tested the model’s performance using a validation dataset (20%) set aside from the training images.

In iteration Take2, we constructed a CNN model using the DenseNet architecture and tested the model’s performance using a validation dataset (20%) set aside from the training images.

In iteration Take3, we constructed a CNN model using the EfficientNet architecture and tested the model’s performance using a validation dataset (20%) set aside from the training images.

In this Take4 iteration, we will construct a CNN model using the ResNet architecture and test the model’s performance using a validation dataset (20%) set aside from the training images.

ANALYSIS: From iteration Take1, the baseline model’s performance achieved an accuracy score of 98.83% on the training dataset after 20 epochs. Furthermore, the final model achieved an accuracy score of 86.06% on the validation dataset.

In iteration Take2, the DenseNet model’s performance achieved an accuracy score of 99.92% on the training dataset after 20 epochs. Furthermore, the final model achieved an accuracy score of 97.59% on the validation dataset.

In iteration Take3, the EfficientNet model’s performance achieved an accuracy score of 99.89% on the training dataset after 20 epochs. Furthermore, the final model achieved an accuracy score of 96.83% on the validation dataset.

In this Take4 iteration, the ResNet model’s performance achieved an accuracy score of 99.70% on the training dataset after 20 epochs. Furthermore, the final model achieved an accuracy score of 96.20% on the validation dataset.

CONCLUSION: In this iteration, the ResNet CNN model appeared to be suitable for modeling this dataset. We should consider experimenting with more CNN architectures for further modeling.

Dataset Used: Land Use and Land Cover with Sentinel-2

Dataset ML Model: Multi-class image classification with numerical attributes

Dataset Reference: https://github.com/phelber/eurosat

A potential source of performance benchmarks: https://github.com/phelber/eurosat

The HTML formatted report can be found here on GitHub.