Skip to content

LULC classification using SAR imagery #1515

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: next
Choose a base branch
from

Conversation

shivanip32
Copy link
Contributor

@shivanip32 shivanip32 commented Apr 4, 2023

<insert pull request description here>


Checklist

Please go through each entry in the below checklist and mark an 'X' if that condition has been met. Every entry should be marked with an 'X' to be get the Pull Request approved.

  • All imports are in the first cell?
    • First block of imports are standard libraries
    • Second block are 3rd party libraries
    • Third block are all arcgis imports? Note that in some cases, for samples, it is a good idea to keep the imports next to where they are used, particularly for uncommonly used features that we want to highlight.
  • All GIS object instantiations are one of the following?
    • gis = GIS()
    • gis = GIS('home') or gis = GIS('pro')
    • gis = GIS(profile="your_online_portal")
    • gis = GIS(profile="your_enterprise_portal")
  • If this notebook requires setup or teardown, did you add the appropriate code to ./misc/setup.py and/or ./misc/teardown.py?
  • If this notebook references any portal items that need to be staged on AGOL/Python API playground, did you coordinate with a Python API team member to stage the item the correct way with the api_data_owner user?
  • If the notebook requires working with local data (such as CSV, FGDB, SHP, Raster files), upload the files as items to the Geosaurus Online Org using api_data_owner account and change the notebook to first download and unpack the files.
  • Code simplified & split out across multiple cells, useful comments?
  • Consistent voice/tense/narrative style? Thoroughly checked for typos?
  • All images used like <img src="base64str_here"> instead of <img src="https://some.url">? All map widgets contain a static image preview? (Call mapview_inst.take_screenshot() to do so)
  • All file paths are constructed in an OS-agnostic fashion with os.path.join()? (Instead of r"\foo\bar", os.path.join(os.path.sep, "foo", "bar"), etc.)
  • Is your code formatted using Jupyter Black? You can use Jupyter Black to format your code in the notebook.
  • IF YOU WANT THIS SAMPLE TO BE DISPLAYED ON THE DEVELOPERS.ARCGIS.COM WEBSITE, ping @ mohi9282 so he can add it to the list for the next deploy

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@priyankatuteja priyankatuteja added the changes requested remove this label after addressing reviewer comments label Jun 22, 2023
Copy link
Collaborator

@jyaistMap jyaistMap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • sample looks great visually when building the website locally
  • @shivanip32 Please indicate under which Table of Contents heading the sample belongs:
    • Deep Learning -> ?

@priyankatuteja
Copy link
Collaborator

@shivanip32 Please remove python portal url and related items from the notebook, Also, it currently links to ivt items. please change it to geosaurus ones

@sumanttyagi sumanttyagi removed their request for review November 29, 2023 05:41
@jyaistMap jyaistMap self-requested a review April 10, 2024 18:54
@priyankatuteja priyankatuteja marked this pull request as draft January 31, 2025 04:45
@shivanip32 shivanip32 marked this pull request as ready for review April 15, 2025 11:16
Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:16Z
----------------------------------------------------------------

Deep Learning and Pixel Segmentation


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:17Z
----------------------------------------------------------------

Can we please modify it?

Suggestion -

Remotely sensed imagery enables consistent and large-scale monitoring of land cover, helping to detect spatial and temporal changes over any area covered by satellites, drones, or aerial platforms. Among the various remote sensing technologies, Synthetic Aperture Radar (SAR) technology-based datasets are particularly valuable due to their ability to capture cloud-free imagery under all weather and lighting conditions, making them ideal for continuous Land Use/Land Cover (LULC) analysis. This notebook presents an end-to-end deep learning workflow to perform automated land use land cover classification on Sentinel-1 SAR imagery using ArcGIS API for Python,enhancing the process using AutoDL (Automated Deep Learning) and fine-tuning the best deep learning model suggested by AutoDL.

AutoDL is a tool that automates model selection, architecture optimization, and hyperparameter tuning and suggests the best-fit model for the input training dataset from the supported models. By integrating AutoDL, the workflow becomes more efficient and accessible, reducing the need for extensive manual experimentation while maintaining high model performance. The process in this notebook includes extracting training samples, getting the best model using AutoDL, fine-tuning a pixel segmentation model using the SAR dataset, and deploying the DLPK model on ArcGIS Online for inferencing/predicting on unseen datasets to generate accurate, large-area LULC maps.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:18Z
----------------------------------------------------------------

Can we modify this part?

Suggestion -

  • we will need a classified raster as input that contains the land use land cover classes of the study area, and another raster layer that contains all the pixels and band information. For this notebook, we have created a corresponding classified LULC raster layer using the pretrained model Land Cover Classification (Sentinel-2) hosted on ArcGIS Living Atlas of the World and Sentinel-2 imagery of the study area using all 12 bands. For more details, please check this guide.

Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:19Z
----------------------------------------------------------------

Import is repeated.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:20Z
----------------------------------------------------------------

Should we rename the file to lulc_classified_raster_for_training?

Also make a comment in the cell that this is used as training label.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:21Z
----------------------------------------------------------------

  • Can we attach the link to 'Export Training Data For Deep Learning'?
  • arcgis Pro should be ArcGIS Pro.
  • classified raster, raster layer, and output folder - Can we use the exact terms for these inputs as shown in the UI screenshot below with inverted commas for clarity and exact case (capital or small)?
  • speficy - Pls correct the spelling.
  • tile size, stride size, chip format, metadata format - Can we use the exact terms for these inputs as shown in the UI screenshot below with inverted commas for clarity and exact case (capital or small)?
  • distance to move in the X when creating the next image chip, how we are going to store those bounding boxes - These texts are looking a bit informal. Can we please revise them to a more formal tone?
  • Also, do not re-run it if you already run it once unless you would like to update the setting. - Please correct the grammar. Suggested sentence: Also, do not re-run it if you have already run it once, unless you need to update the export settings.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:22Z
----------------------------------------------------------------

M should be capital.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:23Z
----------------------------------------------------------------

Can we modify this sentence?

We have already exported a sample training dataset and hosted it on ArcGIS Online. It can be downloaded and used directly in the notebook by running the following notebook cells:


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:23Z
----------------------------------------------------------------

Please modify the description of the data to match the notebook name.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:24Z
----------------------------------------------------------------

Please remove the username from the cell output to prevent it from showing it to users, or we can remove this cell also.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:25Z
----------------------------------------------------------------

Please remove the local path and provide the variable from the above cell.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:26Z
----------------------------------------------------------------

Is this cell required?


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:27Z
----------------------------------------------------------------

The sentence needs a small correction in grammar -

To get a sense of what the training data looks like, the method arcgis.learn.show_batch() randomly picks a few training chips and visualizes them within the notebook itself.

Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:28Z
----------------------------------------------------------------

This section looks less commented. Can we add more comments to explain what each cell is doing?


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:29Z
----------------------------------------------------------------

This step can be automated with the below script.

#cell 1

path = Path(os.getenv('APPDATA')).parents[0]

path = Path(path, 'Local\Temp\land_use_land_cover_mapping_using_sar_data\models')

#cell 2

best_backbone = model._best_backbone

best_model = model.best_model

best_model, best_backbone 

#cell 3

files = [f for f in path.iterdir() if f.is_dir()]

folder_list = []

for file in files:

  if best_model in file.name and best_backbone in file.name:

    folder = file.name

    folder_list.append(folder)

     

best_model_folder = sorted(folder_list)[-1]

emd_file = best_model_folder + '.emd'

path = Path(path, best_model_folder, emd_file)

path = os.path.abspath(path) #path of the best model


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:30Z
----------------------------------------------------------------

Model saving is repeated.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:31Z
----------------------------------------------------------------

Can we add a link to the Classify Pixels Using Deep Learning tool page to the text here?

P in ArcGIS Pro should be capital.


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:32Z
----------------------------------------------------------------

Should we take this import to first cell?


Copy link

review-notebook-app bot commented Apr 17, 2025

View / edit / reply to this conversation on ReviewNB

neha-sharma-geoai commented on 2025-04-17T14:41:33Z
----------------------------------------------------------------

We are syncing maps in the below cell. Please remove 'm2.zoom = 11' and 'm3.zoom = 11'. Also, we can remove 'Atlanta, USA' from m2 and m3 since we are already syncing them.

Can we add a line gap between each map section to make it look better and less congested?


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changes requested remove this label after addressing reviewer comments
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants