# LIMOFilling: Local Information Guide Hole-Filling and Sharp Feature Recovery for Manifold Meshes

^{1}

^{2}

^{3}

^{4}

^{5}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Related Work

## 3. Method

#### 3.1. Hole Detection

**n**of the candidate triangular plane as the z-axis, and the plane where the triangle is located constitutes the ${V}_{0}xy$ plane. The coordinate axis vectors of the local coordinate system are ${\mathit{P}}_{\mathit{x}}$, ${\mathit{P}}_{\mathit{y}}$, and ${\mathit{P}}_{\mathit{z}}$, which can be expressed as follows:

#### 3.2. Mesh Generation

#### 3.3. Surface Fitting

#### 3.4. Feature Recovery

## 4. Experiments

#### 4.1. Qualitative Evaluation

#### 4.2. Quantitative Evaluation

## 5. Conclusions

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Altantsetseg, E.; Khorloo, O.; Matsuyama, K.; Konno, K. Complex hole-filling algorithm for 3D models. In Proceedings of the Computer Graphics International Conference, Yokohama, Japan, 27–30 June 2017; pp. 1–6. [Google Scholar] [CrossRef]
- Lhuillier, M.; Yu, S. Manifold surface reconstruction of an environment from sparse Structure-from-Motion data. Comput. Vis. Image Underst.
**2013**, 117, 1628–1644. [Google Scholar] [CrossRef] [Green Version] - Kazhdan, M.; Hoppe, H. Screened Poisson Surface Reconstruction. ACM Trans. Graph.
**2013**, 32, 61–67. [Google Scholar] [CrossRef] [Green Version] - Kolluri, R.; Shewchuk, J.R.; O’Brien, J.F. Spectral Surface Reconstruction from Noisy Point Clouds. In Proceedings of the 2004 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing, Nice, France, 8–10 July 2004; pp. 11–21. [Google Scholar] [CrossRef] [Green Version]
- Guo, X.; Xiao, J.; Wang, Y. A survey on algorithms of hole filling in 3D surface reconstruction. Vis. Comput.
**2018**, 34, 93–103. [Google Scholar] [CrossRef] - Weber, C.; Hahmann, S.; Hagen, H. Sharp feature detection in point clouds. In Proceedings of the 2010 Shape Modeling International Conference, Aix-en-Provence, France, 21–23 June 2010; pp. 175–186. [Google Scholar] [CrossRef] [Green Version]
- Attene, M.; Campen, M.; Kobbelt, L. Polygon Mesh Repairing: An Application Perspective. ACM Comput. Surv.
**2013**, 45, 1–33. [Google Scholar] [CrossRef] - Davis, J.; Marschner, S.R.; Garr, M.; Levoy, M. Filling holes in complex surfaces using volumetric diffusion. In Proceedings of the First International Symposium on 3D Data Processing Visualization and Transmission, Padua, Italy, 19–21 June 2002; pp. 428–441. [Google Scholar]
- Ju, T. Robust Repair of Polygonal Models. ACM Trans. Graph.
**2004**, 23, 888–895. [Google Scholar] [CrossRef] [Green Version] - Nooruddin, F.S.; Turk, G. Simplification and repair of polygonal models using volumetric techniques. IEEE Trans. Vis. Comput. Graph.
**2003**, 9, 191–205. [Google Scholar] [CrossRef] [Green Version] - Harary, G.; Tal, A.; Grinspun, E. Context-Based Coherent Surface Completion. ACM Trans. Graph.
**2014**, 33, 1–12. [Google Scholar] [CrossRef] - Liepa, P. Filling Holes in Meshes. In Proceedings of the 2003 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing, Aachen, Germany, 23–25 June 2003; pp. 200–205. [Google Scholar] [CrossRef]
- Pernot, J.-P.; Moraru, G.; Véron, P. Filling holes in meshes using a mechanical model to simulate the curvature variation minimization. Comput. Graph.
**2006**, 30, 892–902. [Google Scholar] [CrossRef] [Green Version] - Bischoff, S.; Kobbelt, L. Structure Preserving CAD Model Repair. Comput. Graph. Forum
**2005**, 24, 527–536. [Google Scholar] [CrossRef] - Floater, M.S.; Reimers, M. Meshless parameterization and surface reconstruction. Comput. Aided Geom. Des.
**2001**, 18, 77–92. [Google Scholar] [CrossRef] - Franc, M.; Skala, V. Fast Algorithm for Triangular Mesh Simplification Based on Vertex Decimation. In Proceedings of the Computational Science—ICCS 2002; Sloot, P.M.A., Hoekstra, A.G., Tan, C.J.K., Dongarra, J.J., Eds.; Springer: Berlin/Heidelberg, Germany, 2002; pp. 42–51. [Google Scholar] [CrossRef] [Green Version]
- Huang, X.; Xiaoguang, C.; Jianya, G. Side Ratio Constrain Based Precise Boundary Tracing Algorithm for Discrete Point Clouds. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci.
**2008**, 37, 349–354. [Google Scholar] - Brunton, A.; Wuhrer, S.; Shu, C.; Bose, P.; Demaine, E.D. Filling holes in triangular meshes by curve unfolding. In Proceedings of the 2009 IEEE International Conference on Shape Modeling and Applications, Beijing, China, 26–28 June 2009; pp. 66–72. [Google Scholar] [CrossRef]
- Hu, P.; Wang, C.; Li, B.; Liu, M. Filling Holes in Triangular Meshes in Engineering. JSW
**2012**, 7, 141–148. [Google Scholar] [CrossRef] - Zhao, W.; Gao, S.; Lin, H. A robust hole-filling algorithm for triangular mesh. Vis. Comput.
**2007**, 23, 987–997. [Google Scholar] [CrossRef] - Eder, G.; Held, M.; Palfrader, P. Parallelized ear clipping for the triangulation and constrained Delaunay triangulation of polygons. Comput. Geom.
**2018**, 73, 15–23. [Google Scholar] [CrossRef] - Verdera, J.; Caselles, V.; Bertalmio, M.; Sapiro, G. Inpainting surface holes. In Proceedings of the 2003 International Conference on Image Processing (Cat. No.03CH37429), Barcelona, Spain, 14–17 September 2003; Volume 2, pp. 903–906. [Google Scholar]
- Barequet, G.; Sharir, M. Filling gaps in the boundary of a polyhedron. Comput. Aided Geom. Des.
**1995**, 12, 207–229. [Google Scholar] [CrossRef] - Branch, J.; Prieto, F.; Boulanger, P. Automatic Hole-Filling of Triangular Meshes Using Local Radial Basis Function. In Proceedings of the Third International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’06), Chapel Hill, NC, USA, 14–16 June 2006; pp. 727–734. [Google Scholar] [CrossRef]
- Kumar, A.; Shih, A.; Ito, Y.; Ross, D.; Soni, B. A Hole-filling Algorithm Using Non-uniform Rational B-splines. In Proceedings of the 16th International Meshing Roundtable; Brewer, M.L., Marcum, D., Eds.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 169–182. [Google Scholar] [CrossRef]
- Wang, J.; Oliveira, M.M. Filling holes on locally smooth surfaces reconstructed from point clouds. Image Vis. Comput.
**2007**, 25, 103–113. [Google Scholar] [CrossRef] - Liu, S.; Wang, C.C.L. Quasi-interpolation for surface reconstruction from scattered data with radial basis function. Comput. Aided Geom. Des.
**2012**, 29, 435–447. [Google Scholar] [CrossRef] - Sharf, A.; Alexa, M.; Cohen-Or, D. Context-Based Surface Completion. In Proceedings of the ACM SIGGRAPH 2004: Special Interest Group on Computer Graphics and Interactive Techniques, Los Angeles, CA, USA, 8–12 August 2004; pp. 878–887. [Google Scholar] [CrossRef]
- Nguyen, M.X.; Yuan, X.; Chen, B. Geometry completion and detail generation by texture synthesis. Vis. Comput.
**2005**, 21, 669–678. [Google Scholar] [CrossRef] [Green Version] - Breckon, T.P.; Fisher, R.B. Three-Dimensional Surface Relief Completion Via Nonparametric Techniques. IEEE Trans. Pattern Anal. Mach. Intell.
**2008**, 30, 2249–2255. [Google Scholar] [CrossRef] - Breckon, T.P.; Fisher, R.B. A hierarchical extension to 3D non-parametric surface relief completion. Pattern Recognit.
**2012**, 45, 172–185. [Google Scholar] [CrossRef] [Green Version] - Weiler, K. Edge-Based Data Structures for Solid Modeling in Curved-Surface Environments. IEEE Comput. Graph. Appl.
**1985**, 5, 21–40. [Google Scholar] [CrossRef] - Zhang, W. Research on 3D Reconstruction Method with Local Information Constraint. Ph.D. Thesis, Wuhan University, Wuhan, China, 2019. [Google Scholar]
- Chen, M. A Hole Repairing Algorithm for 3D Skull Model. Master’s Thesis, Zhejiang University of Technology, Hangzhou, China, 2008. [Google Scholar]
- Boulch, A.; de La Gorce, M.; Marlet, R. Piecewise-Planar 3D Reconstruction with Edge and Corner Regularization. Comput. Graph. Forum
**2014**, 33, 55–64. [Google Scholar] [CrossRef] [Green Version] - Lafarge, F.; Mallet, C. Creating Large-Scale City Models from 3D-Point Clouds: A Robust Approach with Hybrid Representation. Int. J. Comput. Vis.
**2012**, 99, 69–85. [Google Scholar] [CrossRef] - Schnabel, R.; Wahl, R.; Klein, R. Efficient RANSAC for Point-Cloud Shape Detection. Comput. Graph. Forum
**2007**, 26, 214–226. [Google Scholar] [CrossRef] - 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 SIGGRAPH01: The 28th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, 2–17 August 2001; Association for Computing Machinery: New York, NY, USA, 2001; pp. 67–76. [Google Scholar] [CrossRef]
- Xinwei, D. Research on Technology of Surface Reconstruction Using Radial Basis Functions in Reverse Engineering. Ph.D. Thesis, Jilin University, Changchun, China, 2009. [Google Scholar]
- Jiaxin, B.; Ronghua Liang, F.W. Various hole repairing algorithm for 3D mesh surface models of human skull. J. Image Graph.
**2013**, 18, 1156–1163. [Google Scholar] [CrossRef] - Wang, L.-C.; Hung, Y.-C. Hole filling of triangular mesh segments using systematic grey prediction. Comput. Des.
**2012**, 44, 1182–1189. [Google Scholar] [CrossRef] - Attene, M. A lightweight approach to repairing digitized polygon meshes. Vis. Comput.
**2010**, 26, 1393–1406. [Google Scholar] [CrossRef] - The VCG Library. Available online: http://cvg.isti.cnr.it/cvglib/ (accessed on 26 October 2021).
- Leong, K.F.; Chua, C.K.; Ng, Y.M. A study of stereolithography file errors and repair. Part 2. Special cases. Int. J. Adv. Manuf. Technol.
**1996**, 12, 415–422. [Google Scholar] [CrossRef]

**Figure 1.**Different types of holes in the models: (

**a**) WCGC-S model with holes, (

**b**) Laurana model with holes, (

**c**) Pixiu model with holes, and (

**d**) Bunny model with holes.

**Figure 2.**Different types of holes: ① simple holes on flat surface, ② complex holes on flat surface, ③ holes on a flat surface boundary, ④ simple holes on undulating surface, ⑤ complex holes on undulating surface, and ⑥ holes on an undulating surface boundary.

**Figure 3.**The proposed LIMOFilling overview, showing all the steps performed by the hole-detection, hole-repairing, and feature-recovery.

**Figure 4.**Schematic diagram of simple hole-detection. The hole-area was filled with blue and the red directed lines HE1, HE2, HE3, and HE4 are its boundary half-edges. The yellow directed lines MBE1, MBE2, and MBE3 and so on represent the boundary half-edges of the model. There are eleven boundary half-edges in this simple model, and we have been drawn. In addition, the four border half-edges that were unselected are still shown in the figure with green directed lines. The half-edge HE1 was randomly selected as the starting half-edge, and FV1 is the starting-vertex of it and TV1 is the ending-vertex.

**Figure 5.**Schematic diagram of complex hole-detection. A complex hole consisting of three simple holes (purple, bule and yellow) via connected by a non-manifold vertex ${V}_{0}$. The half-edges are represented by directed line, and the three green half-edges (HE2, HE3, HE4) are the extended candidates of the red half-edge HE1. The green dotted lines (Sg1, Sg2, and Sg3) are the auxiliary segments used to determine the intersection.

**Figure 6.**A layer of inserted and triangulated vertices in a hole-area. (

**a**) A simple hole before repairing and (

**b**) the hole after repair.

**Figure 7.**Hole-repairing results using different methods. (

**a**) Filling a hole without inserting any vertices, (

**b**) filling a hole using the one-time method with implicit surface fitting, and (

**c**) filling holes by the proposed layer-to-layer method.

**Figure 8.**The planar proxies before and after hole filling: (

**a**,

**d**) show the planar proxies of the Pixiu model and WCGC-S model before hole filling; (

**b**,

**e**) are them after hole filling, and in (

**a**,

**b**,

**d**,

**e**), different colors represent different planar proxies; and (

**c**,

**f**) indicate the contrast the planar proxies between before and after hole filling.

**Figure 9.**The holes filling results of the model with holes: (

**a**,

**d**) are the results of VCG; (

**b**,

**e**) are the results of MeshFix; the red box indicates the boundary holes that were not detected; the corresponding boundary holes are detected and repaired in the proposed LIMOFilling shown in (

**c**,

**f**).

**Figure 10.**The holes filling results of the complex holes: (

**a**) shows three are the raw models with holes, column (

**b**) is the hole filling results of VCG, column (

**c**) is the hole filling results of MeshFix, and column (

**d**) is the hole filling results of LIMOFilling.

**Figure 11.**The holes filling results of the Laurana model and Bunny model: (

**a**) Laurana with a hole on her nose and (

**e**) a hole on the feet of Bunny; (

**b**,

**f**) are hole filling results of VCG; (

**c**,

**g**) are hole filling results of MeshFix; (

**d**,

**h**) are hole filling results of LIMOFilling.

**Figure 12.**The sharp feature recovery results: (

**a**,

**e**) are raw model with holes, the holes are located on the edge and corner of the guardrail, the sharp feature recovery results of VCG as shown by (

**b**,

**f**), (

**c**,

**g**) indicate the recovery results of MeshFix, and (

**d**,

**h**) are the sharp feature recovery results of LIMOFilling.

**Figure 13.**Comparative CloudCompare results. (

**a**,

**d**,

**g**) are the comparison between the original model without holes and the model filled by VCG. (

**b**,

**e**,

**h**) show the comparison between the model filled by MeshFix and the original model. (

**c**,

**f**,

**i**) indicate the comparison between the model filled by LIMOFilling and the original model.

Data | Method | Number of Holes Detected | Hole Detection Time Assumption (ms) | System Time Assumption (ms) |
---|---|---|---|---|

WCGC-S | VCG | 7 | 113.67 | 337.86 |

MeshFix | 7 | 106.78 | 321.12 | |

LIMOFilling | 18 | 122.56 | 1124.60 | |

Pixiu | VCG | 6 | 39.97 | 201.45 |

MeshFix | 6 | 37.88 | 189.76 | |

LIMOFilling | 13 | 45.21 | 324.57 | |

Laurana | VCG | 2 | 176.44 | 357.83 |

MeshFix | 2 | 165.03 | 338.11 | |

LIMOFilling | 3 | 185.43 | 625.02 | |

Bunny | VCG | 2 | 196.56 | 512.13 |

MeshFix | 2 | 178.20 | 490.03 | |

LIMOFilling | 3 | 201.81 | 693.49 |

Data | Total Number of Triangles | Number of New Triangles | Number of the New Triangles with r < 0.5 | Average Ratio of the New Triangles |
---|---|---|---|---|

WCGC-S | 15,449 | 467 | 4 | 0.9345 |

Pixiu | 124,563 | 3752 | 13 | 0.9549 |

Laurana | 50,078 | 1666 | 7 | 0.9413 |

Bunny | 34,648 | 2169 | 9 | 0.9432 |

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

© 2022 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 (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Gou, G.; Sui, H.; Li, D.; Peng, Z.; Guo, B.; Yang, W.; Huang, D.
LIMOFilling: Local Information Guide Hole-Filling and Sharp Feature Recovery for Manifold Meshes. *Remote Sens.* **2022**, *14*, 289.
https://doi.org/10.3390/rs14020289

**AMA Style**

Gou G, Sui H, Li D, Peng Z, Guo B, Yang W, Huang D.
LIMOFilling: Local Information Guide Hole-Filling and Sharp Feature Recovery for Manifold Meshes. *Remote Sensing*. 2022; 14(2):289.
https://doi.org/10.3390/rs14020289

**Chicago/Turabian Style**

Gou, Guohua, Haigang Sui, Dajun Li, Zhe Peng, Bingxuan Guo, Wei Yang, and Duo Huang.
2022. "LIMOFilling: Local Information Guide Hole-Filling and Sharp Feature Recovery for Manifold Meshes" *Remote Sensing* 14, no. 2: 289.
https://doi.org/10.3390/rs14020289