Amund bygget AI-fuglekasse: «Påtagelig vanskelig å debugge med fugler!»

Kjører "on-prem" på hjemmelaget server som står i boden ved siden av julepynten.

Amund Skullerud kan ingenting om fugler, men mye om teknologi – så hvorfor ikke lage AI-fuglekasse og -fuglemater? 📸: Privat
Amund Skullerud kan ingenting om fugler, men mye om teknologi – så hvorfor ikke lage AI-fuglekasse og -fuglemater? 📸: Privat Vis mer

Fuglekassekameraer er ikke noe nytt, men hva med å kombinere AI med en livestream fra en fuglekasse? Det er nettopp hva trebarnsfaren og utvikleren Amund Skullerud har gjort.

– Jeg tenkte det kunne vært et fint prosjekt med familien. Men så blir jo far litt engasjert!

Dermed ble det som startet som en enkel hyllevare-kamerafuglekasse kjøpt i butikk, en stadig mer avansert fuglekasse med to kameraer som strømmer døgnet rundt på Twitch. Og nå en fuglemater – mer om det senere.

Skullerud har trent opp en ML-modell som kan gjenkjenne ulike fugler i kassen, og AI-genererte stemmer som seerne kan "prate" med.

Lurer du på hva slags fugl du ser – eller bare vil prate om været, kan du få "David" til å fortelle om det. Davids stemme og måte å fortelle på ligner mistenkelig på David Attenborough – men omtales av Skullerud som "et tilfeldig navn med en britisk stemme som er behagelig å høre på":

Og liker du ikke Davids stemme kan du prate med Kjell-Åke, en slags svensk versjon av Oslo-losen.

Fin "lekegrind" for å teste ut nye ting

Amund Skullerud jobber til daglig som CTO og Tech Lead i oppstartsfirmaet Dokflyt. Selskapet lager løsninger for blant annet energibransjen som skal forbedre dokumentflyten mellom montører og de som sitter på kontoret. Selskapet ble etablert i 2016, og har siden den gang fått nærmere 100 kommuner og flere av landets største elkraft-selskaper på kundelisten. Av de 14 ansatte er det rundt 6-7 utviklere.

– Jeg jobber mye med Microsoft-teknologi på dagtid, så for min del er dette prosjektet en fin måte å risikofritt, uten at noen – inkludert fugler – blir skadelidende av at jeg tester ut noe, sier Skullerud.

Han forteller til kode24 at mye av motivasjonen til fuglekasseprosjektet har vært å både ha et morsomt hobbyprosjekt sammen med barna, men også å kunne teste ut teknologi de potensielt kan få bruk for hos Dokflyt.

«Mange tror jeg er så interessert i fugler. Jeg kan ingenting om fugler. Har ikke peiling!»

– Hvordan fikk du idéen? Jeg antar at du er interessert i fugler?

– Nei, mange tror jeg er så interessert i fugler. Jeg kan ingenting om fugler. Har ikke peiling! Så når folk spør "hva slags fugl er dette", så svarer jeg at den har jeg aldri sett!

Teknologiinteressen og det å gjøre noe gøy sammen med barna, som man samtidig kan lære noe av, har med andre ord vært hovedmotivasjonen.

Det startet med dette hyllevare-fuglehuset – men prosjektet "ballet" raskt på seg. 📸: Privat
Det startet med dette hyllevare-fuglehuset – men prosjektet "ballet" raskt på seg. 📸: Privat Vis mer

To kameraer og bevegelsesdeteksjon

Skullerud forteller at fuglekassen han kjøpte i utgangspunktet bare lot han og familien se på livet i fuglekassen på det lokale nettet hjemme. Noe av det første han ville gjøre var derfor å få fuglekassen på nett, slik at han kunne sjekke hva som skjedde også når han befant seg på jobb.

Han begynte derfor å strømme video fra kameraet til Twitch. Og ettersom det var litt kjedelig å studere innsiden av fuglekassen før en fugl flyttet inn, fant han en gammel Android-telefon med knust skjerm som skulle brukes til å filme utsiden av fuglekassen. Telefonen er limt fast i en gjennomsiktig matboks og montert i en stolpe ved siden av treet fuglekassen er i.

En gammel Android-mobil i en plastboks gjør nytten som utvendig kamera. 📸: Privat
En gammel Android-mobil i en plastboks gjør nytten som utvendig kamera. 📸: Privat Vis mer

Alt sammen strømmes via en gammel PC som står i en bod, og så brukes OBS Studio til å håndtere selve strømmingen og vekslingen mellom de to kameraene.

– Det er on-prem i kjelleren ved siden av julepynten!

I starten brukte Skullerud MotionDetection i OBS for å veksle mellom kameraet i fuglekassen og kameraet utenfor.

– Det er påtagelig vanskelig å debugge med fugler. I tidlig debugging fikk jeg hjelp av junior som klatret opp i treet og dyttet en pinne inn og ut av fuglekassen. Debugging med pinne!

Det finnes verre miljøer å debugge i enn her. Legg merke til debuggings-stigen i bakgrunnen. 📸: Privat
Det finnes verre miljøer å debugge i enn her. Legg merke til debuggings-stigen i bakgrunnen. 📸: Privat Vis mer

Trente opp AI-modell

Bevegelsesdetektering via OBS viste seg imidlertid å være ganske upålitelig, og Skullerud opplevde ofte at systemet skiftet kamera for eksempel når det var endringer i bildet på grunn av vind, skygger og andre ting.

– Da begynte jeg å ta vare på bilder når switchingen ble gjort riktig og feil. Disse bildene brukte jeg så til å trene opp en custom YoloV8-modell som detekterer spesifikke fuglearter i bildet.

Når det er mer enn 80 prosent sannsynlighet for at det er en bestemt fugl, skifter den kamera.

Trening av YoloV8-modellen. 📸: Privat
Trening av YoloV8-modellen. 📸: Privat Vis mer

Skullerud satte så opp et API som logger hvilke fugler AI-en har oppdaget og skriver dette til en database. Så ble dette utvidet med en stemme, der brukerne som er inne og kikker på videofeeden kan sende kommandoer for å spørre AI-en om forskjellige ting – som hvilken fugl du ser.

Fikk massevis av seere på jakt etter "tits"

Den første sommeren fuglekassen var i drift, kom det en blåmeis i fuglekassen. Den la seks egg – og i denne perioden var det ganske mange samtidige brukere, forteller Skullerud. Og med mange, mener han rundt 10 samtidige brukere.

– Men plutselig en dag oppdaget jeg at det hadde vært enormt med brukere inne på streamen – ti tusen samtidig!

Det viste seg at det en kjent amerikansk streamer – "Amouranth" – hadde snakket om fuglekasse-streamen til Skullerud og for moro skyld oppfordret seerne sine til å besøke den. Amouranth er mest kjent for å streame "vokseninnhold", så hvorfor i alle dager snakket hun om fugler?

– Blåmeis heter jo "blue tit" på engelsk, ler Skullerud.

Amund Skullerud fikk dette kruset av en kollega. 📸: Privat
Amund Skullerud fikk dette kruset av en kollega. 📸: Privat Vis mer

– Da hadde jeg mine fem sekunder "of fame" og var på forsiden til Twitch.

Det var riktignok neppe veldig mange av de ti tusen besøkende som ble konvertert til følgere på fuglekassekanalen – antagelig var de mer opptatt av en annen type "tits" enn "blue tits".

Fra fuglekasse til fuglemater

Egentlig skulle denne artikkelen vært publisert tidligere i sommer, men det Skullerud kaller en "trist situasjon" gjorde at publiseringen ble utsatt:

– Et kull med seks fugleunger som skulle bli en stor glede, endte i stor sorg, da fuglemamma ikke klarte å forsørge de 6 små, og forlot redet.

Dermed ble kameraet skrudd av.

– Bratt læringskurve i naturens harde virkelighet, for store og små.

Skullerud er imidlertid en handlingens mann, og i stedet for å gi opp streamingprosjektet satte han i stedet opp et PTZ-kamera (Pan-Tilt-Zoom) som filmet en fuglemater der det er liv hele året.

Fuglemateren er utstyrt med et nytt pan-tilt-zoom-kamera. 📸: Skjermbilde fra twitch.tv/danmusk
Fuglemateren er utstyrt med et nytt pan-tilt-zoom-kamera. 📸: Skjermbilde fra twitch.tv/danmusk Vis mer

Den tekniske løsningen – fungerer like godt uansett om det er en fuglekasse eller fuglemater.

– Fuglene spiser "et rør" om dagen, circa 1 kilo. Jeg tester ut donasjoner fra seere på Twitch, og har fått flere donasjoner for å "keep the birds fed, and the stream alive" som er kanalens slogan, som AI-David for øvrig kom opp med.

Jobber med forbedringer

Nå jobber Skullerud med å få til live-detektering av fugler på fuglemateren, slik at seerne løpende kan se hvilke typer fugler som besøker materen.

– Deteksjonen fungerte bra med fuglene inne i fuglekassa, men jeg trenger å trene litt mer på spesifikke fugler på materen. Jeg bruker Roboflow til å laste opp og trene på bilder fra streamen.

– Så hvis noen som leser artikkelen har erfaring med Yolo8 og Roboflow, del gjerne ideer og muligheter i kommentar-feltet! oppfordrer han.

Skullerud sier han får mange gode idéer fra seerne om hvordan han kan videreutvikle fuglemateren (og eventuelt fuglekassen senere).

– Her om dagen kom en med en ide om en "Olds elevator" for å kunne automatisere påfylling av fuglemateren. Så, med noe IoT kombinert med Bits/Donations fra Twitch, så kan kanskje seerne mate fuglene i vinter?

Sjekk ut fuglemater-feeden her!