CN113793418B - 基于线性几何体拟合的建筑物三维模型简化方法 - Google Patents
基于线性几何体拟合的建筑物三维模型简化方法 Download PDFInfo
- Publication number
- CN113793418B CN113793418B CN202111122633.6A CN202111122633A CN113793418B CN 113793418 B CN113793418 B CN 113793418B CN 202111122633 A CN202111122633 A CN 202111122633A CN 113793418 B CN113793418 B CN 113793418B
- Authority
- CN
- China
- Prior art keywords
- voxel
- building
- model
- node
- voxelization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 40
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 13
- 230000000007 visual effect Effects 0.000 claims abstract description 6
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims 1
- 239000010410 layer Substances 0.000 description 24
- 230000000694 effects Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/08—Construction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Image Generation (AREA)
Abstract
本发明提出了一种基于线性几何体拟合的建筑物三维模型简化算法,包括如下步骤:基于GPU对建筑物三维模型进行实体体素化;对相邻的实体体素进行空间聚类;对建筑物三维模型进行简化;提高简化模型的视觉质量。本发明不论对“水密性”模型还是“非水密性”模型均可以进行高效的实体体素化,增强了对建筑物三维模型数据的适应性和算法鲁棒性;通过体素聚类和线性几何体拟合聚类体素,用少量的线性几何体表征原建筑物模型,实现高质量的简化模型。
Description
技术领域
本发明涉及计算机图形学模型简化领域,尤其涉及针对建筑物的利用线性几何体拟合的自动大量简化技术,具体涉及一种基于线性几何体拟合的建筑物三维模型简化方法。
背景技术
智慧城市是近几年图形学研究的热点之一,而城市三维模型实时绘制是智慧城市可视化的基础。如何对大范围精细的城市模型实现高效高质量实时可视化,是一项极具挑战性的任务。精细建筑物模型需要较大的存储空间及较强的计算绘制能力。一个中等规模的城市模型可能需要数以百计吉比特(GBytes)的存储量,其中一个高精度的中等建筑模型往往需要数十兆比特(Mbytes),当该精细模型的画面投影面积较小时,用简化模型来替代精细模型将在保持画面质量同时,大大降低内存消耗及绘制计算量。因此,自动生成建筑物模型的多层次细节(LOD)的简化模型,是实现三维城市模型实时绘制的关键技术之一。
模型的简化方法可主要分为基于几何网格的简化方法和基于图像的简化方法。基于几何网格的简化方法通过去除模型表面较小的几何细节来降低模型几何复杂性。基于图像的简化方法偏向于采用图像来表达物体的细节。如Billoard Clouds算法能够高效产生一系列带纹理的Billoard来拟合原有模型。但现有的模型简化算法主要存在以下两个问题:
1.基于几何网格的简化方法适于精细流形,对网格连通性有较高的要求,当模型被高度简化的时候,往往难于保持原有的特征;对建筑模型中含有的大量的直角、水平或者垂直边、斜面和带状面等重要特征,往往需要额外的处理。
2.基于图像的简化方法难于自适应选择误差阈值和纹理的分辨率,结果可能存在裂缝等明显失真的现象。
发明内容
为了解决上述问题,本发明提供了一种基于线性几何体拟合的建筑物三维模型简化方法,包括如下步骤:
基于GPU对建筑物三维模型进行实体体素化;
对相邻的实体体素进行空间聚类;
对建筑物三维模型进行简化。
进一步的,对建筑物三维模型进行实体体素化包括如下步骤:
对建筑物三维模型进行水密性检测;
如果建筑物三维模型满足水密性要求,利用基于Cuda的高效实体体素化的算法对建筑物三维模型进行实体体素化;
如果建筑物三维模型不满足水密性要求,利用基于连通区域检测的实体体素化的算法对建筑物三维模型进行实体体素化。
进一步的,基于Cuda的高效实体体素化的算法包括如下步骤:
初步检测过程,将模型包围盒三维空间分割成一系列的块,计算模型的三角面片包围盒和这些块是否相交,求出与该包围盒相交的块的集合,从而产生三角面片-块的队列;
准确实体体素化过程,将以上三角面片-块队列分成多个小队列,分配到多个GPU核上进行计算,实现GPU多核计算负载平衡。
进一步的,GPU多核计算包括如下步骤:
首先将所有体素的标记值置为0;
然后检测三角面片-块队列中的块中全部体素单元的中心是否在该三角面片关于投影屏幕xy平面方向的投影内部,如果是则求中心点在三角面片上对应的点的深度z值,将此z值对应体素标记为活跃体素并保存在共享内存中,同时将与此活跃体素在xy平面具有相同投影且z值大于此活跃体素z值的体素标记值全部做一次0-1翻转,即原子异或操作;
等所有GPU核计算完毕后,对于一个体素单元,如果是活跃的体素单元,或体素标记值为1的体素,就是所求的被实体体素化填充的体素。
进一步的,基于连通区域检测的实体体素化的算法包括如下步骤:
a)首先对输入的建筑物三维模型进行表面体素化;
b)创建一棵八叉树,记录每个结点的体素化结果——八叉树的叶子节点赋值为表面体素化的结果,1为被填充,0表示空体素;而对于八叉树中间层节点,如果子节点中存在为1的节点,则记为1,否则记为0;
c)计算八叉树每个节点的概率——从根节点遍历整棵八叉树,对于1的节点,记录该节点的概率为1,对于0的节点计算其概率,计算公式为:
Probablity(节点)=r*Probablity(父节点),
其中0<r<1;
d)设置一个概率阈值P,其中0<P<1,对于八叉树中叶子节点概率大于P的节点,则认为其为需实体化填充的新的体素;
e)通过计算三维连通区域,来验证新结果的封闭性;
f)如果新结果仍不封闭,则调小概率P,返回步骤d;
g)如果新结果已经封闭,对三维模型的内部空间及外部空间,通过种子填充算法进行区分标注,这同时也得到内部空间实体体素化的初步结果。
进一步的,对建筑物三维模型进行简化包括如下步骤:
粗拟合——根据每一个体素聚类几何起始层和终点层中心体素的距离场值,推测出该体素聚类的线性几何体类型,并进行初步拟合;
粗拟合结果修正——对线性几何体拟合结果进行优化调整。
进一步的,对线性几何体拟合结果进行优化调整包括如下步骤:
求出体素的包围盒B,假设C为中心体素的集合,问题记为S(B,C);计算中心体素C间的连通性;
将中心体素投影到包围盒的对称轴上,依次按照坐标值从小到大排列,分割位置遍历中心体素投影到坐标系的区间,计算分割后两个新的包围盒的体素有效率,记为Q;中心体素也将根据分割位置分为两类,如果存在一类中的两个中心体素不连通,那么对于这个新的包围盒中可能存在两个不连通的子区域,重新计算出各个连通区域的体素有效率;
计算两个对称轴的最大体素有效率Q的位置,作为分割位置,并形成两个新的包围盒B1、B2,将中心体素C分类到这两个新的包围盒中形成C1、C2;
迭代求解S(B1,C1),S(B2,C2),直至C1、C2的元素为1。
进一步的,还包括如下步骤:
提高简化后模型的视觉质量。
进一步的,提高简化后模型的视觉质量具体包括如下步骤:
对线性几何体的每个面,将附近原始三维模型,以面的法向方向作为平行投影方向,绘制映射到该面上;
利用图像修复技术,对于简化的三维模型与原始三维模型不一致的纹理空缺部分,通过图像临近的有效像素点将空缺的纹理填补上,使空缺的纹理与其周边保持相似。
本发明的有益效果在于:本发明提供的基于线性几何体拟合的建筑物三维模型简化方法,不论对“水密性”模型还是“非水密性”模型均可以进行高效的实体体素化,增强了对建筑物三维模型数据的适应性和算法鲁棒性;通过体素聚类和线性几何体拟合聚类体素,用少量的线性几何体表征原建筑物模型,实现高质量的简化模型。
附图说明
图1.本发明的流程示意图,
图2.建筑物的原始三维模型,
图3.体素化为128的简化效果图,
图4.体素化为64的简化效果图,
图5.体素化为32的简化效果图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述,下列实施例仅用于解释本发明的发明内容,不用于限定本发明的保护范围。
如图1所示,本发明提出了一种基于线性几何体拟合的建筑物三维模型简化方法,包括如下步骤:
基于GPU对建筑物三维模型进行实体体素化;
对相邻的实体体素进行空间聚类;
通过用线性几何体拟合聚类体素,用少量的线性几何体表征原建筑物模型。
其中,本申请提出了两种实体体素化算法,分别针对封闭模型和开放的模型,具体如下:
1、针对封闭模型(即建筑物三维模型满足水密性要求)采用基于Cuda的高效实体体素化算法
分为预处理过程和实体体素化过程两个阶段。预处理过程主要将模型包围盒三维空间分割成一系列的块(tile),计算模型的三角面片和这些块是否相交,从而产生三角面片-块的队列。在随后的实体体素化过程中,将三角面片队列分配到GPU核(core)上,计算三角面片对应体素及其属性,并进行混合。
预处理过程主要是用于产生三角面片-块的队列,其实现方法主要分为三个步骤:三角面片-块队列建立、块的排序和块的分割。假设体素化的分辨率为N*N*N,算法给出的块的大小为M*M*N,其中M、N均可以人为设置,但要求为2的幂次M<N。首先将三角面片集合传送到GPU中,计算每一个三角面片的包围盒,求出与该包围盒相交的块的集合,产生出三角面片-块队列。然后针对这些三角面片-块的队列,按照块的序号来排序,并在每块对应三角面片数量超过阈值时进行分割,得到三角面片-块的子队列集合。
实体体素化过程以上述的三角面片-块子队列集合作为输入。为了保证得到最优化的性能,算法分配若干个尽可能大的线程块(thread block),线程块内部可以共享显存,每个线程块每次取一个三角面片-块子队列数据。线程块分为多个线程,每个线程运行在一个核上,每次取一定量个的三角面片进行计算处理。通过以上框架,来实现GPU多核计算负载平衡。
每一个线程在处理三角面片时,执行以下操作:
1)三角面片平面-块的覆盖测试:为避免无用的工作,首先检查三角面片平面和块是否相交,如果不相交,线程直接停止处理;
2)三角面片平面-体素单元片段产生:检测块中全部体素单元与三角面片在xy平面上的投影是否相交,即体素单元的中心是否在三角面片关于xy平面的投影内部,如果是则反求中心点在三角面片上对应的点的z值,将此体素标记为活跃体素并保存在共享内存中,同时将与此活跃体素在xy平面具有相同投影且z值大于此活跃体素的z值的体素做一次翻转,即原子异或操作。
3)共享内存混合:对于一个体素单元,如果是活跃的体素单元,那么体素单元一定是有效的;而对于非活跃的体素单元,则将其每一个线程中的对应的体素单元值做异或操作;如果结果是1,那么体素单元有效。
2、针对非封闭模型(即建筑物三维模型不满足水密性要求)采用基于连通区域检测的实体体素化算法
我们在生活中获取的建筑物三维模型中,大量地存在非水密性开放的模型,比如建筑物窗户或者门会造成内部空间开放、内部往往单面墙、建模精度不足造成三维模型表面壳体有裂缝等,从而导致传统要求水密性的实体体素化的方法对建筑物模型容易失效。
该算法的核心思想是:带洞的建筑物模型在低精度的体素化结果中模型很可能为封闭,通过引入概率模型,能够利用低精度的体素化结果优化高精度的体素化结果,从而填补上存在的漏洞,得到实体体素化的结果。
该算法思路是构建一棵完整的八叉树,叶子节点是有效体素的记录为1,否则记录为0;通过引入概率,对于每个0的叶子节点计算其概率,这个概率与其和有效体素的距离紧密相关;取一个距离阈值,当该概率大于这个距离阈值时,则认为此叶子节点也是有效体素;通过计算三维连通区域,来验证新结果的封闭性。这个算法会误增加体素而引起的模型体素化结果的膨胀失真,因此如果模型已经封闭,则对于得到的体素化结果进行修正。修正的思路是内部和外部同时进行“腐蚀”,即只要内部区域和外部区域不连通,对于之前过程中增加的新体素归为内部区域或者外部区域,进行多次“腐蚀”。
该算法的具体步骤如下:
1)对输入的建筑物三维模型进行表面体素化;
2)创建一棵八叉树,记录每个结点的体素化结果;叶子节点同表面体素化的结果,1为叶子节点为模型的体素,0表示叶子节点不为模型的体素;而对于内节点,如果子节点中存在为1的节点,则内部节点记为1,否则记为0;
3)计算八叉树每个节点的概率,从根节点遍历整棵八叉树,对于1的节点,记录该节点的概率为1,对于0的节点计算其概率,计算公式为:
Probablity(节点)=r*Probablity(父节点)
其中0<r<1,r的建议值为0.9;
4)设置一个概率P,对于八叉树中叶子节点概率大于P的节点,则认为其为模型的体素;
5)检测三维的连通区域,将4)中得到新的体素结果,计算空间的三维连通区域;在计算连通区域时,需要体素结果翻转一次,0变为1,非0变为0,计算1的连通区域验证封闭性;
6)如果得到的连通区域N不等于2,说明新结果仍不封闭,则向下调整概率P,并返回4);
7)修正体素结果:
7.1在Step1中得到的体素记为1,Step 4中产生的体素记录为2,采用种子填充的方法来得到模型现在的内部和外部,其中外部为3,内部为4,i=1;
7.2对于所有记录为2的体素,如果周边6-连通(或者18-连通,26-连通)区域有奇数3,…2i+1,且周边6-连通(或者18-连通,26-连通)区域不存在偶数4,…2i+2的节点,则将该体素值由2改为2i+3;如果周围有周边6-连通(或者18-连通,26-连通)区域有偶数4,…2i+2,且周边6-连通(或者18-连通,26-连通)区域不存在奇数3,…2i+1的节点,则将该体素值由2改为2i+4;
7.3i++,重复Step 7.2;
7)中记录为偶数的体素作为最终实体体素化的结果。
接着,本申请利用一种线性几何体拟合算法,通过体素聚类和线性几何体拟合聚类体素,用少量的线性几何体表征原建筑物模型,实现高质量的简化模型。
3、体素聚类和线性几何体的粗拟合
本申请体素聚类的方法采用分层的方式,将实体体素化的结果相邻且相似的层的体素聚集在一起。不同层中心体素聚类时允许相邻两层的部分中心体素聚成一个聚簇,其余中心体素可以分割成多个聚簇,能够增强算法的灵活性。在内部体素聚类时,本申请采用不同的分类特征值公式和增加计算内部体素与中心体素的连通性,剔除出现权重大的中心体素影响非连通的内部体素,使得聚类结果效果更佳。
对于每一个体素聚类的集合,将用几何体来拟合聚类的体素,算法选用的几何体主要是多边形体,包括棱锥、棱台和棱柱,每一个体素聚类的集合包含中心体素坐标、层的起始值和终点值、距离场值。算法通过线性几何体辅助分割起始层和终点层的内部体素,得到拟合的线性几何体。
根据每一个体素聚类几何起始层和终点层中心体素的距离场值,能够推测出该体素聚类的线性几何体。根据棱柱、棱锥和棱台的几何定义,当起始层和终点层的中心体素距离场值相等时,推测为棱柱;当起始层和终点层的中心体素距离场值不等时,如果起始层或者终点层的中心体素距离场值为1,推测为棱锥,如果起始层或者终点层的中心体素距离场值都大于1,推测为棱台。
线性几何体类型确定后即可得到一个初步的拟合结果。
4、线性几何体的修正
由于体素化误差或聚类算法误差,可能带来线性几何体分割不够理想的问题。需要对线性几何体拟合结果进行优化调整。调整算法的优化目标是使得各线性几何体覆盖包含实体体素,但整体重叠交叉最小化。
提出一种新的中心体素聚类辅助包围盒分割的算法,算法核心思想是在给定N个中心体素的位置的条件下,计算出沿包围盒对称轴分割的极大值的位置作为分割位置。然后迭代上述过程多次得到N个新的包围盒,其中每个包围盒中有一个中心体素。
具体算法步骤如下:
Step1.求出体素的包围盒B,假设C为中心体素的集合,问题记为S(B,C);计算中心体素C间的连通性;
Step2.将中心体素投影到包围盒的对称轴上,依次按照坐标值从小到大排列,分割位置遍历中心体素投影到坐标系的区间,计算分割后两个新的包围盒的体素有效率,记为Q。中心体素也将根据分割位置分为两类,如果存在一类中的两个中心体素不连通,那么对于这个新的包围盒中可能存在两个不连通的子区域,重新计算出各个连通区域的体素有效率;
Step 3.计算两个对称轴的最大体素有效率Q的位置,作为分割位置,并形成两个新的包围盒B1、B2,将中心体素C分类到这两个新的包围盒中形成C1、C2;
Step 4.迭代求解S(B1,C1),S(B2,C2),直至C1、C2的元素为1。
对线性几何体表面和底面进行分割时,根据推测的线性几何体不同,对与分割结果可能产生不同的约束条件。当推测是棱柱时,两个平面分割出来的多边形要求全等,如果不全等,则分别选取这两层其中一层分割的多边形作为标准底面,而另一层用标准底面拟合该中心体素聚类的内部元素,计算误差率后选取误差率较小的组合作为最后拟合的棱柱;当推测是棱台时,则选取中心体素的距离场值较大的层分割的多边形,按两层中心体素的距离场值的比例缩放,作为中心体素的距离场值较小的层的拟合多边形平面。当推测是棱锥时,则要求其中一个面只有一个顶点,另一个面是多边形,只需要对其中一个面进行单层分割即可。
最后,通过纹理映射贴图来提高简化模型的视觉质量:
线性几何体拟合后,需要对几何体着色。本申请采用延迟绘制,依次求出线性几何体的每个面的纹理,然后纹理映射到线性几何体的表面,得到简化的模型的贴图。在纹理映射时,由于之前用线性几何体拟合三维模型,会在局部出现几何膨胀的区域。对于几何膨胀的区域,纹理可能出现空缺的部分。为了不影响简化模型的整体效果,对于纹理采用图像修复技术,即在纹理空缺部分图像alpha值为0,通过图像临近的有效像素点将空缺的纹理填补上,使空缺的纹理与其周边保持相似。
参照图2-图5,为本申请提出的基于线性几何体拟合的建筑物三维模型简化方法完成的简化模型效果示例。
综上,仅为本发明之较佳实施例,不以此限定本发明的保护范围,凡依本发明专利范围及说明书内容所作的等效变化与修饰,皆为本发明专利涵盖的范围之内。
Claims (5)
1.一种基于线性几何体拟合的建筑物三维模型简化方法,其特征在于,包括如下步骤:
基于GPU对建筑物三维模型进行实体体素化:对建筑物三维模型进行水密性检测;
如果建筑物三维模型满足水密性要求,利用基于Cuda的高效实体体素化的算法对建筑物三维模型进行实体体素化:步骤1、初步检测过程,将模型包围盒三维空间分割成一系列的块,计算模型的三角面片包围盒和这些块是否相交,求出与该包围盒相交的块的集合,从而产生三角面片-块的队列;步骤2、准确实体体素化过程,将以上三角面片-块队列分成多个小队列,分配到多个GPU核上进行计算,实现GPU多核计算负载平衡;
其中,分配到多个GPU核上进行计算的过程为:首先将所有体素的标记值置为0;然后检测三角面片-块队列中的块中全部体素单元的中心是否在该三角面片关于投影屏幕xy平面方向的投影内部,如果是则求中心点在三角面片上对应的点的深度z值,将此z值对应体素标记为活跃体素并保存在共享内存中,同时将与此活跃体素在xy平面具有相同投影且z值大于此活跃体素z值的体素标记值全部做一次0-1翻转,即原子异或操作;等所有GPU核计算完毕后,对于一个体素单元,如果是活跃的体素单元,或体素标记值为1的体素,就是所求的被实体体素化填充的体素;
如果建筑物三维模型不满足水密性要求,利用基于连通区域检测的实体体素化的算法对建筑物三维模型进行实体体素化:步骤a、首先对输入的建筑物三维模型进行表面体素化;步骤b、创建一棵八叉树,记录每个结点的体素化结果——八叉树的叶子节点赋值为表面体素化的结果,1为被填充,0表示空体素;而对于八叉树中间层节点,如果子节点中存在为1的节点,则记为1,否则记为0;步骤c、计算八叉树每个节点的概率——从根节点遍历整棵八叉树,对于1的节点,记录该节点的概率为1,对于0的节点计算其概率,计算公式为:Probablity(节点)=r*Probablity(父节点),其中0<r<1;步骤d、设置一个概率阈值P,0<P<1,对于八叉树中叶子节点概率大于P的节点,则认为其为需实体化填充的新的体素;步骤e、通过计算三维连通区域,来验证新结果的封闭性;步骤f、如果新结果仍不封闭,则调小概率P,返回步骤d;步骤g、如果新结果已经封闭,对三维模型的内部空间及外部空间,通过种子填充算法进行区分标注,这同时也得到内部空间实体体素化的初步结果;
对相邻的实体体素进行空间聚类;
对建筑物三维模型进行简化。
2.根据权利要求1所述的基于线性几何体拟合的建筑物三维模型简化方法,其特征在于,对建筑物三维模型进行简化包括如下步骤:
粗拟合——根据每一个体素聚类几何起始层和终点层中心体素的距离场值,推测出该体素聚类的线性几何体类型,并进行初步拟合;
粗拟合结果修正——对线性几何体拟合结果进行优化调整。
3.根据权利要求2所述的基于线性几何体拟合的建筑物三维模型简化方法,其特征在于,对线性几何体拟合结果进行优化调整包括如下步骤:
求出体素的包围盒B,假设C为中心体素的集合,问题记为S(B,C);计算中心体素C间的连通性;
将中心体素投影到包围盒的对称轴上,依次按照坐标值从小到大排列,分割位置遍历中心体素投影到坐标系的区间,计算分割后两个新的包围盒的体素有效率,记为Q;中心体素也将根据分割位置分为两类,如果存在一类中的两个中心体素不连通,那么对于这个新的包围盒中可能存在两个不连通的子区域,重新计算出各个连通区域的体素有效率;
计算两个对称轴的最大体素有效率Q的位置,作为分割位置,并形成两个新的包围盒B1、B2,将中心体素C分类到这两个新的包围盒中形成C1、C2;
迭代求解S(B1,C1),S(B2,C2),直至C1、C2的元素为1。
4.根据权利要求1所述的基于线性几何体拟合的建筑物三维模型简化方法,其特征在于,还包括如下步骤:
提高简化后模型的视觉质量。
5.权利要求4所述的基于线性几何体拟合的建筑物三维模型简化方法,其特征在于,提高简化后模型的视觉质量具体包括如下步骤:
对线性几何体的每个面,将附近原始三维模型,以面的法向方向作为平行投影方向,绘制映射到该面上;
利用图像修复技术,对于简化的三维模型与原始三维模型不一致的纹理空缺部分,通过图像临近的有效像素点将空缺的纹理填补上,使空缺的纹理与其周边保持相似。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122633.6A CN113793418B (zh) | 2021-09-24 | 2021-09-24 | 基于线性几何体拟合的建筑物三维模型简化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122633.6A CN113793418B (zh) | 2021-09-24 | 2021-09-24 | 基于线性几何体拟合的建筑物三维模型简化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113793418A CN113793418A (zh) | 2021-12-14 |
CN113793418B true CN113793418B (zh) | 2023-06-09 |
Family
ID=79184324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111122633.6A Active CN113793418B (zh) | 2021-09-24 | 2021-09-24 | 基于线性几何体拟合的建筑物三维模型简化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113793418B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116862816B (zh) * | 2023-07-28 | 2024-01-26 | 杭州雅智医疗技术有限公司 | 一种基于三维形态学的模型膨胀方法、装置及应用 |
CN117389746B (zh) * | 2023-12-11 | 2024-04-30 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种基于bim的行人仿真建筑空间解析方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6747651B1 (en) * | 1998-07-18 | 2004-06-08 | National University Of Singapore | System and method for creating bounding volume hierarchies utilizing model simplification |
CN101231761A (zh) * | 2008-01-29 | 2008-07-30 | 南京大学 | 一种保持外观特征的网格模型简化方法 |
CN109509249A (zh) * | 2018-09-29 | 2019-03-22 | 北京航空航天大学 | 一种基于部件的虚拟场景光源智能生成方法 |
CN109934928A (zh) * | 2019-03-18 | 2019-06-25 | 江西博微新技术有限公司 | 基于骨架化的三维模型简化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9173590B2 (en) * | 2010-05-17 | 2015-11-03 | Children's Hospital Los Angeles | Method and system for quantitative renal assessment |
US9792734B2 (en) * | 2013-09-13 | 2017-10-17 | Carnegie Mellon University | Methods and software for volume-centric shape abstraction and simplification of a 3D digital model |
-
2021
- 2021-09-24 CN CN202111122633.6A patent/CN113793418B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6747651B1 (en) * | 1998-07-18 | 2004-06-08 | National University Of Singapore | System and method for creating bounding volume hierarchies utilizing model simplification |
CN101231761A (zh) * | 2008-01-29 | 2008-07-30 | 南京大学 | 一种保持外观特征的网格模型简化方法 |
CN109509249A (zh) * | 2018-09-29 | 2019-03-22 | 北京航空航天大学 | 一种基于部件的虚拟场景光源智能生成方法 |
CN109934928A (zh) * | 2019-03-18 | 2019-06-25 | 江西博微新技术有限公司 | 基于骨架化的三维模型简化方法 |
Non-Patent Citations (2)
Title |
---|
Multi-view Stereo Reconstruction via Voxel Clustering and Optimization of Parallel Volumetric Graph Cuts;ZHU Yun-Feng等;Proc. of SPIE-IS&T Electronic Imaging;第7872卷;第1-11页 * |
架空输电线路金具三维模型简化算法研究;李会超等;电力勘测设计(第2期);第16-20,26页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113793418A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108648269B (zh) | 三维建筑物模型的单体化方法和系统 | |
CN113096234B (zh) | 利用多张彩色图片生成三维网格模型的方法及装置 | |
CN108986195B (zh) | 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法 | |
CN113793418B (zh) | 基于线性几何体拟合的建筑物三维模型简化方法 | |
CN113781667B (zh) | 三维结构简化重建方法、装置、计算机设备和存储介质 | |
CN114332366B (zh) | 数字城市单体房屋点云立面3d特征提取方法 | |
CN111784840B (zh) | 基于矢量数据自动分割lod层级三维数据单体化方法及系统 | |
EP3736776B1 (en) | Apparatus, system and method for the generation of polygonal meshes | |
WO2018113502A1 (zh) | 一种自动生成网格与着色器多层次细节的方法 | |
US11532123B2 (en) | Method for visualizing large-scale point cloud based on normal | |
CN110717967A (zh) | 面向大场景模型web端动态渲染LOD处理方法 | |
CN102521870B (zh) | 一种微多边形光线跟踪的着色重用方法 | |
CN114926602B (zh) | 基于三维点云的建筑物单体化方法及系统 | |
CN106355646B (zh) | 应用于图像处理的表面细化方法、装置以及系统 | |
CN115953551A (zh) | 一种基于点云初始化和深度监督的稀疏网格辐射场表示方法 | |
Zhao et al. | Completing point clouds using structural constraints for large-scale points absence in 3D building reconstruction | |
CN112381945B (zh) | 三维模型过渡面的重建方法及系统 | |
CN110288517A (zh) | 基于投影匹配组的骨架线提取方法 | |
CN110738726B (zh) | 一种基于八叉树的机器人视觉引导三维物体重建方法 | |
CN111028349A (zh) | 一种适用于海量三维实景数据快速可视化的层级构建方法 | |
CN114742947B (zh) | 一种适用于大范围的倾斜三维模型纹理分块重建方法 | |
CN115861566A (zh) | 一种基于强度体素模型的LiDAR点云建筑物完整性增强方法 | |
CN115937465A (zh) | 一种顾及像素区域预测的深度图融合算法 | |
CN111524236B (zh) | 一种基于平面分析的自适应三角网简化方法 | |
CN115063460B (zh) | 一种高精度自适应同名像素插值与优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |