Plane / No-Plane: Optimizing MobileNet for Satellite Aircraft Detection

A two-task deep learning project for the ED110135 Mobile Computer Vision lab course at TUM. The headline task trains a lightweight MobileNet to classify overhead satellite tiles as plane / notplane, a problem directly relevant to remote sensing, search-and-rescue, and edge-deployed earth observation. A parallel tabular task (Ames housing “expensive vs. not”) was built with vanilla gradient descent and a sigmoid classifier to contrast image-based deep learning with classical binary classification. Built in Python / TensorFlow / Keras, evaluated through systematic optimizer × epoch ablations rather than single accuracy numbers.
My Contributions
- MobileNet Pipeline (224×224×3 RGB satellite tiles): Set up the binary classifier with depth-wise separable convolutions, binary cross-entropy loss, and 1e-4 base learning rate. Kept width multiplier α and resolution multiplier ρ at default to isolate optimizer/epoch effects.
- Optimizer × Epoch Ablation: Ran a 3×3 sweep across Adam, SGD, and RMSProp at 15 / 30 epochs (plus a 100-epoch Adam stress run). Best result: Adam @ 30 epochs → 96.07% test accuracy, with SGD reaching the lowest loss (0.15) despite slightly lower accuracy.
- Training-Curve Diagnostics: Plotted train-vs-validation loss curves and confusion matrices for every configuration to look past raw accuracy. Identified Adam’s aggressive early-epoch validation spikes, SGD’s clean monotonic descent, RMSProp’s noisy-but-effective convergence, and clear overfitting in the Adam-100 run (training loss → 0 while validation loss plateaued ~0.15).
- Tabular Baseline (Ames Housing): Implemented a sigmoid-based binary classifier with manual gradient descent (
w_(n+1) = w_n − α · dL/dw_n, lr=1e-1), swept 5k / 25k / 50k epochs. Showed the same underfitting→sweet-spot→overfitting curve appears regardless of model class — reinforcing “watch the curves, not the accuracy.” - Segmentation Context: Studied classification vs. semantic segmentation as a backbone-reuse exercise (MobileNet-Unet), framing how the same efficient backbone scales from “is there a plane?” triage to pixel-level localization for SAR / EO applications.
Tech Stack
Python · TensorFlow / Keras · MobileNet (depth-wise separable convolutions) · NumPy / Pandas / Matplotlib · Jupyter · Optimizers: Adam, SGD, RMSProp · Binary Cross-Entropy loss · Confusion matrices & loss-curve analysis