DCSkyCam Helicopter Type Classifier

A TensorFlow Lite model that classifies cropped images of helicopters into specific helicopter types.

This model is part of the 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 V2 (transfer learning via TensorFlow Hub make_image_classifier tool)
Input size 480 × 480 RGB
Output 10 classes (see labels below)
Format TensorFlow Lite (.tflite)
Quantization Post-training float16 quantization
File size ~211 MB

Classes

Index Label Description Training Samples
0 AS350 Eurocopter AS350 1,348
1 AW139 Leonardo AW139 41
2 B412 Bell 412 487
3 EC35 Eurocopter EC135 / H135 31
4 H60 Sikorsky UH-60 Black Hawk / SH-60 Seahawk 1,060
5 MH65 Coast Guard MH/HH-65 Dolphin 771
6 UH1N Bell UH-1N Huey 2,761
7 Unknown Unidentified helicopter type 136
8 VH3D Presidential transport version of the Sikorsky SH-3 Sea King 161
9 VH92 Presidential transport version of the Sikorsky S-92 Helibus 346

Intended Use

This model identifies the specific type of helicopter after it has been confirmed as a helicopter by the binary classifier. It was used in the DCSkyCam pipeline for aviation observation and data collection.

Intended for: Aviation observation, helicopter type identification, automated photography systems.

Not intended for: Safety-critical applications, weapon systems, or any use that could cause harm.

Training dataset

  • 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
AS350 0.8750 1.0000 0.9333
B412 1.0000 1.0000 1.0000
H60 1.0000 1.0000 1.0000
MH65 1.0000 1.0000 1.0000
UH1N 1.0000 1.0000 1.0000
Unknown 1.0000 0.8333 0.9091
VH3D 1.0000 1.0000 1.0000
VH92 1.0000 1.0000 1.0000
Macro Avg 0.9844 0.9792 0.9803

Overall accuracy: 97.4%

Note: AW139 and EC35 have no test samples in the evaluation set.

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 vary with significantly different lighting conditions (dusk/dawn/night)
  • Small or distant helicopters that appear as tiny pixels may not be classified reliably
  • The "Unknown" class captures all helicopter types not explicitly represented in the training data (e.g., S76, Bell 206)

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).

Per-Class Confidence Thresholds

The DCSkyCam production system used per-class confidence thresholds to reduce false positives:

Class Threshold
AS350 0.89
AW139 0.90
B412 0.80
EC35 0.90
H60 0.89
MH65 0.80
UH1N 0.89
VH3D 0.90
VH92 0.90

Citation

If you use this model in your research, please cite the DCSkyCam project:

@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 for details. The base model (EfficientNet V2) is derived from Google's EfficientNet and subject to its own license terms.

Downloads last month
8
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train dcskycam/heli-type-classifier