Abstract
Geometry completion is an important operation for generating a complete model. In this paper, we present a novel geometry completion algorithm for point cloud models, which is capable of filling holes on either smooth models or surfaces with sharp features. Our method is built on the physical diffusion pattern. We first decompose each pass hole-boundary contraction into two steps, namely normal propagation and position sampling. Then the normal dissimilarity constraint is incorporated into these two steps to fill holes with sharp features. Our algorithm implements these two steps alternately and terminates until generating no new hole boundary. Experimental results demonstrate its feasibility and validity of recovering the potential geometry shapes.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Adamson, A., Alexa, M.: Approximating bounded, nonorientable surfaces from points. In: Shape Modeling Applications, 2004. Proceedings, IEEE, pp. 243–252 (2004)
Attene, M., Campen, M., Kobbelt, L.: Polygon mesh repairing: an application perspective. ACM Comput. Surv. (CSUR) 45(2), 15 (2013)
Bac, A., Tran, N.V., Daniel, M.: A multistep approach to restoration of locally undersampled meshes. In: Advances in Geometric Modeling and Processing, pp. 272–289. Springer, Berlin (2008)
Bendels, G.H., Schnabel, R., Klein, R.: Detecting holes in point set surfaces. J WSCG. 14, 89–98. ISSN 1213–6972 (2006)
Berger, M., Tagliasacchi, A., Seversky, L.M., Alliez, P., Levine, J.A., Sharf, A., Silva, C.T.: State of the art in surface reconstruction from point clouds. In: Eurographics 2014—State of the Art Reports, The Eurographics Association, pp. 161–185 (2014)
Campen, M., Attene, M., Kobbelt, L.: A practical guide to polygon mesh repairing. In: Proceedings of the 2012 Eurographics, p. t4. Cagliari, Italy (2012)
Carr, J.C., Beatson, R.K., Cherrie, J.B., Mitchell, T.J., Fright, W.R., McCallum, B.C., Evans, T.R.: Reconstruction and representation of 3D objects with radial basis functions. In: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, pp. 67–76. ACM (2001)
Chalmovianskỳ, P., Jüttler, B.: Filling holes in point clouds. In: Mathematics of Surfaces, pp. 196–212. Springer, Berlin (2003)
Chen, C.Y., Cheng, K.Y.: A sharpness-dependent filter for recovering sharp features in repaired 3D mesh models. IEEE Trans. Vis. Comput. Graph. 14(1), 200–212 (2008)
Davis, J., Marschner, S.R., Garr, M., Levoy, M.: Filling holes in complex surfaces using volumetric diffusion. In: 3D Data Processing Visualization and Transmission, 2002. Proceedings. First International Symposium on, IEEE, pp. 428–441 (2002)
Fleishman, S., Drori, I., Cohen-Or, D.: Bilateral mesh denoising. In: ACM Transactions on Graphics (TOG), vol. 22, pp. 950–953. ACM (2003)
Fleishman, S., Cohen-Or, D., Silva, C.T.: Robust moving least-squares fitting with sharp features. In: ACM Transactions on Graphics (TOG), vol. 24, pp. 544–552. ACM (2005)
Gross, M., Pfister, H.: Point-Based Graphics. Morgan Kaufmann, Los Altos, CA (2011)
Harary, G., Tal, A., Grinspun, E.: Context-based coherent surface completion. ACM Trans. Graph. (TOG) 33(1), 5 (2014)
Harary, G., Tal, A., Grinspun, E.: Feature-preserving surface completion using four points. In: Computer Graphics Forum, vol. 33, pp. 45–54 (2014)
Huang, H., Wu, S., Gong, M., Cohen-Or, D., Ascher, U., Zhang, H.R.: Edge-aware point set resampling. ACM Trans. Graph. (TOG) 32(1), 9 (2013)
Jones, T.R., Durand, F., Desbrun, M.: Non-iterative, feature-preserving mesh smoothing. In: ACM Transactions on Graphics (TOG), vol. 22, pp 943–949. ACM (2003)
Ju, T.: Fixing geometric errors on polygonal models: a survey. J. Comput. Sci. Technol. 24(1), 19–29 (2009)
Kazhdan, M., Hoppe, H.: Screened poisson surface reconstruction. ACM Trans. Graph. (TOG) 32(3), 29 (2013)
Kazhdan, M., Bolitho, M., Hoppe, H.: Poisson surface reconstruction. In: Proceedings of the Fourth Eurographics Symposium on Geometry Processing (2006)
Kobbelt, L., Botsch, M.: A survey of point-based techniques in computer graphics. Comput. Graph. 28(6), 801–814 (2004)
Kraevoy, V., Sheffer, A.: Template-based mesh completion. In: Symposium on Geometry Processing, Citeseer, pp. 13–22 (2005)
Lévy, B.: Dual domain extrapolation. ACM Trans. Graph. (TOG) 22(3), 364–369 (2003)
Ngo, H.T.M., Lee, W.S.: Feature-first hole filling strategy for 3D meshes. In: VISIGRAPP, pp. 53–68 (2012)
Ohtake, Y., Belyaev, A., Alexa, M., Turk, G., Seidel, H.P.: Multi-level partition of unity implicits. In: ACM SIGGRAPH 2005 Courses, p. 173. ACM (2005)
Öztireli, A.C., Guennebaud, G., Gross, M.: Feature preserving point set surfaces based on non-linear kernel regression. In: Computer Graphics Forum, vol. 28, pp. 493–501 (2009)
Park, S., Guo, X., Shin, H., Qin, H.: Shape and appearance repair for incomplete point surfaces. In: Computer Vision, 2005. ICCV 2005. Tenth IEEE International Conference on, IEEE, vol. 2, pp. 1260–1267 (2005)
Pernot, J.P., Moraru, G., Véron, P.: Filling holes in meshes using a mechanical model to simulate the curvature variation minimization. Comput. Graph. 30(6), 892–902 (2006)
Sharf, A., Alexa, M., Cohen-Or, D.: Context-based surface completion. In: ACM Transactions on Graphics (TOG), vol. 23, pp. 878–887. ACM (2004)
Weyrich, T., Pauly, M., Keiser, R., Heinzle, S., Scandella, S., Gross, M.: Post-processing of scanned 3D surface data. In: Proceedings of the First Eurographics conference on Point-Based Graphics, Eurographics Association, pp. 85–94 (2004)
Xiao, C., Zheng, W., Miao, Y., Zhao, Y., Peng, Q.: A unified method for appearance and geometry completion of point set surfaces. Vis. Comput. 23(6), 433–443 (2007)
Yin, K., Huang, H., Zhang, H., Gong, M., Cohen-Or, D., Chen, B.: Morfit: Interactive surface reconstruction from incomplete point clouds with curve-driven topology and geometry control. ACM Trans. Graph. 33(6), 202:1–202:12 (2014)
Zhao, W., Gao, S., Lin, H.: A robust hole-filling algorithm for triangular mesh. Vis. Comput. 23(12), 987–997 (2007)
Acknowledgments
The authors would like to thank the anonymous reviewers for their valuable comments and insightful suggestions. This work was partly supported by the National Basic Research Program of China (No. 2012CB725303), the NSFC (No. 61472288), NCET (NCET-13-0441), the Fundamental Research Funds for the Central Universities (2042015kf0181), and the State Key Lab of Software Engineering (SKLSE-2015-A-05).
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
Supplementary material 1 (avi 16078 KB)
Appendix: Computing the equilibrium position
Appendix: Computing the equilibrium position
To compute the equilibrium position \(O_{b_i^{'}}\) for a former pass hole-boundary point \(b_i^{'}\), as shown in Fig. 3, we introduce a point \(q_0\) whose position just exactly locates in \(O_{b_i^{'}}\), as depicted in Fig. 18. The equilibrium position of \(q_0\) on the direction of vector \(\overrightarrow{O_{b_i^{'}}b_i^{'}}\) must have the same position with point \(b_i^{'}\), that is to say \(O_{q_0}\) coincides with the position of \(b_i^{'}\). Taking the elastic force received by \(O_{q_0}\) from \(b_i^{'}\) into account, its value should be the positive maximum (equals 1, corresponding to the maximum repulsive force) according to the definition of the elastic force in Eq. (5). The overlap positions can be seen as the extremely close distance between \(O_{q_0}\) and \(b_i^{'}\). Without loss of generality, we assign this repulsive force along the vector \(\overrightarrow{b_i^{'}O_{b_i^{'}}}\). Therefore, we have \(r_{b_i^{'}}(O_{q_0})=1\), specifically \(1.0-\exp \left( {\big | O_{q_0} - O_{b_i^{'}} \big |}_{\overrightarrow{b_i^{'}O_{b_i^{'}}}}{/}{ \sigma _r^2} \right) =1\). By substituting \(O_{q_0}\) with \(b_i^{'},\) we have \(\exp \left( {\big | b_i^{'} - O_{b_i^{'}} \big |}_{\overrightarrow{b_i^{'}O_{b_i^{'}}}}{/}{ \sigma _r^2} \right) =0\).
Our purpose is to compute the equilibrium position \(O_{b_i^{'}}\) for point \({b_i^{'}}\). So, we need to take the logarithm for the above equation. However, the right side of this equation equals zero and cannot enforce a logarithm operation immediately. For the sake of numerical computing, we use a small constant \(10^{-4}\) to approximate instead of zero and make our computation feasible. Finally, we can use the following equation to compute \(O_{b_i^{'}}\) for \(b_i^{'}\) if the parameter \(\sigma _r\) is assigned,
Rights and permissions
About this article
Cite this article
Yang, L., Yan, Q. & Xiao, C. Shape-controllable geometry completion for point cloud models. Vis Comput 33, 385–398 (2017). https://doi.org/10.1007/s00371-016-1208-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-016-1208-1