doguilmak / Classify-Trees-from-Satellite-Imagery

Satellite photographs taken by the Sentinel-2 were classified with pre-trained ResNet-50 and VGG16 models. In addition made CAM model.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Classify Trees in Satellite Imagery

esto.nasa.gov

Fig.1 - esto.nasa.gov


Project Statement

In this project, satellite photographs taken by the Sentinel-2 satellite were classified with pre-trained ResNet-50 and VGG16 models. You can find the dataset on Kaggle. Tree detection can be used for applications such as vegetation management, forestry, urban planning, etc. Tree identifications are very important in terms of impending famine and forest fires.


Keywords

  • Satellite Imagery
  • Computer Science
  • ResNet-50
  • VGG-16
  • Classification
  • Trees

About Dataset

esto.nasa.gov

Fig.2 - sentinel.esa.int


The Copernicus Sentinel-2 mission comprises a constellation of two polar-orbiting satellites placed in the same sun-synchronous orbit, phased at $180°$ to each other. It aims at monitoring variability in land surface conditions, and its wide swath width (290 km) and high revisit time (10 days at the equator with one satellite, and 5 days with 2 satellites under cloud-free conditions which results in 2-3 days at mid-latitudes) will support monitoring of Earth's surface changes.

Context

This dataset is being used for classifying the land with class of trees or not in geospatial images.

Content

The content architecture is simple. Each datum has 64x64 resolution and located under tree and notree folders.
Each folder (class) has 5200 images. So the total dataset has 10.400 images.

Cite

M.Ç.Aksoy (2022). Trees in Satellite Imagery

And you can also cite the source of this data EUROSAT:
Helber, P., Bischke, B., Dengel, A., & Borth, D. (2019). Eurosat: A novel dataset and deep learning benchmark for land use and land cover classification. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 12(7), 2217-2226.


About Models

ResNet-50

miro.medium.com

Fig.3 - medium.com

ResNet-50 is a convolutional neural network that is 50 layers deep. The network can take the input image having height, width as multiples of 32 and 3 as channel width. For the sake of explanation, we will consider the input size as 224x224x3. The ResNet-50 model consists of 5 stages each with a convolution and Identity block. Each convolution block has 3 convolution layers and each identity block also has 3 convolution layers. The ResNet-50 has over 23 million trainable parameters.


VGG-16

medium.com

Fig.4 - medium.com

VGG16 is a convolution neural net (CNN) architecture which was used to win ILSVR(Imagenet) competition in 2014. It is considered to be one of the excellent vision model architecture till date. In this section, we will start building our model. We will use the Sequential model class from Keras.


Notebooks

On below, there are informations about the notebooks created respectively.

  1. In this sections, visualizations of the data set were made.
    Notebooks:

    1. 1_0_data_preparation.ipynb

    2. 1_0_load_and_display_data.ipynb

  2. In this section, I build classification model with ResNet-50.
    Notebook:

    1. 2_0_pretrained_models_resnet50.ipynb - Model has 98% accuracy.
  3. In this section, I build VGG16 model for classification.
    Notebook:

    1. 3_0_pretrained_models_vgg16.ipynb - Model has 50% accuracy.
  4. In this section, I build classification model with Class Activation Map (CAM).

    1. 4_0_model_with_cam.ipynb - Model has 93% accuracy. The results of the model on the test data are in the model_predictions.csv file. Just click the link to view. You can also review train, test and validation csv files here.


References


Contact Me

If you have something to say to me please contact me:

About

Satellite photographs taken by the Sentinel-2 were classified with pre-trained ResNet-50 and VGG16 models. In addition made CAM model.


Languages

Language:Jupyter Notebook 97.4%Language:Python 2.6%