Lees ons artikel over

.

Als Artefact geven we om het positief beïnvloeden van mensen, het milieu en de gemeenschap. Daarom werken we graag samen met non-profitorganisaties die van deze waarden de basisbouwstenen van hun visie maken.
Daarom werkten we samen met Smart Parks, een Nederlands bedrijf dat 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 op te sporen.

Inleiding

Slimme parken een bewakingssysteem voor wilde dieren nodig dat de volgende taken kan uitvoeren:

  • De media (afbeeldingen en/of video's) afkomstig van cameravallen op één plaats verzamelen
  • Detecteer automatisch de aanwezigheid van mensen en dieren in de media

  • Toegang tot de voorspellingen in Earth Rangers, een toepassing die wordt gebruikt om de parken en hun wilde dieren te beheren

  • Controleer de media die van de cameravallen komen

Ons uitgangspunt was snelheid. 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, het overzicht op hoog niveau van het ontworpen systeem en de voordelen van onze op de cloud gebaseerde oplossing. In de volgende artikelen zullen we dieper ingaan op het aansluiten van cameravallen op de Google wolkenplatform en externe eindpunten met behulp van een hulpmiddel genaamd Node-RED en hoe u een eenvoudige webapp ontwerpt met Beekverlicht om de cameravallen in de parken te beheren.

Laten we beginnen!

Camera-vallen

Laten we, voordat we aan de slag gaan, eerst even overlopen wat cameravallen zijn en hoe ze gebruikt kunnen worden om de bescherming en het behoud van dieren te ondersteunen.

Cameravallen zijn apparaten die ingebouwde sensoren hebben zodat er onmiddellijk een foto of video gemaakt wordt wanneer er activiteit voor de camera gedetecteerd wordt. 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 u 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 nauwkeurige data kunnen opnemen zonder het gefotografeerde onderwerp te storen. Ze kunnen zowel nuttig zijn bij het heimelijk monitoren van mogelijke illegale activiteiten als bij het kwantificeren van het aantal verschillende soorten in een gebied en het bepalen van hun gedrag en activiteitenpatronen.

Google wolkenplatform

Voor de mediaopslag en het beheer van de cameravallen hebben we gekozen voor een op cloud gebaseerde oplossing, meer bepaald het Google Cloud Platform.

Google biedt Opslagoplossingen zoals Google cloud-opslag, objectopslag met geïntegreerde edge caching om ongestructureerde data op te slaan, rekenoplossingen zoals Cloud Functies, Functions as a Service om event-driven code uit te voeren en het biedt bijvoorbeeld ook handige AI API's:

Al deze componenten in één verenigde omgeving was de ideale oplossing voor ons en hielp ons om in korte tijd een werkende oplossing te leveren.

De workflow

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 er onmiddellijk een Google Cloud Functie geactiveerd, deze functie zorgt voor de volgende taken:

  • Lees de geüploade media
  • Roep de Cloud Vision of de Cloud Video Intelligence API aan om de voorspellingen op te halen.

  • Archiveer de API-reacties in een andere Cloud Storage Bucket

  • Stuur de voorspellingen naar een eindpunt buiten GCP

Deze architectuur biedt meerdere voordelen:

  • Schaalbaarheid: Dankzij het gebruik van Cloud Functions is de oplossing in staat om automatisch te schalen op basis van het aantal aanvragen (d.w.z. het aantal media dat tegelijkertijd wordt geüpload in de input Cloud Storage bucket).

  • Goedkope en duurzame opslag: Het opslaan van ongestructureerde data in Google Cloud Storage is vrij goedkoop (slechts $0,026 per GB-maand voor de Standard storage tier) en biedt bovendien de beste duurzaamheid van objecten gedurende een gegeven jaar.

  • Automatisering: Door al deze diensten samen te gebruiken, hebben we een volledig geautomatiseerde pijplijn, waarbij geen menselijke tussenkomst nodig is. Van de data ingestion tot het ophalen van de voorspellingen, alles verloopt automatisch zodra er nieuwe media worden geüpload.

Cloud Vision en Cloud Video Intelligence API's

Het gebruik van Machine Learning, met name 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.

Visie-API en Video Intelligentie API bieden krachtige voorgetrainde modellen voor machinaal leren 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:

  • Labeldetectie: Een idee hebben van de entiteiten (bijv. dieren, mensen, voertuigen) die in de media aanwezig zijn. Op basis daarvan zou het mogelijk kunnen zijn om regels op te stellen die een alarm activeren bij de aanwezigheid van een specifieke set entiteiten.

  • Objecten detecteren/volgen: Om een nauwkeuriger idee te krijgen van de locatie van de gedetecteerde dieren/mensen in de media. In tegenstelling tot de labeldetectie krijgen we hier ook de vakannotaties van de detecties

  • Gezichten/Persoonsdetectie: Om meer informatie over de gedetecteerde mensen te hebben, bijvoorbeeld om hun emoties te begrijpen of hun kleding te extraheren. Deze extra informatie zou dan gebruikt kunnen worden om stropers van normale mensen te onderscheiden

U kunt met de Vision API spelen door uw afbeelding te uploaden via hier.

Het pad voor u

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 het behoud van wilde dieren en daarbuiten!

De volgende stappen hebben betrekking op deze brede werkgebieden:

  • Modelproeven: Tot nu toe hebben we alleen geëxperimenteerd met API's of voorgetrainde modellen, maar in de toekomst zou het interessant zijn om een dataset te maken van afbeeldingen/video's die door de cameravallen zijn verzameld. Label deze, handmatig of met behulp van het systeem dat we zojuist hebben gepresenteerd, en gebruik deze vervolgens om aangepaste computervisiemodellen te trainen voor een betere nauwkeurigheid.

  • Gebruikscases implementatie: Nu we al een volledig geautomatiseerde oplossing hebben, kunnen we ons meer richten op de ontwikkeling van doelgerichte use cases, dus echt nadenken over hoe we de verkregen informatie kunnen gebruiken om een impact te hebben en de rangers en alle vrijwilligers te helpen bij het beschermen van de wilde dieren in de parken.

  • Rand AI: Op dit moment is de uitvoeringssnelheid van onze voorspellus bevredigend voor ons gebruik (enkele minuten). Er zijn nog verbeterpunten om dichter bij een real-time oplossing te komen. Edge AI, met een model dat dichter bij de hardware van de cameraval staat en draait, is een optie die zou helpen om retourritten naar de cloud te vermijden.

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, gemakkelijke, snel te implementeren basislijn voor elk soort project waarbij media wordt opgenomen en machine learning wordt gebruikt om er inzichten uit te halen.

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 verbonden is met de cameravallen, en waar we de webapp zullen doornemen die ontworpen is om ze te beheren, dus blijf kijken!

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 steun tijdens het project. Jullie zijn geweldig!

Medium Blog bij Artefact.

Dit artikel werd oorspronkelijk gepubliceerd op Medium.com.
Volg ons op ons medium Blog !