## 2 Aircraft Structural Crack Detection Method
### Depthwise Separable Convolution  
Deep separable convolution is a convolution method proposed by MobileNet [22], which can greatly reduce the parameters and achieve the same effects as standard convolution. Depthwise separable convolutions are a form of factorized convolutions. They factorize a standard convolution into a depthwise convolution and a \(1\times 1\) convolution called a pointwise convolution. In depthwise convolution applies a single filter to each input channel and, then, a \(1\times 1\) convolution is applied to combine the outputs of the depthwise convolution by the pointwise convolution: compare this to a standard convolution whose input is convoluted and combined into a new set of outputs in one step the depthwise separable convolution splits this process into two layers, a separate layer for filtering and a separate layer for combining. This factorization has the effect of drastically reducing computation time and model size. The convolution principle of depthwise separable convolution and the standard convolution is shown in Figure 3.  
A standard convolution layers takes a feature map of \(D_{F}\times D_{F}\times M\) as input, where \(D_{F}\) is the spatial width and height of a square feature map and \(M\) is the number of input channels, which is parameterized by a convolution kernel \(K\) of size \(D_{K}\times D_{K}\times M\times N\) where \(D_{K}\) is the spatial dimension of the kernel, \(M\) is the number of input channels, and \(N\) is the number of output channels. The output feature map for standard convolution, assuming a stride of one and padding computed as: \(G_{N}=\sum K_{(N,M)}\times F_{M}\). Thus, the computation cost of the standard convolution is \(D_{K}\cdot D_{K}\cdot M\cdot N\cdot D_{F}\cdot D_{F}\).  
According to this formula, we can draw the conclusion that the number of input and output channels, the kernel size, and the feature map size contribute a great deal to the computational cost. However, depthwise separable convolutions break the interaction between the number of output channels and the size of the kernel. It is made up of two layers which are depthwise convolutions \(d\_w\) and pointwise convolutions \(p\_w\). A single filter is applied to each input channel depthwise and then by pointwise convolution, a simple \(1\times 1\) convolution, which is conducted to create a linear combination of the output of the depthwise layer. The output feature map for depthwise convolution is computed as:  
\[\hat{G}_{M}=\sum K_{(1,M)}\times F_{M}. \tag{1}\]  
The computation cost of the depthwise separable convolution is \(D_{K}\cdot D_{K}\cdot M\cdot D_{F}\cdot D_{F}\).  
By decomposing the convolution process into two steps, the computational complexity is reduced by:  
\[\frac{D_{K}\cdot D_{K}\cdot M\cdot D_{F}\cdot D_{F}+M\cdot N\cdot D_{F}\cdot D _{F}}{D_{K}\cdot D_{K}\cdot M\cdot N\cdot D_{F}\cdot D_{F}}=\frac{1}{N}+\frac {1}{D_{K}^{2}}. \tag{2}\]  
Therefore, the computational effort of \(3\times 3\) depthwise separable convolutions will be reduced by \(8\) to \(9\) times, compared to standard convolution.  
Figure 3: Standard convolution kernels: \(N\times D_{K}\times D_{K}\times M\) (**left side**) and \(M\times D_{K}\times D_{K}\) depthwise convolution kernels and \(1\times 1\times M\) pointwise convolution kernels (**right side**).