# Face Keypoint Detection Method Based on Blaze_ghost Network
## 3 Proposed Method
### Backbone Network Design  
The Blaze_ghost network proposed in this article first utilizes the Ghost Module to replace some of the convolutional layers in BlazeNet. The Ghost Module is a lightweight convolutional layer module that can significantly reduce the computational complexity and model size while maintaining accuracy. It achieves this by dividing the input feature map into smaller subsets and applying different linear transformations to each subset, which reduces the number of parameters that need to be learned in the model and improves its generalization ability.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Input** & **Layer** \\ \hline \(128^{2}\times 3\) & Convolution \\ \(64^{2}\times 4\) & Single BlazeBlock \\ \(64^{2}\times 4\) & Single BlazeBlock \\ \(64^{2}\times 4\) & Single BlazeBlock \\ \(32^{2}\times 48\) & Single BlazeBlock \\ \(32^{2}\times 48\) & Single BlazeBlock \\ \(32^{2}\times 48\) & Double BlazeBlock \\ \(16^{2}\times 96\) & Double BlazeBlock \\ \(16^{2}\times 96\) & Double BlazeBlock \\ \(16^{2}\times 96\) & Double BlazeBlock \\ \(8^{2}\times 96\) & Double BlazeBlock \\ \(8^{2}\times 96\) & Double BlazeBlock \\ \hline \hline \end{tabular}
\end{table}
Table 3: BlazeNet network structure.  
Secondly, the model uses an ASPP module, which is a multi-scale spatial pyramid pooling module that can capture global contextual information from different scales and enhance the model's ability to distinguish specific objects. Specifically, the ASPP module performs pyramid pooling on the feature maps at different scales and uses convolutional layers and interpolation operations to upsample the feature maps to the original size and then concatenates them at these different scales to obtain more global contextual information.  
In summary, this fusion model has been optimized for computational efficiency and the model size, while using the ASPP module to improve the model's recognition performance. The optimized backbone network model structure is shown in Table 4.  
In Table 4, B represents batch size and H and W represent the height and width of the input image. The network structure of Blaze_ghost mainly consists of the Ghost Module, BlazeBlock, Double BlazeBlock, ASPP module, and fully connected layers, which are used to implement the task of facial landmark detection. Here are detailed explanations of each module:  
* First convolutional layer: After passing through this layer, the input image's channel number changes from 3 to 24, which can effectively extract high-level features of the image.
* The subscript for the permeability of vacuum \(\mu_{0}\), and other common scientific constants, is zero with subscript formatting, not a lowercase letter \"o\".
* BlazeBlock feature extractor: Consisting of several Ghost Modules, it outputs features maps with higher dimensions for further processing in the next step.
* Double BlazeBlock feature extractor: Similar to BlazeBlock, it consists of multiple Ghost Modules and is used to extract more complex features. Two Double BlazeBlock modules are used in this model to give the model stronger representation capabilities.
* ASPP module: It adopts the method of multi-scale parallel convolution for feature fusion, which is used to capture information of different scales and extract more contextual features. In this model, the ASPP module receives the output of the last Double BlazeBlock module as input and the output feature is used to predict facial landmarks.
* Fully connected layer: It maps the previously generated feature maps to a 136-dimensional vector, which is used to predict the position of facial landmarks.  
Overall, Blaze_ghost has a certain level of complexity while being lightweight, which can achieve high accuracy and computational efficiency. It is well suited for tasks such as facial landmark detection.