## 3 Materials and Methods
### Semantic Segmentation Models  
We use three different semantic segmentation models that have demonstrated acceptable performance across various image domains: U-Net [19], SegNet [20], and DeepLab V3+ [32]. U-Net was originally developed to distinguish neuronal structures in electron microscopic stacks. The model architecture consists of two modules; one is a contracting path (encoder), and the other an expanding path (decoder). In the contracting path, context information is extracted by a sequence of neural network blocks. Each block in the path consists of two convolution layers, followed by a batch normalization layer, a rectified linear unit (ReLU), and a \(2\times 2\) max-pooling layer. Five blocks constitute a contracting path. In the expanding path, rich context information from a contracting path is restored to the original input size. The expanding path consists of four blocks in which each block consists of a transposed convolution layer, followed by a convolution layer, a batch normalization layer, and a ReLU. In every transposed convolution operation, context information from each block in the contracting path is cropped and copied to alleviate the loss of border information of an input image when calculating convolution and max-pooling layers. Combining cropped feature maps in the contracting path with feature maps in the expanding path enables aggregation of multi-scale feature maps. Another method to prevent the loss of border information is a mirroring strategy, which extrapolates the border regions of an input image as shown in Figure 4. This technique allows the border regions of the input to be accurately predicted. Figure 3: Registration from multi spectral images to an RGB image. Using ECC transformation, (**a**) blue, (**b**) green, (**c**) red, (**d**) red edge, and (**e**) near-infrared wavelength values in gray scale are aligned to (**g**) RGB image. (**f,h**) is an example of incorrect registration and pixel-wise ground truth label. SegNet has an encoder-decoder architecture and was developed to use pixels to recognize objects on roads for use in an autonomous driving system [20]. The encoder of SegNet is identical to the feature extractor of VGG-16 [36]. Moreover, the model records the max-pooling indices of the encoder and uses them during upsampling layers in the decoder. Using max-pooling indices shortens the inference time of SegNet. We expected the use of max-pooling indices in SegNet to make the prediction boundaries of cabbage fields sharper. Finally, DeepLab V3+ combines advantages from encoder-decoder structures and a multi-scale feature extraction module [32]. The encoder-decoder structure generates an output image with pixel-wise prediction results equal to the original input size. This structure enables accurate detection of object boundary surfaces by combining information from the encoder during decoder upsampling [32]. The multi-scale feature extraction module, called an _atrous_ spatial pyramid pooling (ASPP), consists of several _atrous_ convolutions with different dilation rates. The ASPP module enlarges receptive fields of representation vectors and enables DeepLab V3+ to recognize objects of different sizes [32; 37]. We assume that DeepLab V3+ is different from U-Net and SegNet in terms of multi-scale feature extraction method with _atrous_ convolution and has an invariant performance under different conditions from the training dataset. Figure 5 depicts the DeepLab V3+ structure used in our study. DeepLab V3+ comprises three modules: an encoder, an ASPP module, and a decoder. The encoder is an Xception model [38], which extracts representation vectors from RGB and multispectral images. Next, the ASPP module performs _atrous_ depth-wise separable  
Figure 4: Mirroring extrapolation strategy to improve prediction result about border regions of an input image. Figure 5: The DeepLab V3+ structure for detecting cabbage fields.