Als Artefact vinden we het belangrijk om een positieve invloed uit te oefenen op mensen, het milieu en de gemeenschap. Daarom werken we graag samen met non-profitorganisaties die deze waarden tot de basis van hun visie maken.
Daarom hebben we samengewerkt met Smart Parks, een Nederlandse organisatie die geavanceerde sensoroplossingen biedt om bedreigde wilde dieren te beschermen en parkgebieden efficiënt te beheren door middel van geavanceerde technologie.
In deze serie berichten beschrijven we onze reis in het ontwerpen en bouwen van een ML-systeem om de media van de cameravallen van Smart Parks te gebruiken. Het doel van het project is om een ML-benadering te gebruiken om de data van de cameravallen op te nemen en vervolgens inzichten te verschaffen, zoals de aanwezigheid van mensen of specifieke diersoorten in de beelden of video's die door de camera's zijn vastgelegd. Deze informatie wordt vervolgens gebruikt door de parkwachters om de wilde dieren beter te beschermen en mogelijke gevaren zoals stropers sneller te detecteren.
Inleiding
Smart Parks had een monitoringsysteem voor wilde dieren nodig dat de volgende taken kon uitvoeren:
Ons uitgangspunt was snelheid. Dus toen we van start gingen, was onze enige prioriteit om zo snel mogelijk een kaal maar volledig functionerend end-to-end product te implementeren.
Dit zal het eerste artikel van vele zijn en het zal zich richten op de context van het project, de high-level view van het ontworpen systeem en de voordelen van onze cloud-gebaseerde oplossing. In de komende artikelen gaan we dieper in op hoe we cameravallen kunnen verbinden met het Google Cloud Platform en externe eindpunten met behulp van een tool genaamd Node-RED en hoe we een eenvoudige webapp kunnen ontwerpen met Streamlit om de cameravallen in de parken te beheren.
Laten we beginnen!
Camera-vallen
Laten we, voordat we van start gaan, even kort bespreken wat cameravallen zijn en hoe ze kunnen worden gebruikt om de bescherming en het behoud van dieren te ondersteunen.
Cameravallen zijn apparaten met ingebouwde sensoren zodat er onmiddellijk een foto of video wordt gemaakt wanneer er activiteit wordt waargenomen. Ze laten parkwachters en wildbiologen onze soortgenoten zien zonder hun normale gedrag te verstoren.
De parken rondgaan en informatie verzamelen is een geldige techniek, maar het is een duur, arbeidsintensief en mensintensief proces. Bovendien bestaat het risico dat je gevaarlijke wilde dieren tegenkomt of, erger nog, stropers.
Hoewel verschillende technieken om data te verzamelen verschillende nadelen hebben, zijn cameravallen een uitstekende bron. Het grote voordeel van cameravallen is dat ze continu en geruisloos werken en zeer nauwkeurig data kunnen opnemen zonder het gefotografeerde onderwerp te storen. Ze kunnen nuttig zijn voor zowel het heimelijk monitoren van mogelijke illegale activiteiten als voor het kwantificeren van het aantal verschillende soorten in een gebied en het bepalen van hun gedrag en activiteitenpatronen.
Google cloudplatform
Voor de mediaopslag en het beheer van de cameravallen kozen we voor een cloud-gebaseerde oplossing, meer bepaald het Google Cloud Platform.
Google services Storage oplossingen zoals Google Cloud Storage, object storage met geïntegreerde edge caching om ongestructureerde data op te slaan, compute oplossingen zoals Cloud Functions, Functions as a Service om event-driven code uit te voeren en het ook services nuttige AI API's bijvoorbeeld:
Al deze componenten in één verenigde omgeving was de ideale oplossing voor ons en hielp ons in korte tijd een werkende oplossing te leveren.
De werkstroom
Allereerst worden de media geüpload naar een Google Cloud Storage bucket, hoe dit precies gebeurt wordt besproken in het tweede artikel van deze serie. De emmer is georganiseerd in mappen, één voor elke cameraval. Zodra een bestand is geüpload, wordt onmiddellijk een Google Cloud Functie geactiveerd, deze functie zorgt voor de volgende taken:
Deze architectuur biedt meerdere voordelen:
Cloud Vision en Cloud Video Intelligence API's
Het gebruik van Machine Learning, in het bijzonder Computer Vision, om automatisch mensen en dieren te identificeren in afbeeldingen of video's heeft de afgelopen jaren aanzienlijke vooruitgang geboekt en wordt tegenwoordig algemeen beschouwd als een "game-changer" door onderzoekers van dieren in het wild. Laten we ons meer richten op de gebruikte API's.
Vision API en Video Intelligence API bieden krachtige vooraf getrainde machine-learning modellen via REST en RPC API's. De eerste is bedoeld om met afbeeldingen te werken, terwijl de tweede, zoals de naam al doet vermoeden, met video's werkt. Beide zijn in staat om automatisch een groot aantal objecten, plaatsen en acties te herkennen.
Voor dit project hebben we ons voornamelijk gericht op deze 3 functies die de API's bieden:
Je kunt met de Vision API spelen door je afbeelding hier te uploaden.
Het pad voor ons
De reis tot nu toe is een basis voor de spannende en impactvolle reis die voor ons ligt. Met de basistooling in de nabije toekomst kunnen we veel waarde creëren, niet alleen voor Smart Parks, maar ook voor natuurbehoud en daarbuiten!
De volgende stappen hebben betrekking op deze brede werkgebieden:
In dit eerste artikel hebben we besproken hoe we onze volledig geautomatiseerde, schaalbare pijplijn in Google Cloud hebben gebouwd, zodat we media kunnen opnemen en Machine Learning API's kunnen gebruiken om er inzichten uit te halen. Het biedt een solide, eenvoudige, snel te implementeren basislijn voor elk soort project waarbij mediaconsumptie en het gebruik van machine learning om inzichten eruit te halen een rol spelen.
Bedankt voor het lezen en tot ziens in de volgende artikelen van de serie waarin we meer in detail zullen uitleggen hoe de gepresenteerde architectuur effectief is verbonden met de cameravallen, en waar we de webapp zullen doornemen die is ontworpen om ze te beheren, dus stay tuned!
Speciale dank aan Maël Deschamps voor zijn hulp bij het beoordelen van de inhoud van deze post en aan Tim van Dam van Smart Parks voor zijn ondersteuning tijdens het project. Jullie zijn geweldig!