# MMDL-Net: Multi-Band Multi-Label Remote Sensing Image Classification Model
## 2 Materials and Methods
### Dual-Number Residual Structure  
The MMDL-Net model is implemented using TensorFlow and comprises four stages, each with a different scale. After comparing ResNet50, ResNet101, and ResNet152, the foundational stage from ResNet50 is retained, which consists of stages with ratios of 3:4:6:3. Unlike traditional computer vision that utilizes RGB images with only three spectral bands, Sentinel-2 images possess 13 spectral bands, and there is also a distinction in the way class labels are defined semantically between computer vision and remote sensing (RS) imagery. Therefore, the channel numbers of these stages are not universally applicable for bridging this semantic gap, which could lead to weaker recognition capabilities for land cover categories. To address this, the channel counts of the stages are doubled, adhering to multiples of two to fully leverage hardware architecture characteristics for enhanced data processing efficiency and performance. This adjustment allows the MMDL-Net model to provide a greater feature representation space to better learn and capture the details and semantic information of the input images, thereby better adapting to complex land use classification tasks. This enhancement ensures improved robustness of the model to variations and noise in the input images, and it increases the accuracy of classification. The channel numbers for each stage are doubled to (128, 256, 512, 1024). Although increasing the number of channels adds to the model's parameter count and computational complexity, the optimization of modern hardware devices and the TensorFlow framework still allow for the network's efficient training and inference. The overall structure of the MMDL-Net model is illustrated in Figure 4.  
Figure 4: Overall structure of the MMDL-Net model.  
Figure 3: Structure of the MMDL-Net weighted interpolation pixel system.  
Specifically, channel doubling can be achieved by increasing the number of filters in the \(1\times 1\) convolutional layers. Within each residual block, a \(1\times 1\) convolutional layer is used to reduce the number of channels, followed by a \(3\times 3\) convolutional layer for feature extraction, and finally, another \(1\times 1\) convolutional layer to increase the number of channels. In the traditional ResNet, the number of filters in these three convolutional layers is c1, c2, and c3, respectively. However, in the MMDL-Net model, we can set the number of filters in these three layers to 2c1, 2c2, and 2c3, respectively, thus doubling the number of channels. In TensorFlow, this increase in the number of channels for each residual block can be achieved by modifying the filter parameters of conv1 and conv2 in the ResBlock class. When using the ResNet model, the number of channels for each residual block can be modified as needed. For example, to increase the number of channels in the first residual block from 64 to 128, one could set filters1 and filters2 to 128, respectively, when defining the MMDL-Net model. In TensorFlow, this will double the number of channels for each residual block, thereby improving the performance of ResNet for remote sensing image classification tasks.  
The MMDL-Net model contains multiple residual blocks, with the first residual block having 64 channels. In the channel-doubling enhancement, this block's channel count is increased from 64 to 128. Similarly, for the other residual blocks, their channel numbers are also doubled. For instance, the channel number of the second residual block is increased from 128 to 256, and the third residual block from 256 to 512, and so on. The two types of residual structures in the MMDL-Net model are shown in Figure 5.