三维模型的拆分方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:32640056 阅读:23 留言:0更新日期:2022-03-12 18:15
本发明专利技术公开了一种三维模型的拆分方法、装置、计算机设备和存储介质,包括:基于模型组件的顶点连通关系将模型组件拆分为多个拓扑不相连的子组件,该过程实现了对不同语义的物体进行分割,同时为了解决对模型组件进行过度分割的情况,通过依据属于不同子组件的顶点之间的最短距离构建子组件之间的关联矩阵后,并根据子组件之间的关联矩阵和预设聚类距离对各子组件进行聚类,这样通过聚类方式将过度分割的相同语义物体进行合并,使得得到的聚类簇作为新模型组件,其更接近于每个组件包含单语义的单物体数据,准确率高,适用于对三维模型的应用转化。再者,该拆分过程方法简单,运行耗时短,节省计算开销成本。节省计算开销成本。节省计算开销成本。

【技术实现步骤摘要】
三维模型的拆分方法、装置、计算机设备和存储介质


[0001]本专利技术属于三维模型的拆分领域,具体涉及一种三维模型的拆分方法、装置、计算机设备和存储介质。

技术介绍

[0002]在研究和生产中,常常会遇到需要将三维模型数据根据语义进行拆分与聚类的情况。针对有多个模型组件组成的三维模型,由于设计师的疏忽或者失误,导致不同语义的物体对应的子组件被包含在同个模型组件内,使模型组件的语义不清晰。
[0003]专利申请文献CN104794316 A公开了一种3D模型拆分与组合的方法,针对可拆分的三维模型,手动通过鼠标操作将三维模型拆分成子模块,然后根据各子模块间的碰撞检测以及在原始三维模型中的相邻关系进行组合。但其方法仅涉及对模型子模块间的拆分与组合,且子模块为预先定义而非计算得出,其实无法真正将原为一体的三维模型进行拆分;同时组合的依据为包围盒级碰撞,粒度较粗,且需要人工通过鼠标进行操作。因此该方法难以拆分上述不同语义物体并存的模型组件。
[0004]专利申请文献CN113450464 A公开了一种三维模型自动拆分的方法,包括:将STL模型或SLC模型根据拓扑转化为不同的壳体,再根据相近壳体间的距离及其分离、相交和包含关系判断是否合并壳体,最后将各壳体输出为模型。但该方法在合并壳体时采用最小包围盒间距判断位置关系,难以精确描述两壳体间距离;特别是以包围盒判断壳体相交和包含关系非常不准确,容易出现包围盒相交或包含但壳体本身相离的情况,如衣柜和衣柜中的衣服、器皿和其盛放的东西,导致拆分结果较差。因此该方法难以通用地对上述不同语义物体并存的模型组件进行高质量的拆分。

技术实现思路

[0005]鉴于上述,本专利技术的目的是提供一种三维模型的拆分方法、装置、计算机设备和存储介质,以解决不同语义的物体被包含在同个模型组件内导致的模型组件语义不清晰,而引起的三维模型拆分不准确的问题。
[0006]第一方面,实施例提供了一种三维模型的拆分方法,包括以下步骤:
[0007]获取由模型组件构成的三维模型,基于模型组件的顶点连通关系将模型组件拆分为多个拓扑不相连的子组件;
[0008]依据属于不同子组件的顶点之间的距离构建子组件之间的关联矩阵;
[0009]依据子组件之间的关联矩阵和预设聚类距离,对各子组件进行聚类,将每个聚类簇作为拆分结果并输出。
[0010]在一个实施例中,所述基于模型组件的顶点连通关系将模型组件拆分为多个拓扑不相连的子组件,包括:
[0011]将模型组件的拓扑关系抽象为描述顶点邻接关系的邻接矩阵,并依据两个顶点之间是否连接填充邻接矩阵,将邻接矩阵转换成无向图后,对无向图进行连通区域搜索,将得
到的表示顶点连通关系的每个连通分量对应一个子组件,实现子组件的划分。
[0012]在一个实施例中,所述依据两个顶点之间是否连接填充邻接矩阵,包括:
[0013]判断两个顶点之间存在一个面片数据的一条边进行连接时,则在邻接矩阵中赋值这两个顶点对应的行列交点值为第一单值,否则,在邻接矩阵中赋值这两个顶点对应的行列交点值为第二单值,其中,第一单值不等于第二单值;
[0014]在邻接矩阵中赋予同一顶点对应的行列交点值为第一单值。
[0015]在一个实施例中,采用非递归的深度优先搜索对无向图进行连通区域搜索。
[0016]在一个实施例中,所述依据属于不同子组件的顶点之间的距离构建子组件之间的关联矩阵,包括:
[0017]将子组件之间的关联关系描述为关联矩阵,针对任意两个子组件,计算其中一子组件的每个顶点与另一组件的每个顶点之间的欧式距离,当欧式距离小于预设聚类距离时,在关联矩阵中赋值这两个子组件对应的行列交点值为0,并停止两个子组件的顶点之间的欧式距离计算;
[0018]当计算完两个子组件的所有顶点之间的欧式距离后,所有欧式距离均不小于预设聚类距离时,在关联矩阵中赋值这两个子组件对应的行列交点值为所有欧式距离中的最短欧式距离。
[0019]在一个实施例中,根据子组件之间的关联矩阵和预设聚类距离,采用单链的聚合层次聚类算法对子组件进行聚类;
[0020]对子组件进行聚类时,采用轮廓系数评估聚类算法的聚类过程,以确定最优聚类簇个数,然后以每个最优聚类簇包含的所有子组件作为一个整体拆分结果。
[0021]在一个实施例中,针对只有1个面片的模型组件或者子组件,通过设置边界条件,直接输出模型组件或子组件,并不参与任何计算。
[0022]第二方面,实施例提供了一种三维模型的拆分装置,包括:
[0023]模型获取模块,用于获取由模型组件构成的三维模型;
[0024]子组件生成模块,用于基于模型组件的顶点连通关系将模型组件拆分为多个拓扑不相连的子组件;
[0025]关联矩阵生成模块,用于依据属于不同子组件的顶点之间的最短距离构建子组件之间的关联矩阵;
[0026]聚类模块,用于依据子组件之间的关联矩阵和预设聚类距离,对各子组件进行聚类,将每个聚类簇作为拆分结果并输出。
[0027]第三方面,实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的三维模型的拆分方法。
[0028]第四方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理执行时实现第一方面所述的三维模型拆分方法的步骤。
[0029]与现有技术相比,实施例提供的三维模型的拆分方法、装置、计算机设备和存储介质,具有的有益效果至少包括:
[0030]基于模型组件的顶点连通关系将模型组件拆分为多个拓扑不相连的子组件,该过程实现了对不同语义的物体进行分割,同时为了解决对模型组件进行过度分割的情况,通
过依据属于不同子组件的顶点之间的最短距离构建子组件之间的关联矩阵后,并根据子组件之间的关联矩阵和预设聚类距离对各子组件进行聚类,这样通过聚类方式将过度分割的相同语义物体进行合并,使得得到的聚类簇作为新模型组件,其更接近于每个组件包含单语义的单物体数据,准确率高,适用于对三维模型的应用转化。再者,该拆分过程方法简单,运行耗时短,节省计算开销成本。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
[0032]图1是一实施例提供的三维模型的拆分方法的流程图;
[0033]图2是一实施例提供的三维模型的拆分装置的结构示意图。
具体实施方式
[0034]为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三维模型的拆分方法,其特征在于,包括以下步骤:获取由模型组件构成的三维模型,基于模型组件的顶点连通关系将模型组件拆分为多个拓扑不相连的子组件;依据属于不同子组件的顶点之间的距离构建子组件之间的关联矩阵;依据子组件之间的关联矩阵和预设聚类距离,对各子组件进行聚类,将每个聚类簇作为拆分结果并输出。2.根据权利要求1所述的三维模型的拆分方法,其特征在于,所述基于模型组件的顶点连通关系将模型组件拆分为多个拓扑不相连的子组件,包括:将模型组件的拓扑关系抽象为描述顶点邻接关系的邻接矩阵,并依据两个顶点之间是否连接填充邻接矩阵,将邻接矩阵转换成无向图后,对无向图进行连通区域搜索,将得到的表示顶点连通关系的每个连通分量对应一个子组件,实现子组件的划分。3.根据权利要求2所述的三维模型的拆分方法,其特征在于,所述依据两个顶点之间是否连接填充邻接矩阵,包括:判断两个顶点之间存在一个面片数据的一条边进行连接时,则在邻接矩阵中赋值这两个顶点对应的行列交点值为第一单值,否则,在邻接矩阵中赋值这两个顶点对应的行列交点值为第二单值,其中,第一单值不等于第二单值;在邻接矩阵中赋予同一顶点对应的行列交点值为第一单值。4.根据权利要求2所述的三维模型的拆分方法,其特征在于,采用非递归的深度优先搜索对无向图进行连通区域搜索。5.根据权利要求1所述的三维模型的拆分方法,其特征在于,所述依据属于不同子组件的顶点之间的距离构建子组件之间的关联矩阵,包括:将子组件之间的关联关系描述为关联矩阵,针对任意两个子组件,计算其中一子组件的每个顶点与另一组件的每个顶点之间的欧式距离,当欧式距离小于预设聚类距离时,在关联矩阵中赋值这两个子组件对应的行列交...

【专利技术属性】
技术研发人员:施佳俊郑家祥
申请(专利权)人:杭州群核信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1