I created training data, merged different samples for one class together and then exported it for deep learning.
Ran the train deep learning package but it is not classifying the class.
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.
@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
@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.
@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.
@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
@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
More: Try deep learning in ArcGIS
Blogs: https://www.esri.com/arcgis-blog/?s=#deep%20learning
Cheers!
Pavan