π¦ EfficientNet-B7 β Backyard Feeder Bird Classifier
Custom ONNX-based bird classification model trained on a filtered subset of the NABirds dataset, optimized for backyard bird feeders.
Designed to run on a Raspberry Pi + Hailo-8 setup in real-time as part of the Birdwatcher Project
π§ Model Details
- Architecture: EfficientNet-B7
- Resolution:
600Γ600
- Precision: Mixed (AMP)
- Format: ONNX
- Classes: 95 backyard species +
not_a_bird
- Validation Accuracy: 93.14% @ Epoch 23
- Optimized for inference on edge devices (e.g., Raspberry Pi 5 + Hailo-8)
π Files
efficientnet_b7_backyard_feeder_birds.onnx
β Trained ONNX modelclass_labels_v3.txt
β One class label per line
π οΈ Intended Use
- Use Case: Real-time fine-grained classification of birds visiting backyard feeders
- Hardware: Optimized for Raspberry Pi + Hailo-8 AI accelerator
- Pipeline: Captures images via YOLOv8 detection, then classifies via this model
π Example Inference Code
import onnxruntime as ort
import numpy as np
from PIL import Image
# Load model
session = ort.InferenceSession("efficientnet_b7_backyard_feeder_birds.onnx")
# Preprocess
img = Image.open("bird.jpg").resize((600, 600))
x = np.array(img).astype(np.float32) / 255.0
x = np.transpose(x, (2, 0, 1))[np.newaxis, :] # CHW + batch
# Predict
outputs = session.run(None, {"input": x})
pred_idx = np.argmax(outputs[0])
π Training
- Dataset: Subset of NABirds (filtered for common backyard species)
- Augmentations: Flip, rotation, brightness
- Regularization: Dropout, label smoothing
- Loss: Cross-entropy
- Optimizer: AdamW
- Early stopping enabled
π Related Repos
π License
GPLv3
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
π
Ask for provider support