## 2 Materials and Methods
### Autoencoder-Based Scoring Classification System  
In branch 1, we use three autoencoders to represent three stages (S\({}_{1-3}\) in Table 1). In each autoencoder, the input and output image sizes are 224 \(\times\) 224. During the encoding process, we have a total of three convolutional layers, their kernel size are all 3 \(\times\) 3, and the number of channels from the first layer to the third layer are 512, 256, and 128, respectively. After each convolutional layer, a pooling layer is followed, and in each pooling is the reduced feature map which is 1/2 times that of the previous layer. In the decoder part, the convolution kernels from shallow to deep layers are 128, 256, and 512, respectively. The rest of the convolution kernel parameters are the same as those of the encoder. After convolution, they are all upsampled to double the size of the previous layer, and finally, a single-channel 1 \(\times\) 1 convolution layer will be connected. The output of this layer  
Figure 1: Three-stage metacarpal X-ray images. Figure 2: Framework of DAIIBAA. represents the reconstructed image. The sigmoid function is used in this layer for nonlinear transformation, and the rest are all ReLU. The architecture of a CNN-based autoencoder is as shown Figure 3. In the scoring network, we use DesnseNet169 [25], we use it for the regression of score, so the output layer activation function is sigmoid. In the following, we will divide the training and testing phases to illustrate the branch 1 part in this paper. In the phase of training, we first train three autoencoders. As shown in Figure 4, we use the corresponding autoencoders for training. For example, in the blue branch, we only use the data in the S\({}_{1}\) stage for training. In the orange branch, only the training of the data in the S\({}_{2}\) stage is used. During the training process, we add the perturbed data of the other stages to weaken the reconstruction ability of the images that are not of our own stage. The input of the perturbed data pair is the original image, and the output (that is labeled) is the result of perturbing the original image. In this paper, the perturbation in the branch is Gaussian noise [26]. Density in Gaussian noise simulation are added to the image in a random way. Its SNR value is about 6.989 to 10, and the SNR value is calculated as: SNR = 10 \(\times\) log10(signal/noise). The number of perturbed degraded images in this paper is 5% of the images of this stage. After the training of the three autoencoders is completed, we will then use the reconstruction results of these three autoencoders to generate data for the scoring network as training data. The training data we generate will eventually generate two classes, T and F. T is the result after the training image is reconstructed by the autoencoder of its own corresponding stage. For example, the image of the S\({}_{1}\) stage is reconstructed by autoencoders1, and F is the result of the training image reconstructed by the autoencoder of its own non-corresponding stage. For example, the image of the S\({}_{1}\) stage is reconstructed by autoencoders\({}_{2}\) or autoencoders\({}_{3}\), such as (1) and (2):  
\[ \begin{array}{c}\text{T}=\{\text{Decoder}_{\text{S1}}(\text{Encoder}_{\text{S1}}(S_{1})),\\ \text{Decoder}_{\text{S2}}(\text{Encoder}_{\text{S2}}(S_{2})),\\ \text{Decoder}_{\text{S3}}(\text{Encoder}_{\text{S3}}(S_{3}))\},\end{array}  \tag{1}\]  
Figure 4: Three autoencoders in branch 1. Figure 3: The architecture of CNN-based autoencoder. \[ \begin{array}{c}\text{F}=\{\text{Decoder}_{\text{S1}}(\text{Encoder}_{\text{S1}}( \text{S}_{\text{2}},\text{S}_{\text{3}})),\\ \text{Decoder}_{\text{S2}}(\text{Encoder}_{\text{S2}}(\text{S}_{\text{1}},\text{ S}_{\text{3}})),\\ \text{Decoder}_{\text{S3}}(\text{Encoder}_{\text{S3}}(\text{S}_{\text{1}},\text{ S}_{\text{2}}))\},\end{array}  \tag{2}\]  
Among them, Decoder_S1 and Encoder_S1 are the encoding and decoding functions (CNNs) of stage S1, respectively, and S1, S2 and S3 are the training X-ray data.