层级细节表示树的生成方法、装置、设备及存储介质转让专利

申请号 : CN202310549496.7

文献号 : CN116258840B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄惠张润泽

申请人 : 深圳大学

摘要 :

本申请涉及一种层级细节表示树的生成方法、装置、设备及存储介质,涉及建模技术领域。方法包括:对三维对象模型进行面检测,得到多个检测面;根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面;对各细节结构面进行分组,得到各细节结构面组合;根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,得到多层级的分割空间;根据多层级的分割空间生成三维对象模型的层级细节表示;层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。采用本申请能够保证生成的层级细节表示是有意义的。

权利要求 :

1.一种层级细节表示树的生成方法,其特征在于,包括:

对三维对象模型进行面检测,得到多个检测面;

根据所述多个检测面对所述三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定所述三维对象模型的各主体面和各细节结构面;

对所述各细节结构面进行分组,得到各细节结构面组合;

根据第一优先级顺序从各主体平面中依次确定待进行空间分割的当前分割面,并根据依次确定的所述当前分割面,对所述三维对象模型进行不同层级的空间分割,得到一部分层级的分割空间;所述第一优先级顺序表征面积越大的主体面进行空间分割的优先级越高;

根据第二优先级顺序从各细节结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的所述当前分割面组合,对基于所述各主体面进行空间分割结束后确定的最后层级的分割空间进行不同层级的空间分割,得到多层级的分割空间;所述第二优先级顺序表征细节结构的体积越大的细节结构面集合所属的细节结构面组合进行空间分割的优先级越高;根据所述多层级的分割空间生成所述三维对象模型的层级细节表示;

所述层级细节表示用于作为生成与所述三维对象模型对应的不同粒度的层级细节模型的依据。

2.根据权利要求1所述的方法,其特征在于,所述三维对象模型的层级细节表示包括所述三维对象模型的层级细节树;

所述根据所述多层级的分割空间生成所述三维对象模型的层级细节表示,包括:

将所述三维对象模型的包围盒空间作为根结点;

根据空间分割的层级顺序,依次将各其他层级下的分割空间作为对应层级的结点;所述层级顺序根据所述第一优先级顺序和所述第二优先级顺序确定;所述各其他层级为根结点所在层级之外的层级;

根据所述根结点和所述各其他层级下的结点,构建所述三维对象模型的层级细节树。

3.根据权利要求1所述的方法,其特征在于,所述根据第一优先级顺序从所述各主体平面中依次确定待进行空间分割的当前分割面,并根据依次确定的所述当前分割面,对所述三维对象模型进行不同层级的空间分割,得到一部分层级的分割空间,包括:根据第一优先级顺序确定优先级最高的主体面,将优先级最高的所述主体面作为当前分割面,并根据所述当前分割面对所述三维对象模型进行空间分割,得到当前层级的分割空间;

迭代执行根据所述第一优先级顺序确定下一待进行空间分割的主体面,将下一待进行空间分割的主体面作为新的当前分割面,并根据所述新的当前分割面对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于所述各主体面进行空间分割结束,得到一部分层级的分割空间;

所述根据第二优先级顺序从所述各细节结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的所述当前分割面组合,对基于所述各主体面进行空间分割结束后确定的最后层级的分割空间进行不同层级的空间分割,得到多层级的分割空间,包括:根据第二优先级顺序确定优先级最高的细节结构面组合,将优先级最高的所述细节结构面组合作为当前分割面组合,并根据所述当前分割面组合对基于所述各主体面进行空间分割结束后所确定的最后层级的分割空间进行空间分割,得到当前层级的分割空间;

迭代执行根据所述第二优先级顺序确定下一待进行空间分割的细节结构面组合,将下一待进行空间分割的细节结构面组合作为新的当前分割面组合,并根据所述新的当前分割面组合对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于所述各细节结构面组合进行空间分割结束,得到多层级的分割空间。

4.根据权利要求2所述的方法,其特征在于,在所述根据所述根结点和所述各其他层级下的结点,构建所述三维对象模型的层级细节树之后,所述方法还包括:从预构建的最大值优先队列中提取位于队列首的结点,作为当前结点;所述预构建的最大值优先队列包括所述根结点;

根据所述当前结点下所有叶子结点对应空间的体积计算所述当前结点的差异价值;所述差异价值用于衡量所述当前结点对应的空间被继续划分的价值;

在所述当前结点的差异价值满足预设的差异价值条件的情况下,迭代执行将所述当前结点从所述最大值优先队列中移除,根据所述当前结点下的子结点的差异价值,将所述当前结点下的子结点加入至所述最大值优先队列,并从所述最大值优先队列中提取位于队列首的结点作为当前结点的步骤;

根据所述最大值优先队列中保留的各结点所对应的分割空间,生成与所述三维对象模型对应粒度的层级细节模型。

5.根据权利要求1所述的方法,其特征在于,所述根据所述多个检测面对所述三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定所述三维对象模型的各主体面和各细节结构面,包括:根据所述多个检测面对所述三维对象模型进行空间分割,以得到基于每个所述检测面对应分割的三维凸多面体;相邻三维凸多面体共用同一检测面;

针对每个检测面,将所述检测面上的各三维点投影到所述检测面上,得到所述检测面上的各二维点,并对所述各二维点进行轮廓提取处理,得到所述各二维点的散点轮廓;

确定每个所述检测面被所述检测面对应的散点轮廓所覆盖的覆盖情况;

删除未被所述散点轮廓所覆盖的检测面,以将共用删除的检测面的相邻三维凸多面体合并,得到多个连通分量;每个连通分量为一个三维凸多面体;

根据所述多个连通分量,确定各主体面和各细节结构面。

6.根据权利要求1至5任一项所述的方法,其特征在于,所述对所述各细节结构面进行分组,得到各细节结构面组合,包括:从所述各细节结构面中确定各细节结构面集合;所述细节结构面集合用于构成同一细节结构;

根据所述各细节结构面集合所构成的细节结构的体积,以及所述各细节结构面集合中的各细节结构面与所述各主体面之间的嵌入关系,对所述各细节结构面集合进行分组,得到各细节结构面组合;

其中,属于同一组的各细节结构面集合各自对应的细节结构面皆嵌入于同一主体面,且属于同一组的各细节结构面集合各自构成的细节结构的体积属于同一体积范围。

7.一种层级细节表示树的生成装置,其特征在于,包括:

平面检测模块,用于对三维对象模型进行面检测,得到多个检测面;

空间分割模块,用于根据所述多个检测面对所述三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定所述三维对象模型的各主体面和各细节结构面;

平面分组模块,用于对所述各细节结构面进行分组,得到各细节结构面组合;

所述空间分割模块,还用于根据第一优先级顺序从各主体平面中依次确定待进行空间分割的当前分割面,并根据依次确定的所述当前分割面,对所述三维对象模型进行不同层级的空间分割,得到一部分层级的分割空间;所述第一优先级顺序表征面积越大的主体面进行空间分割的优先级越高;根据第二优先级顺序从各细节结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的所述当前分割面组合,对基于所述各主体面进行空间分割结束后确定的最后层级的分割空间进行不同层级的空间分割,得到多层级的分割空间;所述第二优先级顺序表征细节结构的体积越大的细节结构面集合所属的细节结构面组合进行空间分割的优先级越高;

生成模块,用于根据所述多层级的分割空间生成所述三维对象模型的层级细节表示;

所述层级细节表示用于作为生成与所述三维对象模型对应的不同粒度的层级细节模型的依据。

8.根据权利要求7所述的装置,其特征在于,所述平面分组模块还用于从所述各细节结构面中确定各细节结构面集合;所述细节结构面集合用于构成同一细节结构;根据所述各细节结构面集合所构成的细节结构的体积,以及所述各细节结构面集合中的各细节结构面与所述各主体面之间的嵌入关系,对所述各细节结构面集合进行分组,得到各细节结构面组合;其中,属于同一组的各细节结构面集合各自对应的细节结构面皆嵌入于同一主体面,且属于同一组的各细节结构面集合各自构成的细节结构的体积属于同一体积范围。

9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

说明书 :

层级细节表示树的生成方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及建模技术领域,特别是涉及一种层级细节表示树的生成方法、装置、设备及存储介质。

背景技术

[0002] 随着计算机技术的不断发展,对各个对象进行三维建模越来越受到人们的重视。在建立三维对象模型之后,还可以构建三维对象模型的层级细节表示,以指导生成与三维对象模型对应的不同粒度的层级细节模型。
[0003] 目前,可以利用三维对象模型本身具备的几何信息不断简化三维对象模型,从而得到三维对象模型的层级细节表示。但是,采用上述方式所生成的层级细节表示往往有很多无意义的状态,因此不能保证基于该层级细节表示所生成的层级细节模型的意义。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种层级细节表示树的生成方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品,能够保证生成的层级细节表示是有意义的,并且还能保证基于该层级细节表示所生成的层级细节模型的意义。
[0005] 第一方面,本申请提供了一种层级细节表示树的生成方法,包括:
[0006] 对三维对象模型进行面检测,得到多个检测面;
[0007] 根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面;
[0008] 对各细节结构面进行分组,得到各细节结构面组合;
[0009] 根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,得到多层级的分割空间;
[0010] 根据多层级的分割空间生成三维对象模型的层级细节表示;层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。
[0011] 第二方面,本申请提供了一种层级细节表示树的生成装置,包括:
[0012] 平面检测模块,用于对三维对象模型进行面检测,得到多个检测面;
[0013] 空间分割模块,用于根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面;
[0014] 平面分组模块,用于对各细节结构面进行分组,得到各细节结构面组合;
[0015] 空间分割模块,还用于根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,得到多层级的分割空间;
[0016] 生成模块,用于根据多层级的分割空间生成三维对象模型的层级细节表示;层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。
[0017] 在一些实施例中,空间分割模块还用于根据多个检测面对三维对象模型进行空间分割,以得到基于每个检测面对应分割的三维凸多面体;相邻三维凸多面体共用同一检测面;针对每个检测面,将检测面上的各三维点投影到检测面上,得到检测面上的各二维点,并对各二维点进行轮廓提取处理,得到各二维点的散点轮廓;确定每个检测面被检测面对应的散点轮廓所覆盖的覆盖情况;删除未被散点轮廓所覆盖的检测面,以将共用删除的检测面的相邻三维凸多面体合并,得到多个连通分量;每个连通分量为一个三维凸多面体;根据多个连通分量,确定各主体面和各细节结构面。
[0018] 在一些实施例中,空间分割模块还用于将多个连通分量中的、且位于三维对象模型内部的最大连通分量确定主体内部连通分量;将多个连通分量中的、且位于三维对象模型外部的最大连通分量确定主体外部连通分量;根据主体内部连通分量对应的面集合和主体外部连通分量对应的面集合之间的交集,确定各主体面;将三维对象模型中除各主体面之外的各面确定为细节结构面。
[0019] 在一些实施例中,平面分组模块还用于从各细节结构面中确定各细节结构面集合;细节结构面集合用于构成同一细节结构;根据各细节结构面集合所构成的细节结构的体积,以及各细节结构面集合中的各细节结构面与各主体面之间的嵌入关系,对各细节结构面集合进行分组,得到各细节结构面组合;其中,属于同一组的各细节结构面集合各自对应的细节结构面皆嵌入于同一主体面,且属于同一组的各细节结构面集合各自构成的细节结构的体积属于同一体积范围。
[0020] 在一些实施例中,三维对象模型的层级细节表示包括三维对象模型的层级细节树。空间分割模块还用于根据第一优先级顺序从各主体平面中依次确定待进行空间分割的当前分割面,并根据依次确定的当前分割面,对三维对象模型进行不同层级的空间分割,得到一部分层级的分割空间;第一优先级顺序表征面积越大的主体面进行空间分割的优先级越高;根据第二优先级顺序从各细节结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的当前分割面组合,对基于各主体面进行空间分割结束后确定的最后层级的分割空间进行不同层级的空间分割,得到多层级的分割空间;第二优先级顺序表征细节结构的体积越大的细节结构面集合所属的细节结构面组合进行空间分割的优先级越高。生成模块,还用于将三维对象模型的包围盒空间作为根结点;根据空间分割的层级顺序,依次将各其他层级下的分割空间作为对应层级的结点;层级顺序根据第一优先级顺序和第二优先级顺序确定;各其他层级为根结点所在层级之外的层级;根据根结点和各其他层级下的结点,构建三维对象模型的层级细节树。
[0021] 在一些实施例中,空间分割模块还用于根据第一优先级顺序确定优先级最高的主体面,将优先级最高的主体面作为当前分割面,并根据当前分割面对三维对象模型进行空间分割,得到当前层级的分割空间;迭代执行根据第一优先级顺序确定下一待进行空间分割的主体面,将下一待进行空间分割的主体面作为新的当前分割面,并根据新的当前分割面对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各主体面进行空间分割结束,得到一部分层级的分割空间;根据第二优先级顺序确定优先级最高的细节结构面组合,将优先级最高的细节结构面组合作为当前分割面组合,并根据当前分割面组合对基于各主体面进行空间分割结束后所确定的最后层级的分割空间进行空间分割,得到当前层级的分割空间;迭代执行根据第二优先级顺序确定下一待进行空间分割的细节结构面组合,将下一待进行空间分割的细节结构面组合作为新的当前分割面组合,并根据新的当前分割面组合对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各细节结构面组合进行空间分割结束,得到多层级的分割空间。
[0022] 在一些实施例中,本申请的层级细节表示树的生成装置还包括模型构建模块,模型构建模块用于从预构建的最大值优先队列中提取位于队列首的结点,作为当前结点;预构建的最大值优先队列包括根结点;根据当前结点下所有叶子结点对应空间的体积计算当前结点的差异价值;差异价值用于衡量当前结点对应的空间被继续划分的价值;在当前结点的差异价值满足预设的差异价值条件的情况下,迭代执行将当前结点从最大值优先队列中移除,根据当前结点下的子结点的差异价值,将当前结点下的子结点加入至最大值优先队列,并从最大值优先队列中提取位于队列首的结点作为当前结点的步骤;根据最大值优先队列中保留的各结点所对应的分割空间,生成与三维对象模型对应粒度的层级细节模型。
[0023] 第三方面,本申请提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行该计算机程序时实现上述的方法中的步骤。
[0024] 第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法中的步骤。
[0025] 第五方面,本申请提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现本上述的方法中的步骤。
[0026] 上述层级细节表示树的生成方法、装置、计算机设备、计算机可读存储介质及计算机程序产品,对三维对象模型进行面检测,得到多个检测面;根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面。为了保证后续基于这些面进行空间分割所生成的层级细节表示的意义,需要对各细节结构面进行分组,得到各细节结构面组合。根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,能够得到多层级的、且有意义的分割空间。根据多层级的分割空间能够生成三维对象模型的、且同样有意义的层级细节表示;其中,层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。由于生成的层级细节表示是有意义的,所以基于有意义的层级细节表示所生成的层级细节模型也更有意义。此外,本申请通过对三维对象模型进行自动分析以灵活地划分各主体平面和各细节结构面,从而生成对应的层级细节表示,这相对于传统方式中根据预定义的不同层级来指导生成层级细节表示的方式的灵活性更高。综上所述,本申请的层级细节表示树的生成方式,能够在保证层级细节表示以及层级模型的意义的同时,还能兼顾层级细节表示生成的灵活性。

附图说明

[0027] 图1为本申请实施例提供的一种层级细节表示树的生成方法的流程示意图;
[0028] 图2为本申请实施例提供的一种层次细节表示生成方法总览图;
[0029] 图3为本申请实施例提供的一种层级细节表示树的生成装置的结构框图;
[0030] 图4为本申请实施例提供的一种计算机设备的内部结构图;
[0031] 图5为本申请实施例提供的另一种计算机设备的内部结构图;
[0032] 图6为本申请实施例提供的一种计算机可读存储介质的内部结构图。

具体实施方式

[0033] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0034] 在一些实施例中,如图1所示,提供了一种层级细节表示树的生成方法,本实施例以该方法应用于计算机设备进行举例说明,可以理解的是,该计算机设备可以是服务器或终端,该方法可以由服务器或终端单独实现,也可以通过服务器和终端之间的交互来实现。本实施例中,该方法包括但不限于包括以下步骤:
[0035] S102、对三维对象模型进行面检测,得到多个检测面。
[0036] 其中,三维对象模型指的是对目标对象进行扫描并重建后,得到以点云集合或者三角面片组合的方式存储的三维模型。在一些实施例中,目标对象包括建筑,对应的三维对象模型则包括三维建筑模型。在实际应用中,通常是通过激光雷达传感器或者其他测量仪器对建筑进行扫描,并针对扫描结果执行对应的重建算法,得到三维建筑模型,即建筑的三维点云或三角面片表示。
[0037] 面检测,用于提取三维对象模型中的平面,即三维对象模型的多个检测面。
[0038] 具体地,计算机设备对三维对象进行面检测,以检测出三维对象模型中的各个平面,得到多个检测面。
[0039] 在一些实施例中,可以利用区域增长算法提取三维对象模型的平面,得到多个检测面。其中,区域增长算法指的是将具有相似性的点云集合起来构成区域,从而实现平面提取的算法。
[0040] S104、根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面。
[0041] 主体面,指的是三维对象模型的主要平面。细节结构面,指的是嵌入在主体面上的各个细节结构所在的平面。
[0042] 空间分割,指的是通过指定的平面将相应的模型划分成多个空间的空间划分方式。
[0043] 具体地,计算机设备依次根据各个检测面对三维对象模型进行初步的多层级空间分割,得到初步分割出来的多个三维凸多面体。接着,计算机设备根据分割出来的多个三维凸多面体,确定三维对象模型的各主体面和各细节面。
[0044] 在一些实施例中,计算机设备可以随机,或者按照检测面的面积大小,确定各检测面的空间分割顺序。确定好空间分割顺序后,首先提取首个需要空间分割的检测面,并利用该检测面对三维对象模型进行空间分割,得到分割出来的三维凸多面体,即本次分割结果。接着,依次提取下一个需要空间分割的检测面,并利用该检测面对上一次分割结果中的三维凸多面体进行空间分割,得到分割出来的三维凸多面体,直到所有的检测面都完成了空间分割后,得到初步分割出来的多个三维凸多面体。
[0045] S106、对各细节结构面进行分组,得到各细节结构面组合。
[0046] 具体地,计算机设备按照各细节结构面所构成的细节结构的体积大小,以及各细节结构面的平面嵌入关系对细节结构面进行分类,并将属于同一类的细节结构面划分到同一组,得到多个细节结构面组合。
[0047] S108、根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,得到多层级的分割空间。
[0048] 具体地,计算机设备确定各主体面和各细节结构面组合的空间分割顺序,并在确定好空间顺序后,依次确定当前的主体面或者细节结构面,以根据当前的主体面或者细节结构面对三维对象模型进行对应层级的空间分割。在所有的主体面和细节结构面组合都完成空间分割后,得到多层级的分割空间。
[0049] S110、根据多层级的分割空间生成三维对象模型的层级细节表示。
[0050] 其中,层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。
[0051] 具体地,计算机设备采用预设的数据结构对分割出来的分割空间进行多层级组织,以生成三维对象模型的层级细节表示。
[0052] 在一些实施例中,计算机设备可以根据多层级的分割空间来构建层级细节树,以通过构建完成的层级细节树得到层级细节表示。可以理解,利用构建得到的层级细节树上各结点的不同组合,可以得到三维对象模型对应的不同粒度的层级细节模型。
[0053] 上述层级细节表示树的生成方法,对三维对象模型进行面检测,得到多个检测面;根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面。为了保证后续基于这些面进行空间分割所生成的层级细节表示的意义,需要对各细节结构面进行分组,得到各细节结构面组合。根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,能够得到多层级的、且有意义的分割空间。根据多层级的分割空间能够生成三维对象模型的、且同样有意义的层级细节表示;其中,层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。由于生成的层级细节表示是有意义的,所以基于有意义的层级细节表示所生成的层级细节模型也更有意义。此外,本申请通过对三维对象模型进行自动分析以灵活地划分各主体平面和各细节结构面,从而生成对应的层级细节表示,这相对于传统方式中根据预定义的不同层级来指导生成层级细节表示的方式的灵活性更高。综上,本申请的层级细节表示树的生成方式,能够在保证层级细节表示以及层级模型的意义的同时,还能兼顾层级细节表示生成的灵活性。
[0054] 在一些实施例中,步骤104具体包括但不限于包括:根据多个检测面对三维对象模型进行空间分割,以得到基于每个检测面对应分割的三维凸多面体;针对每个检测面,将检测面上的各三维点投影到检测面上,得到检测面上的各二维点,并对各二维点进行轮廓提取处理,得到各二维点的散点轮廓;确定每个检测面被检测面对应的散点轮廓所覆盖的覆盖情况;删除未被散点轮廓所覆盖的检测面,以将共用删除的检测面的相邻三维凸多面体合并,得到多个连通分量;根据多个连通分量,确定各主体面和各细节结构面。
[0055] 其中,相邻三维凸多面体共用同一检测面,每个连通分量为一个三维凸多面体。也就是说,通过同一检测面进行空间分割所得到的三维凸多面体是相邻三维凸多面体。
[0056] 具体地,计算机设备根据检测出来的多个检测面,分别对三维对象模型进行多层级的空间分割,以得到基于每个分割面对应分割得到的三维凸多面体,且明确每个三维凸多面体属于三维对象模型的内部或者外部。针对每个检测面,将检测面上的各个三维点投影到检测面上,以得到检测面的二维点,并对检测面上的各二维点进行轮廓提取处理,得到用于表示各二维点整体形状的轮廓,即散点轮廓。确定每个检测面被轮廓提取处理阶段确定的散点轮廓所覆盖的覆盖情况,比如确定每个轮廓面是否被各自对应的散点轮廓覆盖。接着,删除没有被散点轮廓所覆盖的检测面,以将共用删除的检测面的相邻三维凸多面体进行合并,以使原始的三维对象模型变为更少的连通分量。根据确定出的多个连通分量,准确地确定出三维对象模型的各主体面和各细节结构面。
[0057] 在一些实施例中,可以利用滚球法,即alpha‑shape算法对各二维点进行轮廓提取处理,得到各二维点的散点轮廓。其中,alpha‑shape算法是一种简单、有效的快速提取边界点的算法,可快速准确提取边界点。
[0058] 在一些实施例中,步骤“根据多个连通分量,确定各主体面和各细节结构面”具体包括但不限于包括:将多个连通分量中的、且位于三维对象模型内部的最大连通分量确定主体内部连通分量;将多个连通分量中的、且位于三维对象模型外部的最大连通分量确定主体外部连通分量;根据主体内部连通分量对应的面集合和主体外部连通分量对应的面集合之间的交集,确定各主体面;将三维对象模型中除各主体面之外的各面确定为细节结构面。
[0059] 具体地,计算机设备可以将三维对象模型中的所有连通分量分成四类:主体内部连通分量、主体外部连通分量、细节内部连通分量和细节外部连通分量。其中,主体内部连通分量是多个连通分量中的、且位于三维对象模型内部的最大连通分量,主体外部连通分量是多个连通分量中的、且位于三维对象模型外部的最大连通分量,细节内部连通分量是多个连通分量中的、位于三维对象模型内部的除了最大连通分量之外其他的连通分量,细节外部连通分量是多个连通分量中的、位于三维对象模型外部的除了最大连通分量之外其他的连通分量。计算机设备将主体内部连通分量对应的各个面的集合和主体外部连通分量对应的各个面的集合之间的交集,确定为三维对象模型的各主体面。将三维对象模型中除各主体面之外的各面确定为细节结构面,即,将细节内部连通分量对应的各个面,以及细节外部连通分量对应的各个面确定为细节结构面。通过以上空间分割以及连通分量分类的方式,可以准确地确定出三维对象模型的各主体面和各细节结构面,以便后续基于确定出的各主体面和各细节结构面对三维对象模型进行多层级的空间分割。
[0060] 在一些实施例中,步骤106具体包括但不限于包括:从各细节结构面中确定各细节结构面集合;根据各细节结构面集合所构成的细节结构的体积,以及各细节结构面集合中的各细节结构面与各主体面之间的嵌入关系,对各细节结构面集合进行分组,得到各细节结构面组合。
[0061] 其中,细节结构面集合用于构成同一细节结构,属于同一组的各细节结构面集合各自对应的细节结构面皆嵌入于同一主体面,且属于同一组的各细节结构面集合各自构成的细节结构的体积属于同一体积范围。可以理解,属于同一体积范围的细节结构的体积大小相同或者相似。
[0062] 需要说明的是,由于各细节结构面嵌入于不同的主体平面,并且不同的细节结构面所构成的细节结构的大小不一,为了在构建层级细节表示时保证层级细节模型有意义,则需要将同一类型的各细节结构面划分为同一组。具体地,从各细节结构面中确定出多个细节结构面集合,其中每个细节结构面集合包括多个细节结构面,这多个细节结构面可以构成一个细节结构,比如,这多个细节结构可以构成一个窗户。计算各细节结构面集合所构成的细节结构的体积,若细节结构面集合所构成的细节结构是窗户,则计算的是窗户的体积。与此同时,还需要确定各细节结构面集合中的各细节结构面与各主体面之间的嵌入关系,比如确定各细节结构面集合中的各细节结构面分别嵌入在哪个主体面上。将细节结构的体积大小相同或者相似、且嵌入于同一主体面的细节结构面集合划分到同一组,以得到多个细节结构面组合。
[0063] 在一些实施例中,对各细节结构面进行分组之后,还可以对不同重要性的细节结构面组合采用不同的正则化力度,以对其进行平行、垂直性进行正则化操作。可以理解,原始的三维对象模型中的细节结构,比如三维对象模型中的窗户可能会存在一定的不规整问题,比如窗户是歪斜的,通过正则化则可以解决上述不规整的问题。此外,还可以去除一些使模型过于复杂的细小的面。
[0064] 在一些实施例中,三维对象模型的层级细节表示包括三维对象模型的层级细节树。步骤108具体包括但不限于包括:根据第一优先级顺序从各主体平面中依次确定待进行空间分割的当前分割面,并根据依次确定的当前分割面,对三维对象模型进行不同层级的空间分割,得到一部分层级的分割空间;根据第二优先级顺序从各细节结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的当前分割面组合,对基于各主体面进行空间分割结束后确定的最后层级的分割空间进行不同层级的空间分割,得到多层级的分割空间。
[0065] 其中,第一优先级顺序表征面积越大的主体面进行空间分割的优先级越高,第二优先级顺序表征细节结构的体积越大的细节结构面集合所属的细节结构面组合进行空间分割的优先级越高。
[0066] 当前分割面,指的是当前需要进行空间分割的主体面。当前分割面组合,指的是当前需要进行空间分割的细节结构面组合。
[0067] 具体地,计算机设备根据第一优先级顺序从各主体面中依次确定待进行空间分割的当前分割面,并根据依次确定的当前分割面,依次对三维对象模型进行对应层级的空间分割,基于各主体面对三维对象模型进行多层级的空间分割后,得到一部分的层级的分割空间。计算机设备根据第二优先级顺序从各结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的当前分割面组合,依次对基于各主体面进行空间分割结束后确定的最后层级的分割空间进行对应层级的空间分割,基于各结构面组合进行多层级的空间分割后,得到另一部分的层级的分割空间。可以理解,各个部分的层级的分割空间就是对三维对象模型进行多层级分割后所得到的多层级的分割空间,用于后续生成对应的层级细节表示。
[0068] 在一些实施例中,步骤110具体包括但不限于包括:将三维对象模型的包围盒空间作为根结点;根据空间分割的层级顺序,依次将各其他层级下的分割空间作为对应层级的结点;根据根结点和各其他层级下的结点,构建三维对象模型的层级细节树。
[0069] 其中,层级顺序根据第一优先级顺序和第二优先级顺序确定,各其他层级为根结点所在层级之外的层级。
[0070] 具体地,层级细节树是颗有根结点的树,层级细节树的根结点对应于三维对象模型的包围盒空间,层级细节树的其他各结点都对应于上述依据各主体面和各细节结构面对三维对象模型进行多层级的空间分割所确定出的各个分割空间。根据根结点和各其他层级下的结点,构建三维对象模型的层级细节树。当需要得到三维对象模型的某一粒度下的层级细节模型时,只需要选择层级细节树上的结点组合就可以得到对应的模型,保证了灵活性。
[0071] 此外,层级细节树上的每个结点所对应的分割空间可以是有向空间,也就是说,若某个结点对应的分割空间位于三维对象模型内部时,则为正。若某个结点对应的分割空间位于三维对象模型外部时,则为负。
[0072] 可以理解,在确定出层级细节树的根结点之后,则将第一次空间分割时所确定的分割空间作为根结点下的子结点,也就是第一层级的结点。确定出根结点以及第一层级的结点之后,则将第二次空间分割所确定的分割空间作为第一层级的结点下的子结点,也就是第二层级的结点。之后,重复上述步骤,以依次确定出层级细节树的各层级所对应的各个结点,并得到构建好的层级细节树。
[0073] 在一些实施例中,步骤“根据第一优先级顺序从各主体平面中依次确定待进行空间分割的当前分割面,并根据依次确定的当前分割面,对三维对象模型进行不同层级的空间分割,得到一部分层级的分割空间”具体包括但不限于包括:根据第一优先级顺序确定优先级最高的主体面,将优先级最高的主体面作为当前分割面,并根据当前分割面对三维对象模型进行空间分割,得到当前层级的分割空间;迭代执行根据第一优先级顺序确定下一待进行空间分割的主体面,将下一待进行空间分割的主体面作为新的当前分割面,并根据新的当前分割面对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各主体面进行空间分割结束,得到一部分层级的分割空间。
[0074] 具体地,计算机设备根据第一优先级顺序从多个主体面中确定出优先级最高的主体面,并将优先级最高的主体面作为当前需要分割的主体面,即当前分割面。计算机设备根据当前分割面对原始的三维对象模型进行空间分割,得到分割出的分割空间,即当前层级的分割空间。计算机设备迭代执行根据第一优先级顺序确定下一待进行空间分割的主体面,将下一待进行空间分割的主体面作为新的当前分割面,并根据新的当前分割面对上一层级主体面所对应分割得到的分割空间进行空间分割,得到新的当前层级的分割空间,直到基于各个主体面进行空间分割结束,得到一部分层级的分割空间。本申请通过各主体面的面积依次进行多层级的空间分割,能够使分割空间越来越富有细节,保证层级模型的意义。
[0075] 在一些实施例中,步骤“根据第二优先级顺序从各细节结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的当前分割面组合,对基于各主体面进行空间分割结束后确定的最后层级的分割空间进行不同层级的空间分割,得到多层级的分割空间”具体包括但不限于包括:根据第二优先级顺序确定优先级最高的细节结构面组合,将优先级最高的细节结构面组合作为当前分割面组合,并根据当前分割面组合对基于各主体面进行空间分割结束后所确定的最后层级的分割空间进行空间分割,得到当前层级的分割空间;迭代执行根据第二优先级顺序确定下一待进行空间分割的细节结构面组合,将下一待进行空间分割的细节结构面组合作为新的当前分割面组合,并根据新的当前分割面组合对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各细节结构面组合进行空间分割结束,得到多层级的分割空间。
[0076] 具体地,计算机设备根据第二优先级顺序从各细节结构面组合中确定优先级最高的细节结构面组合,并将该细节结构面组合确定为当前需要进行空间分割的当前分割面组合。计算机设备根据当前分割面组合对基于各主体面进行空间分割结束后所确定的最后层级的分割空间进行空间分割,得到当前层级的分割空间。计算机设备迭代执行根据第二优先级顺序确定下一待进行空间分割的细节结构面组合,将下一待进行空间分割的细节结构面组合作为新的当前分割组合,并根据新的当前分割面组合对上一层级的细节结构面组合所对应分割的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各细节结构面组合进行空间分割结束,以得到另一部分层级的分割空间。将基于各主体面进行空间分割时确定的一部分分割空间,以及将基于各细节结构面组合进行空间分割时确定的另一部分分割空间,一并确定为三维对象模型的多层级的分割空间。本申请通过各主体面的面积,以及各细节结构面组合所构成细节结构的体积依次进行多层级的空间分割,能够使分割空间越来越富有细节,保证层级模型的意义。
[0077] 需要说明的是,每个主体面都可以采用二分空间分割的方式,将待分割的空间划分为两个子空间,而每个细节结构面组合则也可以采用二分空间分割的方式,将待分割的空间划分为多个子空间。
[0078] 在一些实施例中,在步骤110之后,本申请的层级细节表示树的生成方法具体还包括但不限于包括:从预构建的最大值优先队列中提取位于队列首的结点,作为当前结点;根据当前结点下所有叶子结点对应空间的体积计算当前结点的差异价值;在当前结点的差异价值满足预设的差异价值条件的情况下,迭代执行将当前结点从最大值优先队列中移除,根据当前结点下的子结点的差异价值,将当前结点下的子结点加入至最大值优先队列,并从最大值优先队列中提取位于队列首的结点作为当前结点的步骤;根据最大值优先队列中保留的各结点所对应的分割空间,生成与三维对象模型对应粒度的层级细节模型。
[0079] 其中,预构建的最大值优先队列包括根结点,差异价值用于衡量当前结点对应的空间被继续划分的价值。
[0080] 需要说明的是,为了缩小层级搜索空间,即排除层级细节树中的一部分结点组合方案,本申请实施例兼顾贪心和全局信息提出了差异价值,以用来衡量每一个结点对应的分割空间被继续划分的价值。为了捕捉到全局信息,我们将之定义为每一个结点与其对应的所有叶子结点的有向空间的有向体积距离的绝对值。其中,可以通过下列公式(1)进行差异价值的计算:
[0081]      (1)
[0082] 其中, 表示需要进行差异价值计算的结点, 表示结点 的差异价值, 表示绝对值, 是结点 所表示有向空间的有向体积, 是结点 下的所有叶子结点所表示有向空间的有向体积,leaf(x)为结点x对应的叶子结点集合。可以理解,利用差异价值可以将随着平面数目阶乘级别增长的决策空间缩小为线性增长的决策空间,以节省计算资源。
[0083] 需要说明的是,当结点所对应的分割空间被继续分割成多个子空间后,这片空间的表示能力会得到提高。而差异价值则是计算分割空间与其子空间之间的表示能力的差距,如果差距越大,则表示对应的分割空间应当被继续分割。
[0084] 最大值优先队列,指的是通过差异价值由大到小的顺序对各结点进行排列的队列。可以理解,位于队列首的结点是最大值优先队列中差异价值最大的结点,而位于队列尾的结点是最大值优先队列中差异价值最小的结点。其中,差异价值越大,则代表这一结点对应的空间所具有的划分价值更大。
[0085] 具体地,计算机设备将根结点放入至最大值优先队列中,得到预构建的最大值优先队列。计算机设备从预构建的最大值优先队列中提取位于队列首的结点,作为当前结点。计算机设备根据当前结点下所有叶子结点对应空间的体积计算当前结点的差异价值。在当前结点的差异价值满足预设的差异价值条件的情况下,比如当前结点的差异价值不是0时,迭代执行将当前结点从最大值优先队列中移除,根据当前结点下的子结点的差异价值,将当前结点下的子结点加入至最大值优先队列,并从最大值优先队列中提取位于队列首的结点作为当前结点的步骤,直至当前结点的差异价值不满足预设的差异价值条件,比如当前节点的差异价值为0时则停止迭代。计算机设备根据最大值优先队列中保留的各结点所对应的分割空间,生成与三维对象模型对应粒度的层级细节模型,提高生成层级细节模型的灵活性。
[0086] 在一些实施例中,如图2所示,申请的层级细节表示树的生成方法(即层次细节表示的生成方法)具体还包括但不限于包括以下步骤:(a)将三维对象模型作为输入。(b)对输入的三维对象模型进行分析,确定三维对象模型的各主体面和各细节结构面,以及对各细节结构面进行分组得到多个细节结构面组合。(c)根据多个主体面和多个细节结构面组合对输入的三维对象模型进行多层次的空间分割,得到不同层次的分割空间。根据不同层次的分割空间构建三维对象模型的层次细节树,作为三维对象模型的层次细节表示。(d)选择层次细节树上的结点组合就可以得到的对应的层次细节模型。
[0087] 需要说明的是,本申请实施例中的层次相当于层级。
[0088] 在一些实施例中,还可以将通过各主体面进行空间分割所确定的各结点,以及通过各细节结构面组合进行空间分割所确定的各结点确定出主模型,并将其他的层级细节模型确定为插值模型,这些模型共同组成三维对象模型的层级细节表示。
[0089] 需要说明的是,本申请实施例不需要预先进行启发式的层级定义,对于复杂输入更加鲁棒,同时,内外分析算法的分析结果又保证了所构建的层级细节表示是有意义的。此外,所构建层级细节树相比传统的方式,层级表示空间更大,从而可以适用于更多的应用领域。同时,本申请实施例所生成的层级细节模型相比于之前的方法视觉效果上有较大的提升,且生成的层级模型复杂度有效降低,这有利于节省下游应用的计算资源,进而降低成本。
[0090] 此外,本申请实施例的层级细节表示生成方法适用于各种不同的城市建筑类型,且层级细节表示生成方法的效果与传统方法相比有明显提升。且,通过在预构建的城市场景数据集上进行的大量测试所得到的测试结果,可以表明采用本申请实施例的方法所生成的层级细节模型的复杂度和视觉效果两大主要方面均优于传统方法。
[0091] 在一些实施例中,三维对象模型是三维建筑模型。本申请的层级细节表示树的生成方法具体还包括但不限于包括以下步骤:
[0092] (1)对三维建筑模型进行面检测,得到多个检测面。
[0093] (2)根据多个检测面对三维建筑模型进行空间分割,以得到基于每个检测面对应分割的三维凸多面体。
[0094] 在一些实施例中,相邻三维凸多面体共用同一检测面。
[0095] (3)针对每个检测面,将检测面上的各三维点投影到检测面上,得到检测面上的各二维点,并对各二维点进行轮廓提取处理,得到各二维点的散点轮廓。
[0096] (4)确定每个检测面被检测面对应的散点轮廓所覆盖的覆盖情况。
[0097] (5)删除未被散点轮廓所覆盖的检测面,以将共用删除的检测面的相邻三维凸多面体合并,得到多个连通分量。
[0098] 在一些实施例中,每个连通分量为一个三维凸多面体。
[0099] (6)将多个连通分量中的、且位于三维建筑模型内部的最大连通分量确定主体内部连通分量。
[0100] (7)将多个连通分量中的、且位于三维建筑模型外部的最大连通分量确定主体外部连通分量。
[0101] (8)根据主体内部连通分量对应的面集合和主体外部连通分量对应的面集合之间的交集,确定各主体面。
[0102] (9)将三维建筑模型中除各主体面之外的各面确定为细节结构面。
[0103] (10)从各细节结构面中确定用于构成同一细节结构的各细节结构面集合。
[0104] (11)根据各细节结构面集合所构成的细节结构的体积,以及各细节结构面集合中的各细节结构面与各主体面之间的嵌入关系,对各细节结构面集合进行分组,得到各细节结构面组合。
[0105] (12)根据第一优先级顺序确定优先级最高的主体面,将优先级最高的主体面作为当前分割面,并根据当前分割面对三维建筑模型进行空间分割,得到当前层级的分割空间。
[0106] (13)迭代执行根据第一优先级顺序确定下一待进行空间分割的主体面,将下一待进行空间分割的主体面作为新的当前分割面,并根据新的当前分割面对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各主体面进行空间分割结束,得到一部分层级的分割空间。
[0107] (14)根据第二优先级顺序确定优先级最高的细节结构面组合,将优先级最高的细节结构面组合作为当前分割面组合,并根据当前分割面组合对基于各主体面进行空间分割结束后所确定的最后层级的分割空间进行空间分割,得到当前层级的分割空间。
[0108] (15)迭代执行根据第二优先级顺序确定下一待进行空间分割的细节结构面组合,将下一待进行空间分割的细节结构面组合作为新的当前分割面组合,并根据新的当前分割面组合对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各细节结构面组合进行空间分割结束,得到多层级的分割空间。
[0109] (16)根据空间分割的层级顺序,依次将各其他层级下的分割空间作为对应层级的结点。
[0110] (17)根据根结点和各其他层级下的结点,构建三维建筑模型的层级细节树。
[0111] (18)从预构建的最大值优先队列中提取位于队列首的结点,作为当前结点。
[0112] (19)根据当前结点下所有叶子结点对应空间的体积计算当前结点的差异价值。
[0113] (20)在当前结点的差异价值满足预设的差异价值条件的情况下,迭代执行将当前结点从最大值优先队列中移除,根据当前结点下的子结点的差异价值,将当前结点下的子结点加入至最大值优先队列,并从最大值优先队列中提取位于队列首的结点作为当前结点的步骤。
[0114] (21)根据最大值优先队列中保留的各结点所对应的分割空间,生成与三维建筑模型对应粒度的层级细节模型。
[0115] 应该理解的是,虽然如上述的各实施例所涉及的流程图中的各步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0116] 基于同样的发明构思,本申请实施例还提供了一种层级细节表示树的生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个层级细节表示树的生成装置实施例中的具体限定可以参见上文中对于层级细节表示树的生成方法的限定,在此不再赘述。
[0117] 如图3所示,本申请实施例提供了一种层级细节表示树的生成装置,包括:
[0118] 平面检测模块302,用于对三维对象模型进行面检测,得到多个检测面;
[0119] 空间分割模块304,用于根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面;
[0120] 平面分组模块306,用于对各细节结构面进行分组,得到各细节结构面组合;
[0121] 空间分割模块304,还用于根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,得到多层级的分割空间;
[0122] 生成模块308,用于根据多层级的分割空间生成三维对象模型的层级细节表示;层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。
[0123] 上述层级细节表示树的生成装置,对三维对象模型进行面检测,得到多个检测面;根据多个检测面对三维对象模型进行初步的空间分割,以根据初步的空间分割情况确定三维对象模型的各主体面和各细节结构面。为了保证后续基于这些面进行空间分割所生成的层级细节表示的意义,需要对各细节结构面进行分组,得到各细节结构面组合。根据各主体面和各细节结构面组合对三维对象模型进行不同层级的空间分割,能够得到多层级的、且有意义的分割空间。根据多层级的分割空间能够生成三维对象模型的、且同样有意义的层级细节表示;其中,层级细节表示用于作为生成与三维对象模型对应的不同粒度的层级细节模型的依据。由于生成的层级细节表示是有意义的,所以基于有意义的层级细节表示所生成的层级细节模型也更有意义。此外,本申请通过对三维对象模型进行自动分析以灵活地划分各主体平面和各细节结构面,从而生成对应的层级细节表示,这相对于传统方式中根据预定义的不同层级来指导生成层级细节表示的方式的灵活性更高。综上,本申请的层级细节表示树的生成方式,能够在保证层级细节表示以及层级模型的意义的同时,还能兼顾层级细节表示生成的灵活性。
[0124] 在一些实施例中,空间分割模块304还用于根据多个检测面对三维对象模型进行空间分割,以得到基于每个检测面对应分割的三维凸多面体;相邻三维凸多面体共用同一检测面;针对每个检测面,将检测面上的各三维点投影到检测面上,得到检测面上的各二维点,并对各二维点进行轮廓提取处理,得到各二维点的散点轮廓;确定每个检测面被检测面对应的散点轮廓所覆盖的覆盖情况;删除未被散点轮廓所覆盖的检测面,以将共用删除的检测面的相邻三维凸多面体合并,得到多个连通分量;每个连通分量为一个三维凸多面体;根据多个连通分量,确定各主体面和各细节结构面。
[0125] 在一些实施例中,空间分割模块304还用于将多个连通分量中的、且位于三维对象模型内部的最大连通分量确定主体内部连通分量;将多个连通分量中的、且位于三维对象模型外部的最大连通分量确定主体外部连通分量;根据主体内部连通分量对应的面集合和主体外部连通分量对应的面集合之间的交集,确定各主体面;将三维对象模型中除各主体面之外的各面确定为细节结构面。
[0126] 在一些实施例中,平面分组模块306还用于从各细节结构面中确定各细节结构面集合;细节结构面集合用于构成同一细节结构;根据各细节结构面集合所构成的细节结构的体积,以及各细节结构面集合中的各细节结构面与各主体面之间的嵌入关系,对各细节结构面集合进行分组,得到各细节结构面组合;其中,属于同一组的各细节结构面集合各自对应的细节结构面皆嵌入于同一主体面,且属于同一组的各细节结构面集合各自构成的细节结构的体积属于同一体积范围。
[0127] 在一些实施例中,三维对象模型的层级细节表示包括三维对象模型的层级细节树。空间分割模块304还用于根据第一优先级顺序从各主体平面中依次确定待进行空间分割的当前分割面,并根据依次确定的当前分割面,对三维对象模型进行不同层级的空间分割,得到一部分层级的分割空间;第一优先级顺序表征面积越大的主体面进行空间分割的优先级越高;根据第二优先级顺序从各细节结构面组合中依次确定待进行空间分割的当前分割面组合,并根据依次确定的当前分割面组合,对基于各主体面进行空间分割结束后确定的最后层级的分割空间进行不同层级的空间分割,得到多层级的分割空间;第二优先级顺序表征细节结构的体积越大的细节结构面集合所属的细节结构面组合进行空间分割的优先级越高。生成模块308,还用于将三维对象模型的包围盒空间作为根结点;根据空间分割的层级顺序,依次将各其他层级下的分割空间作为对应层级的结点;层级顺序根据第一优先级顺序和第二优先级顺序确定;各其他层级为根结点所在层级之外的层级;根据根结点和各其他层级下的结点,构建三维对象模型的层级细节树。
[0128] 在一些实施例中,空间分割模块304还用于根据第一优先级顺序确定优先级最高的主体面,将优先级最高的主体面作为当前分割面,并根据当前分割面对三维对象模型进行空间分割,得到当前层级的分割空间;迭代执行根据第一优先级顺序确定下一待进行空间分割的主体面,将下一待进行空间分割的主体面作为新的当前分割面,并根据新的当前分割面对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各主体面进行空间分割结束,得到一部分层级的分割空间;根据第二优先级顺序确定优先级最高的细节结构面组合,将优先级最高的细节结构面组合作为当前分割面组合,并根据当前分割面组合对基于各主体面进行空间分割结束后所确定的最后层级的分割空间进行空间分割,得到当前层级的分割空间;迭代执行根据第二优先级顺序确定下一待进行空间分割的细节结构面组合,将下一待进行空间分割的细节结构面组合作为新的当前分割面组合,并根据新的当前分割面组合对上一层级的分割空间进行空间分割,得到新的当前层级的分割空间,直至基于各细节结构面组合进行空间分割结束,得到多层级的分割空间。
[0129] 在一些实施例中,本申请的层级细节表示树的生成装置还包括模型构建模块,模型构建模块用于从预构建的最大值优先队列中提取位于队列首的结点,作为当前结点;预构建的最大值优先队列包括根结点;根据当前结点下所有叶子结点对应空间的体积计算当前结点的差异价值;差异价值用于衡量当前结点对应的空间被继续划分的价值;在当前结点的差异价值满足预设的差异价值条件的情况下,迭代执行将当前结点从最大值优先队列中移除,根据当前结点下的子结点的差异价值,将当前结点下的子结点加入至最大值优先队列,并从最大值优先队列中提取位于队列首的结点作为当前结点的步骤;根据最大值优先队列中保留的各结点所对应的分割空间,生成与三维对象模型对应粒度的层级细节模型。
[0130] 上述层级细节表示树的生成装置中的各模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器,也可以以软件形式存储于计算机设备中的存储器,以便于处理器调用执行以上各模块对应的操作。
[0131] 在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与层级细节表示树的生成相关的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的层级细节表示树的生成方法中的步骤。
[0132] 在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的层级细节表示树的生成方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏;该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0133] 本领域技术人员可以理解,图4或图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0134] 在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0135] 在一些实施例中,如图6所示提供了一种计算机可读存储介质的内部结构图,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0136] 在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0137] 需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0138] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0139] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0140] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。