In dit artikel beschrijft de auteur hoe hij drie bestaande beveiligingscamera's heeft omgebouwd tot een automatisch vogelidentificatiesysteem met behulp van BirdNet-Go.
De belangrijkste kenmerken van het systeem zijn:
- Lokale AI-inferentie: Het systeem draait volledig lokaal via Docker (bijvoorbeeld op een Raspberry Pi), wat zorgt voor privacy en het ontbreken van abonnementskosten. Er wordt gebruikgemaakt van modellen zoals Google Perch v2 voor een hoge nauwkeurigheid.
- RTSP-integratie: Het maakt gebruik van de audio-streams van bestaande IP-camera's, waardoor er geen extra hardware nodig is.
- Real-time detectie: Naast vogels kan het systeem ook vleermuizen en kikkers identificeren.
- Automatisering en meldingen: De auteur heeft alert-regels ingesteld die meldingen sturen naar een Discord-kanaal en Home Assistant via MQTT.
- Biodiversiteits-tracking: Het systeem houdt bij welke soorten er in de tuin voorkomen en markeert wanneer er voor het eerst een nieuwe soort wordt gespot.
Daarnaast wordt er melding gemaakt van de integratie met BirdWeather voor het delen van data met de community en de beschikbaarheid van de BirdNET-Go Companion iOS-app. De auteur concludeert dat het project na een jaar meer dan 400.000 detecties heeft opgeleverd, wat heeft geleid tot een grotere betrokkenheid bij de lokale natuur.
Hoe ik mijn beveiligingscamera's veranderde in een automatisch vogelidentificatiesysteem met BirdNet-Go
Mijn vrouw houdt ervan om naar de vogels te luisteren en ze te identificeren met een app op haar telefoon. Ik dacht dat ik dit een stap verder kon tillen en wilde kijken of er iets bestond dat vogels kan identificeren op basis van hun gezang. Tijdens mijn zoektocht vond ik BirdNet en BirdNet-Go, en ontdekte dat je dit via Docker kunt draaien en de beveiligingscamera's die je al buiten hangen kunt gebruiken om vogels te identificeren. Geweldig! Dus heb ik drie camera's rondom mijn huis gepakt en hun microfoons gebruikt om de vogels te identificeren. Het was magie.
Real-time audio-detectie van vogels en vleermuizen
BirdNet-Go draait 24/7 en luistert constant. Op het moment dat een vogel begint te zingen, analyseert het systeem de audio en geeft het een identificatie. Geen wachttijden, geen handmatige opname. Het werkt ook voor vleermuizen, wat behoorlijk gaaf is als je die in de schemering rondvliegen. Het systeem blijft gewoon op de achtergrond draaien en catalogiseert alles wat het hoort. Inmiddels is het ook begonnen met het detecteren van kikkers, wat interessant is.
Lokale AI-inferentiemotor met meerdere modellen
Het hele systeem draait lokaal op je eigen hardware. Geen clouddiensten, geen API-aanroepen. De AI-modellen staan direct op je server of Raspberry Pi. Dit betekent dat het snel is, privé is en niets per maand kost. Je kunt zelfs meerdere modellen draaien als je verschillende detectiestrategieën of regionale vogeldatabases wilt. Onlangs is Google Perch v2 aan de modelgalerij toegevoegd, waardoor er 14.795 soorten gedetecteerd kunnen worden, tegenover de 6.000 die BirdNET 2.4 bood.
Alert-regels met matching van soortenlijsten
Je kunt regels instellen voor specifieke vogels. Wil je direct weten wanneer er een kardinaal verschijnt? Geregeld. Ben je op zoek naar een zeldzame soort in jouw regio? Stel een alert in. Het systeem vergelijkt de waarnemingen met soortenlijsten en stuurt meldingen op basis van de criteria die jij instelt. Het is alsof je een vogelspot-maatje hebt die nooit slaapt. Ik heb het zelfs gekoppeld aan een kanaal in mijn huis-Discord-server. (Wacht, heeft jouw huis geen eigen Discord? Ik heb meldingen en alerts voor vogelwaarnemingen ingesteld in het Discord-kanaal #birdnet).
Tracking van nieuwe vogelsoorten
Deze functie houdt bij welke vogels nieuw zijn in je tuin. Bezoekt er voor het eerst een blauwe gaai? BirdNet-Go markeert dit. Het systeem houdt een lopende lijst bij van elke gedetecteerde soort, zodat je kunt zien hoe de biodiversiteit in je tuin in de loop van de tijd groeit. Eerlijk gezegd is dit voor ons een leuk spelletje geworden.
Ondersteuning voor RTSP-streams van IP-camera's
Als je camera's RTSP ondersteunen, kun je direct aan de slag. De meeste moderne IP-camera's doen dat. Je wijst BirdNet-Go simpelweg naar de stream-URL. Ik heb drie van mijn bestaande beveiligingscamera's gebruikt, dus ik hoefde geen speciale hardware te kopen. De camera's die ik al voor beveiliging had, vervullen nu een dubbelrol door ook vogels te identificeren.
Integratie met BirdWeather voor het delen van data
BirdWeather is een community-platform voor het delen van vogeldetectiegegevens. BirdNet-Go integreert hier direct mee. Als je je waarnemingen wilt bijdragen aan een grotere dataset, dan kan dat. Dit helpt onderzoekers en andere vogelaars om te zien wat er in jouw regio gebeurt. Je hoeft het niet te gebruiken, maar het is fijn dat de optie er is.
Self-hosted zonder cloud-afhankelijkheden
Alles bevindt zich op je eigen netwerk. De audio verlaat je huis nooit, tenzij je dit expliciet deelt. Geen abonnementskosten, geen wijzigingen in de servicevoorwaarden en geen bedrijf dat de dienst over twee jaar stopzet. Je bent eigenaar van de volledige stack. Het draait in Docker, waardoor het gemakkelijk te beheren is naast alle andere zaken in je homelab.
Koppeling met Home Assistant
Alles moet kunnen worden gekoppeld aan Home Assistant, en BirdNET-Go kan MQTT gebruiken om ontdekt te worden in Home Assistant.
Visuele analyse van het energieniveau van audiokanalen
De interface toont real-time audioniveaus voor elk kanaal. Je kunt precies zien wat de microfoons oppikken. Dit helpt je om camera's beter te positioneren of om uit te zoeken waarom een camera niets detecteert. Soms kom je erachter dat de camera op een luidruchtige airconditioning is gericht of last heeft van windruis, waarna je dit kunt aanpassen.
HET HEEFT EEN WINDJE GEDETECTEERD!
Een paar avonden geleden kreeg ik een melding van Home Assistant dat er een windje (scheet) was gedetecteerd in de oprit. Mijn buurman liep tijdens zijn avondwandeling langs mijn huis en liet een windje ontsnappen terwijl hij de oprit passeerde; dit werd door het systeem gedetecteerd.
Is daar een app voor?
Iemand heeft een gratis iOS-app gemaakt genaamd "BirdNET-Go Companion". Hiermee kun je je telefoon verbinden met je BirdNet-Go-server en de detecties zien in een native iOS-app. Geweldig werk, Robert Oesterlin!
Slotbeschouwingen
Dit project heeft me verrast. Ik verwachtte dat het leuk zou zijn, maar dacht dat ik er na een week wel klaar mee zou zijn. In plaats daarvan kijken mijn vrouw en ik er dagelijks naar. We hebben geleerd welke vogels op welke tijdstippen langskomen en we hebben soorten gespot waarvan we niet wisten dat ze in de buurt leefden. Mijn vrienden raakten ook geïnteresseerd; ik heb het beschikbaar gemaakt via de publieke domeinnaam van het huis (uiteraard achter Cloudflare) en een paar vrienden toegestaan om verbinding te maken en te zien hoe het werkt. Het heeft mijn beveiligingscamera-setup veranderd in iets dat echt nuttig is buiten beveiliging om. Als je camera's met microfoons hebt en zelfs maar een kleine interesse in vogels, probeer BirdNet-Go dan eens. Het is een van die homelab-projecten die het dagelijks leven daadwerkelijk verbeteren in plaats van alleen technisch interessant te zijn.
Referentie: GitHub - tphakala/birdnet-go (Self-hosted real-time soundscape analyser for birds, bats and other wildlife).
Vragen en antwoorden (via Reddit en Hacker News)
Veel mensen noemden het gebruik van e-ink displays om deze data te bekijken; wat een slim idee. Mijn vrouw en ik gebruiken de webinterface op onze telefoons om de lijst met recente detecties te zien. Daarnaast heb ik de Home Assistant-integratie gekoppeld, zodat het op een scherm verschijnt dat ik daar heb geconfigureerd. Ik ga kijken hoe de mobiele companion-app precies werkt.
Sommigen spraken over het gebruik van speciale microfoons voor de detectie. Dat overweeg ik voor onze achtertuin; we hebben daar om privacyredenen geen camera's hangen, maar een microfoon zou geweldig zijn. Eén ding dat ik niet noemde: de microfoons schakelen uit als ze spraak horen, wat een mooie functie is.
Een paar mensen gaven aan dat ze hun eigen versies van BirdNet-Go hebben gebouwd of "vibe coded". Dat vind ik geweldig. Ik heb gevonden wat voor mij werkte, en dat was een systeem dat mijn vrouw al op haar telefoon gebruikte met een app. Nu is het alsof haar telefoon 24/7 buiten hangt om vogelgeluiden op te vangen.
Iemand vroeg of dit omgebouwd kan worden tot een deuurbel. Nee, dat kan niet, maar het kan wel je deuurbel gebruiken als deze over een RTSP-feed beschikt.
Veel mensen noemden vleermuizen; ja, als je een gespecialiseerde microfoon hebt, kun je vleermuizen absoluut met een hogere nauwkeurigheid detecteren. Er staat een "vleermuisbox" in onze straat op een paal, waar we geloven dat enkele vleermuizen wonen.
Ja, die winddetector was grappig!
Er werd gevraagd naar de betrouwbaarheid (confidence) bij het identificeren van vogels. Eerlijk gezegd zijn wij geen vogelaars, maar mensen met een enorme hoeveelheid vogels om ons heen. Daarom heb ik de RTSP-streams gebruikt om ze op te vangen en een lokaal AI-model om ze te identificeren.
Veel mensen praatten over het hacken van Flock-camera's om dit te doen; ga je gang! (Deel de projectlink in de reacties als je dit doet).
Sommigen merkten op dat ik een klein aantal detecties had. Over de afgelopen 12 maanden hebben we echter 418.726 detecties gehad met 271 unieke soorten en een gemiddelde betrouwbaarheidsscore van 60,9%. De meest voorkomende vogel in ons gebied in Zuid-Californië is de Huismus (House Finch) met 118.667 detecties.
Hoe ik mijn beveiligingscamera's veranderde in een automatisch vogelidentificatiesysteem met BirdNet-Go
Mijn vrouw houdt ervan om naar de vogels te luisteren en ze te identificeren met een app op haar telefoon. Ik dacht dat ik dit een stap verder kon tillen en wilde kijken of er iets bestond dat vogels kan identificeren op basis van hun gezang. Tijdens mijn zoektocht vond ik BirdNet en BirdNet-Go, en ontdekte dat je dit via Docker kunt draaien en de beveiligingscamera's die je al buiten hangen kunt gebruiken om vogels te identificeren. Geweldig! Dus heb ik drie camera's rondom mijn huis gepakt en hun microfoons gebruikt om de vogels te identificeren. Het was magie.
Real-time audio-detectie van vogels en vleermuizen
BirdNet-Go draait 24/7 en luistert constant. Op het moment dat een vogel begint te zingen, analyseert het systeem de audio en geeft het een identificatie. Geen wachttijden, geen handmatige opname. Het werkt ook voor vleermuizen, wat behoorlijk gaaf is als je die in de schemering rondvliegen. Het systeem blijft gewoon op de achtergrond draaien en catalogiseert alles wat het hoort. Inmiddels is het ook begonnen met het detecteren van kikkers, wat interessant is.
Lokale AI-inferentiemotor met meerdere modellen
Het hele systeem draait lokaal op je eigen hardware. Geen clouddiensten, geen API-aanroepen. De AI-modellen staan direct op je server of Raspberry Pi. Dit betekent dat het snel is, privé is en niets per maand kost. Je kunt zelfs meerdere modellen draaien als je verschillende detectiestrategieën of regionale vogeldatabases wilt. Onlangs is Google Perch v2 aan de modelgalerij toegevoegd, waardoor er 14.795 soorten gedetecteerd kunnen worden, tegenover de 6.000 die BirdNET 2.4 bood.
Alert-regels met matching van soortenlijsten
Je kunt regels instellen voor specifieke vogels. Wil je direct weten wanneer er een kardinaal verschijnt? Geregeld. Ben je op zoek naar een zeldzame soort in jouw regio? Stel een alert in. Het systeem vergelijkt de waarnemingen met soortenlijsten en stuurt meldingen op basis van de criteria die jij instelt. Het is alsof je een vogelspot-maatje hebt die nooit slaapt. Ik heb het zelfs gekoppeld aan een kanaal in mijn huis-Discord-server. (Wacht, heeft jouw huis geen eigen Discord? Ik heb meldingen en alerts voor vogelwaarnemingen ingesteld in het Discord-kanaal #birdnet).
Tracking van nieuwe vogelsoorten
Deze functie houdt bij welke vogels nieuw zijn in je tuin. Bezoekt er voor het eerst een blauwe gaai? BirdNet-Go markeert dit. Het systeem houdt een lopende lijst bij van elke gedetecteerde soort, zodat je kunt zien hoe de biodiversiteit in je tuin in de loop van de tijd groeit. Eerlijk gezegd is dit voor ons een leuk spelletje geworden.
Ondersteuning voor RTSP-streams van IP-camera's
Als je camera's RTSP ondersteunen, kun je direct aan de slag. De meeste moderne IP-camera's doen dat. Je wijst BirdNet-Go simpelweg naar de stream-URL. Ik heb drie van mijn bestaande beveiligingscamera's gebruikt, dus ik hoefde geen speciale hardware te kopen. De camera's die ik al voor beveiliging had, vervullen nu een dubbelrol door ook vogels te identificeren.
Integratie met BirdWeather voor het delen van data
BirdWeather is een community-platform voor het delen van vogeldetectiegegevens. BirdNet-Go integreert hier direct mee. Als je je waarnemingen wilt bijdragen aan een grotere dataset, dan kan dat. Dit helpt onderzoekers en andere vogelaars om te zien wat er in jouw regio gebeurt. Je hoeft het niet te gebruiken, maar het is fijn dat de optie er is.
Self-hosted zonder cloud-afhankelijkheden
Alles bevindt zich op je eigen netwerk. De audio verlaat je huis nooit, tenzij je dit expliciet deelt. Geen abonnementskosten, geen wijzigingen in de servicevoorwaarden en geen bedrijf dat de dienst over twee jaar stopzet. Je bent eigenaar van de volledige stack. Het draait in Docker, waardoor het gemakkelijk te beheren is naast alle andere zaken in je homelab.
Koppeling met Home Assistant
Alles moet kunnen worden gekoppeld aan Home Assistant, en BirdNET-Go kan MQTT gebruiken om ontdekt te worden in Home Assistant.
Visuele analyse van het energieniveau van audiokanalen
De interface toont real-time audioniveaus voor elk kanaal. Je kunt precies zien wat de microfoons oppikken. Dit helpt je om camera's beter te positioneren of om uit te zoeken waarom een camera niets detecteert. Soms kom je erachter dat de camera op een luidruchtige airconditioning is gericht of last heeft van windruis, waarna je dit kunt aanpassen.
HET HEEFT EEN WINDJE GEDETECTEERD!
Een paar avonden geleden kreeg ik een melding van Home Assistant dat er een windje (scheet) was gedetecteerd in de oprit. Mijn buurman liep tijdens zijn avondwandeling langs mijn huis en liet een windje ontsnappen terwijl hij de oprit passeerde; dit werd door het systeem gedetecteerd.
Is daar een app voor?
Iemand heeft een gratis iOS-app gemaakt genaamd "BirdNET-Go Companion". Hiermee kun je je telefoon verbinden met je BirdNet-Go-server en de detecties zien in een native iOS-app. Geweldig werk, Robert Oesterlin!
Slotbeschouwingen
Dit project heeft me verrast. Ik verwachtte dat het leuk zou zijn, maar dacht dat ik er na een week wel klaar mee zou zijn. In plaats daarvan kijken mijn vrouw en ik er dagelijks naar. We hebben geleerd welke vogels op welke tijdstippen langskomen en we hebben soorten gespot waarvan we niet wisten dat ze in de buurt leefden. Mijn vrienden raakten ook geïnteresseerd; ik heb het beschikbaar gemaakt via de publieke domeinnaam van het huis (uiteraard achter Cloudflare) en een paar vrienden toegestaan om verbinding te maken en te zien hoe het werkt. Het heeft mijn beveiligingscamera-setup veranderd in iets dat echt nuttig is buiten beveiliging om. Als je camera's met microfoons hebt en zelfs maar een kleine interesse in vogels, probeer BirdNet-Go dan eens. Het is een van die homelab-projecten die het dagelijks leven daadwerkelijk verbeteren in plaats van alleen technisch interessant te zijn.
Referentie: GitHub - tphakala/birdnet-go (Self-hosted real-time soundscape analyser for birds, bats and other wildlife).
Vragen en antwoorden (via Reddit en Hacker News)
Veel mensen noemden het gebruik van e-ink displays om deze data te bekijken; wat een slim idee. Mijn vrouw en ik gebruiken de webinterface op onze telefoons om de lijst met recente detecties te zien. Daarnaast heb ik de Home Assistant-integratie gekoppeld, zodat het op een scherm verschijnt dat ik daar heb geconfigureerd. Ik ga kijken hoe de mobiele companion-app precies werkt.
Sommigen spraken over het gebruik van speciale microfoons voor de detectie. Dat overweeg ik voor onze achtertuin; we hebben daar om privacyredenen geen camera's hangen, maar een microfoon zou geweldig zijn. Eén ding dat ik niet noemde: de microfoons schakelen uit als ze spraak horen, wat een mooie functie is.
Een paar mensen gaven aan dat ze hun eigen versies van BirdNet-Go hebben gebouwd of "vibe coded". Dat vind ik geweldig. Ik heb gevonden wat voor mij werkte, en dat was een systeem dat mijn vrouw al op haar telefoon gebruikte met een app. Nu is het alsof haar telefoon 24/7 buiten hangt om vogelgeluiden op te vangen.
Iemand vroeg of dit omgebouwd kan worden tot een deuurbel. Nee, dat kan niet, maar het kan wel je deuurbel gebruiken als deze over een RTSP-feed beschikt.
Veel mensen noemden vleermuizen; ja, als je een gespecialiseerde microfoon hebt, kun je vleermuizen absoluut met een hogere nauwkeurigheid detecteren. Er staat een "vleermuisbox" in onze straat op een paal, waar we geloven dat enkele vleermuizen wonen.
Ja, die winddetector was grappig!
Er werd gevraagd naar de betrouwbaarheid (confidence) bij het identificeren van vogels. Eerlijk gezegd zijn wij geen vogelaars, maar mensen met een enorme hoeveelheid vogels om ons heen. Daarom heb ik de RTSP-streams gebruikt om ze op te vangen en een lokaal AI-model om ze te identificeren.
Veel mensen praatten over het hacken van Flock-camera's om dit te doen; ga je gang! (Deel de projectlink in de reacties als je dit doet).
Sommigen merkten op dat ik een klein aantal detecties had. Over de afgelopen 12 maanden hebben we echter 418.726 detecties gehad met 271 unieke soorten en een gemiddelde betrouwbaarheidsscore van 60,9%. De meest voorkomende vogel in ons gebied in Zuid-Californië is de Huismus (House Finch) met 118.667 detecties.