# Fast Cylinder Shape Matching Using Random Sample Consensus in Large Scale Point Cloud
## 5 Experiments and Discussions  
Verification of the proposed method proceeded through segmented and nonsegmented data. The system used in the experiment has Intel 8250U 3.4 G CPU, 8 G memory, and uses Unity3D. The experiment used the following pseudo-code (shown in Scheme 1):  
Code a is the center axis estimation, where \(D_{\text{CL}}\) is the matching result, \(D_{\text{FLT}}\) is the filtered matching result, and \(V_{PCA}^{\rightarrow}\) is the PCA result. Code b constructs the cylinder candidate group (\(D_{\text{EST}}\)) when the distance and angle \((\Phi,\theta)\) are within a certain range in \(V_{PCA}^{\rightarrow}\) and finally obtains the cylinder (\(D_{\text{CYL}}\)). Code c finds the intersection point (\(D_{\text{CP}}\)) of the surrounding tangents when \(\overrightarrow{V_{i}}\) is a curve and completes the spline (\(D_{\text{SPL}}\)) through the discriminant. Figure 11a shows segmented data consisting of 20,107 points. From left to right, the process is: place point clouds in order, map the curved region to the center axis estimation result, map the straight and curved regions. The figure shows results that include most of the curved regions that exist. Figure 10: Control point alignment for Catmull–Rom spline: (**a**) aligned control points; (**b**) unaligned control points; (**c**) control point alignment through PCA. Figure 11b is 433,847 points in the segmented point cloud. From left to right, the point clouds, center axis estimation result, curved area mapping, and linear and curved areas are mapped (Figure 11a). Figure 11 shows how the proposed method is applied in the segmented point cloud. Since the subject of this paper is to estimate the cylinder shape without normal estimation and segmentation, we verify the proposed method in point clouds where various types of nonsegmentation (railing, footing, valves, noise, etc.) exist. Figure 12a shows 103,498 points, Figure 12b shows 2,181,234 points, and Figure 11b shows the figure before segmentation. In Figure 12a, 6687 central axis estimation points and 1269 ms execution time were used for the central axis estimation, and 25 straight regions and 13 curved regions were estimated only for 1567 ms execution time. Both appear appropriate in terms of location. In strict criteria, there are 21 curved regions in Figure 12a. Figure 12b constitutes the central axis points with execution times of 18,915 ms and 71,481, respectively, and an estimated 157/129 straight/curved regions. The execution time was 11,100 ms. In practice, there are about 200 pipes and about 200 bent areas. The estimated number of curved regions is relatively different because it is estimated that there is only one curved region (S-shape) leading from a 90\({}^{\circ}\) shape to a 90\({}^{\circ}\) shape again. Figure 12c constitutes 52,385 central axis points with 1,984,708 data points, and it took 19,748 ms execution time. In total, 128 straight sections and 56 bent sections were found and the time required was 6075 ms. Compared to the other data, there was relatively more noise and many broken areas. Unfortunately, even though the chimney of the building was in the form of a cylinder, it could not be estimated. It is interpreted that the larger the diameter of the cylinder, the more the certain area is close to the plane, and a larger cylinder should search for more neighbors. The fitting ratios are shown in Table 1.  
Figure 11: Estimation from segmented data with \(\epsilon\). From the left: point cloud/curved, center axis/straight, and curved areas: (**a**) simple data; (**b**) complicated data. The reason why the linear ratio of Figure 12b in Table 1 is high is because one pipe is estimated to be a plurality of truncated pipes. Table 1 shows similar results even though there are differences in the size and density of data between Figure 12a and b.