基于三维r树索引扩展结构的三维城市模型自适应方法

文档序号:6334884阅读:537来源:国知局
专利名称:基于三维r树索引扩展结构的三维城市模型自适应方法
技术领域
本发明属于地理空间信息系统技术领域,特别是涉及一种用于基于三维R树索引 扩展结构的三维城市模型自适应方法。
背景技术
随着地球空间数据获取手段如摄影测量、激光扫描技术等的发展,三维模型数据 的获取精度和建模速度不断提高,一方面提高了三维场景的细腻程度,另一方面也带来了 场景的复杂性,并使数据量激增。三维显示方面的硬件技术的发展速度已经不能满足数据 量日益增长的需要,即使是硬件水平最好的计算机也无法实时显示所有的数据;硬件技术 的发展使得各种各样的硬件终端不断出现,这些终端的性能特点各有差别,即使是同一类 型的终端也会存在性能的差别。现实三维应用中,用户对于系统的响应时间都有一个限度, 对于实时绘制三维场景的应用程序来说尤其如此。如何在限定的时间内,自动适应数据量 和硬件性能等客观条件的变化,从而绘制出最佳的场景图像,已经成为制约虚拟地理环境、 三维城市模型和数字地球等应用的关键科学问题之一。R树是一种平衡的树状层次结构,所有叶节点具有相同的深度,叶节点直接包含 目标,其父节点包含数个叶节点,依次向上逐级嵌套,处于最上层的根节点间接包含全部目 标,根节点范围是包含所有目标的最小包围盒,全树仅有一个根节点,通常是各种操作的入 口,如空间查询和更新操作等。除了提供三维空间检索功能,三维R树也可以实现二维查询 功能,对各种空间分布形态的目标集合也具有很强的适应性,因此三维R树索引方法能够 为GIS应用提供全面的空间查询方案。R树扩展至三维空间后,节点重叠引发多路查询激增是效率低下的主要原因。近年 来研究人员通过改进节点选择算法和节点分裂算法,通过改善节点形状来解决三维R树节 点重叠严重问题。为消除空间目标形态对索引效率影响,通过拓扑关系制定了构建索引的 规则,对不规则三维目标切割成小目标,一定程度上改善节点重叠现象,然而切割过程增加 几何和语义维护成本。全局优化的节点选择算法和二分为三的节点分裂算法也被提出,最 大限度地改善节点重叠现象,使得节点的三维空间聚簇性增强,三维R树树形更趋合理。以 良好树形为基础,R树的天然层次结构使得与多细节层次技术结合成为可能。相关研究文 献有朱庆,龚俊.一种改进的真三维R树空间索引方法.武汉大学学报(信息科学版), 2006,31(4) :340-343 ;龚俊,柯胜男,鲍曙明,2008. 一种全新的R树索引方法.计算机应用 研究,25(10) =2946-2948,2955 ;陈鹏,孟令奎,宋杨.三维GIS中基于空间拓扑约束条件的 R树研究.武汉大学学报(信息科学版),2007,32 (4) :347_349 ;朱庆,龚俊,张叶廷,杜志 强.顾及多细节层次的三维R树索引方法.国家发明专利,200910063373. 2。三维城市模型自适应研究主要涉及三维空间数据调度和可视化的自适应理论、方 法和技术。从上世纪80年代开始,人们已经在相关领域进行大量研究探索工作。人们从数 据管理、LOD可视化乃至预测模型等多个角度开展了系统研究。Fimkhouser将高度复杂建 筑物场景按照小的独立空间进行管理,采用一种成本-贡献判据在帧率稳定的前提下自适应地选择合适的离散多细节层次模型来绘制画面。Mattausch提出了一种将可视空间自动 划分成为一个多级可视单元层次的方法,它使用一个基于成本的模型使得平均绘制时间最 小化。Haist通过一种侦测算法预调度几何和纹理数据,同时也采取成本-贡献原则选择合 适的细节层次模型数据。Wimmer从连续LOD管理的角度提出了相应的算法。Zach对离散和 连续LOD结合的情况进行了研究。已有的流行通用绘制平台如Vega、OSG和OpenGVS等均 尚无法满足千兆级场景复杂度的需求,而近期开发的海量图形绘制系统一般是研究性的原 型系统,通常是在一个新的关键算法基础上集成其他的系统模块,如北卡大学的GigaWalk, 意大利CRS4可视计算小组的Far Voxels,普林斯顿大学的iWalk,霍普津斯大学的vLOD等。 这些系统需要大量的预处理,且对具有不同复杂类型的三维城市场景和硬件条件的适应性 不高。

发明内容
本发明目的在于针对三维城市模型应用缺乏自适应方法的现状,基于三维R树索 引扩展结构,提出一种便于定量调整且易于实现的三维城市模型自适应方法。本发明的技术方案为包括有以下步骤,步骤1,采用现有三维R树索引方法对三维城市模型构建树状索引结构,借助R树 的层次结构自动创建多细节层次模型;步骤2,从该步骤起,即进入三维城市模型应用的每一帧图像处理过程,下面开始 一帧的完整处理过程;步骤3,根据统计数据调整R树的多细节层次参数;步骤4,采用多细节层次检索算法获取待可视化的多细节层次目标集合;步骤5,根据场景贡献模型对步骤4中的目标集合进行排序;步骤6,根据成本预测模型,预估可调度的目标模型集合;步骤7,启动线程调度确定的目标模型数据,并放入目标缓存;步骤8,从目标缓存中确定可视化目标;步骤9,逐一绘制目标模型,当超出预算时间,则进入步骤10 ;步骤10,统计绘制和调度的性能数据,更新统计数据;步骤11,如果接收退出指令,进入步骤12,否则转入步骤3,进入下一帧的处理过 程;步骤12,退出。本发明上述步骤1的具体方式包括如下步骤,步骤1. 1,计算R树索引层数N,自上而下,设根节点层为第0层,叶节点层为第N-I 层,并且,当前层第I层为第N-2层,即叶节点的父节点层;步骤1. 2,利用R树查询算法搜索所有第I层的节点集合N0de_Set {Node。,Node1, Node2,…,NodeJ ;步骤1. 3,对于节点集合中每个节点Nodei,从其每个子节点的元组目标集合中分 别挑选1个最重要的元组目标,重要性按照高度或者二维投影面积决定,选取采用高度最 大或者二维投影面积最大原则,如果视线同地面夹角小于临界角度时,采用高度最大原则 生成的目标集合,如果夹角大于临界角度时,采用二维投影面积最大原则生成的目标集合。合并作为本节点的元组目标集合;步骤1.4,令I = 1-1,如果I为非负,进入步骤1.2,否则进入步骤1.5;步骤1.5,退出。本发明的步骤4的具体方式包括以下步骤,步骤4. 1,将R树根节点设为Node ;步骤4. 2,判断Node也就是最小包围盒与视锥体的空间关系。如果相离,则终止该 分支;如果在视锥体内,进入步骤4. 3 ;如果同视锥体相交,进入步骤4. 5 ;步骤4. 3,如果视距大于节点的细节层次范围,则终止该分支;如果视距落于节点 的细节层次范围,则将节点中的目标全部加入目标集合,并终止该分支;如果视距小于节点 的细节层次范围,则将该节点中的目标全部加入目标集合,并进入步骤4. 4 ;步骤4. 4,循环访问各子节点,将子节点逐一设为Node并进入步骤4. 2 ;步骤4. 5,如果视距大于节点的细节层次范围,则终止该分支;如果视距落于节点 的细节层次范围,则逐一判断节点中的目标与视锥体的空间关系,如果非相离则加入目标 集合,并终止该分支;如果视距小于节点的细节层次范围,则将该节点中不与视锥体相离的 目标加入目标集合,并进入步骤4. 6 ;步骤4. 6,循环判断各子节点与视锥体的空间关系,如果非相离,则将子节点设为 Node并进入步骤4. 2 ;步骤4. 7,如果所有查询分支均终止,则退出。本发明扩展R树索引结构在各层节点中均管理目标模型,借助从叶节点层到根节 点层具有节点数目近似等比递减的特点实现多细节层次目标管理方法。随着视距变化,过 渡到各层节点中获取合适的目标数据。本发明方法可以通过多细节层次参数方便定量地调 整场景复杂度,从而实现三维城市模型的自适应方法。本发明方法可以实现全场景的多细 节层次描述,使得绘制画面高度逼真。


图1本发明原理示意图;图2视场范围内的不同细节层次区域划分图。
具体实施例方式以下结合附图详细说明本发明的技术方案参见图1,本发明的技术方案原理是以现有三维R树索引方法为基础,利用R树的 层次结构并扩展其结构管理多细节层次目标模型,按照选取原则从叶节点层开始自下而上 逐层自动生成多细节层次模型;针对三维R树扩展结构设计一套多细节层次定义参数,可 以推算出各细节层次作用范围等;依据视距和各细节层次作用范围的关系,从根节点开始 判断启动节点中的细节层次目标与否,完成多细节层次检索操作;根据硬件终端的实时处 理能力,通过调整多细节层次定义参数,定量地控制场景复杂度和数据调度量,实现三维城 市模型的自适应方法。本发明实施例的实现过程采用计算机实现自适应处理,包括以下步骤,步骤1,采用现有三维R树索引方法对三维城市模型构建树状索引结构,借助R树的层次结构自动创建多细节层次模型。现有三维R树索引方法通过改进节点选择和节点分裂子算法改善节点重叠现象, 使得树形结构更趋合理。传统R树仅在叶节点中管理目标,本发明在中间节点中也管理目 标,中间节点的目标从其子节点中获取。首先从叶节点的父节点层开始,每个父节点包含数 个子节点同时也是叶节点,从每个子节点中选取一个最重要目标,加入到父节点中,于是父 节点中的目标数目等于子节点数目,选取原则可以采用高度最大或者二维投影面积最大原 则,也可以生成两套,在实时绘制时,如果视线同地面夹角小于临界角度时,采用高度最大 原则生成的目标集合,如果夹角大于临界角度时,采用二维投影面积最大原则生成的目标 集合。不同R树层代表不同的细节层次,叶节点层中的目标是最高细节层次模型,其父节点 是第二细节细节层次模型,依次向上细节层次逐渐减低,直至根节点层。步骤2,从该步骤起,即进入三维城市模型应用的每一帧图像处理过程,下面开始 一帧的处理过程。在上一步骤生成三维城市模型的多细节层次目标模型后,从本步骤开始说明三维 城市模型自适应应用中每一帧图像的完整处理过程。步骤3,根据统计数据调整R树的多细节层次参数。统计数据来源于前面帧中数据 调度和图形绘制的性能数据。基于R树的多细节层次参数,包括多细节层次层数(即R树层数),最高细节层次 即LODl的最远作用距离和层间倍数(即相邻层的最远作用距离的倍数)。这样设计的目的 在于,通过调整LODl的最远作用距离即可全面调整各层细节层次的作用范围。下面探讨该细节层次参数的设置原则和合理性。各层的适用范围必须合理定义, 保证在不同视场范围下可见的目标数目稳定在某个范围之内。以某个理想三维场景为例, 即其中目标分布均勻,理论上各层R树节点也分布均勻,同时视线竖直向下,寻找某个临界 视点,如果提高视点将有部分区域采用下一细节层次表达,此时整个场景均采用最高细节 层次表达,视点到视锥体边缘目标距离即最远视距约等于最高细节层次的最远距离d,采用 同样方式寻找第二个临界视点,使得整个场景采用第二细节层次表达,此时最远视距约等 于第二细节层次的最远距离D。R树的扇出(fanout)参数是节点包含的子节点数目,它是 一个约束值,存在最小值m和最大值M,因此在某个区域内,相邻层的节点数目比值近似在 1 m 1 M之间。按照本文的多细节层次生成方法,任意节点中的目标数目均满足扇 出系数条件,因此各个节点中的目标数目大致相等。由于两个场景覆盖地域面积的比值为 (D/d)2,而节点数目比值为1 m 1 M,因此要保证两个场景目标数目近似,则要满足m
< (D/d)2 < Μ,即<1,因此相邻层的最远距离要满足等比关系,如果m = 4,M = 9,
则2 < D/d < 3时,将能保证各种场景下目标绘制数目大致相等。在基于三维R树的多细节层次管理方法中,调整最高细节层次的最远距离参数 (FarDist)即能调整各层的作用范围,当FarDist增大时,各层的最近距离和最远距离均增 大,且作用范围的区间增大。调整FarDist可以改变场景的多细节层次和复杂性,FarDist 增大则场景复杂,FarDist减小则场景简化。因此,通过调整该参数可以实现三维城市模型 自适应绘制。下面讨论改变参数对于三维场景的影响。令视点接近地表且视线水平,假设 最高细节层次最远距离为D,且层间倍数为k,则视场范围的不同细节层次区域划分参见图2,其中,D为500米,k为2,总共三层细节层次,视场水平夹角a为90度。LODl层的作用范 围面积Slodl = π D2*a/360,L0D2层的作用范围面积Slod2 = (k2_l) Ji D2*a/360,各层面积均 和D2存在正比关系。假定三维场景属于理想状态,即目标分布密度均勻,导致各层节点分 布密度也基本均勻,则各层覆盖面积决定了覆盖范围内的节点数目也即目标数目,因此各 层次范围内的目标数目之和与D2存在正比关系。每个目标数据量相等的前提下,理论上目 标数目和处理时间也成正比关系,进而推出处理时间和D2成正比关系。三维场景实时绘制 中,可以根据前几帧的处理时间在每帧绘制前定量调整D值,以应对系统负载变化,在保证 稳定帧率的前提下提供最为丰富的细节层次。根据前几帧的平均处理时间的原因是,避免 单帧过程的不稳定性因素。步骤4,采用多细节层次检索算法获取待可视化的多细节层次目标集合。为了便于实施,本发明提供了在现有三维R树扩展方法基础上实现步骤4的具体 方式,包括以下步骤步骤4. 1,将R树根节点设为Node ;步骤4. 2,判断Node (最小包围盒)与当前视锥体的空间关系;空间关系包括相离、相交和包含等三种关系。如果相离,则表明节点中目标均不在 视域内,则终止该分支;如果在视锥体内,则表明节点中的目标均在视域内,进入步骤4.3 ; 如果同视锥体相交,则表明可能部分目标在视域内,进入步骤4. 5。步骤4. 3,如果视距大于节点的细节层次范围,则终止该分支;如果视距落于节点 的细节层次范围,则将节点中的目标全部加入目标集合,并终止该分支;如果视距小于节点 的细节层次范围,则将该节点中的目标全部加入目标集合,并进入步骤4. 4。步骤4. 4,循环访问各子节点,将子节点逐一设为Node并进入步骤4. 2 ;步骤4. 5,如果视距大于节点的细节层次范围,则终止该分支;如果视距落于节点 的细节层次范围,则逐一判断节点中的目标与视锥体的空间关系,如果非相离则加入目标 集合,并终止该分支;如果视距小于节点的细节层次范围,则将该节点中不与视锥体相离的 目标加入目标集合,并进入步骤4. 6 ;步骤4. 6,循环判断各子节点与视锥体的空间关系,如果非相离,即属于包含或者 相交关系时,则将子节点设为Node并进入步骤4. 2 ;步骤4. 7,如果所有查询分支均终止,则退出。步骤5,根据场景贡献模型对步骤4中的目标集合进行排序。本发明的成本预测模型,包括数据调度和可视化两部分的成本估算,影响因素包 括调度数据量和图元数目等。场景贡献模型用于评价目标在场景中的重要性,用于目标的 重要性排序,影响因素包括视距、尺寸、语义和屏幕位置等,实际应用中根据需求可以作出 灵活调整和选择。下面是成本预测模型解释,其中,0代表某个目标,C1、C2、C3、C4和05是 系数,它们根据实际性能来决定。Cost (0) = CostForAccess (0) +CostForRender (0),其中,CostForAccess (0)是目 标的调度成本,CostForRender(O)是目标的绘制成本。CostForAccess(O) = Cl*Model (0)+C2*Tex (0),式中,Model (0)是将调度的模型 数据量,Tex(O)是将调度的纹理数据量。调度成本同模型和纹理数据量呈良好的线性关系。CostForRender (0) = C3*Poly (0)+C4*Vert (0)+C5*Pixel (0),式中,Poly(O)、Vert(O)和Pixel(O)分别是目标的多边形数目、节点数目和屏幕像素更新数目。绘制成本 同多边形数目、节点数目和屏幕像素更新数目呈良好的线性关系。步骤6,根据成本预测模型,预估可调度的目标模型集合。本发明的场景贡献模型旨在描述目标在当前场景中的重要性。Contribution(0) = Bl*Dist (0)+B2*Size(0)+B3*Semantic(0)+B4*Angle(0),其 中,B1、B2、B3和B4是经验系数,Dist(O)是视距,Size(O)是目标尺寸,Semantic (0)是语 义量化值,Angle(O)是目标偏离视线中轴线的夹角,偏角越大意味重要性越小。步骤7,启动线程调度确定的目标模型数据,获取的目标模型数据放入目标缓存。模型数据调度是费时操作,如果放于主线程中处理,会导致画面停顿或者停滞,启 动辅助线程调度数据就在于保持可视化的可交互性,保证画面的流畅性。步骤8,从目标缓存中确定可视化目标。查找目标缓存和待可视化的目标集合的交集,作为本帧画面绘制的模型内容。步骤9,逐一绘制目标模型,当超出预算时间,则进入步骤10 ;步骤10,统计绘制和调度的性能数据,更新统计数据;本帧过程中绘制和调度的性能数据均加以测算,获得当前的绘制速度和数据调度 速度,并结合前面数帧数据更新统计数据。步骤11,如果接收退出指令,进入步骤12,否则转入步骤3,进入下一帧的处理过 程;步骤12,退出。本发明技术方案的步骤1进行了多细节层次模型生成,步骤2 12进行三维城市 模型的自适应调整。具体实施时,由本领域技术人员按照上述流程进行软件编程实现即可, 本发明所提供技术方案的等同替换方案也应当在保护范围内。
权利要求
一种基于三维R树索引扩展结构的三维城市模型自适应方法,其特征在于包括以下步骤,步骤1,采用三维R树索引方法对三维城市模型构建树状索引结构,借助R树的层次结构自动创建多细节层次模型;步骤2,从该步骤起,即进入三维城市模型应用的每一帧图像处理过程,下面开始一帧的完整处理过程;步骤3,根据统计数据调整R树的多细节层次参数,即最高细节层次作用范围的最远距离;步骤4,采用多细节层次检索算法获取待可视化的多细节层次目标集合;步骤5,根据场景贡献模型对步骤4中的目标集合按照视距从近到远进行排序;步骤6,根据成本预测模型,计算可调度的目标模型集合;步骤7,启动线程调度确定的目标模型数据,并放入目标缓存;步骤8,从目标缓存中确定可视化目标;步骤9,逐一绘制目标模型,当超出预算时间,则进入步骤10;步骤10,测算绘制和调度过程的性能数据,更新统计数据;步骤11,如果接收退出指令,进入步骤12,否则转入步骤3,进入下一帧的处理过程;步骤12,退出。
2.根据权利要求1所述的基于R树索引扩展结构的三维城市模型自适应方法,其特征 在于所述步骤1的多细节层次目标模型生成方法包括以下步骤,步骤1. 1,计算R树索引层数N,自上而下,设根节点层为第0层,叶节点层为第N-I层, 并且,当前层第I层为第N-2层,即叶节点的父节点层;步骤1.2,利用R树查询算法搜索所有第I层的节点集合NodeSet {Node。,Node1, Node2,…,NodeJ ;步骤1. 3,对于节点集合中每个节点Nodei,从其每个子节点的元组目标集合中分别挑 选1个最重要的元组目标,选取采用高度最大或者二维投影面积最大原则,如果视线同地 面夹角小于临界角度时,采用高度最大原则生成的目标集合,如果夹角大于临界角度时,采 用二维投影面积最大原则生成的目标集合,合并作为本节点的元组目标集合; 步骤1.4,令I = 1-1,如果I为非负,进入步骤1.2,否则进入步骤1.5 ; 步骤1.5,退出。
3.根据权利要求1所述的基于R树索引扩展结构的三维城市模型自适应方法,其特征 在于所述步骤3中的R树的多细节层次参数包括多细节层次层数、最高细节层次作用范围 的最远距离和层间倍数,其中,层数小于等于R树层数;层间倍数是相邻细节层次作用范围的最远距离的倍数,它要落于㈤,VS)内,其中m和M是R树的扇出系数;最高细节层次作用范围的最远距离的平方同场景中的目标数目成正比关系。
4.根据权利要求1所述的基于R树索引扩展结构的三维城市模型自适应方法,其特征 在于所述步骤4的多细节层次检索方法包括以下步骤,步骤4. 1,将R树根节点设为Node ;步骤4. 2,判断Node也就是最小包围盒与视锥体的空间关系;如果相离,则终止该分支;如果在视锥体内,进入步骤4. 3 ;如果同视锥体相交,进入步骤4. 5 ;步骤4. 3,如果视距大于节点的细节层次范围,则终止该分支;如果视距落于节点的细 节层次范围,则将节点中的目标全部加入目标集合,并终止该分支;如果视距小于节点的细 节层次范围,则将该节点中的目标全部加入目标集合,并进入步骤4. 4 ;步骤4. 4,循环访问各子节点,将子节点逐一设为Node并进入步骤4. 2 ; 步骤4. 5,如果视距大于节点的细节层次范围,则终止该分支;如果视距落于节点的细 节层次范围,则逐一判断节点中的目标与视锥体的空间关系,如果非相离则加入目标集合, 并终止该分支;如果视距小于节点的细节层次范围,则将该节点中不与视锥体相离的目标 加入目标集合,并进入步骤4. 6;步骤4. 6,循环判断各子节点与视锥体的空间关系,如果非相离,则将子节点设为Node 并进入步骤4. 2 ;步骤4. 7,如果所有查询分支均终止,则退出。
全文摘要
本发明涉及一种基于三维R树索引扩展结构的三维城市模型自适应方法,包括以下步骤首先扩展三维R树索引结构,保证中间节点可以管理目标模型;从叶节点层向根节点层自下而上逐层生成多细节层次目标模型,不同R树层代表不同的细节层次,叶节点层中的目标是最高细节层次模型,其父节点是第二细节细节层次模型,依次向上细节层次逐渐减低,直至根节点层;定义多细节层次定义参数,包括层数、最高细节层次的最远作用范围和层间倍数;在实时可视化过程中,根据当前性能实时修改多细节层次定义参数来定量调整三维城市模型的场景复杂度。
文档编号G06F17/30GK101996242SQ20101052861
公开日2011年3月30日 申请日期2010年11月2日 优先权日2010年11月2日
发明者吴建华, 夏宇, 柯胜男, 龚俊 申请人:江西师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1