Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/al-chris/satelliteimageclassification
Python and MATLAB codes for satellite image classification using a convolutional neural network.
https://github.com/al-chris/satelliteimageclassification
Last synced: 12 days ago
JSON representation
Python and MATLAB codes for satellite image classification using a convolutional neural network.
- Host: GitHub
- URL: https://github.com/al-chris/satelliteimageclassification
- Owner: al-chris
- License: mit
- Created: 2023-09-30T16:39:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-31T18:03:01.000Z (about 1 month ago)
- Last Synced: 2024-12-31T19:17:34.599Z (about 1 month ago)
- Language: Jupyter Notebook
- Size: 154 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# satelliteImageClassification
Python and MATLAB codes for satellite image classification using a convolutional neural network.The dataset used was gotten from
https://www.kaggle.com/datasets/mahmoudreda55/satellite-image-classification
# Image Classification Repository
This repository contains Python and MATLAB code for classifying satellite images using a convolutional neural network (CNN). The dataset used is available at [Kaggle: Satellite Image Classification](https://www.kaggle.com/datasets/mahmoudreda55/satellite-image-classification).
## Project Overview
The project demonstrates how to build and train a CNN to classify satellite images. It includes:
- **Data Preprocessing**: Loading and preparing the dataset for training.
- **Model Architecture**: Defining the CNN structure.
- **Training**: Training the model on the dataset.
- **Evaluation**: Assessing the model's performance on test data.## Repository Structure
- `LICENSE`: License information.
- `README.md`: Project overview and instructions.
- `satellite.ipynb`: Jupyter Notebook with Python code for training and evaluating the CNN.
- `satellite_images.mlx`: MATLAB Live Script for training and evaluating the CNN.## Getting Started
To run the code:
1. **Clone the repository**:
```bash
git clone https://github.com/al-chris/satelliteImageClassification.git
```2. **Navigate to the project directory**:
```bash
cd satelliteImageClassification
```3. **Install the required Python packages**:
Ensure you have Python installed, then install the necessary packages:
```bash
pip install -r requirements.txt
```*Note: The `requirements.txt` file should list all required packages. If it's missing, refer to the imports in `satellite.ipynb` and install the packages manually.*
4. **Download the dataset**:
Download the dataset from [Kaggle](https://www.kaggle.com/datasets/mahmoudreda55/satellite-image-classification) and extract it into the project directory.
5. **Run the Jupyter Notebook**:
```bash
jupyter notebook satellite.ipynb
```Follow the instructions in the notebook to train and evaluate the model.
6. **For MATLAB users**:
Open `satellite_images.mlx` in MATLAB and run the script to train and evaluate the model.
## Model Architecture
The CNN architecture includes:
- Convolutional layers
- Batch normalization
- ReLU activation functions
- Max pooling layers
- Fully connected (dense) layers## Visualization
```
_________________
| Input |
| Data |
|_________________|
|
_________________
| Conv2D |
|_________________|
| BatchNorm2D |
|_________________|
| ReLU |
|_________________|
| MaxPooling2D |
|_________________|
|
_________________
| Conv2D |
|_________________|
| BatchNorm2D |
|_________________|
| ReLU |
|_________________|
| MaxPooling2D |
|_________________|
|
_________________
| Conv2D |
|_________________|
| BatchNorm2D |
|_________________|
| ReLU |
|_________________|
| Flatten |
|_________________|
|
_________________
| Dense |
|_________________|
```This structure is designed to effectively capture spatial hierarchies in the input images.
## Results
After training, the model achieves an accuracy of approximately 98% on the test set.
## Contributing
Contributions are welcome. Feel free to open issues or submit pull requests.
## License
This project is licensed under the MIT License. See the `LICENSE` file for details.
## Acknowledgments
- Dataset: [Kaggle: Satellite Image Classification](https://www.kaggle.com/datasets/mahmoudreda55/satellite-image-classification)
For any questions or suggestions, please contact [Christopher Aliu](https://github.com/al-chris).