Semantic Segmentation of Aerial Drone Images
Aerial Segmentation ResultsA systematic benchmark of four segmentation architectures on the Semantic Drone Dataset — 400 high-resolution aerial images (up to 4000×6000 px) with pixel-level labels across 23 urban classes. The goal: understand the accuracy–cost tradeoff across CNN and transformer approaches under real GPU memory constraints.
Best result: UNet at 86.4% accuracy, outperforming DeepLabV3+ (~80%), Swin Transformer (~82%), and SegNet (~75%).
Dataset
Semantic Drone Dataset — 400 images, 350 train / 50 test, 23 semantic classes:
- Structures: building, wall, fence, bridge
- Nature: tree, vegetation, grass, water
- Infrastructure: road, sidewalk, parking, rail track
- Objects: car, truck, person, bicycle
- Environment: sky, ground, terrain
Images were downscaled to 384×512 for training due to GPU memory constraints (original 4000×6000 px).
Architectures
| Model | Params | Accuracy | Inference |
|---|---|---|---|
| UNet | ~34.6M | 86.4% | Fast |
| Swin Transformer | — | ~82% | Slow |
| DeepLabV3+ (ResNet-50) | — | ~80% | Medium |
| SegNet (VGG) | — | ~75% | Fast |
All models trained with Adam (lr=0.001), sparse categorical crossentropy, up to 500 epochs with early stopping; convergence around epoch 300–400.
Key tradeoffs:
- UNet’s encoder–decoder with skip connections gave the best overall accuracy with fast inference.
- Swin Transformer captured finer details thanks to global attention but at high compute cost.
- SegNet was the most memory-efficient via pooling-index upsampling.
- DeepLabV3+ with ASPP is best suited for full-resolution inference when memory allows.
Known limitation: all models struggled with small objects (vehicles, pedestrians <60% accuracy) due to downscaling; patch-based inference at full resolution would close this gap.
Technical Stack
TensorFlow 2.x / Keras · NumPy · OpenCV · Google Colab (T4 GPU) · TensorBoard
Project Report
Course: CS5480 — Deep Learning for Vision, IIT Hyderabad (Aug–Nov 2023) · Supervised by Prof. Summohana Channapayya