Deep learning model to perform land cover classification on Sentinel-2 imagery. A brief summary of the item is not available. Add a brief summary about the item.
Deep learning package
from
Item created: Feb 17, 2021 Item updated: Dec 27, 2024 Number of downloads: 71,769
Description
Land cover describes the surface of the earth. Land cover maps are useful in urban planning, resource management, change detection, agriculture, and a variety of other applications in which information related to earth surface is required. Land cover classification is a complex exercise and is hard to capture using traditional means. Deep learning models are highly capable of learning these complex semantics, giving superior results.
Using the model
Fine-tuning the model
This model can be fine-tuned using the Train Deep Learning Model tool. Follow the guide to fine-tune this model.
Input
Class | Level-2A Imagery | Level-1C Imagery | ||||
Precision | Recall | F1 Score | Precision | Recall | F1 Score | |
Urban fabric | 0.81 | 0.83 | 0.82 | 0.82 | 0.84 | 0.83 |
Industrial, commercial and transport units | 0.74 | 0.65 | 0.69 | 0.73 | 0.66 | 0.7 |
Mine, dump and construction sites | 0.63 | 0.52 | 0.57 | 0.69 | 0.55 | 0.61 |
Artificial, non-agricultural vegetated areas | 0.70 | 0.46 | 0.55 | 0.67 | 0.47 | 0.55 |
Arable land | 0.86 | 0.90 | 0.88 | 0.86 | 0.89 | 0.87 |
Permanent crops | 0.76 | 0.73 | 0.74 | 0.75 | 0.71 | 0.73 |
Pastures | 0.75 | 0.71 | 0.73 | 0.74 | 0.71 | 0.73 |
Heterogeneous agricultural areas | 0.61 | 0.56 | 0.58 | 0.62 | 0.51 | 0.56 |
Forests | 0.88 | 0.93 | 0.90 | 0.88 | 0.92 | 0.9 |
Scrub and/or herbaceous vegetation associations | 0.74 | 0.69 | 0.72 | 0.73 | 0.67 | 0.7 |
Open spaces with little or no vegetation | 0.87 | 0.84 | 0.85 | 0.85 | 0.82 | 0.84 |
Inland wetlands | 0.81 | 0.78 | 0.80 | 0.82 | 0.77 | 0.79 |
Maritime wetlands | 0.74 | 0.76 | 0.75 | 0.87 | 0.89 | 0.88 |
Inland waters | 0.94 | 0.92 | 0.93 | 0.94 | 0.91 | 0.92 |
Marine waters | 0.98 | 0.99 | 0.98 | 0.97 | 0.98 | 0.98 |
Class | Precision | Recall | F1 Score |
Artificial surfaces | 0.85 | 0.81 | 0.83 |
Agricultural areas | 0.90 | 0.91 | 0.91 |
Forest and semi natural areas | 0.91 | 0.92 | 0.92 |
Wetlands | 0.77 | 0.70 | 0.73 |
Water bodies | 0.96 | 0.97 | 0.96 |
Sample results
An in-depth description of the item is not available.
Layers
Tools
Tables
Basemap
Project Contents:
Solution Contents
Contents
Layers
Screenshots
Terms of Use
This work is licensed under the Esri Master License Agreement.
No special restrictions or limitations on using the item's content have been provided.
Details
Dashboard views: Desktop
Source:
Creating data in:
Published as:
Other Views:
Dependent items in the recycle bin
Applicable: 2d
Size: 440.047 MB
ID: afd124844ba84da69c2c533d4af10a58
Image Count: 0
Image Properties
Layer Drawing
Using tiles from a cache
Dynamically from data
Share
Owner
Folder
Categories
This item has not been categorized.
Tags
land cover, deep learning, dlpk, living atlas, sentinel, corine
Credits (Attribution)
No acknowledgements.Esri
Comments (40)
Hello, I downloaded Sentinel-2 data (12 Bands, 8-bit, TIFF) from EO Browser (https://apps.sentinel-hub.com/eo-browser/?zoom=14&lat=50.90669&lng=8.11701&themeId=DEFAULT-THEME&visualizationUrl=https%3A%2F%2Fservices.sentinel-hub.com%2Fogc%2Fwms%2F42924c6c-257a-4d04-9b8e-36387513a99c&datasetId=S2L1C&fromTime=2023-09-09T00%3A00%3A00.000Z&toTime=2023-09-09T23%3A59%3A59.999Z&layerId=1_TRUE_COLOR&demSource3D=%22MAPZEN%22) I already tried different solutions from the comments below (e.g. L1C or L2A). I always get a classification with a few vegetated areas and the rest is "waters", as some others already commented below. Do we already have a solution for this? Thanks in advance
Hi, thanks again! The problem is that I did not have a .SAFE file or MTD_MSIL2A.xml. I only get 12 .tiff images (Band 01-12) when I download the data as described from the eo-browser website. I changed to copernicus browser where I found another download button which gives me the files you mentioned. With these files I was able to do the classification. Can you tell what is the difference between the data via the .xml file and the 12 Bands I usually download at eo browser? What is missing in my .tiff files, that no classification is possible with this tool? Thanks a lot!
Hi, I downloaded the same tile which use mentioned in your comment. As the image is from 2023 we need to use radiometric offset correction of -1000. Instead of manually creating the composite raster, Follow the below steps: Open Pro Project -> Click on Add data -> Browse to your .SAFE file directory -> you will see a file named "MTD_MSIL2A.xml " -> Double click on the xml file -> Select "BOA Reflectance" raster -> Right click on the raster and Add it to the current map. After adding the BOA Reflectance product in the map -> Open Raster Functions -> Search for "Minus" function -> Use the BOA Reflectance raster as Raster and write 1000 as Raster 2. Use this minus raster in Classify Pixels Using Deep Learning tool. Please try this workflow as I am getting correct LULC classes.
Hi, of couse, thanks! I used this website: https://apps.sentinel-hub.com/eo-browser/ I searched for "Siegen, Deutschland". On the "Discover" tab I ticked "Sentinel-2", activated "Advanced search" and chose "L2A" and set "Max. cloud coverage" to 20%. I set the "Time range" from 2023-08-14 until today and used the result of 2023-09-26 (8.1% cloud coverage, map tile 32UMB). I drew a rectangle with the following coordinates: [8.085594,50.879102], [8.085594,50.929332], [8.171339,50.929332], [8.171339,50.879102]. I clicked the "Download image" button on the right hand site and chose all 12 "Raw" Bands on the "Analytical" tab. I used the "Composite Bands" tool from the Data Management Tools in ArcGIS Pro 3.1.0 and then tried to classify the result with the "Land Cover Classification (Sentinel-2)" tool from this website. Thank you so much for your help.
Hi, can you please share the details of area for which you are trying, I can download that tile and also try it on my end.
Thanks for your quick response. I tried the Minus GP Tool today as well as using data from 2020. I always get the same result of water classification almost everywhere. The few other small areas of different classes in the classified image seem not to fit to any objects of the original image. Do you have any idea, what else I could try? Thank you!
Hi, for which year you are trying to create LULC, if it is after Jan 2022 you will need to do the radiometric offset correction. For radiometric offset correction you have to minus 1000 from all the pixels you can use "Minus" GP tool or Raster Function. You can try this with Sentinel L2A BOA Reflectance product. We are also adding the radiomentric offset correct in the model as a parameter, will release it soon in this month.
A possible solution has been found: In order to be able to use the dlpk (Landcover Classification Sentinal-2), the following parameters must be observed: It must be a Sentinal-2 grid with at least 12 bands. The following Sentinal-2 can be used successfully: "BOA Reflectance" This can be downloaded with an account at this e.g. page: https://dataspace.copernicus.eu/browser/?zoom=11&lat=52.38682&lng=8.06214&themeId=DEFAULT-THEME&visualizationUrl=https%3A%2F%2Fsh.dataspace.copernicus.eu%2Fogc%2Fwms%2F274a990e-7090-4676-8f7d-f1867e8474a7&datasetId=S2_L1C_CDAS&fromTime=2023-09-24T00%3A00%3A00.000Z&toTime=2023-09-24T23%3A59%3A59.999Z&layerId=1_TRUE_COLOR Extract the zip and then load the "BOA Reflectance" from the xml "MTD_MSIL2A" into ArcPro. Then work as usual with the tool "ClassifyPixelsUsingDeepLearning" and the dlpk Land Cover Classification (Sentinel-2) from the Living Atlas. The result is ok, you may have to retrain this dlpk: (tutorial https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.arcgis.com%2Fen%2Fpaths%2Ftry-deep-learning-in-arcgis%2F&data=05%7C01%7Co.goepfert%40wpd.de%7C01709a7d5f104f634da108dbdeb81f65%7Ca56e04c0ecfc4ac7a1e423eacc14ee24%7C0%7C0%7C638348654609817758%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=tjKVQMEgmTOaKHMoAgkL1U5BafP%2Flmu1kkfg%2BwPUnVM%3D&reserved=0).
I am trying to use the model on a Sentinel-2 L2A tiff, where cell size is put to 10 as described in the documentation. ERROR 999999: Something unexpected caused the tool to fail. Contact Esri Technical Support (https://esriurl.com/support) to Report a Bug, and refer to the error help for potential solutions or workarounds. Invalid cell size Invalid cell size Failed to execute (ClassifyPixelsUsingDeepLearning).
And next: ERROR 999999: Something unexpected caused the tool to fail. Contact Esri Technical Support (https://esriurl.com/support) to Report a Bug, and refer to the error help for potential solutions or workarounds. Unable to prepare input raster(s) for the python raster function. [Failed to generate table] Unable to prepare input raster(s) for the python raster function. [Failed to open dataset: Raster] Unable to prepare input raster(s) for the python raster function. Unable to open the specified raster. [raster] Client tried to access password-protected page without proper authorization. Unable to prepare input raster(s) for the python raster function. [Failed to generate table] Unable to prepare input raster(s) for the python raster function. [Failed to open dataset: Raster] Unable to prepare input raster(s) for the python raster function. Unable to open the specified raster. [raster] Client tried to access password-protected page without proper authorization. Failed to execute (DetectObjectsUsingDeepLearning).
The error messages that are output after approx. 2% are as follows: ERROR 999999: Something unexpected caused the tool to fail. Contact Esri Technical Support (https://esriurl.com/support) to Report a Bug, and refer to the error help for potential solutions or workarounds. Unable to prepare input raster(s) for the python raster function. Unable to open the specified raster. [raster] Unable to extract and reorder raster bands. Invalid band index encountered. [requested band 3 at position 3] Unable to prepare input raster(s) for the python raster function. Unable to open the specified raster. [raster] Unable to extract and reorder raster bands. Invalid band index encountered. [requested band 3 at position 3] Failed to execute (ClassifyPixelsUsingDeepLearning).