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.
翻译:本文提出一种边界与孔洞检测方法,该方法能够遍历边流形三角网格的所有边界,无论是否存在奇异顶点,均可识别并标记网格中的所有孔洞。所提出的自动孔洞检测方法对计算机辅助设计(CAD)领域具有重要价值,因为该方法利用了网格中所有半边,并对每条半边保证其关联边界的唯一存在性。现有孔洞检测方法通常假设不存在奇异顶点或需要修改网格,因此难以处理包含奇异顶点的实际网格中的边界/孔洞检测。我们通过基于点云数据的水下自主机器人表面重建应用展示了该方法的有效性,在该场景中检测到的孔洞可被视为信息缺口,从而实现在数据采集过程中及时采取修正措施。然而,本方法的应用范围不限于上述两个领域;它可灵活适用于任何边流形三角网格。我们使用合成数据与实际数据(包括通过多波束声纳获取的点云生成的三角网格)对方法进行了评估。参考实现的源代码已公开:https://github.com/Mauhing/hole-detection-on-triangle-mesh。