## 3 Experiments
### Analysis and Comparison of Experimental Results  
GPU-GAN, MPU and PU-GAN's upsampling results are qualitatively and quantitatively compared. For MPU and PU-GAN, we use their public code and retrain their networks using our training data. Since the blade samples are very expensive and the quantity is limited, we use four blades, and each blade takes three sets of point cloud data from different angles. We sample 25% points using the uniform downsampling method from the ground truth as the input. We choose representative point clouds to show qualitative results. **Quantitative results:** As shown in Table 1, GPU-GAN achieves significant improvements over MPU and PU-GAN under most metrics for data with noisy points. Even for dense blade point clouds, the NUC stays the lowest for all different \(p\), indicating that GPU-GAN can generate more uniform points. It should be noted that for the EMD, the result of GPU-GAN is higher than that of PU-GAN, but lower than that of MPU because the points generated by MPU are too concentrated near the real point, which makes the EMD calculation result of MPU low. For the standard (std) of deviation, the result of MPU is several times higher than that of PU-GAN and GPU-GAN, because there are so many outliers in the point cloud that they interfere with the results. For the point cloud processed with filter, GPU-GAN shows superior performance too. For model training and testing time, GPU-GAN takes more time than MPU and PU-GAN, which is due to the complex model structure. Compared to GPU-GAN's improvement in upsampling, these increased time costs are acceptable. The test point cloud has about 900,000 points, and after filtering, there are about 700,000 points. **Qualitative results:** Figure 6 shows the qualitative upsampling results of MPU, GPU-GAN, and PU-GAN. The raw data contain a lot of noise points, which cannot be avoided in experiments. After upsampling the input point cloud, MPU generates fewer outliers, and the surrounding point cloud shows a striped distribution, as shown in the blue rectangle in Figure 6, which means that the points generated by the MPU are too concentrated near the real points, making upsampling less effective. Although PU-GAN generates more uniform points, it learns the characteristics of noisy points and generates more outliers, as shown in Figure 6. GPU-GAN improves this phenomenon and constrains the generated points near the real surface, as shown in Figure 6. It can be observed that the noise-prone holes in Figure 6 significantly reduce outliers. In Figure 6, we remove some elements, because the X-ray diffraction experiment only needs the point cloud data of the blade surface, and only a smaller part may be retained during the actual experiment. Figure 7 shows the effect of adding filters on the upsampling results. The filter can effectively remove noise interference, reduce the amount of data, and improve the running rate of the algorithm. \begin{table}
\begin{tabular}{c c c c c c c c c c c c} \hline \hline \multirow{2}{*}{**Method**} & \multirow{2}{*}{**CD**} & \multirow{2}{*}{**EMD**} & \multicolumn{3}{c}{**F-Score**} & \multicolumn{2}{c}{**NUC with Different \(p\)**} & \multicolumn{2}{c}{**Deviation**} & \multicolumn{2}{c}{**Time**} \\ \cline{3-11}  & & & \(\mathbf{\tau=0.01}\) & \(\mathbf{\tau=0.02}\) & \(\mathbf{0.2\%}\) & \(\mathbf{0.4\%}\) & \(\mathbf{0.6\%}\) & **mean** & **std** & **Train** & **Test** \\ \hline MPU & 0.026 & 0.888 & 0.091 & 0.495 & 19.087 & 10.807 & 8.225 & 0.021 & 0.068 & 15.7 & 42.1 \\ PU-GAN & 0.032 & 1.357 & 0.258 & 0.564 & 17.967 & 9.641 & 6.753 & 0.018 & 0.017 & 19.2 & 55.6 \\ GPU-GAN & 0.024 & 1.126 & 0.328 & 0.649 & 17.855 & 9.505 & 6.522 & 0.016 & 0.023 & 21.1 & 56.3 \\ Filter + MPU & 0.016 & 0.362 & 0.106 & 0.583 & 13.201 & 9.869 & 5.772 & 0.019 & 0.009 & - & 29.3 \\ Filter + PU-GAN & 0.016 & 0.447 & 0.293 & 0.654 & 12.317 & 8.909 & 4.845 & 0.016 & 0.009 & - & 38.5 \\ Filter + GPU-GAN & 0.014 & 0.405 & 0.375 & 0.753 & 12.295 & 8.866 & 4.792 & 0.014 & 0.008 & - & 38.9 \\ \hline \hline \end{tabular}
\end{table}