# An Advanced Vehicle Body Part Inspection Scheme Based on Scattered Point Cloud Data
## 3 Materials and Methods
### Methods
#### 3.2.2 Denoising of PCD Based on a Hybrid Filtering Algorithm
The teacher transmits knowledge to the students through teaching to continuously improve the students' performance as follows:

\[x^{\prime}_{ij}=x_{ij}+rand\times\left(x_{best,j}-round(1+rand)M_{j}\right), \tag{27}\]

\[M_{j}=\frac{1}{n}\sum\
olimits_{i=1}^{n}x_{ij}, \tag{28}\]

where \(x^{\prime}_{ij}\) is the updated score; \(x_{ij}\) is the current score; \(rand\) is a random number between 0 and 1; \(x_{best,j}\) is the result of the teacher's subject \(j\); \(M_{j}\) is the average score of subject \(j\); and \(round\) is the round function. Then go to **Step 4**. **Step 4. ** Learning process. The learning process is a process in which students communicate with each other and update their scores. Based on the teacher's teaching, students learn from their classmates. The updated formula for the minimization problem after comparing the fitness values is shown in Equation (29). \[x^{\prime}_{a}=x_{b}+rand\times|x_{a}-x_{b}|, \tag{29}\]

where: \(x^{\prime}_{a}\) is the updated academic performance; \(x_{a}\) is the current academic performance; \(x_{b}\) is student b's current academic performance. Then go to **Step 5**. **Step 5. ** Terminate the conditional judgment. After each iteration, judge whether the total number of iterations \(T\) is reached. When the number of iterations reaches, the calculation is completed and the global optimal value and global optimal solution \(\left(\alpha,\beta,\gamma,d_{x},d_{y},d_{z}\right)\) are output. When the number of iterations is less than \(T\), return to **Step 3** and continue the iterations. Algorithm 3 is the pseudocode of fine registration. ```
Begin Input data \(P(p_{1},p_{2},\ldots,p_{n})\) and \(p^{\prime}=(x^{\prime},y^{\prime},z^{\prime})\) Initialize \(U,L,D,T,N\) Generate initial solutions randomly While\(t<T\)do For\(i=1\) to \(N\) \(x^{\prime}_{i}=x_{i}+rand\times(x_{best}-round(1+rand)M)\) If\(f(x^{\prime}_{i})<f(x_{i})\) \(x_{i}=x^{\prime}_{i}\) End if\(x_{a,b}=\) random select(solutions) If\(f(x_{b})<f(x_{a})\) \(x^{\prime}_{a}=x_{b}+rand\times|x_{a}-x_{b}|\) End if Endfor Endwhile Output\(\left(\alpha,\beta,\gamma,d_{x},d_{y},d_{z}\right)\)
```

**Algorithm 3** Pseudocode of fine registration

For the fine registration process of the point cloud, this paper uses the measured point cloud data as a case for simulation experiments. Figure 8 illustrates the calculation results of the vehicle body part point cloud under different registration algorithms. In Figure 8, a is the original point cloud data position of the vehicle part, b is the coarse registration result of FPFH, c is the fine registration result of ICP, d is the fine registration result of Harmony search (HS) [51], e is the fine registration result of Dragonfly algorithm (DA) [52] and f is the fine registration result of TLBO algorithm. Table 2 shows the parameters and error of the fine registration calculation results under different algorithms. The TLBO algorithm has the smallest

error which the value is 0.0132, so the registration effect is the best and the accuracy is the highest compared with the other three algorithms. ## 4 Results and Discussion

To verify the method of the vehicle body part inspection scheme, four group experimental parts as shown in Section 3.1, were used to analyze the algorithms. Among them, the point cloud measurement data in Section 3.1 included 134,724 points (Figure 3a), 169,424 points (Figure 3b), 186,483 (Figure 3c), 326,535 (Figure 3d), 214,834 (Figure 3e), 437,752 (Figure 3f), 239,626 (Figure 3g) and 319,955 (Figure 3h). In addition to the PCD of the measured vehicle parts, this paper also includes CAD model data of the vehicle parts which are input in the form of point clouds. The reference point cloud data is obtained by converting CAD file format into STereoLithography (STL) model and then sampling from STL model by Meshlab. In this experiment, the computer's operating system was Windows 7 64 bit and the processor was an i5-4200U CPU @ 1.60 GHz.