The presence of clouds in satellite imagery may pose hindrances to the accurate and reliable analysis of the objects present on the land. Therefore, automatic cloud detection is a vital pre-processing step before lending the satellite images to any further analysis. This is a challenging task due to the varying thickness and densities of clouds. It is also very difficult to distinguish clouds from certain terrains such as snow and white sandy beaches. This paper proposes a deep learning based algorithm to solve the problem of cloud segmentation on the Landsat 8 multispectral dataset, 95-Cloud: SEUNet++. Specifically, the proposed model consists of a U-Net++ semantic segmentation model with a lightweight channel attention mechanism. We also experimented with using different encoder backbones in the U-Net++ encoder-decoder architecture such as ResNet (Residual Neural Networks) variants including ResNet-18, ResNet-34, ResNet-50, and ResNet-101, DenseNet-264, CSPNet (Cross Stage Partial Network), and EfficientNet-B8 and compared their performance. The experimental results show that the proposed architecture achieves an IoU (Intersection over Union) score of 91.8 %, improving the state-of-the-art on the task by 0.23 %. It also boosts the accuracy, precision, and recall values creating crisp cloud boundaries and detecting even thin layers of clouds. We also experimented using transfer learning and found that it has a positive impact on the cloud segmentation task. The proposed model also beats the original U-Net++ architecture in terms of various evaluation metrics such as the IoU score, accuracy, precision, and recall. The experimental results thereby demonstrate that our model is computationally efficient and achieves precise segmentation results.
Read full abstract