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
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.
Dataset reference: Lam et al., xView: Objects in Context in Overhead Imagery (2018).
- Downloads last month
- -