## 2 Related Works
### Lightweight Network
#### 2.2.3. GhostNet  
In 2020, [PERSON] proposed the Ghostnet lightweight network. The Ghostnet network extracts more features with fewer parameters and effectively accepts redundant information in the network. The Ghostnet module turns the normal convolution operation into a two-step operation. The first step is the traditional convolution operation, but it reduces the application of the convolution kernel. The second step is a lightweight linear operation to generate redundant feature maps. The comparison between traditional convolution operation and Ghost module operation is shown in Figure 5. \begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline \hline
**Layers** & **Operator** & **Exp Size** & **SE** & **NL** & **S** & **Layers** & **Operator** & **Exp Size** & **SE** & **NL** & **S** \\ \hline \multirow{2}{*}{1} & Conv2d, & \multirow{2}{*}{16} & \multirow{2}{*}{-} & HS & 2 & 9 & Bneck, \(5\times 5\) & 48 & \(\surd\) & HS & 1 \\ \hline
2 & Bneck, \(3\times 3\) & 16 & \(\surd\) & RE & 2 & 10 & Bneck, \(5\times 5\) & 96 & \(\surd\) & HS & 2 \\ \hline
3 & Bneck, \(3\times 3\) & 24 & - & RE & 2 & 11 & Bneck, \(5\times 5\) & 96 & \(\surd\) & HS & 1 \\ \hline
4 & Bneck, \(3\times 3\) & 24 & - & RE & 1 & 12 & Bneck, \(5\times 5\) & 96 & \(\surd\) & HS & 1 \\ \hline
5 & Bneck, \(5\times 5\) & 40 & \(\surd\) & HS & 2 & 13 & conv2d, \(1\times 1\) & 576 & \(\surd\) & HS & 1 \\ \hline
6 & Bneck, \(5\times 5\) & 40 & \(\surd\) & HS & 1 & 14 & Pool, \(7\times 7\) & - & - & HS & 1 \\ \hline
7 & Bneck, \(5\times 5\) & 40 & \(\surd\) & HS & 1 & 15 & conv2d \(1\times 1\),
\begin{tabular}{} \\ \end{tabular} & 1024 & - & HS & 1 \\ \hline
8 & Bneck, \(5\times 5\) & 48 & \(\surd\) & HS & 1 & 16 &
\begin{tabular}{} \\ \end{tabular} & K & - & HS & 1 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: MobileNetV3-Small network structure. Figure 4: The basic unit of ShuffleNetv2 structure: (**a**) stride = 1; (**b**) stride = 2. In Figure 5, when the size of the input feature map is \(D_{F}\times D_{F}\times M\), the convolution kernel of the traditional convolution is \(D_{k}\times D_{k}\times N\), and the computation amount is \(D_{k}\times D_{k}\times M\times D_{F}\times D_{F}\times N\). The first step of the GhostConv module assumes that \(m\) feature maps are generated, and the computation amount is \(D_{k}\times D_{k}\times M\times D_{F}\times D_{F}\times m\). In order to ensure the same size as the traditional convolution output, the second step of the GhostConv module is a lightweight linear operation on the feature map output by the first step, as shown in Equation (3). \[y_{ij}=\phi_{ij}(y^{\prime}_{i}),\forall_{i}=1,\cdots,m;j=1,\cdots,s, \tag{3}\]  
where \(y^{\prime}_{i}\) represents the \(i\)th feature map, \(y_{ij}\) denotes the \(j\)th feature map obtained by linear operation of the \(i\)th feature map, \(\phi_{ij}\) is expressed as a linear operation. The GhostConv module can get \(N\) output feature maps, and \(N=m\times s\). It can be seen from Figure 5b that only \(s\)-1 linear transformation that takes up computing resources is performed, so the computation amount of the GhostConv module is \(D_{K}\times D_{K}\times M\times D_{F}\times D_{F}\times m+(s-1)\times D_{K} \times D_{F}\times D_{F}\). Then the calculation relationship between the GhostConv module and traditional convolution is shown in Equation (4). \[\frac{D_{K}\times D_{K}\times M\times D_{F}\times D_{F}\times N}{D_{K}\times D _{K}\times M\times D_{F}\times D_{F}\times m+(s-1)\times D_{K}\times D_{K} \times D_{F}\times D_{F}}\approx s, \tag{4}\]  
According to Equation (4), the traditional convolution is \(s\) times as much as the GhostConv module in the calculation. Therefore, building a Ghostnet network based on the Ghostnet-Block network can greatly reduce the number of network parameters and the amount of computation. Using the idea of the Ghostnet network, the C3 Ghost module is shown in Figure 6. Here, DWConv represents deep separable convolution, and stride is the length of the step.