Cloud detection is a pivotal satellite image pre-processing step that can be performed both on the ground and on board a satellite to tag useful images. In the latter case, it can reduce the amount of data to downlink by pruning the cloudy areas, or to make a satellite more autonomous through data-driven acquisition re-scheduling. We approach this task with nnU-Nets, a self-reconfigurable framework able to perform meta-learning of a segmentation network over various datasets. Unfortunately, such models are commonly memory-inefficient due to their (very) large architectures. To benefit from them in on-board processing, we compress nnU-Nets with knowledge distillation into much smaller and compact U-Nets. Our experiments, performed over Sentinel-2 and Landsat-8 images revealed that nnU-Nets deliver state-of-the-art performance without any manual design. Our approach was ranked within the top 7% best solutions (across 847 teams) in the On Cloud N: Cloud Cover Detection Challenge, where we reached the Jaccard index of 0.882 over more than 10k unseen Sentinel-2 images (the winners obtained 0.897, the baseline U-Net with the ResNet-34 backbone: 0.817, and the classic Sentinel-2 image thresholding: 0.652). Finally, we showed that knowledge distillation enables to elaborate dramatically smaller (almost 280x) U-Nets when compared to nnU-Nets while still maintaining their segmentation capabilities.
翻译:云检测是卫星图像预处理的关键步骤,既可在卫星地面站也可在星上进行,用于标记有效图像。在星上处理场景中,该方法能通过修剪云覆盖区域减少需下行传输的数据量,或通过数据驱动的采集重调度提升卫星自主性。我们采用nnU-Nets处理该任务——这是一种具备自重构能力的框架,能在多种数据集上对分割网络进行元学习。然而,此类模型因架构(极其)庞大普遍存在内存效率低下的问题。为在星上处理中获益,我们通过知识蒸馏将nnU-Nets压缩为更紧凑的小型U-Nets。在Sentinel-2与Landsat-8图像上的实验表明,nnU-Nets无需人工设计即可实现顶尖性能。本方法在"On Cloud N:云覆盖检测挑战赛"(847支参赛队伍)中位列前7%最优方案,在超过1万张未见过的Sentinel-2图像上达到0.882的Jaccard指数(冠军方案0.897,基于ResNet-34骨干网络的基准U-Net为0.817,经典Sentinel-2图像阈值法为0.652)。最终验证表明,知识蒸馏可构建比nnU-Nets小近280倍的U-Nets,且仍保持其分割能力。