Zephyrnet-logo

Bewaking op afstand van toeleveringsketens van grondstoffen voor duurzaamheid met de georuimtelijke mogelijkheden van Amazon SageMaker

Datum:

Ontbossing is een groot probleem in veel tropische gebieden waar lokale regenwouden een ernstig risico lopen vernietigd te worden. Ongeveer 17% van het Amazone-regenwoud is de afgelopen 50 jaar vernietigd en sommige tropische ecosystemen naderen een omslagpunt waarna herstel onwaarschijnlijk is.

Een sleutel bestuurder voor ontbossing is de winning en productie van grondstoffen, bijvoorbeeld de productie van voedsel en hout of mijnbouwactiviteiten. Bedrijven die deze hulpbronnen verbruiken, erkennen steeds meer hun deel van de verantwoordelijkheid bij het aanpakken van het ontbossingsprobleem. Een manier waarop ze dit kunnen doen, is door ervoor te zorgen dat hun grondstofvoorraad duurzaam wordt geproduceerd en ingekocht. Als een bedrijf bijvoorbeeld palmolie in hun producten gebruikt, willen ze ervoor zorgen dat er geen natuurlijke bossen worden afgebrand en gekapt om plaats te maken voor een nieuwe palmolieplantage.

Geospatiale analyse van satellietbeelden van de locaties waar leveranciers actief zijn, kan een krachtig hulpmiddel zijn om problematische ontbossingen op te sporen. Het uitvoeren van dergelijke analyses is echter moeilijk, tijdrovend en arbeidsintensief. Amazon SageMaker georuimtelijke mogelijkheden- nu algemeen beschikbaar in de AWS Oregon Region - bieden een nieuwe en veel eenvoudigere oplossing voor dit probleem. De tool maakt het gemakkelijk om toegang te krijgen tot geospatiale gegevensbronnen, speciaal gebouwde verwerkingsbewerkingen uit te voeren, vooraf getrainde ML-modellen toe te passen en ingebouwde visualisatietools sneller en op schaal te gebruiken.

In dit bericht leert u hoe u de georuimtelijke mogelijkheden van SageMaker kunt gebruiken om eenvoudig het vegetatietype en de dichtheid van gebieden waar leveranciers actief zijn te baseren en te bewaken. Supply chain- en duurzaamheidsprofessionals kunnen deze oplossing gebruiken om de temporele en ruimtelijke dynamiek van niet-duurzame ontbossing in hun toeleveringsketens te volgen. Concreet biedt de leidraad gegevensgestuurde inzichten in de volgende vragen:

  • Wanneer en over welke periode vond ontbossing plaats โ€“ Met de begeleiding kunt u lokaliseren wanneer een nieuwe ontbossingsgebeurtenis heeft plaatsgevonden en de duur, voortgang of herstel ervan volgen
  • Welk type landbedekking werd het meest getroffen โ€“ Met de begeleiding kunt u vaststellen welke vegetatietypen het meest werden beรฏnvloed door een verandering van landbedekking (bijvoorbeeld tropische bossen of struiken)
  • Waar vond specifiek ontbossing plaats โ€“ Pixel-voor-pixel vergelijkingen tussen basislijn en huidige satellietbeelden (voor versus na) stellen u in staat om de precieze locaties te identificeren waar ontbossing heeft plaatsgevonden
  • Hoeveel bos is er gekapt โ€“ Een schatting van het getroffen gebied (in km2) wordt gegeven door gebruik te maken van de fijnmazige resolutie van satellietgegevens (bijvoorbeeld 10mx10m rastercellen voor Sentinel 2)

Overzicht oplossingen

De oplossing maakt gebruik van de georuimtelijke mogelijkheden van SageMaker om up-to-date satellietbeelden op te halen voor elk interessegebied met slechts een paar regels code, en vooraf gebouwde algoritmen toe te passen, zoals landgebruikclassificaties en bandberekeningen. Vervolgens kunt u de resultaten visualiseren met behulp van ingebouwde hulpmiddelen voor het visualiseren van kaarten en rasterafbeeldingen. Om verdere inzichten uit de satellietgegevens te halen, gebruikt de begeleiding de exportfunctionaliteit van Amazon Sage Maker om de verwerkte satellietbeelden op te slaan Amazon eenvoudige opslagservice (Amazon S3), waar gegevens worden gecatalogiseerd en gedeeld voor aangepaste nabewerking en analyse in een Amazon SageMaker Studio notitieboekje met een SageMaker geospatiale afbeelding. Resultaten van deze maatwerkanalyses worden vervolgens gepubliceerd en waarneembaar gemaakt in Amazon QuickSight zodat inkoop- en duurzaamheidsteams de locatievegetatiegegevens van leveranciers op รฉรฉn plek kunnen bekijken. Het volgende diagram illustreert deze architectuur.

oplossingsarchitectuur diagram

De notebooks en code met een implementatieklare implementatie van de analyses die in dit bericht worden getoond, zijn beschikbaar in de GitHub-repository Richtlijnen voor geospatiale inzichten voor duurzaamheid op AWS.

Voorbeeld use case

Dit bericht maakt gebruik van een interessegebied (AOI) uit Braziliรซ waar landontginning voor de veeteelt, de teelt van oliezaden (sojabonen en palmolie) en houtoogst een groot probleem is. U kunt deze oplossing ook generaliseren naar elke andere gewenste AOI.

De volgende schermafbeelding toont de AOI met satellietbeelden (zichtbare band) van de European Space Agency Schildwacht 2 satellietconstellatie opgehaald en gevisualiseerd in een SageMaker-notebook. Agrarische gebieden zijn duidelijk zichtbaar tegen donkergroen natuurlijk regenwoud. Let ook op de rook die uit de AOI komt en uit een groter gebied naar het noorden. Rook is vaak een indicator van het gebruik van vuur bij landontginning.

Agrarische gebieden zijn duidelijk zichtbaar tegen donkergroen natuurlijk regenwoud

NDVI als maat voor vegetatiedichtheid

Om veranderingen in bosareaal in de loop van de tijd te identificeren en te kwantificeren, gebruikt deze oplossing de Genormaliseerde verschil Vegetatie-index (NDVI). . NDVI wordt berekend op basis van zichtbaar en nabij-infrarood licht dat door vegetatie wordt gereflecteerd. Gezonde vegetatie absorbeert het grootste deel van het zichtbare licht dat erop valt en weerkaatst een groot deel van het nabij-infraroodlicht. Ongezonde of schaarse vegetatie reflecteert meer zichtbaar licht en minder nabij-infrarood licht. De index wordt berekend door de rode (zichtbare) en nabij-infrarood (NIR) banden van een satellietbeeld te combineren tot รฉรฉn enkele index variรซrend van -1 tot 1.

Negatieve waarden van NDVI (waarden in de buurt van -1) komen overeen met water. Waarden dicht bij nul (-0.1 tot 0.1) vertegenwoordigen kale gebieden met rotsen, zand of sneeuw. Ten slotte vertegenwoordigen lage en positieve waarden struikgewas, grasland of landbouwgrond (ongeveer 0.2 tot 0.4), terwijl hoge NDVI-waarden gematigde en tropische regenwouden aangeven (waarden in de buurt van 1). Meer informatie over NDVI-berekeningen hier). NDVI-waarden kunnen daarom eenvoudig worden toegewezen aan een overeenkomstige vegetatieklasse:

NDVI_map={ (-1,0]: "no vegetation (water, rock, artificial structures)", (0,0.5]:"light vegetation (shrubs, grass, fields)", (0.5,0.7]:"dense vegetation (plantations)", (0.7,1]:"very dense vegetation (rainforest)"
}

Door veranderingen in NDVI in de loop van de tijd bij te houden met behulp van het ingebouwde NDVI-model van SageMaker, kunnen we belangrijke informatie afleiden over de vraag of leveranciers die in de AOI actief zijn dit op verantwoorde wijze doen of dat ze zich bezighouden met niet-duurzame boskapactiviteiten.

Ophalen, verwerken en visualiseren van NDVI-gegevens met behulp van de geospatiale mogelijkheden van SageMaker

Een primaire functie van de SageMaker Geospatial API is de Aardobservatie baan (EOJ), waarmee u rastergegevens van het aardoppervlak kunt verkrijgen en transformeren. Een EOJ haalt satellietbeelden op van een gespecificeerde gegevensbron (dwz een satellietconstellatie) voor een gespecificeerd interessegebied en tijdsperiode, en past een of meerdere modellen toe op de opgehaalde beelden.

EOJ's kunnen worden aangemaakt via een georuimtelijk notitieboek. Voor deze post gebruiken we een voorbeeld notebook.

Stel de volgende parameters in om een โ€‹โ€‹EOJ te configureren:

  • Invoerconfiguratie โ€“ De invoerconfiguratie definieert gegevensbronnen en filtercriteria die moeten worden toegepast tijdens gegevensverzameling:
    • RasterDataCollectionArn โ€“ Definieert van welke satelliet gegevens moeten worden verzameld.
    • Gebied van intresse โ€“ De geografische AOI; definieert veelhoek waarvoor afbeeldingen moeten worden verzameld (in GeoJSON formaat).
    • Tijdbereikfilter โ€“ Het tijdbereik van interesse: {StartTime: <string>, EndTime: <string> }.
    • PropertyFilters โ€“ Aanvullende eigenschapsfilters, zoals maximaal aanvaardbare bewolking.
  • JobConfig โ€“ De modelconfiguratie definieert de verwerkingstaak die moet worden toegepast op de opgehaalde satellietbeeldgegevens. Een NDVI-model is beschikbaar als onderdeel van de pre-built BandMath operatie.

Stel InputConfig in

De georuimtelijke mogelijkheden van SageMaker ondersteunen satellietbeelden van twee verschillende bronnen waarnaar kan worden verwezen via hun Amazon Resource Names (ARN's):

  • Landsat-collectie 2 niveau-2 wetenschappelijke producten, die de reflectie van het aardoppervlak (SR) en de oppervlaktetemperatuur (ST) meet met een ruimtelijke resolutie van 30 m
  • Sentinel 2 L2A COG's, die continue spectrale metingen over 13 afzonderlijke banden (blauw, groen, nabij-infrarood, enzovoort) met een resolutie tot 10 meter mogelijk maken.

U kunt deze ARN's rechtstreeks via de API ophalen door te bellen list_raster_data_collections().

Deze oplossing maakt gebruik van Sentinel 2 data. De Sentinel-2-missie is gebaseerd op een constellatie van twee satellieten. Als een sterrenbeeld, wordt dezelfde plek boven de evenaar elke 5 dagen opnieuw bezocht, waardoor frequente waarnemingen met een hoge resolutie mogelijk zijn. Om Sentinel 2 als gegevensbron voor het EOJ te specificeren, hoeft u alleen maar naar de ARN te verwijzen:

#set raster data collection arn to sentinel 2
data_collection_arn = "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8"

Vervolgens wordt de AreaOfInterest (AOI) voor het EOJ moet worden gedefinieerd. Om dit te doen, moet u een GeoJSON van het begrenzingskader dat het gebied definieert waar een leverancier actief is. Het volgende codefragment extraheert de coรถrdinaten van het begrenzingsvak en definieert de invoer van het EOJ-verzoek:

file_name = "../assets/aoi_samples/brazil_plantation_mato_grosso.geojson"
aoi_shape = gpd.read_file(geojson_file_name) #load geojson as shape file
aoi_shape = aoi_shape.set_crs(epsg=4326) #set projection, i.e. coordinate reference system (CRS)
aoi_coordinates = json.loads(aoi_shape.to_json())['features'][0]["geometry"]["coordinates"] #extract coordinates #set aoi query parameters
selected_aoi_feature = { "AreaOfInterestGeometry": { "PolygonGeometry": { "Coordinates": aoi_coordinates } }
}

Het tijdsbereik wordt gedefinieerd met behulp van de volgende aanvraagsyntaxis:

start="2022-10-01T00:00:00" #time in UTC
end="2022-12-20T00:00:00" #time in UTC
time_filter = { "StartTime": start, "EndTime": end
}

Afhankelijk van de geselecteerde rastergegevensverzameling worden verschillende aanvullende eigenschapsfilters ondersteund. U kunt de beschikbare opties bekijken door te bellen get_raster_data_collection(Arn=data_collection_arn)["SupportedFilters"]. In het volgende voorbeeld wordt een strakke limiet van 5% bewolking opgelegd om een โ€‹โ€‹relatief onbelemmerd zicht op de AOI te garanderen:

property_filters={ "Properties":[ { "Property":{ "EoCloudCover":{ "LowerBound": 0, "UpperBound": 5 } } }, ], "LogicalOperator": "AND"
}

Bekijk queryresultaten

Voordat u de EOJ start, moet u ervoor zorgen dat de queryparameters daadwerkelijk resulteren in het terugsturen van satellietbeelden als antwoord. In dit voorbeeld is de ApproximateResultCount is 3, wat voldoende is. Mogelijk moet u een minder beperkende gebruiken PropertyFilter als er geen resultaten worden geretourneerd.

#consolidate query parameters
query_param = { "AreaOfInterest": selected_aoi_feature, "TimeRangeFilter": time_filter, "PropertyFilters": property_filters
}
#review query results
query_results = sm_geo_client.search_raster_data_collection( Arn = data_collection_arn, RasterDataCollectionQuery = query_param
)
#get result count
result_count = query_results["ApproximateResultCount"]

U kunt miniaturen van de onbewerkte invoerafbeeldingen bekijken door de query_results voorwerp. Bijvoorbeeld de URL van miniatuur van onbewerkte afbeelding van het laatste item dat door de query wordt geretourneerd, is als volgt toegankelijk: query_results['Items'][-1]["Assets"]["thumbnail"]["Href"] .

Stel JobConfig in

Nu we alle vereiste parameters hebben ingesteld die nodig zijn om de onbewerkte Sentinel 2-satellietgegevens te verkrijgen, is de volgende stap het afleiden van de vegetatiedichtheid gemeten in termen van NDVI. Dit omvat doorgaans het identificeren van de satelliettegels die de AOI kruisen en het downloaden van de satellietbeelden voor het betreffende tijdsbestek van een gegevensprovider. U zou dan het proces van het overlappen, samenvoegen en knippen van de verkregen bestanden moeten doorlopen, de NDVI per elke rastercel van het gecombineerde beeld moeten berekenen door wiskundige bewerkingen uit te voeren op de respectievelijke banden (zoals rood en nabij-infrarood), en eindelijk de resultaten opslaan in een nieuw enkelbands rasterbeeld. De georuimtelijke mogelijkheden van SageMaker bieden een end-to-end implementatie van deze workflow, inclusief een ingebouwd NDVI-model dat kan worden uitgevoerd met een eenvoudige API-aanroep. Het enige dat u hoeft te doen, is de taakconfiguratie specificeren en deze instellen op het vooraf gedefinieerde NDVI-model:

job_config={ "BandMathConfig": { 'PredefinedIndices': [ 'NDVI', ] }
}

Nadat u alle vereiste invoer voor SageMaker hebt gedefinieerd om de geospatiale gegevens van belang te verwerven en te transformeren, kunt u nu de EOJ starten met een eenvoudige API-aanroep:

#set job name
job_name = "EOJ-Brazil-MatoGrosso-2022-Q4" #set input config
input_config=query_param
input_config["RasterDataCollectionArn"] = data_collection_arn #add RasterDataCollectionArn to input_conf #invoke EOJ
eoj = sm_geo_client.start_earth_observation_job( Name=job_name, ExecutionRoleArn=sm_exec_role, InputConfig={"RasterDataCollectionQuery":input_config}, JobConfig=job_config
)

Nadat het EOJ is voltooid, kunt u beginnen met het verkennen van de resultaten. De geospatiale mogelijkheden van SageMaker bieden ingebouwde visualisatietools aangedreven door Foursquare Studio, die standaard werken vanuit een SageMaker-notebook via de SageMaker georuimtelijke kaart SDK. Het volgende codefragment initialiseert en rendert een kaart en voegt er vervolgens verschillende lagen aan toe:

#initialize and render map
geo_map = sagemaker_geospatial_map.create_map({"is_raster": True})
geo_map.set_sagemaker_geospatial_client(sm_geo_client)
geo_map.render() #add AOI layer
config = {"label": "EOJ AOI"}
aoi_layer = geo_map.visualize_eoj_aoi( Arn=eoj["Arn"], config=config
)
#add input layer
config = {"label": "EOJ Input"}
input_layer = geo_map.visualize_eoj_input( Arn=eoj["Arn"], config=config
)
#add output layer
config = { "label":"EOJ Output", "preset": "singleBand", "band_name": "ndvi"
}
output_layer = geo_map.visualize_eoj_output( Arn=eoj["Arn"], config=config
)

Eenmaal gerenderd, kunt u met de kaart communiceren door onder andere lagen te verbergen of weer te geven, in en uit te zoomen of kleurenschema's aan te passen. De volgende schermafbeelding toont de AOI-grenskaderlaag bovenop de uitvoerlaag (het NDVI-getransformeerde Sentinel 2-rasterbestand). Felgele vlekken vertegenwoordigen intact regenwoud (NDVI=1), donkere vlekken vertegenwoordigen velden (0.5>NDVI>0) en donkerblauwe vlekken vertegenwoordigen water (NDVI=-1).

AOI-grenskaderlaag bovenop de uitvoerlaag

Door huidige periodewaarden te vergelijken met een gedefinieerde basislijnperiode, kunnen veranderingen en afwijkingen in NDVI in de loop van de tijd worden geรฏdentificeerd en gevolgd.

Aangepaste nabewerking en QuickSight-visualisatie voor aanvullende inzichten

De geospatiale mogelijkheden van SageMaker worden geleverd met een krachtige, vooraf gebouwde toolkit voor analyse en mapping die de functionaliteit levert die nodig is voor veel geospatiale analysetaken. In sommige gevallen heeft u extra flexibiliteit nodig en wilt u aangepaste na-analyses uitvoeren op de EOJ-resultaten. De georuimtelijke mogelijkheden van SageMaker vergemakkelijken deze flexibiliteit via een exportfunctie. Het exporteren van EOJ-uitvoer is opnieuw een eenvoudige API-aanroep:

export_job=sm_geo_client.export_earth_observation_job( Arn=eoj["Arn"], ExecutionRoleArn=sm_exec_role, OutputConfig={"S3Data": {"S3Uri":"s3://{}".format(main_bucket_name)+"/raw-eoj-output/"}}, ExportSourceImages=False
)

Vervolgens kunt u de uitvoerrasterbestanden downloaden voor verdere lokale verwerking in een SageMaker georuimtelijk notitieboek het gebruik van algemene Python-bibliotheken voor geospatiale analyse, zoals GDAL, Fiona, GeoPandas, Shapely en Rasterio, evenals SageMaker-specifieke bibliotheken. Met de analyses die in SageMaker worden uitgevoerd, staan โ€‹โ€‹alle AWS-analysetools die native integreren met SageMaker ook tot uw beschikking. Bijvoorbeeld de oplossing die is gekoppeld in de Richtlijnen voor geospatiale inzichten voor duurzaamheid op AWS GitHub-repo gebruikt Amazon S3 en Amazone Athene voor het opvragen van de nabewerkingsresultaten en het waarneembaar maken ervan in een QuickSight-dashboard. Alle verwerkingsroutines samen met implementatiecode en instructies voor het QuickSight-dashboard worden gedetailleerd beschreven in de GitHub-repository.

Het dashboard biedt drie kernvisualisatiecomponenten:

  • Een tijdreeksplot van NDVI-waarden genormaliseerd tegen een basislijnperiode, waarmee u de temporele dynamiek in vegetatiedichtheid kunt volgen
  • Volledige discrete verdeling van NDVI-waarden in de basislijnperiode en de huidige periode, waardoor transparant wordt welke vegetatietypen de grootste verandering hebben ondergaan
  • NDVI-getransformeerde satellietbeelden voor de basislijnperiode, huidige periode en pixel-voor-pixel verschillen tussen beide perioden, waarmee u de getroffen regio's binnen de AOI kunt identificeren

Zoals blijkt uit het volgende voorbeeld, daalde de gemiddelde NDVI van AOI gedurende de periode van 5 jaar (2017-Q3 tot 2022-Q3) met 7.6% ten opzichte van de referentieperiode (Q3 2017), waardoor een totale oppervlakte van 250.21 km2 werd beรฏnvloed. Deze vermindering werd voornamelijk veroorzaakt door veranderingen in gebieden met een hoge NDVI (bos, regenwoud), wat te zien is bij het vergelijken van de NDVI-verdelingen van de huidige vs. de basislijnperiode.

het vergelijken van de NDVI-verdelingen van de huidige vs. de basislijnperiode

het vergelijken van de NDVI-verdelingen van de huidige vs. de basislijnperiode

De pixel-voor-pixel ruimtelijke vergelijking met de basislijn benadrukt dat de ontbossing plaatsvond in een gebied precies in het midden van de AOI waar voorheen ongerept natuurlijk bos is omgezet in landbouwgrond. Supply chain-professionals kunnen deze gegevenspunten gebruiken als basis voor verder onderzoek en een mogelijke herziening van de relaties met de leverancier in kwestie.

Conclusie

De geospatiale mogelijkheden van SageMaker kunnen een integraal onderdeel vormen van het volgen van klimaatactieplannen van bedrijven door geospatiale monitoring op afstand eenvoudig en toegankelijk te maken. Deze blogpost concentreerde zich op slechts รฉรฉn specifieke use-case: het monitoren van de oorsprong van de toeleveringsketen van grondstoffen. Andere use-cases zijn gemakkelijk denkbaar. U kunt bijvoorbeeld een vergelijkbare architectuur gebruiken om bosherstelinspanningen voor emissiecompensatie te volgen, de gezondheid van planten te bewaken bij herbebossing of landbouwtoepassingen, of de impact van droogte op waterlichamen detecteren, naast vele andere toepassingen.


Over de auteurs

Karsten Schroer is een oplossingsarchitect bij AWS. Hij ondersteunt klanten bij het benutten van data en technologie om de duurzaamheid van hun IT-infrastructuur te stimuleren en cloud-native datagestuurde oplossingen te bouwen die duurzame operaties in hun respectieve branches mogelijk maken. Karsten kwam bij AWS na zijn promotieonderzoek in toegepast machine learning & operations management. Hij is echt gepassioneerd door technologische oplossingen voor maatschappelijke uitdagingen en duikt graag diep in de methoden en applicatie-architecturen die ten grondslag liggen aan deze oplossingen.

Tamara Herbert is een applicatieontwikkelaar bij AWS Professional Services in het VK. Ze is gespecialiseerd in het bouwen van moderne en schaalbare applicaties voor een grote verscheidenheid aan klanten, waarbij ze zich momenteel richt op de publieke sector. Ze is actief betrokken bij het bouwen van oplossingen en het stimuleren van gesprekken waarmee organisaties hun duurzaamheidsdoelstellingen zowel in als via de cloud kunnen behalen.

Margaret O'Toole kwam in 2017 bij AWS en heeft haar tijd besteed aan het helpen van klanten in verschillende technische rollen. Tegenwoordig is Margaret de WW Tech Leader for Sustainability en leidt ze een community van klantgerichte technische specialisten op het gebied van duurzaamheid. Samen helpt de groep klanten IT te optimaliseren voor duurzaamheid en AWS-technologie te gebruiken om enkele van de moeilijkste uitdagingen op het gebied van duurzaamheid over de hele wereld op te lossen. Margaret studeerde biologie en informatica aan de Universiteit van Virginia en Leading Sustainable Corporations aan de Saรฏd Business School in Oxford.

spot_img

Laatste intelligentie

spot_img