[GRASS-dev] GSoC 2018 report week 07 - GRASS GIS module for Sentinel-2 cloud and shadow detection

Stefan Blumentrath Stefan.Blumentrath at nina.no
Wed Jul 4 02:02:19 PDT 2018


Ciao Roberta,

I have to admit, that I did not study the papers myself, so I don`t know how complex the approaches there are when it comes to the details.

In general, I think a good single image cloud detection will be very valuable to have (and will be useful for a wider user-group). Furthermore, I would assume that any multi-temporal approach would need to be based on some sort of single image cloud detection… So the work you are doing now on single scene algorithms, will be in any case an important fundament for more involved / multitemporal algorithms I guess…
As for single scene algorithms the machine learning approach on sentinelhub [2], might be interesting too. Addons [3] or [4] pop into my mind here, that could be used for such an approach in GRASS GIS…
TGRASS and temporal buffers [e.g. 1] might come in handy for a multi-temporal approach, where you measure variation in reflectance over time or more particular between focal image and images before and after…

In very cloudy (and snowy) areas (long periods of cloud cover), a multi-temporal approach might not add very much useful information to a single image cloud masking procedure (just guessing here).

Cheers
Stefan

1: https://grass.osgeo.org/grass74/manuals/t.rast.algebra.html
2: https://medium.com/sentinel-hub/improving-cloud-detection-with-machine-learning-c09dc5d7cf13
3: https://grass.osgeo.org/grass74/manuals/addons/i.ann.maskrcnn.html
4: https://grass.osgeo.org/grass74/manuals/addons/r.learn.ml.html


From: Roberta Fagandini <robifagandini at gmail.com>
Sent: tirsdag 3. juli 2018 17:06
To: Stefan Blumentrath <Stefan.Blumentrath at nina.no>
Cc: soc at lists.osgeo.org; GRASS developers list <grass-dev at lists.osgeo.org>; Moritz Lennert <mlennert at club.worldonline.be>; Roberto Marzocchi <roberto.marzocchi at gmail.com>
Subject: Re: [GRASS-dev] GSoC 2018 report week 07 - GRASS GIS module for Sentinel-2 cloud and shadow detection

2018-07-02 10:57 GMT+02:00 Stefan Blumentrath <Stefan.Blumentrath at nina.no<mailto:Stefan.Blumentrath at nina.no>>:
Ciao Roberta,

Ciao Stefan,


Thanks for all your excellent work and comprehensive documentation and information also on dev list.

Thank you, I'm glad you appreciate it and I hope it will be useful for you!


In the light of the discussion around the Sentinel-2 pre-processing wrapper script, I was wondering if you plan / were considering to add a multi-temporal approach to cloud detection [1,2,3] to your module?

No at the moment, I'm sorry. I have never worked on a multi-temporal approach for cloud detection, one of the main goals of my PhD research is indeed the definition of a procedure for the identification of clouds on a single image.
Maybe it would take too long to integrate a new multi-temporal approach into the project now.


If your GSoC was a "pick and choose event”, I would personally be more than satisfied with an “i.atcorr.params” module (or the like) that compiles 6s input file (maybe just with simple user input on geometrical conditions, aerosol model, …) instead of a wrapper for a full preprocessing chain, if that allows you to work on a (at least preliminary) multitemporal could detection procedure…

Maybe you discussed this already with your mentors. So, I have no intentions to interfere here, just indicate my personal preferences 😉 …

I have already discussed the next steps of the project with my mentors and we thought of integrating other algorithms for cloud detection (e.g. fmask) into the module. I'm not able to evaluate if an existant multi-temporal algorithm can be easily and quickly integrated into the module.
I will certainly read the links you suggested, but in the meantime, if you have more precise ideas about it, please let me know..maybe it could be easier than I expect! ;-)

I would like to know what you think, Moritz and Roberto, about the integration of a multi-temporal approach in the module.


As for AOT estimation, this paper might be of interest?
http://www.mdpi.com/2072-4292/9/12/1230/htm


Kind regards,
Stefan

Cheers,
Roberta


1: https://www.sciencedirect.com/science/article/pii/S0034425710000908
2: http://www.cesbio.ups-tlse.fr/multitemp/?p=6832
3: https://forum.step.esa.int/t/maccs-maja-now-distributed-as-binary-code-for-non-commercial-use/5500


From: grass-dev <grass-dev-bounces at lists.osgeo.org<mailto:grass-dev-bounces at lists.osgeo.org>> On Behalf Of Roberta Fagandini
Sent: søndag 1. juli 2018 11:23
To: soc at lists.osgeo.org<mailto:soc at lists.osgeo.org>; GRASS developers list <grass-dev at lists.osgeo.org<mailto:grass-dev at lists.osgeo.org>>
Subject: [GRASS-dev] GSoC 2018 report week 07 - GRASS GIS module for Sentinel-2 cloud and shadow detection

Hi all!
I'm Roberta Fagandini and I'm working on my GSoC project, a GRASS GIS module for Sentinel-2 cloud and shadow detection.
This is my report for the seventh week of coding.

1) What did I complete this week?
• Continued coding the GRASS python script to execute i.atcorr for all bands of the input image changing accordingly the requested input parameters and control file [0]
• Changed some lines of the code according to the i.atcorr manual page (e.g. lon/lat retrieved from the computational region and not from metadata file) [0]
• Added the automatic computation of mean target elevation from the input dem [0]
• Wrote and added the python script for retrieving the aerosol optical thickness (AOT) value from AERONET data using Py6S library [1]
• Discussed with dev community about the need to write my own routine to retrieve and compute AOT at 550 nm avoiding too many dependencies [2]
• Started writing my own routine to extract and compute AOT at 550 (one of the parameters of the i.atcorr control file) [3]
2) What am I going to achieve for next week?
• Finish writing the routine for AOT computation
• Understand how to automatically retrieve some parameters for the control file like aerosol and atmospheric models
• Finish defining the automatic procedure for retrieving all the last missing parameters for the control file

3) Is there any blocking issue?
No at the moment but the coding of the routine takes more time than expected.

Here the links to my GitHub repository [4] and wiki page [5]

Kind regards,
Roberta

[0] https://github.com/RobiFag/GRASS_clouds_and_shadows/commit/52ede2e0e8d157f5b19fbb414c29bbde0e728b13#diff-d42beca70d363fcee5a6ec17260c5129
[1] https://github.com/RobiFag/GRASS_clouds_and_shadows/commit/a8757bfaae04c283daab1b03216b3e0d7ed4c885
[2] https://lists.osgeo.org/pipermail/grass-dev/2018-June/088814.html
[3] https://github.com/RobiFag/GRASS_clouds_and_shadows/commit/568164ea4f093a3045b2562404ece544d1ff6f0f
[4] https://github.com/RobiFag/GRASS_clouds_and_shadows
[5] https://trac.osgeo.org/grass/wiki/GSoC/2018/CloudsAndShadowsDetection


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20180704/17e3edd2/attachment-0001.html>


More information about the grass-dev mailing list