Select to view content in your preferred language

Detecting Dead spots in an Orchard

677
6
02-13-2024 08:34 AM
golden345
New Contributor

I am trying to get ArcGISpro to give me a rough estimate of the percentage of deadspots in an orchard like the one in this image. I am using imagery from USDA NAIP. I've tried using TreeDetection.dlpk as a model in Detect Objects Using Deep Learning to detect the trees in the orchard. My hope was that this would detect a number of trees - say 100 for example, and I could compare this to ground truth data that this orchard was planted with 200 trees, for example, and infer that 100 trees had died. 

golden345_0-1707842033375.png

 

The deep learning results were not good (see image). Any ideas on what else I could try?

golden345_1-1707842032940.png

 

 

0 Kudos
6 Replies
BobBooth1
Esri Contributor

I suspect that part of the problem is that the imagery you are using is not an exact match for the imagery the model was trained on. Have a look at this tutorial on using transfer learning to adjust a model trained on one dataset to work with another, slightly different one.

https://learn.arcgis.com/en/projects/improve-a-deep-learning-model-with-transfer-learning/

0 Kudos
golden345
New Contributor

Thanks @BobBooth1. The TreeDetection.dlpk model relies on DeepForest, which I've learned does not support transfer learning. Other models I've seen don't seem to be a great fit, except maybe LandCoverClassification_Aerial.

0 Kudos
MErikReedAugusta
Frequent Contributor

If you're just looking for rough percentages, you theoretically should be able to use area measurements, yes?  I notice the trees are pretty consistently-spaced, which makes sense for an orchard.

If you happen to have LiDAR data available for this site (or can source some), you might be able to compare the returns for tree canopy against the returns for the open grass, and convert those to polygons.

Calculate the areas for each resulting polygon against the area for the field as a whole, and you have approximate area measurements for deadspots.

If you need approximate tree counts, it depends on your definition of "approximate".  Again, the trees appear relatively evenly-spaced, so you might be able to calculate an average tree-per-square-meter or similar, and then run that number against the area of tree return from the LiDAR, and you get an approximate tree count.

0 Kudos
RonaldHaug
Frequent Contributor

Hi Golden 345,

First I would do an extract by mask on your raster file to include only the orchard you want to measure.

Next I would do a raster to polygon change and calculate the area of your dead patches.

Lastly I would count the number of live trees in a given area of your orchard, and do the math.

0 Kudos
BobBooth1
Esri Contributor

You might look at the new textSAM model, it might give better results.

https://www.arcgis.com/home/item.html?id=8df3bf4167bc4c7b967f677f8b362ec3

0 Kudos
BobBooth1
Esri Contributor
Esri's newly released a deep learning model called Text SAM. This model gives you 🧙 magical powers to run a DL model that will detect objects from imagery using text prompts. You can prompt things like: ✈️Find airplanes 🚗Detect cars 🏊Identify pools Text SAM deep learning model! 👈 Being able t...