GQ / lab logES / EN
← Back to the log

EXP-01 · computer vision

Reading land use from space

A CNN trained from scratch to classify Sentinel-2 satellite images into 10 land-cover classes, across 11 documented experiments.

Land-cover classification from satellite imagery with CNNs (EuroSAT)

Question

Can a CNN trained from scratch classify 64×64 Sentinel-2 tiles into 10 land-cover classes?

Problem

Automatically classify land use (crops, forest, rivers, urban areas, etc.) from 64×64 RGB satellite images.

Method

Four experimental blocks changing one variable at a time (sample size, dropout, BatchNorm, depth, data augmentation), with EarlyStopping, confusion matrix and error analysis. Benchmarked against a frozen ImageNet MobileNetV2.

Result

From 70.7% (baseline CNN) to 91.7% test accuracy, and 91.3% on 17,000 images the model never saw, beating a frozen pretrained MobileNetV2 (79.6%).

What I learned

More data beat every architecture change: +7.3 points from 500 to 1,000 images per class.

Stack

  • Python
  • TensorFlow
  • Keras
  • scikit-learn
  • NumPy
  • Matplotlib

Context

Course: Image Processing · 2026

View the code on GitHub ↗