Detection of shadows in high spatial resolution ocean satellite data
The Multispectral Instrument (MSI) onboard Sentinel-2 satellites A and B is mainly designed to provide information on land surfaces for applications in agriculture, geology, forestry, mapping, global change research, etc. However, its performance in terms of signal-to-noise ratio (SNR) is enough to be used for marine applications, especially in turbid coastal waters. Compared to the mainstream ocean colour sensors (MODIS-AQUA, VIIRS and Sentinel-3/OLCI) Sentinel-2/MSI offers great advantages in terms of spatial resolution enabling the development of a new generation of coastal water quality products, as high resolution total suspended matter (TSM) and chlorophyll a (CHL-a).
The presence of clouds limits the usability of Sentinel-2 data, as happens with all optical satellite sensors. A more specific problem encountered by satellites measuring at high spatial resolution, like Sentinel-2, is the presence of spatially resolved cloud shadows, which partially affect the signal being measured. These cloud shadows appear as border features surrounding clouds, but also as detached features, not associated to pixels identified as clouds. This is the case of shadows resulting from small, scattered clouds like cumulus-type clouds or plane contrails. Given the very high spatial resolution of Sentinel-2 data, objects present in the coast or at sea (i.e. offshore windmills) can cast also small shadows. The shadows from clouds and these objects do not show specific spectral features over water pixels (i.e. the ocean, which is in general a dark surface), which is precisely the object of this study. The intensity of the cloud shadows depends on the thickness of the originating cloud. This makes it very difficult to accurately detect and tag them in order to exclude them from further processing.
Initial DINEOF reconstructions have been performed on S2 data. The quality of the reconstruction was affected by the presence of cloud shadows in the initial images, and therefore we started working on a DINEOF-based cloud shadow detection approach. This approach provides a pixel-by-pixel outlier index based on the departure of each data point to a truncated EOF basis provided by DINEOF. The more a pixel departs from the value expected from the truncated EOF basis, the higher it is penalized. Additional tests, penalizing proximity to clouds and low concentration values, are used in combination with the EOF-based index as supporting detection test to increase the accuracy of the technique.
This approach proves efficient for very small shadows, such as those resulting from offshore wind farm turbines, and medium-sized shadows, such as those from cumulus clouds. Larger shadows, from stratus-type clouds cover large domains and cannot be considered as outliers by the EOF index. We are investigating a multi-scale approach (i.e. detecting first cloud shadows on a lower resolution S2 dataset, and then using this detection as a first guess for the detection in the higher resolution S2 dataset).
Figure: Shadow detection example on 4 August 2017 (RGB view in the top left insert). From bottom to top: bottom left and right panels show the result of OEOF and Oconc respectively. The middle right panel show the Ofinal index, from which a threshold of 2 is applied to determine which pixels are shadows. The _nal shadow/non-shadow mask is shown in the middle left panel. Top left panel shows the initial SPM data, with very low values corresponding to cloud shadows. Top right panel shows the final image after shadows have been removed.