# A New Simplification Algorithm for Scattered Point Clouds with Feature Preservation

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Methodology

_{i}(x,y,z)}, i∈[1, n], where p

_{i}is the i-th point and n is the size of P. The simplified point cloud set is denoted as R. Specifically, after preprocessing the point cloud, we construct the Delaunay neighborhood of the point cloud P. According to the edge distribution characteristics of the points, the edge points are judged, which is Step 1 in the figure. Then, the MLS method is used to calculate the normal vector of the point cloud, and the valley ridge feature points are extracted according to the maximum curvature threshold, which is Step 2. Then, according to the discrete gradient, the potential feature points are further judged and retained, which is Step 3. Finally, in Step 4, the non-feature points are extracted by the uniform sampling method, and the sampling interval is s.

#### 2.1. Extraction of the Point Cloud Edge

#### 2.1.1. Delaunay Neighborhood

_{i}in the sphere neighborhood and projected to the plane to obtain projection point q

_{i}. Then, we perform Delaunay triangulation on projection point q

_{i}to obtain the Delaunay neighborhood (${N}_{p}^{Delaunay}$) of point p. As shown in Figure 2, the first-order Delaunay neighborhood of p is recorded as ${N}_{p}^{1Delaunay}$.

#### 2.1.2. The Edge Distribution Characteristics

_{p}to measure the aggregation degree of the point distribution in the neighborhood of point p. That is, the unit normal vector composed of a point and its neighbors is superimposed. After the superposition of non-edge points, it tends to a zero vector in theory, while the edge point is a non-zero vector, so the boundary points can be quickly and roughly extracted according to the superposition normal vector. The formula of F

_{p}is shown below:

_{i}is the i-th neighborhood point of point p and D is the number of points in the neighborhood of p. The larger the edge coefficient F

_{p}is, the more non-uniform the point distribution around point p is, the more detached it is from the point cloud body and has the characteristics of edge points.

_{p}of a point satisfies Equation (2), the point is judged to be the boundary point.

_{F}is the mean value and F is the standard deviation of F

_{p}.

#### 2.2. Determination of Valley-Ridge Feature Points

_{i}to a plane, and the normal direction of the plane is the normal vector of p

_{i}. Given that the direction of the normal vectors obtained in this manner is uncertain, these normal vectors must be unified. Unification must be performed according to the direction of the line of sight to ensure the consistency of the direction of the normal vector. Generally, the origin is regarded as the viewpoint position, and the line of sight is $\overrightarrow{\mathrm{v}}$ = (−x,−y,−z)

^{T}. The normal vector of the point cloud is adjusted, such that $\overrightarrow{\mathrm{v}}$∙$\overrightarrow{\mathrm{n}}$ > 0. Finally, according to the adjusted normal vector, the Gaussian curvature (k

_{g}) and average curvature (k

_{h}) of each point are calculated. The principal curvature, k = k

_{n}± $\sqrt{{\mathrm{k}}_{\mathrm{h}}^{2}-{\mathrm{k}}_{\mathrm{g}}}$ of the surface can be obtained, and k takes the larger absolute value as the curvature value. The threshold C

_{T}is set. When the absolute value (|k|) of the principal curvature of a point is larger than C

_{T}∙mean(sum(|k|)), that is |k| > C

_{T}∙mean(sum(|k|)), this point is the valley-ridge point of the model, which is recorded as V.

#### 2.3. Determination of Potential Feature Points

_{p}, which is a feature detection operator at a point. Then, the discrete gradient at that point is calculated by using the operator. As shown in Figure 4, θ

_{pi}is the angle formed by point p and its neighborhood point p

_{i}in the principal direction and can measure the degree of bending of a potential surface at a point. The principal direction in this work is the direction of eigenvector v

_{0}corresponding to the minimum eigenvalue of the covariance matrix of a point and its local neighborhood points. The formula of covariance matrix T is as follows:

_{i}is the centroid of N

_{p}. N

_{p}is the Delaunay neighborhood of point p, and the eigenvalues of covariance matrix T are λ0 < λ1 < λ2.

_{pi}can be expressed as

_{i}‖ is the Euclidean distance between p and p

_{i}and p

_{i}is the point in the Delaunay neighborhood of p. cosθ

_{pi}decreases monotonously in the interval 0 < p

_{i}< 180, that is, the larger the value of p

_{i}is, the smaller the value of cosθ

_{pi}is, and the smoother the feature is at this point; on the contrary, the larger the value of cosθ

_{pi}is, the sharper the feature at this point is. Therefore, the local feature detection operator (f

_{p}) of point p is defined as

_{p}is, the greater the bending degree of the potential surface in the local neighborhood of point p is.

_{i}) between points p and p

_{i}in its neighborhood is set as

_{i}is the shortest path length between points p and p

_{i}, which is defined as the geodesic distance between two points.

_{i}is used as the criterion to extract the second type of potential feature points. The specific criterion is

_{i}) this point appears as the neighborhood of the first kind of potential feature points, the second kind of potential feature points are screened and distinguished, that is,

_{i}= (T

_{g}× U

_{i}), Tg∈[0, 1] is the threshold value.

## 3. Experimental and Discussion

#### 3.1. Preparation

#### 3.2. Results and Analysis

#### 3.2.1. Setting Parameters

_{T}, T

_{g}, and s. Different parameters have different effects on different types of point clouds. According to the definition of each threshold, if the value of C

_{T}is between 0 to 1, too many points with inconspicuous valley and ridge features will be stored, which will affect the extraction of potential feature points, so the value of C

_{T}should be greater than 1. An excessively large C

_{T}will also affect the subsequent simplification steps. Depending on the size and shape of the point cloud model, the upper limit of C

_{T}value is also different. After repeated trials and comparison, the maximum value of C

_{T}is about 5, otherwise there are too few valley-ridge feature points. T

_{g}is a weight coefficient, and generally, its value range is (0,1). However, depending on the number of original point clouds, the value range is also different. In the case of a small number of original point clouds, the value of T

_{g}is (0,0.5). s is the sampling interval of the non-feature point cloud, and its value depends on the number of feature points retained after the first three steps of simplification and the target simplification rate of the point cloud. Therefore, in the following discussion, we only focus on the selection of C

_{T}and T

_{g}.

_{t}and T

_{g}values on the final simplified result of the Bunny model when the non-feature point sampling interval s is fixed at 50. Each line of images, from left to right, are edge points, valley-ridge points, potential feature points, non-feature points, the final simplified point cloud model, and its reconstruction model. It can be seen that the larger the values of C

_{t}and T

_{g}are, the less points are saved. Each step of our method is interlocking. The selection of valley-ridge points and the preservation of potential feature points are complementary to each other, and they can extract the details of the model very well. The appropriate adjusting of the number of non-feature points can help reshape the entire simplified model. In summary, for a point cloud model with uniform sampling and distinctive features, C

_{t}and T

_{g}are set to small values, and s can be selected according to the requirements of the simplification rate. If there is no special requirement, s can be set to a medium value.

#### 3.2.2. The Self-Adapting Experiment Parameters

#### 3.2.3. Comparison of the Simplification Effect with Other Methods

## 4. Conclusions

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Conflicts of Interest

## References

- Thanou, D.; Chou, P.A.; Frossard, P. Graph-Based Compression of Dynamic 3D Point Cloud Sequences. IEEE Trans. Image Process.
**2016**, 25, 1765–1778. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Zhang, K.; Qiao, S.; Wang, X.; Yang, Y.; Zhang, Y. Feature-Preserved Point Cloud Simplification Based on Natural Quadric Shape Models. Appl. Sci.
**2019**, 9, 2130. [Google Scholar] [CrossRef] [Green Version] - Sun, W.; Bradley, C.; Zhang, Y.; Loh, H. Cloud data modelling employing a unified, non-redundant triangular mesh. Comput. Des.
**2001**, 33, 183–193. [Google Scholar] [CrossRef] - Weir, D.J.; Milroy, M.; Bradley, C. Reverse engineering physical models empolying wrap-aroud B-spline surfaces and quadrics. J. Eng. Manuf.
**1996**, 210, 147–157. [Google Scholar] [CrossRef] - Martin, R.R.; Stroud, I.A.; Marshall, A.D. Data reduction for reverse engineering. Proc. Inf. Geometers Conf.
**1997**, 10, 85–100. [Google Scholar] - Kim, S.-J.; Kim, C.-H.; Levin, D. Surface simplification using a discrete curvature norm. Comput. Graph.
**2002**, 26, 657–663. [Google Scholar] [CrossRef] - Zhao, P.; Wang, Y.; Hu, Q. A feature preserving algorithm for point cloud simplification based on hierarchical clustering. In Proceedings of the IEEE International Geoscience and Remote Sensing Symposium (IGARSS), Beijing, China, 10–15 July 2016; pp. 5581–5584. [Google Scholar] [CrossRef]
- Chen, Y.H.; Ng, C.; Wang, Y. Data reduction in integrated reverse engineering and rapid prototyping. Int. J. Comput. Integr. Manuf.
**1999**, 12, 97–103. [Google Scholar] [CrossRef] - Han, H.; Han, X.; Sun, F.; Huang, C. Point cloud simplification with preserved edge based on normal vector. Optik
**2015**, 126, 2157–2162. [Google Scholar] [CrossRef] - Tonini, M.; Abellán, A. Rockfall detection from terrestrial LiDAR point clouds: A clustering approach using R. J. Spat. Inf. Sci.
**2014**, 8, 95–110. [Google Scholar] [CrossRef] - Chen, Z.; Da, F. 3D point cloud simplification algorithm based on fuzzy entropy iteration. Acta Opt. Sinica
**2013**, 33, 0815001. [Google Scholar] [CrossRef] - Turk, G. Texture synthesis on surfaces. Proc. Annu. Conf. Comput. Graph. Interact. Tech. SIGGRAPH
**2001**, 347–354. [Google Scholar] [CrossRef] - Markovic, V.; Jakovljevic, Z.; Miljkovic, Z. Feature Sensitive Three-Dimensional Point Cloud Simplification using Support Vector Regression. Teh. Vjesn. Tech. Gaz.
**2019**, 26, 985–994. [Google Scholar] [CrossRef] [Green Version] - Chen, S.; Tian, D.; Feng, C.; Vetro, A.; Kovacevic, J. Contour-enhanced resampling of 3D point clouds via graphs. In Proceedings of the 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), New Orleans, LA, USA, 5–9 March 2017; pp. 2941–2945. [Google Scholar]
- Xia, S.; Wang, R. A Fast Edge Extraction Method for Mobile Lidar Point Clouds. IEEE Geosci. Remote Sens. Lett.
**2017**, 14, 1288–1292. [Google Scholar] [CrossRef] - Elkhrachy, I. Feature Extraction of Laser Scan Data Based on Geometric Properties. J. Indian Soc. Remote Sens.
**2017**, 45, 1–10. [Google Scholar] [CrossRef] - Li, T.; Pan, Q.; Gao, L.; Li, P. A novel simplification method of point cloud with directed Hausdorff distance. In Proceedings of the 2017 IEEE 21st International Conference on Computer Supported Cooperative Work in Design (CSCWD), Wellington, New Zealand, 26–28 April 2017; pp. 469–474. [Google Scholar]
- Ji, C.; Li, Y.; Fan, J.; Lan, S. A Novel Simplification Method for 3D Geometric Point Cloud Based on the Importance of Point. IEEE Access
**2019**, 7, 129029–129042. [Google Scholar] [CrossRef] - Mahdaoui, A.; Bouazi, A.; Hsaini, A.M.; Sbai, E.H. Entropic Method for 3D Point Cloud Simplification. In Computers and Devices for Communication; Springer International Publishing: Berlin/Heidelberg, Germany, 2018; pp. 613–621. [Google Scholar]
- Yuan, S.; Zhu, S.; Luo, W.; Yu, Z.-Y.; Yuan, L.-W.; Li, D.-S. Feature preserving multiresolution subdivision and simplification of point clouds: A conformal geometric algebra approach. Math. Methods Appl. Sci.
**2018**, 41, 4074–4087. [Google Scholar] [CrossRef] - Bernard, F.; Salamanca, L.; Thunberg, J.; Tack, A.; Jentsch, D.; Lamecker, H.; Zachow, S.; Hertel, F.; Goncalves, J.; Gemmar, P. Shape-aware surface reconstruction from sparse 3D point-clouds. Med. Image Anal.
**2017**, 38, 77–89. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Zhu, R.; Ma, S.; Xu, D. Guided Filter Simplification Method for Noisy Point Cloud Data. In Proceedings of the 2020 Chinese Automation Congress (CAC), Xi’an, China, 7–8 November 2020; pp. 6951–6955. [Google Scholar]
- Floater, M.S.; Reimers, M. Meshless parameterization and surface reconstruction. Comput. Aided Geom. Des.
**2001**, 18, 77–92. [Google Scholar] [CrossRef] - Dey, T.K.; Sun, J. An Adaptive M LS Surface for Reconstruction with Guarantees. In Proceedings of the Third Eurographics Symposium on Geometry Processing, Vienna, Austria, 4–6 July 2005; pp. 43–52. [Google Scholar]
- Wang, H.; Scheidegger, C.; Silva, C. Bandwidth Selection and Reconstruction Quality in Point-Based Surfaces. IEEE Trans. Vis. Comput. Graph.
**2009**, 15, 572–582. [Google Scholar] [CrossRef] [PubMed] [Green Version]

**Figure 3.**The edge distribution characteristics of the point cloud. (

**a**) Neighborhood distribution of non-edge points; (

**b**) Neighborhood distribution of edge points.

**Figure 7.**(

**a**) Edge points, (

**b**) valley-ridge feature points, (

**c**) potential feature points, (

**d**) non-feature points, (

**e**) simplified results, and (

**f**) reconstruction results.

**Figure 8.**The effect of different threshold selections on the Bunny model, where s = 50. (

**a**) C

_{T}= 1.1, T

_{g}= 0.1; (

**b**) C

_{T}= 1.1, T

_{g}= 0.5; (

**c**) C

_{T}= 5, T

_{g}= 0.1; and (

**d**) C

_{T}= 5, T

_{g}= 0.4.

**Figure 9.**Simplification results of our method: (

**a**) Bunny, (

**b**) Dragon, (

**c**) Mask A, and (

**d**) Mask B models.

**Figure 10.**Simplification results of the grid method: (

**a**) Bunny and (

**d**) Mask A models. Simplification result of the curvature adaptive method: (

**b**) Bunny and (

**e**) Mask A models. Simplification results of the feature-preserving method [18]: (

**c**) Bunny and (

**f**) Mask A models.

**Figure 11.**Simplified error comparison of the Bunny model: (

**a**) maximum error, (

**b**) average error, and (

**c**) RMS error. Simplified error comparison of the Mask A model: (

**d**) maximum error, (

**e**) average error, and (

**f**) RMS error.

Model | Original Points | ρ/(%) | Error/(mm) | ||
---|---|---|---|---|---|

Maximum | Average | Root Mean Square (RMS) | |||

Bunny | 35,947 | 17.6 | 8.904 × 10^{−3} | 8 × 10^{−5} | 1.95 × 10^{−4} |

53 | 2.1136 × 10^{−2} | 2.04 × 10^{−4} | 5.96 × 10^{−4} | ||

71.4 | 6.9928 × 10^{−2} | 1.89 × 10^{−3} | 3.075 × 10^{−3} | ||

Dragon | 437,645 | 25.1 | 4.614 × 10^{−2} | 3.3 × 10^{−5} | 4.69 × 10^{−4} |

44.9 | 4.9589 × 10^{−2} | 6.7 × 10^{−5} | 4.95 × 10^{−4} | ||

78.0 | 4.6156 × 10^{−2} | 2.63 × 10^{−4} | 6.22 × 10^{−4} | ||

Mask A | 2,194,425 | 35.9 | 5.7673 × 10^{−2} | 2.69 × 10^{−4} | 1.119 × 10^{−3} |

79.8 | 8.9860 × 10^{−2} | 6.58 × 10^{−4} | 2.571 × 10^{−3} | ||

89.9 | 9.8986 × 10^{−2} | 9.4 × 10^{−4} | 3.797 × 10^{−3} | ||

Mask B | 3,367,616 | 38.7 | 4.968 × 10^{−2} | 9.67 × 10^{−4} | 1.936 × 10^{−3} |

72.1 | 8.2321 × 10^{−2} | 1.433 × 10^{−3} | 2.16 × 10^{−3} | ||

92.8 | 9.0322 × 10^{−2} | 2.647 × 10^{−3} | 4.927 × 10^{−3} |

Model | Method | ρ/(%) | Error/(mm) | ||
---|---|---|---|---|---|

Maximum | Average | RMS | |||

Bunny | Our method | 17.6 | 8.904 × 10^{−3} | 8 × 10^{−5} | 1.95 × 10^{−4} |

53 | 2.1136 × 10^{−2} | 2.04 × 10^{−4} | 5.96 × 10^{−4} | ||

71.4 | 6.9928 × 10^{−2} | 1.89 × 10^{−3} | 3.075 × 10^{−3} | ||

Grid-based | 16.7 | 1.8284 × 10^{−2} | 1.61 × 10^{−4} | 3.17 × 10^{−4} | |

40.3 | 5.9634 × 10^{−2} | 2.42 × 10^{−4} | 7.07 × 10^{−4} | ||

69.8 | 9.9972 × 10^{−2} | 3.143 × 10^{−3} | 6.789 × 10^{−3} | ||

Curvature-based | 20.2 | 1.7422 × 10^{−2} | 1.78 × 10^{−4} | 3.16 × 10^{−4} | |

41.6 | 4.7625×10^{−2} | 2.95 × 10^{−4} | 8.65 × 10^{−4} | ||

69.8 | 9.9776 × 10^{−2} | 2.992 × 10^{−3} | 5.605 × 10^{−3} | ||

Feature-preserving [20] | 19.6 | 1.8519 × 10^{−2} | 1.31 × 10^{−4} | 2.22 × 10^{−4} | |

40.1 | 2.4632 × 10^{−2} | 3.3 × 10^{−4} | 7.41 × 10^{−4} | ||

68.5 | 7.7979 × 10^{−2} | 2.1 × 10^{−3} | 3.89 × 10^{−3} | ||

Mask A | Our method | 35.9 | 5.7673 × 10^{−2} | 2.69 × 10^{−4} | 1.119 × 10^{−3} |

79.8 | 8.9860 × 10^{−2} | 6.58 × 10^{−4} | 2.571 × 10^{−3} | ||

89.9 | 9.8986 × 10^{−2} | 9.4 × 10^{−4} | 3.797 × 10^{−3} | ||

Grid-based | 39.4 | 9.7915 × 10^{−2} | 5.11 × 10^{−4} | 2.777 × 10^{−3} | |

69.1 | 9.8975 × 10^{−2} | 1.438 × 10^{−3} | 6.856 × 10^{−3} | ||

92.4 | 9.8648 × 10^{−2} | 1.804 × 10^{−3} | 7.481 × 10^{−3} | ||

Curvature-based | 38 | 7.54 × 10^{−2} | 4.44 × 10^{−4} | 1.908 × 10^{−3} | |

69 | 9.8968 × 10^{−2} | 1.253 × 10^{−3} | 6.196 × 10^{−3} | ||

92 | 9.8648 × 10^{−2} | 1.78 × 10^{−3} | 7.534 × 10^{−3} | ||

Feature-preserving [20] | 40.6 | 6.7238 × 10^{−2} | 4.65 × 10^{−4} | 2.075 × 10^{−3} | |

67.7 | 9.3995 × 10^{−2} | 7.82 × 10^{−4} | 3.591 × 10^{−3} | ||

89.6 | 9.8656 × 10^{−2} | 136.9 × 10^{−3} | 5.681 × 10^{−3} |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Gong, M.; Zhang, Z.; Zeng, D.
A New Simplification Algorithm for Scattered Point Clouds with Feature Preservation. *Symmetry* **2021**, *13*, 399.
https://doi.org/10.3390/sym13030399

**AMA Style**

Gong M, Zhang Z, Zeng D.
A New Simplification Algorithm for Scattered Point Clouds with Feature Preservation. *Symmetry*. 2021; 13(3):399.
https://doi.org/10.3390/sym13030399

**Chicago/Turabian Style**

Gong, Miao, Zhijiang Zhang, and Dan Zeng.
2021. "A New Simplification Algorithm for Scattered Point Clouds with Feature Preservation" *Symmetry* 13, no. 3: 399.
https://doi.org/10.3390/sym13030399