## 2 Proposed Method  
### Model Architecture  
Based on the U-Net semantic segmentation network model, we herein improve it and add a side-output module. We call the network model SoUNet. The traditional U-Net has a residual connected encoder-decoder architecture. The encoder part can obtain the low-resolution feature map after downsampling the high-resolution input image many times. This part is mainly used to extract the image features, and each layer is called the feature extraction layer. The decoder part includes several operations of feature concatenation, convolution, and deconvolution. It enlarges the low-resolution image outputted by the encoder through deconvolution, concatenates the same resolution image outputted by each feature extraction layer, and finally outputs the binary image through activation. The structure of SoUNet is divided into two parts: the basic U-Net structure and the side-output structure. The structure of the network is shown in Figure 1. The first part is a semantic segmentation task. We removed the last 3 layers of VGG16 and used the first 13 layers as the encoder, which contained 13 convolution layers and 4 max-pooling layers. The max-pooling layer can downsample high-resolution images into low-resolution images, and there are five resolutions from high to low. The max-pooling layer enables the network model to learn semantic features at different resolutions and improve the learning efficiency of the model. The decoder includes nine convolution layers and four deconvolution layers. The deconvolution layer can restore the low-resolution feature map to a high-resolution one, and the feature map of the same resolution requires feature fusion in the decoder. In the entire U-Net structure, the kernel size of each convolution layer and deconvolution layer was set to 3 \(\times\) 3. The rectified linear unit (Relu) was used as the activation function after the convolution layer. Only the last convolution layer uses a 1 \(\times\) 1 kernel size, followed by the sigmoid activation function layer. The sigmoid function activates the input image after passing through the encoder-decoder structure. The final output image is output 1, and its size is the same as that of the input image. Output 1 is the result of the semantic segmentation task and is the probability map. The value of each pixel is between 0 and 1, indicating the probability that the pixel belongs to a category. The area with a high pixel value is a crack, and the area with a low pixel value is the background. We used 0.5 as the global threshold to transform the obtained probability map into a binary image. The second part of SoUNet is the side-output module, which performs the edge detection task, as shown in Figure 2. We extract the feature maps of different resolutions in the decoder and make them pass through two convolution layers of 3 \(\times\) 3 kernel size. After enlarging the size, the lower-resolution feature map was deconvoluted and fused with the higher-resolution feature map. The feature maps of five resolutions were obtained by convolution, and then they were processed by convolution with a 1 \(\times\) 1 kernel size. The feature map of each resolution was restored to the original image size after the deconvolution operation. Therefore, the side-output module was divided into five stages, corresponding to five feature maps of different scales. Five types of feature maps with the original size are sent to the sigmoid function for activation, and five images are denoted as Outputs 2-6. In addition, the feature maps of the five resolutions are fused into one size. It is sent to the sigmoid activation function after it passes through the convolution layer with a 1 \(\times\) 1 kernel size. Finally, output the image called Output 7. The maximum ODS value was taken as the segmentation threshold to generate a binary image. In this paper, we introduce a batch normalization (BN) layer [42] into the network architecture.