本发明涉及计算机应用,尤其涉及一种树木三维模型拼接间隙修复方法、系统、终端及计算机可读存储介质。
背景技术:
1、树木是城市场景的重要组成部分,树木三维几何模型被广泛应用于数字城市和环境模拟。
2、常见的真实场景树木重建方法是基于激光和可见光探测技术获取树木影像及点云,然后通过三角网重构技术获得树木几何模型。不同的重建方法在模型拓扑完整性、几何精细度等方面有较大差别。为满足树木模型不同层次细节表达的需要,可使用不同重建方法分别构建树干和树冠模型,再将两种模型进行融合。模型的融合将导致树冠与树干之间存在间隙。
3、常见的间隙修复方法主要分两种,基于体素模型的方法和基于表面模型的方法,基于体素模型的方法是将三角网模型转化为体素模型,进行间隙填充后再转化为三角网表面模型。这种方法简单高效,但体素模型与表面模型之间的转化过程中会使三角网模型损失一部分几何精度。基于表面模型的方法直接识别模型间隙,然后对间隙进行填充。这种方法不改变原始网格模型,仅对间隙做修复,基于表面模型的间隙修复方法可以最大限度保留模型表面几何细节,现有的间隙连接方法一般基于贪婪算法,这种方法对于具有细小、规整间隙网格模型效果较好,但对于树木间隙修复方法,由于树干和树冠分别使用不同的方法进行重建,可能存在间隙过大、间隙边界不规整等问题,间隙修复方法陷入局部最优,从而导致间隙修复后存在凹陷,影响修复后模型的真实度,间隙识别和修复的方法较繁琐,鲁棒性较弱。
4、因此,现有技术还有待于改进和发展。
技术实现思路
1、本发明的主要目的在于提供一种树木三维模型拼接间隙修复方法、系统、终端及计算机可读存储介质,旨在解决现有技术中树木几何模型的间隙修复的几何精度不高,间隙识别和修复的方法较繁琐,鲁棒性较弱的问题。
2、为实现上述目的,本发明提供一种树木三维模型拼接间隙修复方法,所述树木三维模型拼接间隙修复方法包括如下步骤:
3、获取单株树木激光点云和树干倾斜图像,根据所述单株树木激光点云构建树冠三角网模型,根据所述树干倾斜图像构建树干三角网模型;
4、提取所述树冠三角网模型中的所有树冠孔洞和所述树干三角网模型中的所有树干孔洞,计算每一个所述树干孔洞到每一个所述树冠孔洞的距离,根据所述距离确定间隙的边界;
5、获取间隙边界顶点,对所述间隙边界顶点的密度进行加密,以使间隙边界密度一致;
6、根据所述间隙边界顶点拟合得到一个平面,将间隙顶点投影到所述平面上,得到所述间隙边界顶点的二维拓扑点,并根据所述二维拓扑点及贪婪算法选择最新顶点进行三角化,得到补丁面片;
7、对三角化得到的所述补丁面片进行加密,输出完整的树木三角网模型。
8、可选地,所述的树木三维模型拼接间隙修复方法,其中,所述提取所述树冠三角网模型中的所有树冠孔洞和所述树干三角网模型中的所有树干孔洞,计算每一个所述树干孔洞到每一个所述树冠孔洞的距离,根据所述距离确定间隙的边界,具体包括:
9、提取所述树冠三角网模型和所述树干三角网模型中的所有孔洞,所述孔洞包括树干孔洞和树冠孔洞;
10、计算每一个所述孔洞的形心坐标,并通过每个所述形心坐标计算每一个树干孔洞到每一个树冠孔洞的距离,每一个树干孔洞和一个树冠孔洞组成一对孔洞,其中,距离最小的一对孔洞为间隙的边界;
11、计算每一个树干孔洞到每一个树冠孔洞的距离:
12、;(1)
13、其中,表示每一个树干孔洞到每一个树冠孔洞的距离,表示树干第个孔洞的中心点坐标,表示树冠第个孔洞的中心点坐标。
14、可选地,所述的树木三维模型拼接间隙修复方法,其中,所述获取间隙边界顶点,对所述间隙边界顶点的密度进行加密,以使间隙边界密度一致,具体包括:
15、获取间隙边界的边界树干孔洞和边界树冠孔洞,分别计算所述边界树干孔洞和所述边界树冠孔洞的顶点密度,计算所述边界树干孔洞的顶点密度与所述边界树冠孔洞的顶点密度的比值,得到顶点密度之比;
16、将所述顶点密度之比分别与第一预设比值和第二预设比值进行比较;
17、若所述顶点密度之比小于所述第一预设比值或者大于所述第二预设比值,则将所述边界树干孔洞和所述边界树冠孔洞中密度小的孔洞的每一条边一分为二并插入一个新的顶点,直到间隙的所述边界树干孔洞和所述边界树冠孔洞的顶点密度之比大于所述第一预设比值且小于所述第二预设比值。
18、可选地,所述的树木三维模型拼接间隙修复方法,其中,所述根据所述间隙边界顶点拟合得到一个平面,将间隙顶点投影到所述平面上,得到所述间隙边界顶点的二维拓扑点,并根据所述二维拓扑点及贪婪算法选择最新顶点进行三角化,得到补丁面片,具体包括:
19、根据加密后的间隙任意一侧边界的顶点,拟合一个平面;
20、计算间隙边界顶点的中心点,其中,,,分别表示中心点的坐标,间隙边界每两个相邻顶点与中心点构成一个平面,使用法向值ni表示,通过所有法向值计算一个平均值, a, b, c分别表示平均值三个维度的值,平均值用于表示平均平面,平面的函数方程式表示如下:
21、;(2)
22、其中, x, y, z表示平面上任取一个点的坐标;
23、将间隙边界的两个闭环上的顶点投影到平面上,得到二维拓扑点,计算方式如下方程式所示:
24、;(3)
25、;(4)
26、其中,为间隙边界上的顶点坐标,为平面上的映射坐标,表示长度比例因子;
27、根据平面上的所述二维拓扑点及贪婪算法选择最新顶点进行三角化得到补丁面片。
28、可选地,所述的树木三维模型拼接间隙修复方法,其中,所述对三角化得到的所述补丁面片进行加密,输出完整的树木三角网模型,具体包括:
29、根据边界顶点邻接边的长度平均值计算间隙边界顶点密度:
30、;(5)
31、其中,表示边界顶点的权重参数,是邻接边的长度,表示第个边界点,表示第个邻接边,表示边界点共有个临接边;
32、每一步加密中,在已有三角面片中心插入一个新的顶点,并进行delaunay三角剖分;
33、计算新增顶点密度,若新增顶点密度小比边界顶点密度,则继续在补丁面片的中心点添加一个新的顶点及三角剖分,否则,结束补丁面片加密,最终输出完整的树木三角网模型。
34、可选地,所述的树木三维模型拼接间隙修复方法,其中,所述第一预设比值为二分之一。
35、可选地,所述的树木三维模型拼接间隙修复方法,其中,所述第二预设比值为二。
36、此外,为实现上述目的,本发明还提供一种树木三维模型拼接间隙修复系统,其中,所述树木三维模型拼接间隙修复系统包括:
37、数据获取模块,用于获取单株树木激光点云和树干倾斜图像,根据所述单株树木激光点云构建树冠三角网模型,根据所述树干倾斜图像构建树干三角网模型;
38、间隙检测模块,用于提取所述树冠三角网模型中的所有树冠孔洞和所述树干三角网模型中的所有树干孔洞,计算每一个所述树干孔洞到每一个所述树冠孔洞的距离,根据所述距离确定间隙的边界;
39、边界顶点加密模块,用于获取间隙边界顶点,对所述间隙边界顶点的密度进行加密,以使间隙边界密度一致;
40、间隙三角化模块,用于根据所述间隙边界顶点拟合得到一个平面,将间隙顶点投影到所述平面上,得到所述间隙边界顶点的二维拓扑点,并根据所述二维拓扑点及贪婪算法选择最新顶点进行三角化,得到补丁面片;
41、模型输出模块,用于对三角化得到的所述补丁面片进行加密,输出完整的树木三角网模型。
42、此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的树木三维模型拼接间隙修复程序,所述树木三维模型拼接间隙修复程序被所述处理器执行时实现如上所述的树木三维模型拼接间隙修复方法的步骤。
43、此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有树木三维模型拼接间隙修复程序,所述树木三维模型拼接间隙修复程序被处理器执行时实现如上所述的树木三维模型拼接间隙修复方法的步骤。
44、本发明中,获取单株树木激光点云和树干倾斜图像,根据所述单株树木激光点云构建树冠三角网模型,根据所述树干倾斜图像构建树干三角网模型;提取所述树冠三角网模型中的所有树冠孔洞和所述树干三角网模型中的所有树干孔洞,计算每一个所述树干孔洞到每一个所述树冠孔洞的距离,根据所述距离确定间隙的边界;获取间隙边界顶点,对所述间隙边界顶点的密度进行加密,以使间隙边界密度一致;根据所述间隙边界顶点拟合得到一个平面,将间隙顶点投影到所述平面上,得到所述间隙边界顶点的二维拓扑点,并根据所述二维拓扑点及贪婪算法选择最新顶点进行三角化,得到补丁面片;对三角化得到的所述补丁面片进行加密,输出完整的树木三角网模型。本发明对三维空间中的树木三角网模型完成间隙修复,恢复树木三角网模型间隙部分,生成的三角网面片与周围已有网格密度一致且平滑过渡,模型保真度高,方便应用于数字城市和环境模拟。