CN110533764B - 面向建筑群的分形四叉树纹理组织方法 - Google Patents
面向建筑群的分形四叉树纹理组织方法 Download PDFInfo
- Publication number
- CN110533764B CN110533764B CN201910668372.4A CN201910668372A CN110533764B CN 110533764 B CN110533764 B CN 110533764B CN 201910668372 A CN201910668372 A CN 201910668372A CN 110533764 B CN110533764 B CN 110533764B
- Authority
- CN
- China
- Prior art keywords
- texture
- building
- fractal
- same
- image
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种面向建筑群的分形四叉树纹理组织方法。具体步骤为:(1)利用相同纹理具有相同分形维数的特点,将四叉树结构中具有相同分形维数的纹理块进行合并,建立纹理的分形四叉树结构;(2)根据建模的精度要求利用分形四叉树结构建立一个简洁有效的纹理数据组织,按“Z”字型编码方式命名并存储建筑物的多分辨率纹理数据;(3)将建筑物中所有具有相同纹理属性面用同一张纹理影像进行绑定,按照建筑物纹理属性进行不同类别间的并行运算,进而实现建筑物三维模型的快速纹理映射。本发明解决了现阶段纹理组织过程中数据冗余、加载和索引纹理数据占用内存大的问题,提高了索引和调用纹理数据速度从而完成建筑物三维模型的快速纹理映射。
Description
技术领域
本发明涉及计算机图形处理和摄影测量领域,主要涉及纹理数据的组织、数据结构和纹理映射方法三个方面。
技术背景
随着智慧城市的发展,建筑物三维模型的建立在城市规划、旅游、交通等诸多方面变得至关重要,其中建筑物纹理的管理和组织方式直接影响到纹理映射速度和三维模型的真实程度。
目前纹理数据的组织方法主要是基于空间剖分方法和对象包围盒方法生成索引,前者方法常用的是由上到下的剖分来生成场景分割树,如四叉树、k-D树等;而基于对象包围盒索引方法是由下至上聚合生成管理树结构,包含包围球、R树索引等。这些方法都是以独立纹理进行存储,每一张纹理影像都要先完成数据解析,找到关联信息,最后读取相应的格式的纹理数据。利用上述纹理组织和索引方法进行建筑物三维模型的纹理映射时,需要先计算映射函数,然后解析几何模型并调用场景中所有纹理数据,当调用数据粒度过大时,索引过程将产生多余纹理数据;当调用数据粒度过小时,需要多次索引才能完成纹理读取,整个过程需要消耗极大的存储空间。在过去几十年中,很多国内外学者对此进行了大量的研究,仍然有几个明显的问题存在:
(1)三维模型纹理映射后,仍需要实时地更新,若建筑物数量成千上万,则会导致纹理读取速度变慢,纹理映射时间变长。
(2)当多栋建筑物纹理类型和材质有相同部分时,纹理数据的存储将产生冗余,增加了空间复杂度,从而导致运算效率降低。
发明内容
本发明提出了一种面向建筑群的分形四叉树纹理组织方法,以解决现阶段纹理组织过程中数据冗余,加载和索引纹理数据占用内存大的问题。
为实现本发明之目的,本发明采用以下具体技术方案予以实现:
1.结合倾斜影像的视线与法向的关系以及目标纹理面积两个约束条件,选择最优片面纹理数据源。
最优片面纹理数据源的获取包括:(1)首先计算目标纹理所在墙面的法向量然后计算此墙面的摄影方向接下来计算两方向的夹角θ,最后在M幅含有目标纹理的影像中选择θ角最小的影像,将所有影像用集合R1表示。(2)利用共线方程求出建筑物墙面上网格点在倾斜影像上对应的像点。通常纹理为四边形,所以将目标纹理的四个顶点相连并计算其面积,不同目标纹理在各类影像中面积最大的倾斜影像用集合R2表示。(3)在完成以上两个步骤的基础之上,取R1和R2的交集,选择变形最小且目标纹理面积最大的影像作为最优纹理源。
2.将分形和四叉树技术相结合,利用分形的自相似性和相同纹理具有相同分形维数的特点,将四叉树结构中具有相同分形维数的纹理块进行合并,进而将建筑物的纹理进行分类和组织,建立纹理的分形四叉树结构。
本发明采用“top-down”(从上至下)的分割方法,先检查影像全域,根据要求精度计算合理层数并设置图像分形维数阈值k;然后原始影像作为四叉树根节点进行四分,新建四个子图像作为叶子节点,并计算所有节点分形维数;判断所有节点分形维数两两差值是否≤k,如果有≤k的节点存在,则删除下层叶子节点保留上层节点,并判断当前是否是最优层数,如果不存在≤k的节点,则直接判断当前是否是最优层数;如果当前层是最优层数,则结束分割,如果不是最优层数,则子节点继续分割计算节点分形维数,直至分割到最优层数为止。
3.采用四叉树结构进行模型层次的组织,然后对纹理进行分层和分块,构建一个纹理金字塔模型,建立具有四叉树结构的LOD(Levels of Detail)数据组织。
由于采用四叉树结构来组织模型层次,因此,需要按“Z”字型和Morton编码方式对每一层纹理的分块结果进行编码命名和存储。对于同一层的纹理数据,每个分块所对应的Morton码的值是唯一的,因此,Morton码实际上记录了每个分块纹理的属性信息,同时利用Morton码可以为每个分块建立索引。利用四进制形式表示的Morton码,确定上一层次模型的某个分块所对应的下一层相同空间位置的4个分块,从而建立起具有四叉树结构的LOD数据组织。
4.在纹理映射过程中,可以使用同一张纹理影像绑定建筑物中所有具有相同纹理属性面,按照建筑物纹理属性进行类别间的纹理映射,各类别之间相互独立并行运算,进而实现建筑物三维模型所有面的并行纹理映射。程序运行一次纹理映射不需要提前在内存保存全部纹理数据,既能提高纹理映射速度,又能减少占用内存,同时增强三维模型的真实感。
本发明提出的方法运行相对简单,可以对纹理数据进行有效地组织和管理。结果显示,本方法能够提高索引和调用纹理数据速度,从而完成建筑物三维模型的快速纹理映射,并且在时间表现上优于先前的方法。
附图说明
图1是本发明分形四叉树纹理分类流程图。
图2是本发明分形四叉树纹理组织示意图。
图3是本发明实施例生成真实建筑三维模型流程图。
图4是本发明实施例的多面并行纹理映射流程图。
图5是本发明实施例的城市建筑物纹理映射结果图。
具体实施方式
下面结合本发明中的实施例附图对本发明的具体实施方式做进一步说明。
实施例:
本实施例中,我们选取国外某地区的城市建筑物数据进行纹理数据的组织,该城市建筑物数据和相关纹理影像是从航空影像中提取得到,其地区建筑物密度较大,高低不一并且几何结构相对复杂,所以组织庞大的纹理数据,并快速获得具有真实感建筑物三维模型十分困难。
步骤1、对获得的倾斜影像进行最优纹理选择。
本实施例中,先选择变形最小的影像,即通过计算目标纹理所在墙面的法向量然后计算此墙面的曝光中心视线方向接下来计算两方向的夹角θ,最后在M幅含有目标纹理的影像中选择θ角最小的影像,将所有影像用集合R1表示。设建筑物墙面上的点A,B,C,D坐标分别为(XA,YA,ZA),(XB,YB,ZB),(XC,YC,ZC),(XD,YD,ZD),即可得建筑物墙面的法向量与建筑物中心O(X0,Y0,Z0)分别为:
当目标建筑物墙面的法向量与曝光中心视线方向之间的角度小于90度时,建筑物墙面纹理在倾斜影像上可见,即可表示为:
选择纹理面积最大的影像,将所有影像用集合R2表示。利用共线方程求出建筑物墙面上网格点在倾斜影像上对应的像点(x,y),Xsw,Ysw,Zsw为倾斜相机中一个曝光中心的外方位元素。通常纹理的形状为四边形,所以将目标纹理的四个顶点相连,计算其面积为:
令f(Xsw,Ysw,Zsw)为目标纹理面积函数,故目标纹理面积最大的函数可表示为:
在完成以上两个步骤的基础之上,取R1和R2的交集,选择变形最小且目标纹理面积最大的影像作为最优纹理源。
步骤2、利用分形四叉树分割技术,将建筑物的纹理进行分类和管理。
结合图1,本发明采用“top-down”(从顶向下)的分割方法,首先检查影像全域,根据要求精度计算合理层数并设置阈值k;然后原始影像作为四叉树根节点进行四分,新建四个子图像作为叶子节点,并计算所有节点分形维数;判断所有节点分形维数两两差值是否≤k,如果有≤k的节点存在,则删除下层叶子节点保留上层节点并判断当前是否是最优层数,如果不存在≤k的节点则直接判断当前是否是最优层数;如果当前层是最优层数,则结束分割,如果不是最优层数,则子节点继续分割计算节点分形维数,直至分割到最优层数为止。其中,k是根据要求精度设置的图像分形精度阈值,在±k的范围内的分形维度被默认为相同。
结合图2,LOD1中编号1和编号4纹理都具有相同的分形维数,所以保留编号4的纹理,删除编号1的纹理;在LOD2中由于已经删除编号1纹理,所以不会继续向下分形,即5、6、7、8纹理为空;编号18和编号19与LOD1中编号4的纹理具有相同分形维数,根据去留规则,保留编号4纹理,删除编号18和编号19纹理,其它的纹理也按照此规则逐次向下分割,直至分割至最优层数。本发明提出的分形四叉树分割技术减少了各格网之间的重复检查次数,进而减少运算量,提高纹理分类速度。根据产生误差的原因,这里出现的±k的误差在软件中可以利用光照、环境和材质等因子的设置进行补偿,对最终建成模型的影响几乎可以忽略。
步骤3、采用四叉树结构进行模型层次的组织,然后对所有纹理进行分层分块,构建一个纹理金字塔模型,建立起具有四叉树结构的LOD数据组织。
结合图2,为了构建纹理的金字塔结构模型,需要对纹理进行分层和分块,由于采用四叉树结构进行纹理层次的组织,因此每一层纹理按“Z”字型编码方式对每个子纹理块进行编码命名。对于同一层的纹理数据,每个分块所对应的Morton码的值是唯一的,因此Morton码实际上记录了每个子纹理块的属性信息,利用Morton码可以为每个子纹理块建立索引。利用四进制形式表示的Morton码,确定上一层次模型的某个分块所对应的下一层相同空间位置的4个分块,从而建立具有四叉树结构的LOD数据组织。
步骤4、导入建筑物数据,生成建筑物三维模型。
结合图3,首先加载城市建筑的倾斜影像和POS(position and orientationsystem)数据,然后进行区域的整体平差,接下来进行多视角影像的密集匹配,进而生成三维的TIN网格,最终创建未贴图的建筑物三维模型。
步骤5、建筑物三维模型中具有相同纹理属性面进行并行运算,快速完成建筑物的纹理映射。
结合图4,在纹理映射的过程中,本发明提出了一种相同纹理属性面进行并行纹理映射的方法,即按照建筑物纹理属性进行分类别并行运算。例如将建筑物纹理分为墙面纹理和顶面纹理,并且其共有N种纹理属性,其中包括属性n1、n2、m1、m2…,若墙面纹理中有wt1、wt3、wt4…具有相同的属性n1;顶面纹理中rt1、ft2…具有相同的属性m1,使用纹理n1绑定wt1、wt3、wt4…,使用纹理m1绑定rt1、rt2…,类型n和类型m纹理同时执行纹理映射,采取并行运算减少占用内存,从而提高运算效率。
步骤6、根据本发明的纹理管理和组织方式,以及建筑物三维模型相同属性面并行纹理映射方案,对建筑物进行三维可视化。
结合图5,在本实施例中调用纹理金字塔中的一张纹理影像,可以绑定建筑物中所有具有相同纹理属性面,程序运行一次纹理映射不需要提前在内存保存全部纹理数据,从而减少空间复杂度,提高运算效率。虽然结合附图描述了本发明的实施方式,但是本领域内熟练的技术人员可以在所附权利要求的范围内做出各种变形和修改。
Claims (4)
1.一种面向建筑群的分形四叉树纹理组织方法,其特征在于具体步骤为:
1)结合倾斜影像的视线与法向的关系以及目标纹理面积两个约束条件,选择最优片面纹理数据源;
利用共线方程求出建筑物墙面上网格点在倾斜影像上对应的像点;理为四边形,所以将目标纹理的四个顶点相连并计算其面积,不同目标纹理在各类影像中面积最大的倾斜影像用集合R2表示;
在完成以上两个步骤的基础之上,取R1和R2的交集,选择变形最小且目标纹理面积最大的影像作为最优纹理源;
2)将分形和四叉树技术进行结合,利用分形的自相似性和相同纹理具有相同分形维数的特点,将四叉树结构中具有相同分形维数的纹理块进行合并,进而将建筑物的纹理进行分类,建立纹理的分形四叉树结构;
3)采用四叉树结构进行模型层次的组织,然后对纹理进行分层分块,构建一个纹理金字塔模型,建立具有四叉树结构的LOD数据组织;
4)使用同一张纹理影像绑定建筑物中所有具有相同纹理属性面,按照建筑物纹理属性进行类别间并行运算,进而实现建筑物三维模型所有面的快速纹理映射。
2.根据权利要求1所述的方法,其特征在于所述的步骤2)具体为:
采用“top-down”从顶向下的分割方法,先检查影像全域,根据要求精度计算合理层数并设置图像分形维数阈值k;然后原始影像作为四叉树根节点进行四分,新建四个子图像作为叶子节点,并计算所有节点分形维数;判断所有节点分形维数两两差值是否≤k,如果有≤k的节点存在,则删除下层叶子节点保留上层节点,并判断当前是否是最优层数,如果不存在≤k的节点,则直接判断当前是否是最优层数;如果当前层是最优层数,则结束分割,如果不是最优层数,则子节点继续分割计算节点分形维数,直至分割到最优层数为止。
3.根据权利要求1所述的方法,其特征在于所述的步骤3)具体为:
由于采用四叉树结构来组织模型层次,因此,需要按“Z”字型和Morton编码方式对每一层纹理的分块结果进行编码命名和存储;对于同一层的纹理数据,每个分块所对应的Morton码的值是唯一的,因此,Morton码实际上记录了每个分块纹理的属性信息,同时利用Morton码可以为每个分块建立索引;利用四进制形式表示的Morton码,确定上一层次模型的某个分块所对应的下一层相同空间位置的4个分块,从而建立起具有四叉树结构的LOD数据组织。
4.根据权利要求3所述的方法,其特征在于所述的步骤4)具体为:
在纹理映射过程中,可以使用同一张纹理影像绑定建筑物中所有具有相同纹理属性面;程序运行一次纹理映射不需要提前在内存保存全部纹理数据,按照四叉树方法建立好纹理树索引后直接调用,这样既能减少占用内存又能提高纹理映射速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910668372.4A CN110533764B (zh) | 2019-07-23 | 2019-07-23 | 面向建筑群的分形四叉树纹理组织方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910668372.4A CN110533764B (zh) | 2019-07-23 | 2019-07-23 | 面向建筑群的分形四叉树纹理组织方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110533764A CN110533764A (zh) | 2019-12-03 |
CN110533764B true CN110533764B (zh) | 2021-07-02 |
Family
ID=68660784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910668372.4A Active CN110533764B (zh) | 2019-07-23 | 2019-07-23 | 面向建筑群的分形四叉树纹理组织方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110533764B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112802134A (zh) * | 2021-01-11 | 2021-05-14 | 南京征帆信息科技有限公司 | 一种三维模型的编码方法、装置和终端 |
CN114021394B (zh) * | 2021-12-06 | 2024-06-04 | 北京达美盛软件股份有限公司 | 一种倾斜摄影模型优化方法及装置 |
CN116841742B (zh) * | 2023-07-03 | 2024-05-03 | 劳弗尔视觉科技有限公司 | 一种用于计算海量数据的流式处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078619A (en) * | 1996-09-12 | 2000-06-20 | University Of Bath | Object-oriented video system |
CN101957838A (zh) * | 2010-09-13 | 2011-01-26 | 天津市星际空间地理信息工程有限公司 | 一种海量三维数字城市模型组织管理方法 |
CN102879401A (zh) * | 2012-09-07 | 2013-01-16 | 西安工程大学 | 基于模式识别和图像处理的纺织品瑕疵自动检测及分类方法 |
-
2019
- 2019-07-23 CN CN201910668372.4A patent/CN110533764B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078619A (en) * | 1996-09-12 | 2000-06-20 | University Of Bath | Object-oriented video system |
CN101957838A (zh) * | 2010-09-13 | 2011-01-26 | 天津市星际空间地理信息工程有限公司 | 一种海量三维数字城市模型组织管理方法 |
CN102879401A (zh) * | 2012-09-07 | 2013-01-16 | 西安工程大学 | 基于模式识别和图像处理的纺织品瑕疵自动检测及分类方法 |
Non-Patent Citations (2)
Title |
---|
An enhanced fractal image compression integrating quantized quadtrees and entropy coding;Rasha Adel Ibrahim等;《IEEE Xplore》;20160114;全文 * |
基于四叉树的分形地形实时动态生成算法;王洪瑞 等;《计算机工程》;20110831;第37卷(第16期);第218-223页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110533764A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7557803B2 (en) | Method, computer program product and data structure for representing two- or three-dimensional object modeling | |
CN110533764B (zh) | 面向建筑群的分形四叉树纹理组织方法 | |
CN106898045B (zh) | 一种基于sgog瓦块的大区域真三维地理场景自适应构建方法 | |
CN110321443B (zh) | 三维实景模型数据库构建方法、装置及数据服务*** | |
CN107170033A (zh) | 基于激光雷达技术的智慧城市3d实景地图*** | |
CN113706713A (zh) | 一种实景三维模型裁剪方法、装置及计算机设备 | |
CN109872390B (zh) | 一种海量三维模型的组织方法 | |
CN114998544B (zh) | 一种顾及视觉主体的建筑实体模型轻量化方法 | |
CN110889888B (zh) | 纹理精简和分形压缩集成的三维模型可视化方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN108717729A (zh) | 一种面向虚拟地球的地形多尺度tin在线可视化方法 | |
CN103309943A (zh) | 一种三维地理信息平台及其地形数据处理方法 | |
CN112113544B (zh) | 一种基于无人机影像的遥感数据处理方法及*** | |
CN111784840A (zh) | 基于矢量数据自动分割lod层级三维数据单体化方法及*** | |
CN109544672A (zh) | 一种三维建筑模型纹理映射方法及装置 | |
CN109934911A (zh) | 基于OpenGL的移动端高精度倾斜摄影三维建模方法 | |
CN108765538A (zh) | 基于cad平台的osgb数据分级渲染的方法 | |
CN113269870A (zh) | 一种基于三维剖分网格的多分辨率数字地形集成方法 | |
CN115221580A (zh) | 一种基于Godot的园区数字孪生建筑模型构建方法 | |
Yang et al. | A hybrid spatial index for massive point cloud data management and visualization | |
CN116467540B (zh) | 一种基于HBase的海量空间数据快速可视化方法 | |
Wu et al. | [Retracted] Intelligent City 3D Modeling Model Based on Multisource Data Point Cloud Algorithm | |
CN116863137A (zh) | 输电铁塔三维模型的优化方法、装置和计算机设备 | |
CN115033972B (zh) | 一种建筑主体结构批量单体化方法、***及可读存储介质 | |
CN114445574B (zh) | 将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备 |
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 |