In het kader van het project “Drones in de (land)bouw” en “AI autonome drones” gaat Flanders Make na of het mogelijk is om met drones vogels uit wijngaarden te verjagen. Indien het mogelijk is om met behulp van de on-board camera live vogels te detecteren, kan de drone recht richting de vogels vliegen, voor een afschrikkender resultaat. Transfer  learning  werd toegepast om een algoritme dat getraind was om boomtoppen te herkennen uit dronebeelden, om te bouwen tot het detecteren van vogels. Dit artikel geeft een kijkje achter het proces dat gebruikt werd.  

Boomtopdetector
Voor onderzoek rond biodiversiteit in bossen kunnen drones snel grote gebieden bos in kaart brengen door gigantische hoeveelheden hogeresolutiebeelden te verzamelen. Het probleem voor dit onderzoek situeert zicht echter in het verwerken van deze data. Om manueel bijvoorbeeld het aantal bomen, of bepaald type van een boom te gaan tellen, is onbegonnen werk. Onderzoekers ontwikkelden hiervoor deep learning object detectie netwerk met als doel het herkennen en aanduiden van individuele boomtoppen op basis van de RGB-camerabeelden uit de lucht [1]. Figuur 1 toont een resultaat hiervan. Het netwerk is getraind op gegevens van het National Ecological Observatory Network, dat grote geannoteerde datasets van ecosystemen aanmaakt. Zulke datasets zijn nodig voor gebruik te maken van deze techniek maar zijn jammer genoeg schaars en niet voor elk type van object beschikbaar. Daarom werd het deep learning model voor boomtoppen te herkennen reeds voorzien om later te kunnen her-trainen. Om dit mogelijk te maken heeft het softwarepakket een PyTorch lightning module en verdeelt het automatisch gegevens naar beschikbare GPU’s.  

Figuur 1: het deep learning model slaag erin om individuele boomtoppen in een drogbeeld aan te duiden

Het voorgebouwde model gebruikt een semi-gesuperviseerde aanpak waarbij miljoenen annotaties van matige kwaliteit worden gegenereerd met behulp van een LiDAR algoritme voor ongesuperviseerde boomdetectie, aangevuld met handmatige annotaties van RGB-beelden van geselecteerde sites, zoals getoond in figuur 2.  

Figuur 2: in de semi-superviseerde aanpak wordt een groot set automatisch geannoteerde data, hier op basis van een extra LiDAR sensor, aangevuld met handmatig geannoteerde data

Zulke voorgebouwde modellen worden altijd verbeterd door geannoteerde gegevens uit het doelgebied (lokale annotaties) toe te voegen. Zelfs een uur werk aan zorgvuldig gekozen handannotatie toevoegen geeft aanzienlijke verbeteringen in nauwkeurigheid en precisie.  

De evaluatie van het model moet gebeuren op andere data dan waarop het getraind was. Het neurale netwerk in het model is namelijk in staat om na voldoende training het hele trainingsdataset ‘van buiten’ te kennen en extreem goed te scoren hierop maar te falen op data die het nog niet gezien heeft (overfitting).  De data voor evaluatie moeten dus verschillen van de trainingsdata.   

Vogeldetector 
Een computervisie-algoritme voor specifiek de detectie van een bepaalde vogel ontwikkelen van nul vereist grote hoeveelheden door mensen gelabelde trainingsgegevens, geavanceerde technische expertise en computerinfrastructuur. Om deze inspanning te verkleinen kan men vertrekken van algemene “gegeneraliseerde” modellen die geschikt zijn voor verschillende vogelsoorten en habitats. Zo werd met behulp van meer dan 250.000 annotaties van 13 projecten uit de hele wereld een algemeen vogeldetectiemodel ontwikkeld [2] . Ook hierbij werd op zijn beurt vertrokken van een architectuur die reeds bestond: het algoritme voor boomtopdetectie. Deze architectuur was geschikt gezien het probleem erg gelijkaardig was, namelijk op zoek gaat naar objecten in een natuurlijke omgeving op basis van luchtbeelden. Of het om een vogel of een boomtop gaat: de verscheidenheid aan afmetingen en representaties van objecten in de beelden, veroorzaakt door verschillen in de hoogte van de beeldopname en de sensorresolutie, zijn voor beide problemen gelijk.  

De dataset werd opgedeeld in training- en evaluatiedata. Na training werden 65% van de vogels in de evaluatiebeelden gevonden (recall) en 50% van de aangeduide objecten waren effectief vogels (precisie). Met andere woorden, als er 100 vogels in beeld waren, werden er 130 locaties door het algoritme aangeduid. De helft hiervan was een vogel en 35 vogels werden niet gevonden. Dat kan nog veel beter maar is eigenlijk reeds behoorlijk goed, gezien de grote verschillen in soorten, habitat en beeldvormingsmethodes in dit dataset. Door dit model met slechts 1000 lokale annotaties aan te vullen, verhogen deze waarden tot een gemiddelde van 84% recall en 69% precisie. Deze aanvulling op het algemene model verbetert lokale voorspellingen, zelfs wanneer matig grote annotatiesets beschikbaar zijn, en maakt modeltraining sneller en stabieler. Figuur 3 laat zien hoe vogels op verschillende soorten beelden gevonden worden door het model.  

Wanneer je daarentegen enkel op lokale data traint, heb je meer data nodig en krijg je zeer variabele modellen met vaak grote veranderingen in prestaties tijdens het trainen van het algoritme waardoor de training intensief verloopt.  

Starten van een algemeen model en dit verfijnen door er lokale data aan toe te voegen geeft dus een robuuster resultaat, waardoor overfitting wordt vermeden en nauwkeuriger voorspellingen worden gedaan op beelden die afwijken van de trainingsset. 

Naast uitbreiding met lokale data, kan het algemene dataset uitgebreid worden met synthetische data. Dit zijn bijvoorbeeld datasets met luchtbeelden zonder vogels, waarover vogelbeelden worden geplakt uit andere databases zoals zoals iNaturalist, die tienduizenden ingezoomde beelden van vogels bevat [3]. Het voordeel van deze synthetische gegevens is dat er zeer veel verschillende beelden aangemaakt kunnen worden en men geen handmatige annotatie meer hoeft te doen, gezien men perfect weet op welke beelden en waar in beeld men de vogels heeft toegevoegd tijdens het genereren van deze data. Synthetische gegevens zijn reeds effectief gebleken bij de detectie van dieren in thermische luchtbeelden en zouden een grotere controle mogelijk maken over het bereik van de beeldschalen die tijdens de modeltraining worden getoond [4].  

Figuur 3: Door transfer learning is de boomtopdetector omgebouw om vogels in plaats van boomtoppen te herkennen.

Met deze vogeldetector gaat Flanders Make verder aan de slag om de toepassing waarbij een drone vogels gaat verjagen verder uit te werken. Heeft u zelf vragen omtrent een technologie of toepassing, laat het ons dan zeker weten via info@euka.flandersmake.be zodat we samen kunnen nadenken hierover of je in contact kunnen brengen met de juiste personen.

Pin It on Pinterest