## 3 IBSA_Net Model Construction and Module Composition  
### Introduce Inverted Bottleneck Structure to Improve Network Accuracy  
The bottleneck structure was first proposed in the ResNet model [28]. That paper pointed out that the model's training time and parameters can be reduced by changing the original structure of two convolutional layers with a convolutional kernel size of 3 \(\times\) 3 to a structure with a 3 \(\times\) 3 convolution between two 1 \(\times\) 1 convolutions. The diagram of the convolutional structure before and after the improvement is shown as follows. As shown in Figure 1, after the improvement, the number of input and output channels are both 256, while the number of input and output channels of the middle convolution is 64, and this is \"thick at both ends and thin in the middle\" structure is called the bottleneck module. The idea of an inverted bottleneck module was proposed in the Transformer network and promoted in MobileNetV2 [29; 30]. Additionally, the ConvNeXt network also adopts this structure as one of the basic structures in its ConvNeXt block. By using the inverted bottleneck structure, the amount of parameters of the whole ConvNeXt network is reduced, and the recognition accuracy is also improved [31]. The inverted bottleneck structure is the opposite of the bottleneck structure in that it has fewer input channels and fewer output channels than the number of channels in the intermediate convolutional layer. The following figure shows the ConvBN convolutional block that constitutes the IBSA module: \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Tomato Leaf Category** & \begin{tabular}{c} **Number of Training** \\ **Sets** \\ \end{tabular} & \
\begin{tabular}{c} **Number of Test Sets** \\ \end{tabular} &
\begin{tabular}{c} **Total** \\ \end{tabular} \\ \hline Yellow Leaf Curl Virus & 1405 & 281 & 1686 \\ Mosaic virus & 1259 & 251 & 1510 \\ Healthy & 1380 & 276 & 1656 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: _Cont._  
Figure 1: Partial leaf comparison between PDDA, PlantVillage and PlantDoc++ datasets. As shown in Figure 2, the ConvBN convolution block consists of a convolutional layer with a step number of 2 and a convolutional kernel size of \(7\times 7\), plus a BatchNorm layer with the activation function HardSwish. convBN \(1\times 1\) convolution is similar to ConvBN in that the convolutional layer uses \(1\times 1\) convolution for channel up-dimensioning and down-dimensioning. The convolutional kernel in ConvBN has a larger sensory field to extract more image information. BathNorm is a batch normalization operation that reduces the dependence of the model on the initial parameters and accelerates the network's training and model generalization ability. In the design of the inverted bottleneck module, two models are used, including the maximum pooling layer (called IBMax) and without (called IB). The following figure shows the structure of the two modules. In the two inverted bottleneck introductory modules, the number of input and output channels of ConBN is c. The middle ConvBN1 \(\times\) 1 and the third layer ConvBN1 \(\times\) 1 channel up-dimensioning and down-dimensioning, respectively, and the up-dimensioning convolution changes the number of channels to four times the original one and then down-dimensioning back to c, Please refer to Figure 3 for detailed information and specifics. In the inverted bottleneck primary module with Maxpool, the changing pattern of the number of channels is the same as in Figure 4a. Figure 3: ConvBN convolution block with ConvBN1 \(\times\) 1 convolution that constitutes the inverted bottleneck of IBSA (**a**) ConvBN convolution block (**b**) ConvBN1 \(\times\) 1 block. Figure 2: Comparison of ResNet module before and after improvement (**a**) The module before improvement; (**b**) The module before improvement.