Skip to content

Home Page

Mustafa Gurkan Canakci edited this page Sep 9, 2024 · 1 revision

Home Page

Satellite Image Classification using CNN and NasNet-Mobile

This project is about a classification model that works on satellite images. We use CNN and NasNet-Mobile architectures to classify satellite images into different categories. We optimized the model's accuracy using fine-tuning, and achieved 95% accuracy.


1. Project Overview

Goal:

This project aims to develop a deep learning model to classify satellite images. We improved the model performance by using pretrained models like NasNet-Mobile and fine-tuning.

Models Used:

  • NasNet-Mobile: A pretrained model used in this project.
  • CNN (Convolutional Neural Networks): Used to extract features and classify the images.

Performance:

  • Result: We achieved 95% accuracy after fine-tuning and optimization steps.

2. Dataset

Type of Data:

  • The satellite images show different areas and categories.
  • The images are labeled into various categories.

Data Processing:

  • The data was preprocessed to fit the CNN model.
  • We applied data augmentation and normalization during training.

3. Model Training

Techniques Used:

  • Fine-tuning: We froze the last layers of the NasNet-Mobile model and retrained the rest.
  • Transfer Learning: We used the NasNet-Mobile model, which was pretrained on a different dataset, and adapted it to satellite images.

Training Process:

  • The model was trained on the training dataset and evaluated on the test dataset.
  • Hyperparameter tuning (learning rate, batch size) was done to optimize the model.

4. Installation and Setup

Dependencies:

To run this project, you need to install these Python libraries:

  • TensorFlow
  • Keras
  • OpenCV
  • Matplotlib

Steps:

  1. Clone the GitHub repository:

    git clone https://github.com/grknc/Satellite-Image-Classification-CNN-Fine-Tuning-NasNet-Mobile
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Start Jupyter notebook and open the project file:

    jupyter notebook
  4. Open and run the notebook file:

    satellite_image_classification.ipynb

5. Results

Model Performance:

  • Training accuracy: 95%
  • Test accuracy: 94%
  • Training time: 1 hours 2 minutes

6. Contribution

Here’s how you can contribute to this project:

  1. Fork the repository.
  2. Make your changes.
  3. Create a Pull Request.

I welcome all contributions and feedback!

Clone this wiki locally