# Domain Adaptation for Satellite-Borne Multispectral Cloud Detection
## 2 Related Work
### Domain Adaptation in Remote Sensing Applications  
Domain generalisation refers to the learning of invariant representations using data from multiple source domains to achieve generalisation to any out-of-distribution data in the target domain [43]. When target data become available, domain adaptation rather than domain generalisation can be used. As the recent surveys [44; 45; 46; 47; 48; 49; 50] reveal, there is a wide variety of domain adaptation methods, but the two main types that have been applied to remote sensing thus far are SDA and _unsupervised domain adaptation_ (UDA). SDA methods use labelled data in both the source and target domains [51], although the quantity of labelled data in the target domain is typically smaller. Algorithmic building blocks include fine-tuning, data augmentation and ensemble learning [52]. Sample applications of SDA to multispectral image classification are compared in Table 2. None of these applications systematically considered the bandwidth efficiency of _model updates_. For example, none have considered uplinking a partial model as per Section 6.1--instead of a full model--to a satellite, with negligible impact on model performance. Semi-supervised domain adaptation (SSDA) targets the scenario where there is a small amount of labelled data but a good amount of unlabelled data in the target domain [45]. The appeal of SSDA wanes [53] as UDA rapidly advances. \begin{table}
\begin{tabular}{l l l l} \hline \hline \multicolumn{1}{c}{**Cloud Detector**} & \multicolumn{1}{c}{**Satellite**} & \multicolumn{1}{c}{**DNN Characteristics**} \\ \hline CloudScout [5] & PhiSat-1 [2] & Classifies cloudiness per image using a six-layer CNN. \\ \hline CloudScout segmentation & & PhiSat-1 [2] & Classifies cloudiness per pixel using a variation of U-Net. \\ network [6] & & PhiSat-1 [2] & Classifies cloudiness per pixel using a variation of U-Net. \\ \hline \hline \multirow{2}{*}{RaVAEn [38; 39]} & D-Orbit’s ION & Classifies cloudiness per tile of an image using a variational \\  & SCV004 [40] & auto-encoder [41] in a few-shot learning manner. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Comparing onboard cloud detectors. \begin{table}
\begin{tabular}{c l l l l} \hline \hline \multicolumn{1}{c}{**Ref.**} & \multicolumn{1}{c}{**Source Dom.**} & \multicolumn{1}{c}{**Target Dom.**} & \multicolumn{1}{c}{**Characteristics**} \\ \hline
[54] & PlanetScope & Sentinel-2 & An ensemble of three CNN models is pre-trained on the source data and fine-tuned on the target data. \\ \hline \multirow{4}{*}{[55]\({}^{*}\) Landsat 8} & \multirow{2}{*}{Proba-V} & A U-Net-based CNN is trained on the source data and three images from the target domain. \\  & & & & \\ \cline{1-1}  & & D-Sense & A CNN is trained on the source data and four images from the target domain. Model retraining happens on the ground and the _entire_ updated model is uplinked to the satellite. \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Applications of SDA and UDA to multi/hyperspectral image classification. References with an asterisk (\({}^{*}\)) are specifically about cloud detection. UDA methods use labelled data in the source domain but only unlabelled data in the target domain [51]. UDA methods based on deep learning can automate the learning of transferable features and can be used in two broad scenarios [48]:  
1. When source data are available for adapting the model to the target domain, this type of UDA is so-called conventional. 2. When the source data are unavailable but a source model is available to be adapted to the target domain, this type of UDA is called source-free (_unsupervised_) domain adaptation (SFDA), or equivalently TTA. In theory, source-free _supervised_ domain adaptation is feasible but practically meaningless. TTA is further discussed in Section TTA.