UKIS-CSMASK: A PYTHON PACKAGE FOR MULTI-SENSOR CLOUD AND CLOUD SHADOW SEGMENTATION
Keywords: Semantic segmentation, Cloud, Cloud shadow, Sentinel-2, Landsat, Python
Abstract. Cloud and cloud shadow segmentation is a crucial pre-processing step for any application that uses multi-spectral satellite images. In particular, time-critical disaster applications, require accurate and immediate cloud and cloud shadow masks while being able to adapt to possibly large variations caused by different sensor characteristics, scene properties or atmospheric conditions. This study introduces the newly developed open-source Python package ukis-csmask for cloud and cloud shadow segmentation in multi-spectral satellite images. Segmentation with ukis-csmask is performed with a pre-trained Convolutional Neural Network based on a U-Net architecture. It works directly on Level-1C data, eliminating the need for prior atmospheric correction. Images need to be in top of atmosphere reflectance and include at least the Blue, Green, Red, NIR, SWIR1 and SWIR2 spectral bands. We provide a performance evaluation on a recent benchmark dataset for cloud and cloud shadow segmentation and proof the generalization ability of our method across multiple satellites (Landsat-5, Landsat-7, Landsat-8, Landsat-9 and Sentinel-2). We also show the influence of augmentation and image bands on the segmentation performance and compare it to the widely used Fmask algorithm and a Random Forest classifier. Compared to previous work in this direction, our study focuses on multi-sensor generalization ability, simplicity and efficiency and provides a ready-to-use software package that has been thoroughly tested.