| 626 | |
| 627 | |
| 628 | === Week 13 - final evaluation === |
| 629 | |
| 630 | 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). |
| 631 | |
| 632 | '''Abstract:'''\\ |
| 633 | 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. |
| 634 | 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. |
| 635 | 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. |
| 636 | In order to make the data preparation easier, another GRASS GIS addon module has been developed within the GSoC project. |
| 637 | i.sentinel.preproc is 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. |
| 638 | |
| 639 | '''The state of the art before the project:'''\\ |
| 640 | 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. |
| 641 | Moreover, performing the atmospheric correction was a bit complicated especially for unexperienced users who have to process one band at a time and provide all input parameters manually. |
| 642 | |
| 643 | '''The added value that the project brought to GRASS GIS:'''\\ |
| 644 | Now a specific module for clouds and shadows detection, i.sentinel.mask, is available in GRASS GIS. |
| 645 | Moreover, i.sentinel.preproc provides 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.preproc is a text file to be used as input for i.sentinel.mask. |
| 646 | |
| 647 | '''Follow up:'''\\ |
| 648 | Both i.sentinel.mask and i.sentinel.preproc are complete and working modules which can be easily installed with g.extension from the official GRASS GIS SVN repository. |
| 649 | Obviously, they can be improved therefore the next steps could be: |
| 650 | Implementation of other existing algorithms of clouds and shadows detection (i.sentinel.mask) |
| 651 | Implementation of a new download procedure avoiding dependencies (i.sentinel.preproc) |
| 652 | Integration of the Topographic Correction (i.sentinel.preproc) |
| 653 | NOTE: Implementation of other existing algorithms of clouds and shadows detection was one of the possible goals of the GSoC project but the coding and debugging of some parts of the two addons required more time than expected. |
| 654 | |
| 655 | '''Permanent links:'''\\ |
| 656 | |
| 657 | ''Code developed during the GSoC coding period:''\\ |
| 658 | https://github.com/RobiFag/GRASS_clouds_and_shadows |
| 659 | |
| 660 | ''Codes on the official GRASS GIS SVN repository:''\\ |
| 661 | https://trac.osgeo.org/grass/browser/grass-addons/grass7/imagery/i.sentinel.mask\\ |
| 662 | https://trac.osgeo.org/grass/browser/grass-addons/grass7/imagery/i.sentinel.preproc |
| 663 | |
| 664 | ''Documentation:''\\ |
| 665 | https://grass.osgeo.org/grass74/manuals/addons/i.sentinel.mask.html \\ |
| 666 | https://grass.osgeo.org/grass74/manuals/addons/i.sentinel.preproc.html |
| 667 | |
| 668 | ''Weekly reports:''\\ |
| 669 | https://trac.osgeo.org/grass/wiki/GSoC/2018/CloudsAndShadowsDetection |
| 670 | |
| 671 | ''Images to showcase the project:''\\ |
| 672 | i.sentinel.mask\\ |
| 673 | https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_GWF.png\\ |
| 674 | https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_CD.png\\ |
| 675 | https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_SD.png\\ |
| 676 | https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_CS.png\\ |
| 677 | https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_mask_ES.png\\ |
| 678 | i.sentinel.preproc\\ |
| 679 | https://raw.githubusercontent.com/RobiFag/GRASS_clouds_and_shadows/master/images/i_sentinel_preproc_GWF.png |