[GRASS-dev] GSoC 2018 final report week 13 - GRASS GIS module for Sentinel-2 cloud and shadow detection
Moritz Lennert
mlennert at club.worldonline.be
Mon Aug 13 03:06:20 PDT 2018
Great work, Roberta !
Thanks for these two very useful modules !
Moritz
On 13/08/18 10:20, Roberta Fagandini wrote:
> Hi all!
> I'm Roberta Fagandini and this is the final report of my GSoC project.
>
> The title of the project is "GRASS GIS module for Sentinel-2 cloud and
> shadow detection". It adds new tools for the processing of Sentinel 2
> images to GRASS GIS software (Organization: OSGeo).
>
> *Abstract:*
> Optical sensors are unable to penetrate clouds leading to related
> anomalous reflectance values. Unlike Landsat images, Sentinel 2 datasets
> do not include thermal and Quality Assessment bands that simplify the
> detection of clouds avoiding erroneous classification. At the same time,
> also clouds shadows on the ground lead to anomalous reflectance values
> which have to be taken into account during the image processing.
> The project creates a specific module for GRASS GIS application
> (i.sentinel.mask) which implements an automatic procedure for clouds and
> shadows detection for Sentinel 2 images. The procedure is based on an
> algorithm, developed within my PhD research, which allows to
> automatically identify clouds and their shadows applying some rules on
> reflectance values (values thresholds, comparisons between bands, etc.).
> These have been defined starting from rules found in literature and
> conveniently refined. In order to increase the accuracy of the final
> results, a control check is implemented. Clouds and shadows are
> spatially intersected in order to remove misclassified areas. The final
> outputs are two different vector maps (OGR standard formats), one for
> clouds and one for shadows.
> To run i.sentinel.mask, the bands of the desired Sentinel 2 images have
> to be imported and the atmospheric correction has to be applied.
> In order to make the data preparation easier, another GRASS
> GISaddonmodule has been developed within the GSoC project.
> i.sentinel.preprocis a module for the preprocessing of Sentinel 2 images
> (Level-1C Single Tile product) which wraps the import and the
> atmospheric correction using respectively two existing GRASS GIS
> modules, i.sentinel.import and i.atcorr.
>
> *The state of the art before the project:*
> Before this GSoC 2018 project, no modules for the detection of clouds
> and shadows were available for Sentinel 2 images. Only a specific module
> for Landsat automatic cloud coverage assessment was available within
> GRASS GIS (i.landsat.acca) while regarding shadows, no specific module
> was available.
> Moreover, performing the atmospheric correction was a bit complicated
> especially for unexperiencedusers who have to process one band at a time
> and provide all input parameters manually.
>
> *The added value that the project brought to GRASS GIS:*
> Now a specific module for clouds and shadows detection,
> i.sentinel.mask,is available in GRASS GIS.
> Moreover, i.sentinel.preprocprovides a simplified module which allows
> importing images and performing the atmospheric correction avoiding
> users to supply all the required input parameters manually. The module
> should help users in preparing data to use as input for i.sentinel.mask.
> In fact, it makes especially the atmospheric correction procedure easier
> and faster because it allows performing atmospheric correction of all
> bands of a Sentinel 2 scene with a single process and it retrieves most
> of the required input parameters from the image itself. Moreover, one of
> the possible output of i.sentinel.preprocis a text file to be used as
> input for i.sentinel.mask.
>
> *Follow up:*
> Both i.sentinel.mask and i.sentinel.preprocare complete and working
> modules which can be easily installed with g.extension from the official
> GRASS GIS SVN repository.
> Obviously, they can be improved therefore the next steps could be:
>
> * Implementation of other existing algorithms of clouds and shadows
> detection (i.sentinel.mask)
> * Implementation of a new download procedure avoiding dependencies
> (i.sentinel.preproc)
> * Integration of the Topographic Correction (i.sentinel.preproc)
>
> NOTE: Implementation of other existing algorithms of clouds and shadows
> detection was one of the possible goals of the GSoC project but the
> codingand debuggingof some parts of the twoaddonsrequired more time than
> expected.
>
> *Permanent links:*
> *
> *
> /Code developed during the GSoC coding period: /
> https://github.com/RobiFag/GRASS_clouds_and_shadows
> <https://github.com/RobiFag/GRASS_clouds_and_shadows>
>
> /Codes on the official GRASS GIS SVN repository:/
> https://trac.osgeo.org/grass/browser/grass-addons/grass7/imagery/i.sentinel.mask
> <https://trac.osgeo.org/grass/browser/grass-addons/grass7/imagery/i.sentinel.mask>
> https://trac.osgeo.org/grass/browser/grass-addons/grass7/imagery/i.sentinel.preproc
> <https://trac.osgeo.org/grass/browser/grass-addons/grass7/imagery/i.sentinel.preproc>
>
> /Documentation:/
> https://grass.osgeo.org/grass74/manuals/addons/i.sentinel.mask.html
> <https://grass.osgeo.org/grass74/manuals/addons/i.sentinel.mask.html>
> https://grass.osgeo.org/grass74/manuals/addons/i.sentinel.preproc.html
> <https://grass.osgeo.org/grass74/manuals/addons/i.sentinel.preproc.html>
>
> /Weekly reports: /
> https://trac.osgeo.org/grass/wiki/GSoC/2018/CloudsAndShadowsDetection
> <https://trac.osgeo.org/grass/wiki/GSoC/2018/CloudsAndShadowsDetection>
>
> /Images to showcase the project:/
> i.sentinel.mask
> https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_GWF.png
> <https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_GWF.png>
> https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_CD.png
> <https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_CD.png>
> https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_SD.png
> <https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_SD.png>
> https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_CS.png
> <https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_CS.png>
> https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_ES.png
> <https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_ES.png>
> i.sentinel.preproc
> https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_preproc_GWF.png
> <https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_preproc_GWF.png>
>
>
> Kind regards,
> Roberta
>
More information about the grass-dev
mailing list