# Research on Crack Width Measurement Based on Binocular Vision and Improved DeeplabV3+
## 4 Experiment and Analysis  
### Improved DeeplabV3+ Algorithm Verification Experiment  
The data set in this paper is 1466 high-resolution crack images obtained from Internet search and field shooting and enhanced by data. The training set, verification set, and test set are divided in a ratio of 8:1:1. Crack segmentation model training was based on Python language, Pytorch framework, and PyCharm integrated development platform, and the experimental GPU was GeForce RTX 3060.  
In the training process, the model is divided into two parts. First, the backbone network is trained by freezing 60 epochs, and then it is trained by thawing 140 epochs to accelerate the training speed of the model. The batch size of the frozen part is 8, and the batch size of the unfrozen part is 4. Cosine annealing is used to reduce the learning rate. The change in loss value in the training process is shown in Figure 10.  
To verify the effectiveness of the crack segmentation model proposed in this paper, the improved DeeplabV3+ model and the current mainstream segmentation models are respectively used to train the crack data set made in this paper. Different models use the same training set, verification set, and test set. The performance of each model is evaluated by model parameter size, Mean Intersection over Union (MIoU), Mean Pixel Accuracy (MPA), and Pixel Accuracy (PA). At the same time, to prove the rationality of the improved method in this paper, the DeeplabV3+ model with Xception and MobileNetV2 as the backbone feature extraction network is also added to participate in the comparison, as shown in Table 1. To further compare the ability of these models to identify cracks, their ROC curves were fitted using a B-spline curve by adjusting the confidence threshold, as shown in Figure 11.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Network Model** & **MIoU** & **MPA** & **PA** & **Parameter Size** \\ \hline PSPNet & 85.90\% & 90.74\% & 99.08\% & 2.376M \\ HRNet & 84.96\% & 89.91\% & 98.92\% & 9.637M \\ U-Net & 87.02\% & 90.26\% & 99.12\% & 24.891M \\ DeeplabV3+(Xception) & 88.70\% & 93.67\% & 99.18\% & 54.709M \\ DeeplabV3+(MobileNetV2) & 88.79\% & 92.28\% & 99.23\% & 5.813M \\ Ours & 92.26\% & 95.54\% & 99.45\% & 16.833M \\ \hline \hline \end{tabular}
\end{table}
Table 1: Performance comparison of different segmentation models.  
Figure 10: Training loss.  
Figure 11. ROC curve.  
Table 1 shows that the DeeplabV3+ model is higher than other models in the Accuracy indicators of MIoU, MPA, and Accuracy. Combined with Figure 11, we can see that the predictive power of the original DeeplabV3+ model with Xception as the backbone network is similar to the model with MobileNetV2. However, the original DeeplabV3+ model parameter size is about 9.4 times that of the latter. The parameter size of the improved DeeplabV3+ model proposed in this paper is about \(1/3\) that of the original model, and its ROC curve is higher than the original model. Compared with the original model, the MIoU, MPA, and PA of the improved model are increased by 3.56%, 1.87%, and 0.27%. The segmentation results of different models are shown in Figure 12.  
Figure 12. Model crack segmentation effect of different networks. (**a**) Original image; (**b**) labeled image; (**c**) PSPNet; (**d**) HRNet; (**e**) U-Net; (**f**) DeeplabV3+; (**g**) Ours.  
can be seen that the proposed method can effectively extract continuous narrow cracks with fewer fractures. By comparing the labeled images with the segmentation images of different models, it can be seen that the proposed method is the most accurate for extracting the crack region.