ML Capstone Projects · Computer vision
EuroSAT Land-Use Classifier
Compare CNN and ResNet models on Sentinel-2 EuroSAT imagery, with class-level error analysis, Grad-CAM, multispectral experiments and an ONNX inference API.
Capabilities
What it does
- Classifies 64×64 Sentinel-2 RGB tiles across 10 EuroSAT land-use classes and 27,000 images.
- Compares a CNN baseline with frozen and fine-tuned ResNet-18 models using stratified train, validation and test splits.
- Includes class-level error analysis, Grad-CAM visualisations, an optional 13-band GeoTIFF and NDVI study, and an executable notebook.
- Exports the RGB model to ONNX and serves predictions through a FastAPI endpoint with a Docker workflow.
Compatibility
Platforms and requirements
Python · PyTorch · ONNX · FastAPI
- EuroSAT imagery placed under data/EuroSAT/<class> for training
- NVIDIA GPU used for reported training; exported model supports CPU inference
First steps
Run the local inference API
Exampleshell
docker build -t eurosat-api .
docker run -p 8000:8000 eurosat-api
curl -F "file=@tile.jpg" localhost:8000/predict