Machine learning in ArcGIS: wat kan ik ermee?

Je hoort het steeds vaker: “Machine learning is de toekomst”. Maar wat is machine learning eigenlijk en wat kan ik ermee? Hoe pas ik dit toe op data? En hoe werkt dit als het gaat om geo-data? Deze vragen worden – ook voor GIS-experts- steeds belangrijker. In mijn stage ben ik op zoek gegaan naar antwoorden. In deze blog geef ik inzicht in de wereld van machine learning, hoe dit werkt in een geografisch informatiesysteem (GIS), en deel ik mijn opgedane ervaringen.

Leren van ervaringen

Mensen leren van opgedane ervaringen, terwijl computers hun kennis baseren op gedefinieerde regels. Door computers ook te laten leren van opgedane ervaringen, in de vorm van data, kunnen deze meer intelligente problemen oplossen. Machine learning is op dit principe gebaseerd.

Machine learning vs deep learning

Om bijvoorbeeld een auto te herkennen, weten wij als mens dat deze 4 wielen heeft, een aantal ruiten en 2 zijspiegels. Door deze informatie mee te geven aan een computer, krijgt deze de mogelijkheid om auto’s te onderscheiden van bijvoorbeeld motoren. Een stap verder dan dit is deep learning. In plaats van met de hand de features van een auto door te geven (zoals aantal wielen en ruiten), geef je alleen foto’s van auto’s aan de computer. De computer identificeert dan zelf de overeenkomende features uit deze foto’s en kan op basis hiervan andere auto’s herkennen. Deep learning geeft computers dus ook de mogelijkheid om features te ontdekken die we als mens niet direct zien.

Machine learning-tools voor geo-data

Wat kun je met machine learning in een geografisch informatiesysteem? Op dit moment zitten er al enkele machine learning-tools in ArcGIS Pro, beschikbaar via de Spatial Analyst Toolbox. Een voorbeeld is de Train Support Vector Machine Classifiertool. Deze tool geeft de mogelijkheid om een landschapsclassificatie te maken van een luchtfoto of satellietbeeld op basis van ingegeven gebieden en hun landschapstype. Om gebruik te maken van deep learning-technieken in combinatie met ArcGIS is extern gespecialiseerde software nodig, zoals bijvoorbeeld Microsoft CNTK of Google TensorFlow.

Een model trainen

Een voorbeeld van het gebruik van deep learning in ArcGIS met behulp van TensorFlow is objectdetectie in luchtfoto’s. Voor mijn stageopdracht heb ik deze methode uitgezocht en toegepast om zebrapaden te detecteren. TensorFlow wordt al veel gebruikt voor objectdetectie in foto’s en is daarom ook goed geschikt is voor een vergelijkbaar proces op luchtfoto’s. Voor het trainen van een deep learning-model is een grote hoeveelheid trainingsdata nodig. In dit geval bestond de trainingsdata uit 790 foto’s van zebrapaden, waarin bounding boxes waren getekend om de exacte locatie van de zebrapaden aan te geven.

Ook andere objecten detecteren

Op basis van deze data heb ik een model getraind, die uiteindelijk 98% van de zebrapaden in Rotterdam kon vinden. Dit model kan ArcGIS met behulp van een Raster Function inladen, om de gedetecteerde zebrapaden in een live omgeving weer te geven. Wanneer getraind wordt met nieuwe data kan ditzelfde model andere objecten ook detecteren, zoals bijvoorbeeld auto’s of schepen. Dit is een voorbeeld van hoe deep learning effectief ingezet kan worden bij locatie-data.

Wilt u meer informatie over machine learning en GIS? E-mail naar Maartje Holtslag via contact@esri.nl of bel via +31(0)10 217 07 00.

Volgend Artikel

Een Multi-Utility en Utility Network: Multi inzetbaar!

Lees dit artikel