Robust Hole-Detection in Triangular Meshes Irrespective of the Presence of Singular Vertices
Mauhing Yip, Annette Stahl, Christian Schellewald
TL;DR
This work addresses automatic hole detection in edge-manifold triangular meshes containing singular vertices by introducing a robust, projection-free boundary extraction framework based on the half-edge set $\mathbf{H}$. It guarantees existence and uniqueness of boundaries for every half-edge and decomposes complex boundaries into simple, non-redundant boundaries, while classifying them into coastlines and holes (tide holes and lake holes). Two theorems with accompanying proofs establish the method’s correctness, and the implementation in Python using Open3D demonstrates strong performance on synthetic and real-world datasets, including underwater and sonar-derived meshes. The approach is validated across the Stanford bunny, underwater photogrammetry models, and a multibeam sonar scene, showing resilience to singular vertices and enabling actionable information gaps for data acquisition and robotic inspection. The authors also provide open-source code to facilitate adoption in CAD and underwater robotics workflows.
Abstract
In this work, we present a boundary and hole detection approach that traverses all the boundaries of an edge-manifold triangular mesh, irrespectively of the presence of singular vertices, and subsequently determines and labels all holes of the mesh. The proposed automated hole-detection method is valuable to the computer-aided design (CAD) community as all half-edges within the mesh are utilized and for each half-edge the algorithm guarantees both the existence and the uniqueness of the boundary associated to it. As existing hole-detection approaches assume that singular vertices are absent or may require mesh modification, these methods are ill-equipped to detect boundaries/holes in real-world meshes that contain singular vertices. We demonstrate the method in an underwater autonomous robotic application, exploiting surface reconstruction methods based on point cloud data. In such a scenario the determined holes can be interpreted as information gaps, enabling timely corrective action during the data acquisition. However, the scope of our method is not confined to these two sectors alone; it is versatile enough to be applied on any edge-manifold triangle mesh. An evaluation of the method is performed on both synthetic and real-world data (including a triangle mesh from a point cloud obtained by a multibeam sonar). The source code of our reference implementation is available: https://github.com/Mauhing/hole-detection-on-triangle-mesh.
