# Robust Damage Estimation of Typhoon Goni on Coconut Crops with Sentinel-2 Imagery
## 4 Methods
### Baselines  
Unsupervised change detection is a common alternative to evaluate the magnitude of damage after a natural disaster. Here we consider three different approaches against which we compare our method. Since all methods perform a pair-wise image comparison, we compute cloud-free median composites such that they are (like our model) not affected by clouds, and perform change detection between the _before_ and _after_ composites.  
_Change vector analysis (CVA)_[68]: This traditional change detection method is based on analysing change vectors generated by comparing pixel values in coregistered images. Changed regions are expected to contain change vectors with large magnitudes, and the direction of these vectors provides some insight on the type of change that has occurred. For unsupervised change detection, [PERSON]'s thresholding algorithm is used to separate pixels into changed and unchanged based on the magnitudes of the change vectors.  
\(k\)-means [60]: This approach computes the difference between _before_ and _after_, the so-called \"delta image\". A neighbourhood around each pixel is then considered to cluster the delta image into changed and unchanged pixels. Given an image with \(N\) pixels and \(d\) channels, we concatenate the pixel values from a \(s\times s\) window around each pixel into a \"feature vector\" for the pixel and flatten the resulting feature map into a matrix of size \(N\times s^{2}d\). Next we perform Principal Component Analysis to extract the top eigenvectors \(e_{j}\) of the covariance matrix, project all feature vectors onto the space spanned by these eigenvectors, and cluster them with \(k\)-means (with \(k=2\)). The underlying assumption is that a pixel that has changed will fall into a different cluster than surrounding pixels with no change. We repeated this procedure for window sizes \(s\in\{2,4,6,8,10\}\) and aggregated the multiple clusterings into a final one with an additional \(k\)-means.  
_Deep change vector analysis (DCVA)_[69]: This change detection method uses a pretrained CNN to obtain pixelwise features to build a change vector. Automatic feature selection is done to compile a group of features that are especially helpful in differentiating changed regions from unchanged ones. Pixels are separated into changed and unchanged using a thresholding algorithm, either [PERSON]'s method or a local adaptive thresholding algorithm.  
_Deep slow feature analysis (DSEA)_[61]: This approach uses Slow Feature Analysis (SFA) [70], an unsupervised method that projects the input data into a slowly varying (i.e., maximally invariant) feature space. This allows for an easy identification of changed vs. unchanged pixels in the transformed space. Specifically, DSFA uses a neural network to compute a projection matrix that extracts the most invariant features in a non-linear fashion. Once the projection matrices have been learned (with stochastic gradient descent),the projected features are again classified into changed and unchanged pixels by clustering. In practice, \(k\)-means is again used for that purpose.  
_Self-supervised Adversarial Change Detection (S2-cGAN)_[62]: This method relies on a Generative Adversarial Network (GAN) to identify changes. From a pair of unchanged images, it trains a Discriminator to identify semantically unchanged pairs of pixels in different time-steps. At inference time, that discriminator should be able to recognise which pixels have changed, since they constitute outliers compared to the training data. In practice, at training time only one image \(x\) is used and small perturbations are added to obtain a synthetic pair of \"unchanged\" images for discriminator training.  
_Deep Kernel PCA (KPCA)_[71]: This algorithm uses a Siamese network in combination with kernel PCA to produce change vectors and map them into a 2D polar domain. These vectors are then thresholded automatically using [PERSON]'s algorithm to separate changed pixels from unchanged ones.