I have to develop a classifier to detect olive tree canopies using Geoeye-1 images. I had thought of segmentation and indeed the segmentation is capable of separating and detecting canopies. However I need now a classifier that retains only the segments that represent olive trees. The range of values assigned to canopies is quite high and doesn’t follow a particular order, hence i haven’t found an obvious mapcalc rule so far. However, I have been reasoning about the particular pattern that characterise olive orchards: olive trees are obviously round, disposed on regular grids, at constant distance to each other, and the canopies, although having different sizes (within a certain range), are almost always well separated from each other. I am now looking to a way to translate this concept into operational rule. I’m sure that this is nothing new, so I was wondering if you could point me relevant literature and existing tools to put this in practice.
Thank you in advance for any hints
–
Best regards,
Dr. Margherita DI LEO
Scientific / technical project officer
European Commission - DG JRC
Institute for Environment and Sustainability (IES)
Via Fermi, 2749
I-21027 Ispra (VA) - Italy - TP 261
Disclaimer: The views expressed are purely those of the writer and may not in any circumstance be regarded as stating an official position of the European Commission.
I have to develop a classifier to detect olive tree canopies using Geoeye-1
images.
Margherita,
Is the reflected color spectrum of olive trees different from vegetation
that would normally be expected outside the orchards?
If so, I would suggest a training set obtained by visiting a few olive
orchards and recording the geographic coordinates of the center as well as
an average radius (or the sides of a rectangular orchard). The satellite
band values for those location can then be used to classify vegetation and
find other olive orchards.
Of course, you've probably already done this, and it's been about 30 years
since I last worked with satellite imagery so I'm not current on the
technologies.
Is the reflected color spectrum of olive trees different from vegetation
that would normally be expected outside the orchards?
If so, I would suggest a training set obtained by visiting a few olive
orchards and recording the geographic coordinates of the center as well as
an average radius (or the sides of a rectangular orchard). The satellite
band values for those location can then be used to classify vegetation and
find other olive orchards.
Of course, you’ve probably already done this, and it’s been about 30 years
since I last worked with satellite imagery so I’m not current on the
technologies.
Thank you very much for your hint. I should have mentioned that I made tentatives also in this direction. Unfortunately, so far this approach didn’t allow me to tell olive trees from other vegetation types.
–
Best regards,
Dr. Margherita DI LEO
Scientific / technical project officer
European Commission - DG JRC
Institute for Environment and Sustainability (IES)
Via Fermi, 2749
I-21027 Ispra (VA) - Italy - TP 261
Disclaimer: The views expressed are purely those of the writer and may not in any circumstance be regarded as stating an official position of the European Commission.
Thank you very much for your hint. I should have mentioned that I made
tentatives also in this direction. Unfortunately, so far this approach
didn't allow me to tell olive trees from other vegetation types.
Margherita,
As I wrote, it's been a very long time since I calculated NDVIs to
classify vegetation types from remotely sensed imagery. However, I vaguely
recall being able to pick bands (satellite imagery) or RGB colors (aerial
photographic imagery) so as to distinguish the vegetation of interest.
Are there other factors (nominal such as season or province; ratio such as
aspect, size, or elevation) that can be used as a mask to reduce the
vegetational clutter?
I have to develop a classifier to detect olive tree canopies using
Geoeye-1 images. I had thought of segmentation and indeed the
segmentation is capable of separating and detecting canopies. However I
need now a classifier that retains only the segments that represent
olive trees. The range of values assigned to canopies is quite high and
doesn't follow a particular order, hence i haven't found an obvious
mapcalc rule so far. However, I have been reasoning about the particular
pattern that characterise olive orchards: olive trees are obviously
round, disposed on regular grids, at constant distance to each other,
and the canopies, although having different sizes (within a certain
range), are almost always well separated from each other. I am now
looking to a way to translate this concept into operational rule. I'm
sure that this is nothing new, so I was wondering if you could point me
relevant literature and existing tools to put this in practice.
Thank you in advance for any hints
Have you tried integrating variables concerning shape and size (cf some of the v.to.db variables), texture (r.texture - unfortunately GRASS does not propose texture measures for arbitrary polygons, but only for fixed-size windows around pixels, but you can use average texture measures within your segmentation polygons).
You should probably check Pietro's v.class.ml in addons [1]. You can also look at the sample script I sent to the grass-users list a while ago [2].
Just brainstorming here: maybe the r.li.* modules can be (ab)used for such as task ?
Have you tried integrating variables concerning shape and size (cf some of the v.to.db variables), texture (r.texture - unfortunately GRASS does not propose texture measures for arbitrary polygons, but only for fixed-size windows around pixels, but you can use average texture measures within your segmentation polygons).
You should probably check Pietro’s v.class.ml in addons [1]. You can also look at the sample script I sent to the grass-users list a while ago [2].
Just brainstorming here: maybe the r.li.* modules can be (ab)used for such as task ?
Fantastic! Thank you for all your precious hints! I’ll let you know how it goes. Also, kudos to Pietro for his v.class.ml (he should advertise more his marvellous tools), that implements shikit [3], I was just reading this example of application [4] and looks promising for my case…
Disclaimer: The views expressed are purely those of the writer and may not in any circumstance be regarded as stating an official position of the European Commission.