Select to view content in your preferred language

Train Deep learning - not classifying data. precision comes as 0 for class (mangrove) Fairly new to this..

896
5
01-26-2024 08:50 AM
Labels (3)
DhruvkumarBhatt
Emerging Contributor

I created training data, merged different samples for one class together and then exported it for deep learning.

DhruvkumarBhatt_0-1706287391910.png

DhruvkumarBhatt_2-1706287439590.png

Ran the train deep learning package but it is not classifying the class.

DhruvkumarBhatt_3-1706287536028.png

DhruvkumarBhatt_4-1706287736817.png

DhruvkumarBhatt_5-1706287757642.png

 

Using Landsat 8

I only have one class, mangroves and collected 53 samples. Cell size 30 which is the imagery size. Rasterized the training samples and used it that way but still not classifying the mangroves. Any help/suggestions highly appreciated. Using 3.2 Pro and 3.2 libraries. Working in the cloned environment. Libraries do not show up in the default environment which is okay.

I wonder whether it is the 3.2 version issue, i was able to do the same a while back when using 2.8.

 

0 Kudos
5 Replies
PavanYadav
Esri Contributor

@DhruvkumarBhatt can you share your training data emd or its screen capture? In the "image" folder of the exported training data, how may image chips do you have? Seems like the model is learning to classify background well.. wondering you have enough samples for mangrove. 

BTW, this ready model might be of interest - https://doc.arcgis.com/en/pretrained-models/latest/imagery/introduction-to-mangrove-classification-l...  
and, this tutorial - https://learn.arcgis.com/en/projects/classify-mangroves-using-deep-learning/

if you need to finetune - maybe see this as an example - https://www.esri.com/arcgis-blog/products/arcgis-pro/imagery/repurposing-deep-learning-models-using-...

 

Cheers!

Pavan Yadav | Product Engineer - Imagery and AI
Esri | 380 New York | Redlands, 92373 | USA

Pavan Yadav
Product Engineer at Esri
AI for Imagery
Connect with me on LinkedIn!
Contact Esri Support Services
0 Kudos
DhruvkumarBhatt
Emerging Contributor

@PavanYadav  Thank you for your response. I did follow the classify tutorial and I get the same results. When I use the tutorial's training samples everything works fine but when I create my own training samples (and in some test runs I even converted that training samples to Raster dataset and reclassified as 0 for null and 1 for mangrove) there is no output. It seems to be an issue with the training samples or the way I am exporting it (not sure). I have also checked the environment (cloned it too) but still no output. After output I tried to remove/delete attribute table (as mentioned in one of the posts) but still no result. Tried on two different computers too. Attached is one of the EMD files for the exported training data. This does show the "Values" (If I may) for the mangrove unlike some of the other training data but still no output. Any help is highly appreciated. 

0 Kudos
PavanYadav
Esri Contributor

@DhruvkumarBhattIn the metadata, I see you're using the Classified_Tiles data type. That's correct. However, I suspect you have very few training samples for the mangrove class compared to the background class. This imbalance could be a reason why the model is not learning to recognize mangrove pixels effectively.

Pavan Yadav
Product Engineer at Esri
AI for Imagery
Connect with me on LinkedIn!
Contact Esri Support Services
0 Kudos
DhruvkumarBhatt
Emerging Contributor

@PavanYadav thank you for the suggestions. We did collect more samples and it did work. However, it did not do a good job in classifying the desired mangrove areas. We will collect more training samples and hopefully it improves the model. Our IT team are not GIS experts, any expert advise on how to check that all the environment variables are good for the deep learning? Any resources to make sure all the packages are properly installed? I followed the instructions correctly from the classify mangrove tutorial and the "how to install" from the deep learning install page (on Github I think) but it does not show until I installed and uninstall multiple times. I have chosen the correct versions too. Maybe a developer's resource on "how to" would be great.

Also, on my laptop it used the CPU instead of the GPU when training the DL model even if specified it, any ideas on how to change that? Any suggestions are highly appreciated.

Sorry, I was terribly sick hence the late response.

Thank you

- Dhruv

0 Kudos
PavanYadav
Esri Contributor

@DhruvkumarBhatt thank you for sharing the update and glad to hear you have made some progress. 

You don't need any additional packages if you installed the packages using an installer from https://github.com/Esri/deep-learning-frameworks. This page has some FAQ: https://pro.arcgis.com/en/pro-app/latest/help/analysis/deep-learning/deep-learning-faq.htm

Deep learning with CPU can be very difficult. For any serious work, I would use GPU - more ideas you can get from the FAQ. 

here are a few additional resources that you may find useful. 

 

Tutorials 

  1. Get ready for deep learning in ArcGIS Pro  
  1. Detect objects with a deep learning pretrained model 
  1. Improve a deep learning model with transfer learning 
  1. Classifying Objects Using Deep Learning in ArcGIS Pro 

More: Try deep learning in ArcGIS 

Blogs: https://www.esri.com/arcgis-blog/?s=#deep%20learning  

 

Cheers!

Pavan

Pavan Yadav
Product Engineer at Esri
AI for Imagery
Connect with me on LinkedIn!
Contact Esri Support Services
0 Kudos