Automatisch veranderingen in het landschap detecteren door machine learning

Nederland staat bekend om water en ons talent om het te beheren. Voor het monitoren en beheren van water, zijn data en analyse essentieel. Het gebruik van machines om het verwerken van deze gegevens te automatiseren brengt nieuwe middelen naar de lange Nederlandse traditie van waterbeheer. Young Mavericks is gespecialiseerd in digitale technologie – in het bijzonder data mining, data-analyse, machine learning en het opzetten van data-gerelateerde projecten – en leidt eveneens data scientists op om de technologie toe te passen in verschillende contexten. Ons model geeft bedrijven en organisaties de kans om getraind talent aan te trekken dat met de nieuwste technologie om kan gaan. Voor een van onze overheidspartners was er up-to-date analyse van geografische kaarten nodig om zo het complexe geheel van land en water in de provincie in kaart te brengen.

Water in het Hollands Noorderkwartier

Het Hoogheemraadschap Hollands Noorderkwartier (HHNK), het waterschap voor het Hollands Noorderkwartier, is verantwoordelijk voor het volledige spectrum van hydrologie – waaronder circa 20.000 km aan waterwegen en 2.000 km aan waterkeringen – in een sector die erg afhankelijk is van zorgvuldig en duurzaam beheer. De kaarten van HHNK bieden een precies en gedetailleerd zicht op metaniveau over het hele gebied doordat data uit verschillende bronnen wordt gecombineerd. Samen met HHNK hebben wij een project opgezet om te verkennen wat de mogelijkheden zijn voor het automatisch genereren van topografische kaarten op de lange termijn. Tegelijkertijd biedt dit op korte termijn al de mogelijkheid om wijzigingen in de omgeving automatisch te detecteren.

De uitvoer van dit project vereist een goede omgang met een van de meest uitgebreide en verscheiden datasets die ooit werden verwerkt bij Young Mavericks. De enigszins technische werktitel van het project, ‘Mutatiedetectie door gebruik van image segmentation en remote sensing gegevens’, betekent zoveel als het identificeren van veranderingen (mutaties) door luchtfoto’s die aparte lichtspectra waarnemen, digitale overheidskaarten en hoogtewaarnemingen te combineren.

De kerngedachte van het project was om de mogelijkheden van machine learning te exploreren door te beginnen met een ambitieus doel en te bepalen hoe goed beeldverwerkingsmethodes dit doel kunnen bereiken. Het oorspronkelijke doel was om een kaart te maken gelijkaardig aan de BGT (Basis Grootschalige Topografie), de digitale kaart van Nederland onderhouden door de Nederlandse overheid, door gebruik te maken van luchtfoto’s en remote sensing data.

Dit probleem kan gezien worden als een image segmentation probleem, waarbij een rooster van inputdata gehanteerd is waarbinnen elke pixel een representatie is van een locatie. Al deze pixels samen vormen een gelabelde kaart van de inputdata. Er waren drie bronnen beschikbaar om de nieuwe kaart op te baseren: RGB-foto’s, CIR-foto’s en hoogtekaarten die gemaakt waren met laserhoogtemetergegevens, allemaal aangeleverd als luchtfoto’s gemaakt uit een klein vliegtuig. Dit betekent dat elke pixel 7 waarden heeft, 3 waarden van de 3 kanalen van de luchtfoto, 3 waarden van de infraroodfoto en 1 kanaal van de hoogtekaart. We kozen ervoor om een convolutional neural network te gebruiken voor dit project aangezien dit de beste resultaten oplevert in image segmentation en beeldverwerking in het algemeen. Om neurale netwerken te gebruiken zijn er echter labels en inputdata nodig.

Om deze labels te verkrijgen werd gebruik gemaakt van de BGT. De BGT voorziet registers die het resultaat zijn van het labelen van organisaties, spoorwegen, wegen, gebouwen, bomen en waterwegen en van het koppelen hiervan aan hun topografische beelden en locaties. Dit maakte het mogelijk om label masks te maken die de bestanden omvormen tot roosters die overeenkomen met de pixels van de invoerfoto’s, met een klasse per pixel. Voordat we onze eigen kaarten konden verbeteren met de BGT-labels, moesten we een manier vinden om onze lokale databronnen samen te laten werken. Dit was niet eenvoudig, vanwege de grootte van onze bestanden (2,2 GB per bestand en 300 MB per foto) en de verschillende fotoresoluties en bestandstypes.

Mutaties op de kaarten

Zodra we wisten hoe we de onderliggende infrastructuur van de kaarten moesten opbouwen, hebben we ons weer op de BGT gericht om de locaties af te stellen en de noodzakelijke label masks te selecteren. Veel van de BGT-labels waren niet relevant: menselijke concepten zoals gemeentelijke grenzen kunnen bijvoorbeeld niet worden vastgelegd op luchtfoto’s. De grote afstand van de foto’s betekende bovendien dat veel objecten uit de BGT verloren gaan vanwege de schaal en afbakening. We kwamen uiteindelijk uit op 7 labels die 32 BGT-categorieën indeelden. Deze werden gekozen om de uiterlijke kenmerken van het landschap voor te stellen: Open (zand, grind), Half-Open (steen, kassei), Gesloten (beton, asfalt), Niet-Gras (struiken, bomen), Water, Gebouwen en Gras. Het convolutional neural network bevat ook waterkanten, een landschapskenmerk dat zich baseert op de helling van het terrein nabij watergebied.

We splitsten 100 km² invoer- of labelblokken op in kleinere delen en voerden ze vervolgens in het netwerk in. Segmentatie van de grotere data compilatie in kleine delen in combinatie met beeldverhogingstechnieken zorgde ervoor dat het netwerk bijna nooit twee keer dezelfde invoer te zien kreeg. De segmentatie bleek precies en betrouwbaar te zijn, in het bijzonder voor pixelklassen zoals water en gebouwen.

Onze segmentatie en normalisering zorgde voor mutatiedetectie: het proces waarbij de verschillen worden herkend tussen de digitale kaart en de echte wereld. De mutaties worden gedetecteerd wanneer de pixelklasse of het BGT-label fout zijn, wat meestal wordt gesignaleerd door een incongruentie tussen de watergebieden geclassificeerd door het neurale netwerk en de originele BGT-waterlabels of locaties. Deze verschillen kunnen allerlei onderliggende oorzaken hebben, zoals nieuwe watergebieden die nog niet up-to-date zijn in de BGT, maar fouten kunnen ook voorkomen in het netwerk. Hetzelfde proces kan worden toegepast om mutaties te vinden in door de mens gemaakte structuren, zoals nieuwe gebouwen en grondexploitaties. Dit laatste middel kan elke keer dat een nieuwe reeks luchtfoto’s een kaart creëert met mogelijke mutaties worden toegepast. De data-analyse kan HHNK helpen bij het beheer van hun werkterrein, maar zal ook nuttig zijn bij het verbeteren van de BGT-kaarten.

Door automatisch nieuwe bomen, struikgewassen, grondexploitaties en waterwegen te herkennen, kan HHNK zijn plicht vervullen om de BGT van nieuwe veranderingen op de hoogte te stellen en kan HHNK de overheid helpen om water, land, stedelijke ontwikkelingen (voor privé en publiek gebruik) in kaart te brengen.

Young Mavericks trainee Yaleesa: “Mijn missie? De IT-wereld wakker schudden.”

Pas tegen het eind van haar studie Information Science en maakte Yaleesa (28) kennis met de wondere wereld van machine learning. Yaleesa: “Voor mijn ambitieuze afstudeeronderzoek was ik op zoek naar een antwoord op mijn specifieke vraagstuk en en kwam ik uit bij een begeleider. Hij overtuigde mij van de unieke potentie van machine learning. Ik was verkocht. Al ontdekte ik dat machine learning geen appeltje-eitje is. Maar dat ik binnen de IT-wereld en meer specifiek bij Young Mavericks goed zit, dat weet ik zeker.”

Lees meer

Young Mavericks’ machine learning tool optimaliseert online campagnes van Social Blue

Grote kans dat jij tijdens het scrollen langs je tijdlijn weleens een advertentie van Social Blue hebt gezien. De internationale leadgeneratie expert zet online campagnes in om volgers, websitebezoekers en donateurs te genereren voor tal van bedrijven in binnen- en buitenland. Om te onderzoeken of de resultaten van hun campagneteksten met machine learning kunnen worden geoptimaliseerd, schakelde het bedrijf Young Mavericks in. Met onze Proof of Concept gaven we samen antwoord op de vraag ‘Kan machine learning campagneresultaten verbeteren op basis van eerdere advertentieprestaties?’

Lees meer