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
_______________________________________________
grass-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-dev