File size: 3,721 Bytes
e7ffcd9 c9e7619 e7ffcd9 c9e7619 e7ffcd9 | 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 81 82 83 84 85 86 87 88 89 90 91 | ---
pipeline_tag: image-classification
library_name: tensorflow
tags:
- object-detection
- helicopter
- tflite
- transfer-learning
- efficientnet
- efficientnet-v2
- image-classification
license: apache-2.0
base_model: google/efficientnet-b4
datasets:
- dcskycam/helicopter-classification
---
# DCSkyCam Helicopter Binary Classifier
A TensorFlow Lite model that classifies cropped images of sky objects as **helicopter** or **not_helicopter**.
This model is part of the [DCSkyCam](https://github.com/dcskycam) project — an AI-enabled sky monitoring system built on Raspberry Pi that automatically detected and identified helicopters in its field of view.
## Model Overview
| Property | Value |
|----------|-------|
| Architecture | EfficientNet-B4 (transfer learning via TensorFlow Hub `make_image_classifier` tool) |
| Input size | 224 × 224 RGB |
| Output | 2 classes: `helicopter`, `not_helicopter` |
| Format | TensorFlow Lite (`.tflite`) |
| Quantization | Post-training float16 quantization |
| File size | ~70 MB |
## Intended Use
This model is designed to filter objects detected by the SSD MobileNet object detector in the DCSkyCam pipeline. When a candidate region is identified, this classifier determines whether it contains a helicopter before proceeding to type identification.
**Intended for:** Sky monitoring, aviation observation, automated photography systems.
**Not intended for:** Safety-critical applications, weapon systems, or any use that could cause harm.
## Training Details
- **Base model:** EfficientNet-B4 feature vector
- **Training tool:** TensorFlow Hub `make_image_classifier` with transfer learning
- **Positive samples:** 3,374 helicopter images
- **Negative samples:** 2,755 non-helicopter images (birds, clouds, aircraft, ground objects)
- **Training dataset:** [dcskycam/helicopter-classification](https://huggingface.co/datasets/dcskycam/helicopter-classification)
- Note: A small number of additional copyrighted images (<100) were used for training but are also excluded from the dataset published to HF for licensing reasons.
## Performance
| Class | Precision | Recall | F1 |
|-------|-----------|--------|-----|
| helicopter | 0.9750 | 1.0000 | 0.9873 |
| not_helicopter | 1.0000 | 0.9667 | 0.9831 |
| **Macro Avg** | **0.9875** | **0.9833** | **0.9852** |
Overall accuracy: **98.6%**
## Limitations & Biases
- Trained on images captured from a fixed camera position with Raspberry Pi HQ Camera and wide-angle lens. Model output will likely drop on other image sources.
- Performance may degrade with significantly different lighting conditions (dusk/dawn/night)
- Small or distant helicopters that appear as tiny pixels may not be classified reliably
- The model was trained on a relatively small dataset (~6,100 images)
## Usage
This model was intended to be used with the TensorFlow Lite (TFLite) runtimes and Python 3.11. TFLite has been deprecated. As the DCSkycam project has concluded, there will not be a migration to the newer LiteRT interpreter.
The repository includes an `inference.py` file with a sample implementation that has been tested on desktop (OSX) and a Raspberry Pi 5 device (Trixie 64-bit).
## Citation
If you use this model in your research, please cite the DCSkyCam project:
```bibtex
@misc{dcskycam2024,
title = {DCSkyCam: AI-Enabled Sky Monitoring System},
author = {DCSkyCam Contributors},
year = {2024},
url = {https://github.com/dcskycam}
}
```
## License
This project is licensed under the Apache License 2.0 — see [LICENSE](https://www.apache.org/licenses/LICENSE-2.0) for details. The base model (EfficientNet-B4) is derived from TensorFlow Hub and subject to its own license terms.
|