Neo werkt aan universele methode
Hoewel wolken en hun schaduwen niet direct een gevaar vormen voor de mensheid, kunnen ze toch hinderlijk in de weg zitten wanneer je met satellietbeelden werkt. Gelukkig bestaan er tegenwoordig goede methodes om automatisch wolken in kaart te brengen, zodat ze te maskeren zijn voor er andere berekeningen op de beelden worden losgelaten. NEO ontwikkelt daarnaast een algoritme dat bepaalt waar de wolkschaduw van de betreffende wolken zich bevindt, zodat ook deze bron van ruis kan worden aangepakt.
Door Emile Nieuwstraten
Satellietbeelden zijn een ongekend waardevolle bron voor het in kaart brengen van het aardoppervlak. Het kan onder andere gebruikt worden voor het bijhouden van veranderingen op het gebied van bebouwing en landgebruik. Een veelvoorkomende bron van onnauwkeurigheden in optische satellietbeelden is de aanwezigheid van wolken en wolkschaduwen. Zo kan het voorkomen dat er door de aanwezigheid van wolken en wolkschaduwen veranderingen worden waargenomen die helemaal geen veranderingen zijn. Een wolk ziet er op satellietbeelden immers anders uit dan een huis, en wordt dus aangegeven als een verandering in landgebruik, terwijl er in feite geen verandering plaatsvindt op het aardoppervlak; het huis staat er nog steeds, er zit alleen een wolk tussen. Om dit te voorkomen is het detecteren van wolken en wolkschaduwen dan ook een belangrijke stap in de voorbereiding en kwaliteitscontrole van de satellietbeelden. In dit artikel gaan we dieper in op een simpele methode om wolkschaduwen te detecteren.
Problemen schaduwen
Wolkschaduwen blijven in tegenstelling tot wolken vaak een bron van ruis, omdat wolkschaduwen lastiger (automatisch) te detecteren zijn. Dit komt grotendeels doordat de schaduwen van wolken vaak geen duidelijke, algemene kenmerken hebben, maar veel meer beïnvloed worden door het oppervlak waar ze op vallen. Dit bemoeilijkt dan ook het identificeren van wolkschaduwen aan de hand van spectrale eigenschappen in het zichtbare spectrum. Daarnaast worden wolkschaduwen vaak verward met andere donkere oppervlakken zoals bijvoorbeeld water. Nu is het natuurlijk mogelijk om elk beeld handmatig te controleren, maar dit is een enorm tijdrovende klus die eigenlijk niet goed uitvoerbaar is.
Wolkschaduwdetectie
Daarom zijn er voor veel satellieten al specifieke methodes bedacht om wolkschaduwen automatisch te detecteren. Zo is er voor bijvoorbeeld de welbekende MODIS-sensor aan boord van de Terra-satelliet van NASA een methode ontwikkeld om wolkschaduwen te detecteren gebaseerd op de reflectiewaarden in thermale infrarood banden. Andere recente technieken proberen met behulp van machine learning automatische classificaties te maken voor wolkschaduwen. Dit is vaak een tijdrovende procedure die per satelliet verschilt, en per satelliet dus opnieuw moet worden toegepast. Daarnaast is er ook een scala aan satellieten die enkel optische banden waarnemen en waar dus geen thermale banden beschikbaar zijn om de wolkschaduwen mee te onderscheiden.
Methode
Een universele, op elke optische satelliet toepasbare methode die eenvoudiger werkt, is schatten waar de schaduw zich zou moeten bevinden aan de hand van de positie van de wolk, de invalshoeken van de zon en satelliet, en de wolkhoogte. Deze methode maakt gebruik van wat er al is, namelijk de metadata van de satelliet, en de eerder door NEO geproduceerde wolkenkaarten. NEO heeft namelijk voor verschillende satellieten al nauwkeurige methodes ontwikkeld om wolken te detecteren. De metadata van de satelliet bevatten het moment van de opname en de invalshoeken van de zon en satelliet op dat moment. Door middel van simpele geometrische vergelijkingen is het mogelijk om een schatting te maken van de positie van de wolkschaduw, zie afbeelding 1.
De enige onbekende factor in deze vergelijking is de wolkhoogte. Dit is een essentiële factor aangezien deze een directe invloed heeft op de afstand tussen de wolk en de wolkschaduw, wat ook in afbeelding 2 te zien is. Hoewel de exacte hoogte van de wolk onbekend is, is vaak wel duidelijk tussen welke hoogtes de wolk ongeveer hangt. In het algoritme dat we bij NEO aan het ontwikkelen zijn, gaan we voor elke mogelijke wolkhoogte na waar de wolkschaduw zich zou bevinden. Per wolkhoogte komt er dus een eigen schaduwkaart uit. Per schaduwkaart bepalen we de gemiddelde pixelintensiteit voor de schaduwen. De aanname is dat de laagste gemiddelde pixelintensiteiten voor de gemodelleerde schaduwen dan daadwerkelijk overeenkomen met de echte schaduwen. Een schaduw is immers altijd donkerder dan geen schaduw. Afbeelding 3 laat de methode per stap zien.
Voordelen
Het voordeel van deze methode is dat het toepasbaar is op de beelden van elke optische satelliet, mits de wolkenkaarten beschikbaar zijn. Dit betekent dus ook dat de methode toepasbaar gaat zijn op elke satelliet die nog gelanceerd gaat worden, wat natuurlijk heel waardevol is. Daarnaast is er maar weinig rekenkracht nodig om de berekeningen uit te voeren, en is het dus mogelijk om zeer snel van wolk naar wolkschaduw te gaan.
Nadelen
Een nadeel van deze techniek is wel dat de nauwkeurigheid van de wolkschaduwen afhangt van de kwaliteit van de geproduceerde wolkenkaarten. Als de wolken niet goed gedetecteerd zijn, dan zullen de schaduwen vanzelfsprekend ook niet gedetecteerd worden. Daarnaast zijn wolken geen 2D-objecten, en zal de schaduw vaak groter zijn als gevolg van deze versimpeling, zie afbeelding 4.
Ook moet er rekening gehouden worden met het reliëf van het oppervlak. Een wolkschaduw die op een heuvel valt zal flink vervormen ten opzichte van de originele vorm van de wolk. Nu vormt dat op de meeste plekken van Nederland geen probleem, maar mocht het algoritme toegepast worden op heuvelachtige gebieden, is het wel iets om rekening mee te houden.
Vervolg
Momenteel is NEO nog volop bezig met het ontwikkelen van deze methode, waarna het uitvoerig getest zal worden op beelden van verschillende satellieten. Voorlopig is het nog niet bekend hoeveel onnauwkeurigheden er door het nieuwe algoritme uit worden gehaald, maar ook dit zal te zijner tijd uitgebreid worden onderzocht. Wat we wel weten is dat wolkschaduwen detecteren met de wolkenkaarten en algoritmes van NEO een stuk makkelijker wordt.
Emile Nieuwstraten is masterstudent aan de Universiteit Utrecht (Geohazards & Earth Observation) en loopt stage bij NEO, waar hij zich bezighoudt met wolken en wolkschaduwen.