Fonctionnement général
BirdNet‑Go fonctionne en continu, 24 h/24, en analysant le flux audio provenant des caméras IP via le protocole RTSP. Dès qu’un chant d’oiseau ou d’animal nocturne (chauve‑souris) est détecté, le modèle d’intelligence artificielle le classe et renvoie immédiatement le nom de l’espèce. Le même pipeline a identifié des grenouilles et, de façon anecdote, un pet humain, montrant que le système ne filtre pas les sons non aviaires.
Le service propose aussi un suivi de la nouveauté : chaque première observation d’une espèce dans le jardin est consignée, ce qui crée un historique de biodiversité local.
Architecture logicielle et inference locale
Le cœur du projet est un conteneur Docker qui encapsule l’ensemble de la chaîne de traitement. Le conteneur récupère le flux audio RTSP, le découpe en fenêtres de quelques secondes, puis les transmet à un moteur d’inférence AI installé localement. Aucun appel à une API cloud n’est effectué, garantissant la confidentialité des données audio et éliminant les coûts d’abonnement.
Deux modèles sont disponibles : le modèle BirdNET 2.4, limité à 6 000 espèces, et le modèle Google Perch v2, récemment ajouté, qui couvre 14 795 espèces. Le passage de 6 000 à 14 795 classes augmente la résolution taxonomique mais impose une charge mémoire supplémentaire, ce qui explique pourquoi l’auteur mentionne l’usage possible d’un Raspberry Pi ou d’un vieux portable selon les ressources disponibles.
Les résultats sont publiés via MQTT, ce qui permet à Home Assistant de les consommer en temps réel. L’interface web montre les niveaux d’énergie audio par canal, aidant à ajuster l’orientation des caméras ou à identifier les sources de bruit (ex. : unité de climatisation).
Intégrations et extensions
BirdNet‑Go s’intègre directement à BirdWeather, une plateforme communautaire qui agrège les détections pour alimenter la recherche ornithologique. Les utilisateurs peuvent également activer des alertes personnalisées : lorsqu’une espèce ciblée (ex. : cardinal) apparaît, une notification est envoyée, même sur Discord via un webhook.
Un compagnon iOS nommé « BirdNET‑Go Companion » permet de visualiser les détections depuis un smartphone, tandis que le front‑end Saezuri, inspiré d’Avian Visitors, génère une mosaïque visuelle où chaque oiseau est proportionnel à sa fréquence d’appel. Toutes ces couches fonctionnent sur le même réseau local, sans dépendance à un service externe.
Limites et perspectives
Le système repose exclusivement sur l’audio ; les espèces silencieuses ou dont le chant est masqué par le vent restent indétectables. La qualité du microphone intégré aux caméras de sécurité influence directement le taux de faux positifs, comme le montre la détection d’un pet. De plus, le modèle Google Perch v2, bien que plus complet, nécessite davantage de RAM et de puissance CPU, ce qui peut contraindre les déploiements sur du matériel très limité.
Enfin, l’absence de mécanisme de mise à jour automatique du modèle implique que l’administrateur doit régulièrement reconstruire le conteneur pour profiter des améliorations futures. Malgré ces contraintes, l’approche « self‑hosted » offre une solution robuste, peu coûteuse et respectueuse de la vie privée pour transformer un réseau de caméras de sécurité en observatoire ornithologique automatisé.