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 achter de schermen: interview met trainer Jelmer

Sinds een jaar verzorgt Jelmer van Nuss trainingen aan Data Engineers en speelt hij een belangrijke rol bij de inhoud van gasttrainingen bij Young Mavericks. “Daarnaast help ik sinds kort ook bij het ontwikkelen van nieuwe opdrachten voor de Data Engineers.” Wat maakte dat hij een jaar geleden voor Young Mavericks koos en hoe was zijn eerste jaar? Lees alles over Jelmers ervaringen bij Young Mavericks.

Lees meer

Young Mavericks ontwikkelt automatiseringstool voor douane

In de huidige maatschappij is het vrijwel onmogelijk om je als bedrijf te onttrekken aan de toenemende automatisering. Niet alleen commerciële ondernemingen: ook de douane ontkomt er niet aan. Op verzoek van Taxsample en TB Customs Consultancy ontwikkelde Young Mavericks een tool om een enorme reeks uitdagingen – van groeiende handel in goederen, steeds gecompliceerdere in- en uitvoerprocessen, nieuwe importheffingen, handelsbelemmerende maatregelen tot een mogelijke No-Deal Brexit – het hoofd te bieden.

Lees meer