基于岩溶洞穴复杂表面的三角网格拼接与融合方法研究 下载: 935次
1 引言
激光扫描及点云处理技术日渐成熟,已经成功应用于各大领域,取得了较好的成果。实际应用中发现,按照不同分辨率建模的效果优于用统一分辨率建模的效果,但是按照不同分辨率建模时,模型中的三角网格是独立的,需拼接融合为一体,才能用于后续的规划与设计。目前已有诸多研究者对应用于不同领域的三角网格拼接与融合方法进行研究。
Kanai等[1]在1999年提出了一种基于三维网格变形的网格融合建模方法,利用传统的复制与粘贴操作,将两个三角网格组合在一起,实现了多个三维网格融合; Singh等[2]在2001年基于隐函数定义了多面体中的三角顶点,通过延长三角顶点实现了两个网格的拼接;Jin等[3-4]在2006—2008年间基于功能混合的网格融合方法进行网格拼接融合,该方法的优点是不受网格盘状拓扑结构和单环开口的限制,在Hermite函数混合的基础上,创建了一个隐式过渡曲面,将各部分连接在一起,同时在边界处保持平滑,实现了网格拼接;Bedi等[5-6]基于Bernstein多项式的blendino方法来构建光滑表面,利用紧支径向基函数对缝合后的三角形网格进行插值,实现了两个网格的拼接与融合;Wang等[7]在2016年提出了一种三角形网格模型的拓扑结构修复方法,该方法包含针对不同拓扑错误的4种详细的解决方案,实现了对不同拓扑误差的快速检测和修复;邹北骥等[8]在2012年通过融合重叠区域的三角顶点,有针对性地采用移动最小二乘方法进行网格融合,可以避免由于未能配准而产生的噪声,紧接着采用平坦度重构算法实现重叠区域顶点的三角化,进而实现网格的拼接与融合;王小娜[9]在2009年提出了一种改进型凸包平面三角网格划分算法,将三角网格边界明显地划分开来,以便于约束其边界,最终将散乱点进行拼接;刘姝玉[10]在2019年采用三次B样条插值进行网络拼接与融合,基于旋转不变量Laplace的变形方法,在曲率变化较大的情况下,可以保持目标的整体形状不变,保证模型拼接自然;Miao等[11]在2013年基于Hermite 插值原理,提出了一种适用于边界点三角网络之间无缝拼接与融合的方法,该方法首先采用二次B样条插值函数,分别得到边缘曲线,然后采用Hermite 插值得到连续曲面,最后采用Laplacian原理对模型接边进行光滑处理,使得接边处过渡自然。
在网格边界查询方面,张献颖等[12]在2003年提出了一种空间三角网格曲面边界的提取方法,实现了两个网格边界的查询;孙殿柱等[13]在2012年提出了一种三角网格曲面模型快速求交算法,基于三角网格动态空间索引结构,以结点包围相交,快速缩小求交范围,实现了曲面模型交叉区域的快速提取。
综上所述,以上的实验研究对象一部分是规则的三维模型,另一部分是精细的三维模型,如人体雕塑、精细工艺品等,它们都是基于模型的外表面来进行实验研究。岩溶洞因其特殊性而具有表面相对复杂、结构面众多、以内表面进行拼接等特征。从研究对象上来看,岩溶洞均为大场景,而雕塑工艺品都是小物件。为此,结合前人的研究方法,本文针对地下岩溶洞提出三维网格拼接与融合方法。首先通过三角网格空间几何关系遍历出两个拼接网格边界,其次采用约束Delaunay三角网格法进行连接并进行B样条进行插值,使连接处过渡自然,最后采用Laplacian原理进行平滑和消峰处理,使表面光滑。
2 岩溶洞三角网格拼接
对已有的相邻的三维网格进行拼接融合,主要包括4个步骤:相邻边界检测、三角网格拼接、曲线插值、平滑融合。其整体实现流程如
2.1 三角网格数据文件转换
目前,点云三维立体建模大部分是基于现有软件来实现复杂三角表面的构建,特别是在地下岩溶洞三维建模方面。岩溶具有表面复杂、纹理丰富、形状奇特、数据量大等特点,通视条件较差,故其在扫描过程中难以实现完整扫描。根据设计要求,纹理较为丰富的区域需在模型上详细表达,纹理单一的区域需简略表达,因此采取按照不同分辨率进行建模可以解决这一难题。文献[ 14]已对复杂三维建模进行了研究,发现在进行三维模型拼接时依然存在诸多问题,有类似商用软件可以实现拼接,但是拼接效果差,人工干预较多,工作量较大。这是由于直接采用已有的三角网格进行拼接所致。因此在方法实现以前需要进行文件格式的转换。
本文采用I-Site Studio 4.2进行前期的岩溶洞三角网格构建,输出obj格式模型,其次通过3DMAX软件将obj模型转换为stl文件,最后采用HyperMesh将stl文件转换为bdf文件,即储存为如
2.2 基于三角网格的相邻边界检测
进行网格边界查询以前,首先将bdf文件进行三角网格节点坐标和面元顶点序号的提取,分别储存为'__nodedata.txt'和'__eledata.txt'数据文件。其次查询网格1边界,按照点、边和三角形三者之间的关系进行判断,假设A、B、C分别为点集合、边集合、三角形集合,若存在Ai∈c,则c为Ai的一个邻接三角形;若存在Bi∈c,则c为Bi的一个临界三角形;若存在Bi=c1∩c2(c1∈C,c2∈C),则Bi为内部边,否则为边界边[14]。最后通过网格1节点来寻找网格2中距离网格1中节点最近的节点作为网格2的边界点,实现了两个网格接边处边界节点的查询,并且在检测网格2的过程中可以设定检测阈值参数threshold,便于灵活调节网格2的边界检测结果,若参数较小说明两个网格相邻的间距较小,若参数较大说明相邻两个网格的间距较大。
由于岩溶洞三角网模型数据量大,数据文件到几百兆以上,三角网格数超过几千万个,因此先设置一组较小的实验数据进行方法验证,采用matlab进行实验。采用简易三角网格能够快速验证该方法的可行性,实验结果如
图 4. 三角网格相邻边界检测结果。(a)简易三角网格显示结果;(b)三角网格相邻边界检测结果
Fig. 4. Detection results of adjacent boundary of triangular mesh. (a) Simple triangular mesh display results; (b) adjacent boundary detection of triangular mesh
2.3 B样条曲线插值拟合
由于直接对相邻三角网格进行连接的结果通常不符合自然变化特征,特别在地下岩溶洞中,天然形成的地形通常不会呈现规则形状,一般接边处都较为缓和,因此,对于连接后的三角网格需要进行曲线插值,以使连接位置过渡自然。本研究直接采用B样条曲线进行插值。插值原理如下:
通常情况下,给定m+n+1个平面或者是空间顶点Pi,其中i=0,1,2,…,m+n,称为n次参考曲线段,由顶点Pi所形成的多边形称为曲线多边形。将这些平面顶点或空间点作为控制点可以确定一条光滑的曲线[11],曲线方程可表示为
式中:Sk,n(t)表示第k段n次B样条曲线段(k=0,1,…,m),这些曲线段称为n次B样条曲线;Mi,n(t)为基函数,表达式为
在二次B样条曲线拟合中已经能达到了一阶光滑,因此在模型的拼接中,插值B样条曲线中的次数n取值为2。
本研究将其应用于地下岩溶洞边界拼接处的插值处理时,只需要在拼接处适当地作插值处理即可。由于部分拼接缝隙很小,故并不需要使插值得到的曲线与实际网格完全一致,甚至拼接缝隙过小的直接连接不需处理就能满足精度要求,只是拼接缝隙较大时需要进行插值处理,以达到过渡自然的效果。
2.4 边界连接
基于相邻边界点检测结果,采用约束Delaunay三角网格的方法进行网格连接。由于Delaunay三角网格具有唯一性、外接圆、最大最小角原则等特性[15],因此约束Delaunay三角网格法适用于本文两个相邻三角网格之间的连接。在Delaunay三角网格的基础上,采用相邻网格的边界点作为约束条件,基于网格边界节点构建三角网,结合距离最近原则构建区域三角网,将两个相邻三角网连接为一体,如
图 5. 相邻边界拼接原理。(a)拼接前;(b)拼接后
Fig. 5. Principle of adjacent boundary splicing. (a) Before splicing; (b) after splicing
图 6. 三角网格生成连接结果。(a)三角网格生成结果;(b)三角网格拼接后结果
Fig. 6. Connection results generated by triangular mesh. (a) Generated results; (b) spliced results
2.5 拼接区域消峰处理
复杂三角网格在拼接过程中,若拼接范围较大或者两个三角网格交叉一起,可能会出现局部尖锐峰值,因此需要进行消峰平滑处理。本文采用Laplacian平滑算法[11,16]进行处理,若拼接区域较小,则可能不会出现峰值。
Laplacian算法处理的原理是对平滑区域拼接网格的每个顶点重新赋予新坐标,以达到消峰的作用,其表达式为
式中:Told是平滑以前的网格顶点坐标;Tnew是平滑后重新赋予的新的网格顶点坐标,T是与Told顶点直接相邻的所有顶点;
2.6 拼接数据输出与转换
拼接后的三角网格需要通过格式转换后才能供后续工作者使用,将拼接后的三角网格,按照bdf格式重新组装,设置文件的头文件、节点标识和面元标识,输出bdf格式文件,其次利用HyperMesh读取bdf文件,将其转换为JT格式的文件,最后可以通过3DMAX打开并得到拼接后的成果,以供设计方直接使用。
3 实验结果与分析
实验数据源于云南某岩溶洞地面三维激光扫描数据,该岩溶洞钟乳石资源丰富,是滇东南地区典型地下岩溶洞之一,具有很强的代表性,通过地面激光扫描仪进行数据获取,岩溶洞全长约2.5 km,共扫描200余站,共计约4.5亿点。部分区域积水较深,导致部分数据损失,支洞较多,因此拼接宽度不统一。局部地区空间宽达120 m有余,高达70 m有余,然而部分区域仅有2 m宽及2 m高左右,这导致数据质量参差不齐,为数据处理造成了一定难度,因此,在方法实现上也存在一定难度。
数据测试在matlab平台上实现了三角网格拼接、平滑、消峰、输出等处理,实验运行环境为在Intel(R) Core(TM) i7-7700 CPU @3.60 GHz处理器,内存为16.0 GB的windows 7操作系统。
3.1 岩溶洞三角网格构建
在构建三角网格之前需要对点云数据进行配准、拼接、去噪、以及坐标转换等处理,让点云数据具备三维建模条件,相关技术流程参见文献[ 17]。
本课题组前期完成了宜良九乡三角洞洞内三维建模与广南县坝美世外桃源旅游景区建设项目中桃源洞、汤那洞三维立体测绘项目,在岩溶洞穴激光点云数据采集、数据处理、三维建模等技术方面积攒了实战经验。通过这两项目发现,在地下及其复杂空间中,按照统一规格建模的效率以及质量均比较差,为了解决这一难题,本研究将点云分类并且按照不同分辨率进行建模,提高了建模效率,改善了岩溶洞建模的质量。
图 7. 点云分类前后对比图。(a)分类前原始点云;(b)分类后点云
Fig. 7. Comparison before and after point cloud classification. (a) Original point cloud before classification; (b) point cloud after classification
点云分类后,按照不同分辨率,进行三角网格构建,由于激光点云数据量较大,现有复杂三角网格生成方法较为成熟,因此,借助I-Site Studio构建复杂三角网格,以obj格式输出,便于后期使用。
图 8. 以不同分辨率构建的三角网格效果图。(a)分类前;(b)分类后
Fig. 8. Triangular mesh renderings with different resolutions. (a) Before the classification; (b) after the classification
3.2 三角网格边界提取结果
根据本文方法提取的三角网格边界结果如
3.3 三角网格边界拼接融合结果
从
图 9. 三角网格拼接边界提取效果对比图。(a)提取前;(b)提取后
Fig. 9. Comparison of mosaic boundary extraction effect of triangular mesh. (a) Before extracting; (b) after extracting
图 10. 三角网边界拼接融合效果对比图。(a)边界拼接前结果;(b)边界拼接后效果
Fig. 10. Contrast diagram of triangular mesh boundary splicing and fusion effect. (a) Before boundary splicing; (b) after boundary splicing
图 11. 消除峰值平滑处理前后对比。(a)未消峰平滑前;(b)消峰平滑后
Fig. 11. Triangular mesh renderings before and after peak smoothing. (a) Before peak smoothing; (b) after peak smoothing
图 12. 拼接融合平滑处理后与原始点云对比图。(a)原始点云;(b)本文方法处理后的网格模型
Fig. 12. Comparison between mosaic fusion results after smoothing and original point cloud. (a) Original point cloud; (b) mesh model processed by the method in this paper
3.4 与具有相同功能软件处理结果的对比分析
商业软件在实现两个网格的拼接与融合时,人工干预较多,本文采用Geomagic Studio软件进行拼接处理,并与本文提出的方法进行比较。
采用Geomagic Studio软件进行两个三角网格拼接与融合时,首先进行网格医生、法线修复、两个网格端点搭桥,然后通过孔洞修复工具进行孔洞填充,以达到实现两个网格拼接的目的,全程需人工干预。然而,采用本文的方法则可以自动实现,并且可以根据需求自动化调节拼接缝隙大小,不需要人工干预。
图 13. 本文网格拼接方法与软件拼接对比图。(a)本文方法自动拼接效果;(b) Geomagic拼接效果
Fig. 13. Comparison of splicing results by mesh splicing method and software. (a) Automatic splicing effect of the method in this paper; (b) splicing effect of Geomagic Studio software
通过
4 结论
将用于工艺品和简单三维网格的拼接与融合方法应用于大型岩溶洞的复杂三维网格的拼接与融合,实验表明,本文方法不仅可以用于精细模型的拼接融合,也能应用于大型岩溶洞的拼接融合,相比已有软件人工手动拼接方法,具有智能化、减少工作量、保障拼接质量等优点,在实际工程应用中,具有较高的实用性。本文研究的不足点在于网格数据量较大,计算和输出时需要耗费大量的时间,今后的研究需在保证网格精度的前提下减小数据量,便于后续人员研究使用,提高作业效率。
[1] KanaiT, SuzukiH, MitaniJ, et al. Interactive mesh fusion based on local 3D metamorphosis[C]∥ Proceedings of Graphics Interface. San Francisco: Morgan Kaufmann Publisher, 1999: 148- 156.
[2] Singh K, Parent R. Joining polyhedral objects using implicitly defined surfaces[J]. The Visual Computer, 2001, 17(7): 415-428.
[3] Jin X G, Lin J C. Wang C C L, et al. Mesh fusion using functional blending on topologically incompatible sections[J]. The Visual Computer, 2006, 22(4): 266-275.
[4] Lin J C, Jin X G. Wang C C L, et al. Mesh composition on models with arbitrary boundary topology[J]. IEEE Transactions on Visualization and Computer Graphics, 2008, 14(3): 653-665.
[5] Bedi S. Surface design using functional blending[J]. Computer-Aided Design, 1992, 24(9): 505-511.
[6] Qin X J, Duan Z J, Zheng H B, et al. Efficient smoothness-preserving fusion modelling method for mesh models[J]. International Journal of Simulation Modelling, 2017, 16(3): 527-540.
[7] WangQ, Yang PF, Jiang YY, et al. A topology structure repair algorithm for triangular mesh model[C]∥2016 13th International Conference on Embedded Software and Systems (ICESS), August 13-14, 2016. Chengdu, China. IEEE, 2016: 131- 136.
[8] 邹北骥, 周浩宇, 王磊, 等. 大交叠区域的三维网格的融合与拼接[J]. 电子学报, 2012, 40(5): 1005-1010.
Zou B J, Zhou H Y, Wang L, et al. 3D mesh merging and stitching with large overlaps[J]. Acta Electronica Sinica, 2012, 40(5): 1005-1010.
[9] 王小娜. 基于映射法的散乱点三角网格划分与拼接算法研究[D]. 秦皇岛: 燕山大学, 2009.
Wang XN. Research on algorithms of scattered points trianglation and mesh blending based on mapping method[D]. Qinhuangdao: Yanshan University, 2009.
[10] 刘姝玉. 三维网格模型拼接技术的研究与实现[D]. 太原: 中北大学, 2019.
Liu SY. Research and implementation of 3D mesh model splicing technology[D]. Taiyuan: North University of China, 2019.
[11] Miao Y W, Lin H B, Shou H H. Mesh stitching and fusion based on Hermite interpolation scheme[J]. Journal of Image and Graphics, 2013, 18(12): 1651-1659.
[12] 张献颖, 周明全, 耿国华. 空间三角网格曲面的边界提取方法[J]. 中国图象图形学报, 2003, 8(10): 122-125.
Zhang X Y, Zhou M Q, Geng G H. A method of detecting the edge of triangular mesh surface[J]. Journal of Image and Graphies, 2003, 8(10): 122-125.
[13] 孙殿柱, 孙永伟, 田中朝, 等. 三角网格曲面模型快速求交算法[J]. 北京工业大学学报, 2012, 38(8): 1121-1124, 1135.
Sun D Z, Sun Y W, Tian Z C, et al. Rapidly getting intersection algorithm for triangular mesh surface models[J]. Journal of Beijing University of Technology, 2012, 38(8): 1121-1124, 1135.
[14] 于庆, 王结臣, 陈焱明. 一种三角网边界提取的方法[J]. 测绘科学, 2009, 34(S2): 82-83, 88.
Yu Q, Wang J C, Chen Y M. A method of boundary extraction for triangle mesh[J]. Science of Surveying and Mapping, 2009, 34(S2): 82-83, 88.
[15] 吴荣光, 汪松, 夏仁虎, 等. 一种基于约束性Delaunay三角网的“两区”地块生成方法[J]. 测绘通报, 2019( S1): 171- 175.
Wu RG, WangS, Xia RH, et al. A method for generating two-zone parcel based on constrained Delaunay triangulation[J]. Bulletin of Surveying and Mapping, 2019( S1): 171- 175.
[16] NealenA, IgarashiT, SorkineO, et al.Laplacian mesh optimization[C]∥Proceedings of the 4th international conference on Computer graphics and interactive techniques in Australasia and Southeast Asia - GRAPHITE'06, November 29-December 2, 2006. Kuala Lumpur, Malaysia.New York: ACM Press, 2006.
[17] 柏宏强, 夏永华, 杨明龙, 等. 大型溶洞旅游开发中三维建模测绘技术及应用[J]. 软件导刊, 2019( 6): 138- 142.
Bai HQ, Xia YH, Yang ML, et al. 3D modeling and mapping technology and application in the development of large Karst cave tourism[J]. Software Guide, 2019( 6): 138- 142.
Article Outline
柏宏强, 夏永华, 杨明龙, 李照永, 龙丽娟. 基于岩溶洞穴复杂表面的三角网格拼接与融合方法研究[J]. 激光与光电子学进展, 2020, 57(15): 152802. Hongqiang Bai, Yonghua Xia, Minglong Yang, Zhaoyong Li, Lijuan Long. Splicing and Fusion of Triangular Meshes for Complex Surface of Karst Cave[J]. Laser & Optoelectronics Progress, 2020, 57(15): 152802.