## 5 Results and Discussions
### Pipeline Corrosion Cracks Identification Using CNN  
In the above sections, 3D-SM were studied to identify cracks in the pipeline that were suffering from corrosion. However, due to the 3D-SM having a lot of noise information effects and the model's inherent complexity during the analysis process, and the fact that it often ignores some cracks during the denoising processes, a more efficient way to extract the features of the 3D-SM distribution is employed for the identification of cracks. The schematic diagram of CNN configurations of the setup, training and testing model can be shown in Figure 12. The CNN setup, training and testing model functions are presented in Table 1.  
Figure 11: Steel pipeline crack images and 3D-SM results for training and testing of the CNN model. Figure 12: CNN configurations of the setup, training and testing model. In this work, the CNN consists of two convolutional layers, two sub-sampling layers, and a full connection layer. Detailed settings of each layer including the kernel size, number of tuned parameters and number of connections are included in this section. The architecture of the convolutional layer and sub-sampling layer is depicted in Figure 13. Herein, the \(x\)th layer with convolutional operation is deonted as \(C_{x}\) and the sub-sampling operation is denoted as \(S_{x}\). As shown in Table 2, C1 is the first convolutional layer composed of six feature maps. By doing the convolutional operation, the feature of the original signal can be enhanced and the effects of the interference noise can be reduced. Each neuron of the feature map is connected with a \(12\times 12\) pixel neighborhood of input images. The feature map size is \(168\times 168\) pixels. C1 has 580 tuned parameters (there are four filters in total and each filter has \(12\times 12\) unit parameter weights and a bias parameter, totaling (\(12\times 12+1\)) \(\times\) 4 = 580 tuned parameters). One kernel is used between the input and C1 and it turns out that there are \(580\times\) (\(168\times 168\)) = 16,369,920 connections in total. S2 is a sub-sampling layer for compressing the image while retaining useful information. Two \(72\times 72\) feature maps are used. Each unit of the feature map is connected to a \(6\times 6\) neighborhood of C1. S2 has \((1+1)\times 2=4\) tuned parameters and (\(6\times 6+1\)) \(\times\) 2 \(\times\) (72 \(\times\) 72) = 383,616 connections. The next two layers, C3 and S4, have similar architectures. The kernel sizes of C3 and C4 are \(12\times 12\) and \(6\times 6\), respectively, and the output layer is composed of Euclidean radial basis function units. Images that are fed into the network as the input and the output can be obtained by \(O_{p}=F_{n}(\cdots(F_{2}(F_{1}(X_{p}W^{(1)})W^{(2)}))\cdots W^{(n)})\), where \(X_{p}\) is the input matrix; \(W^{(i)}\) is a matrix of shape \(l_{x}\times l_{x-1}\); and \(F_{i}(\cdot)\) is the activation functions at layer \(i\). The error between the output \(O_{p}\) and desired output \(Y_{p}\) can be calculated by the BP algorithm. Figure 14 shows some of the crack detection results obtained from the proposed method. In particular, the subplots on the upper row show the input raw images, the subplots on the middle row show the obtained shadow maps obtained from the 3D-SM, and the bottom row shows the automatic crack identification results obtained from the CNN. It is found that the shadow maps successfully depicted the representative features of the corrosion cracks and filtered the insignificant shadow groups. Moreover, the trained