Image Classification
Keras
English
computer-vision
satellite-imagery
remote-sensing
xview
cnn
inception
tensorflow
trained-from-scratch
Instructions to use MelenL/Custom_Inception_Style_CNN_for_Satellite_Image_Classification with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use MelenL/Custom_Inception_Style_CNN_for_Satellite_Image_Classification with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://MelenL/Custom_Inception_Style_CNN_for_Satellite_Image_Classification") - Notebooks
- Google Colab
- Kaggle
File size: 3,413 Bytes
1eaffa3 30ddf64 1eaffa3 30ddf64 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | ---
license: mit
language:
- en
pipeline_tag: image-classification
library_name: keras
metrics:
- accuracy
tags:
- computer-vision
- satellite-imagery
- remote-sensing
- xview
- cnn
- inception
- tensorflow
- trained-from-scratch
---
# Custom Inception-style CNN for Satellite Image Classification
A custom convolutional neural network trained from scratch to classify satellite image crops into 13 xView categories. Developed as a Deep Learning course project at Universidad Politécnica de Madrid (UPM), this architecture uses parallel convolutional branches to extract features at multiple spatial scales.
## Architecture
- **Input:** 128 × 128 RGB image crops.
- **Output:** softmax probabilities over 13 classes.
- **Parameters:** 4,529,325, as recorded in the notebook.
- **Feature extractor:** convolutional stem followed by seven custom Inception-style modules.
- **Parallel branches:** 1 × 1 convolution; 1 × 1 followed by 3 × 3 convolution; 1 × 1 followed by two 3 × 3 convolutions; and max pooling followed by 1 × 1 convolution.
- **Classification head:** global average pooling, dropout (0.4), and a dense softmax layer.
- **Framework:** TensorFlow / Keras.
This is a custom Inception-inspired architecture, not the standard InceptionV3 model. It classifies individual image crops rather than detecting objects in full satellite scenes.
## Training
The notebook uses Adam with an initial learning rate of 0.001 and categorical cross-entropy with label smoothing of 0.1. Training is configured for up to 50 epochs with a batch size of 64. The saved training log identifies epoch 47 as the best epoch by validation accuracy.
## Results
The notebook compares three custom CNN architectures on the same validation split:
| Architecture | Validation accuracy |
| --- | --- |
| ResNet-style | 18.67% |
| VGG-style | 68.53% |
| **Inception-style** | **72.69%** |
The selected Inception-style model also achieved **75.63% macro recall** and **75.48% macro precision** in the recorded validation evaluation.
These results come from the original experiments in `CNN Best model.ipynb`. They refer to the course's 13-class classification setup, not the full xView object detection benchmark.
## Classes
Cargo plane, small car, bus, truck, motorboat, fishing vessel, dump truck, excavator, building, helipad, storage tank, shipping container, and pylon.
## Project materials
- Training and evaluation notebook: `CNN Best model.ipynb`.
- Project report: `Report_ImageRecognitionAndObjectDetectiononthexViewSatelliteDataset.pdf`.
The notebook documents the architecture definitions, training experiments, confusion matrices, and per-class evaluation. Results from any subsequent training run should be evaluated independently.
## Authors
Melen Laclais, Léo Lamy, and Adrián García-Pozuelo Fornieles.
## License and attribution
The MIT license designation applies to original project code only. Third-party code and course materials retain their respective terms.
xView imagery and annotations remain under **CC BY-NC-SA 4.0**, including any dataset images reproduced in notebooks or the report.
- [xView dataset](https://xviewdataset.org/)
- [Official xView dataset license terms](https://challenge.xviewdataset.org/rules)
- [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
Dataset reference: Lam et al., *xView: Objects in Context in Overhead Imagery* (2018).
|