Skip to content

Repository files navigation

DrongoNet

Licence: CC BY 4.0

Lean TinyML CNNs for binary bird activity detection on embedded hardware. Derived from the TinyChirp CNN-Mel architecture and trained on the SEABAD (South-East Asian Bird Activity Detection) dataset. Named for the drongo, a vocally versatile Old World tropical passerine — the architecture itself is dataset-independent (see Citation).

DrongoNet Architecture

Variant Hardware Size Recall AUC (INT8, 3 seeds)
DrongoNet-Nano ARM Cortex-M4 (AudioMoth, STM32F4) 5.09 KB INT8 0.9727 ± 0.0007
DrongoNet-Micro ARM Cortex-M4 (AudioMoth, STM32F4) 6.23 KB INT8 ≥0.987 @ τ=0.30 0.9803 ± 0.0012
DrongoNet-Edge SBC (Raspberry Pi, Portenta X8) 33.06 KB INT8 ≥0.99 @ τ=0.50 0.9990 ± 0.0002

Recall is the primary deployment metric. AUC is reported for comparison.

Repository layout

pre-ablation/   Phase 0 TinyChirp baselines + zero-shot SEABAD evaluations
develop/        ablation chain (Phase 1–6) and final training scripts
analysis/       threshold sweeps, table compilation, figure generation
benchmark/      cross-dataset benchmarks (DCASE-2018 BAD, TinyChirp Corn Bunting)
deploy/         pre-trained INT8 TFLite models + firmware conversion (deploy/convert_xxd.sh)
edge_deploy/    Raspberry Pi inference package for DrongoNet-Edge

Dataset

SEABAD — binary classification (bird active / absent), 16 kHz, 3-second clips, 80/10/10 split. Available at zenodo.org/records/18290494.

Mel caches are keyed by (n_mels, n_fft, hop_length) and stored on an external drive:

/Volumes/Evo/cache4arxiv_fft{n_fft}_m{n_mels}/

Quickstart

Pre-trained INT8 TFLite models (seed 42) are in deploy/ — use them directly with deploy/convert_xxd.sh to embed in firmware.

To retrain from scratch, two arguments are required — everything else is locked:

python deploy/train_micro.py \
    --dataset-path /path/to/seabad \
    --cache-dir    /path/to/cache_fft1024_m16

Results land in results/drongonet_micro_fft1024_m16_s42/ and include float32 + INT8 TFLite evaluation, confusion matrix, ROC/PR curves, and a parseable results_summary.txt.

Requirements

  • Python 3.10+, TensorFlow 2.15
  • librosa, numpy, scikit-learn, matplotlib

Citation

M. Zabidi, "DrongoNet: Lightweight CNNs for Tropical Bird Audio Detection on Edge Devices," manuscript in preparation, 2026.

Based on: Huang et al., "TinyChirp: Bird Song Recognition Using TinyML," 2024.

About

Ablation scripts for DrongoNet bird activity detection model

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages