## 3 Approach
### Different Layer Feature Fusion Module  
In this section, we will design a new layer fusion method to ensure that both the low-level visual features and high-level semantic information are fully utilized. We perform a simple convolution operation on each module in the network and combine them with the feature maps on the main path to perform fine-grained image classification.  
The Softmax function is widely used for constructing the loss function in image classification. However, Softmax does not require intra-class compactness and inter-class separation, which is highly unsuitable for fine-grained classification. Therefore, to use the loss function to force our model to learn features with larger inter-class and smaller intra-class distances, we add the center loss function to  
Figure 5: Saliency localization map of different images.  
improve the distinction between classes. Center loss will learn the centers of each class feature and reduce intra-class variation for each feature according to their corresponding class centers. In this way, we can reduce the impact of large intra-class variance and small inter-class variance. The definition of the center loss function is as follows:  
\[L_{\text{C}}=\frac{1}{2}{\sum\limits_{i=1}^{m}{{{\left\|{{x_{i}}-{c_{y_{i}}}} \right\|}_{2}^{2}}}}. \tag{5}\]  
In the equation above, \({c_{y_{i}}}\) stands for the center of the \(y_{i}\)-th feature. During each iteration, only class centers relevant to the features are updated. The Softmax function consists of three parts: The loss function \(P_{A}\) for the upper regional feature classification network, loss function \(P_{B}\) for the lower global feature classification network, and fusion loss function \(P\). Therefore, our loss function for the model is defined as follows:  
\[\begin{array}{ll}L&=L_{p}+\alpha L_{P_{A}}+\beta L_{P_{B}}+\lambda L_{\text{C }}\\ &=-\sum\limits_{i=1}^{m}{{y^{\prime}}_{p_{i}}\log(y_{i}^{\text{T}})-\alpha\sum \limits_{i=1}^{m}{{y^{\prime}}_{p_{A_{i}}}\log(y_{i}^{\text{T}})-\beta\sum \limits_{i=1}^{m}{{y^{\prime}}_{p_{B_{i}}}\log(y_{i}^{\text{T}})}+\frac{ \lambda}{2}\sum\limits_{i=1}^{m}{{{\left\|{{x_{i}}-{c_{y_{i}}}}\right\|}_{2}^{2 }}}}}\end{array} \tag{6}\]  
In the equation above, \({y^{\prime}}_{p_{i}}\) stands for the possibility on each category, which is produced by the main neural network; \(y_{i}^{\text{T}}\) is one hot encoded vector for stating each image's label; \({y^{\prime}}_{p_{A_{i}}}\) and \({y^{\prime}}_{p_{B_{i}}}\) are the probability on each category produced by the higher-level neural network \(P_{A}\) and lower one \(P_{B}\); \(c_{y_{i}}\) stands for the central feature of the \(i\)-th category; \(x_{i}\) stands for the features of the input images; and \(\alpha\) and \(\beta\) stand for the weight of each module. Hyperparameters \(\alpha\) and \(\beta\) are chosen based on the cross-validation method, while parameter \(\lambda\) is set to 1. During the experiment, we adjust the different weights to optimize the features extracted from each layer of the bilinear network, to optimize the identification results of the entire model. Then, we set the weighting constant \(\alpha=[0.3,\,0,5]\), \(\beta=[0.5,\,0.8]\), and \(\lambda=1\). With the loss function above, the regional and global features of the image can be better used, which allows us to obtain a higher classification accuracy.