BirdSense

BirdSense

open_source

Self-hosted AI bird identification system. Classify 707 European species with ~90% accuracy using a ConvNeXt V2 model. Integrates with Home Assistant via MQTT and REST API.

About

BirdSense is a self-hosted, AI-powered bird species identification system built for hobbyists, privacy-conscious users, and smart home enthusiasts. At its core is a state-of-the-art ConvNeXt V2 computer vision model trained on thousands of bird images, capable of classifying 707 European bird species with around 90% accuracy. Deployment is straightforward via Docker Compose and runs on Raspberry Pi, a NAS, or any Linux server. The REST API accepts image uploads or image URLs (including BirdBuddy camera feeds) and returns the detected species in English and Dutch along with a confidence score and top predictions. BirdSense integrates seamlessly with Home Assistant through MQTT and REST commands. It publishes detections to configurable MQTT topics in real time, enabling automations such as mobile push notifications when a rare species is spotted or when a detection exceeds a configurable confidence threshold. MQTT sensors and automation YAML examples are provided out of the box. The included web dashboard displays real-time detection statistics, historical data, and charts with a dark mode suitable for 24/7 monitoring. Smart notification rules let users configure alerts by species or rarity level, so they never miss an unusual visitor at the feeder. Because all inference runs locally, no images or metadata are sent to external servers, making BirdSense ideal for users who value privacy. It is open source, actively maintained on GitHub, and free to use.

Key Features

  • ConvNeXt V2 Classification Model: Identifies 707 European bird species from images with approximately 90% accuracy using a state-of-the-art convolutional neural network.
  • Home Assistant Integration: Publishes detections to MQTT topics and exposes a REST API, enabling native Home Assistant sensors, automations, and mobile push notifications.
  • Privacy-First Local Processing: All image inference runs on your own device — no data, images, or metadata ever leave your home network.
  • One-Command Docker Deployment: Spin up the full stack with a single Docker Compose command on Raspberry Pi, a NAS, or any Linux server.
  • Real-Time Dashboard & Notifications: Built-in dark-mode web dashboard shows live detection statistics and charts, with configurable alerts for specific species or confidence thresholds.

Use Cases

  • Automating Home Assistant notifications whenever a specific rare bird species visits a garden feeder
  • Logging and visualising bird visit patterns over time using the built-in dashboard and historical data charts
  • Integrating BirdBuddy or IP camera snapshots into a local AI pipeline for real-time species identification without cloud dependency
  • Building privacy-respecting wildlife monitoring systems for gardens, nature reserves, or research plots
  • Triggering smart home automations (lights, recordings, alerts) based on high-confidence bird detections via MQTT

Pros

  • Completely Private: Local inference ensures bird images and detection data never leave your home, making it ideal for privacy-conscious users.
  • Deep Home Assistant Support: First-class MQTT and REST integration with ready-made YAML snippets for sensors, automations, and REST commands.
  • Open Source & Free: Fully open source on GitHub with no subscription fees, usage limits, or vendor lock-in.
  • Broad Species Coverage: Covers 707 European bird species at ~90% accuracy, making it genuinely useful for hobbyists across the continent.

Cons

  • European Species Only: The current model is trained on European birds; users in North America, Asia, or other regions will find limited or no coverage.
  • Self-Hosting Required: There is no cloud-hosted version; users must have a suitable Linux device (Raspberry Pi, NAS, etc.) and basic Docker knowledge to run the service.
  • Dutch Language Bias in Naming: Species names are returned in English and Dutch, which may require additional mapping for users who need other languages.

Frequently Asked Questions

What hardware do I need to run BirdSense?

BirdSense runs on any Linux-capable device with Docker support, including a Raspberry Pi, a NAS device, or a standard Linux server. Resource requirements are modest enough for single-board computers.

How do I install BirdSense?

Clone the GitHub repository and run `docker compose up -d`. The dashboard and API documentation are then accessible locally, typically on port 5001.

Does BirdSense send my images to the cloud?

No. All image classification is performed locally on your device. No data, images, or detection events are transmitted to external servers.

Can I use BirdSense with a BirdBuddy smart feeder?

Yes. The API accepts an `image_url` parameter, so you can pass BirdBuddy camera image URLs directly to the `/api/classify` endpoint and receive species identification results.

Which bird species does BirdSense support?

BirdSense currently supports 707 European bird species. The model was trained on thousands of bird images and achieves approximately 90% top-1 classification accuracy.

Reviews

No reviews yet. Be the first to review this tool.

Alternatives

See all