This repository contains the implementation for Applied Data Science (ADRS) Lab 4, focusing on satellite image classification using convolutional neural networks with PyTorch.
This project implements deep learning models to classify satellite imagery from the EuroSAT dataset. The EuroSAT dataset contains Sentinel-2 satellite images covering 13 spectral bands and consisting of 10 classes with a total of 27,000 labeled and geo-referenced images.
The project uses the EuroSAT dataset, which includes the following land use and land cover classes:
- Annual Crop
- Forest
- Herbaceous Vegetation
- Highway
- Industrial Buildings
- Pasture
- Permanent Crop
- Residential Buildings
- River
- Sea Lake
The project requires the following Python packages:
torch
torchvision
Install dependencies using:
pip install -r requirements.txt-
Extract the dataset: Run the
unzip.ipynbnotebook to extract the EuroSAT dataset from the ZIP file:# The notebook will extract EuroSAT.zip to a 'dataset' folder -
Run the main implementation: Open and execute
adrs_lab4/pytorch_convnets.ipynbto:- Load and preprocess the EuroSAT dataset
- Implement convolutional neural networks
- Train and evaluate the models
- Analyze classification results
The main implementation in pytorch_convnets.ipynb covers:
- Data Loading: Loading and preprocessing the EuroSAT satellite imagery
- Model Architecture: Implementation of CNN architectures for image classification
- Training: Training loop with appropriate loss functions and optimizers
- Evaluation: Model evaluation and performance metrics
- Visualization: Results visualization and analysis