基于向量检索技术的模型检索方法、装置、介质及设备与流程

未命名 09-11 阅读:94 评论:0


1.本技术涉及模型检索技术领域,具体涉及一种基于向量检索技术的模型检索方法、装置、介质及设备。


背景技术:

2.模型检索指的是三维模型的检索,三维模型在工业设计、建筑设计和电影制作等场景中应用较为广泛。对于许多三维模型设计项目,重新创建一个三维模型可能需要大量的时间、人力和资金。针对此种情况的处理通常为:检索出适合的现有模型进行修改以达到设计需求,从而减少三维模型设计周期和成本。其中,三维模型的检索方法扮演着重要的角色。
3.当前现有的三维模型检索方法主要为:通过模型文件的名称关键词、形状特征、表面拓扑结构等方式进行检索或者通过神经网络和深度学习模型来进行三维模型检索,但是此类方式对三维模型检索过程中,模型特征匹配所耗费的时间较长,导致模型检索的效率较低。


技术实现要素:

4.为了提高模型检索的效率,本技术提供一种基于向量检索技术的模型检索方法、装置、介质及设备。
5.在本技术的第一方面提供了一种基于向量检索技术的模型检索方法,具体包括:获取至少一个stl文件的多个特征点组合,并获取每个所述特征点组合对应的空间距离和法向量夹角余弦值;基于各所述空间距离,确定每个所述stl文件对应的空间距离频率分布直方图,并基于各所述法向量夹角余弦值,确定每个所述stl文件对应的法向量夹角余弦值频率分布直方图;根据所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图,得到每个所述stl文件对应的第一特征向量;对各所述第一特征向量进行分簇处理,确定每个所述第一特征向量对应的第一中心点归类;确定待检索模型的第二特征向量,从各所述第一中心点归类中匹配所述第二特征向量对应的第二中心点归类,并将所述第二中心点归类对应的所有第一特征向量确定为检索结果。
6.通过采用上述技术方案,从stl文件确定特征点组合,确定特征点组合中各特征点之间的空间距离,以及各特征点对应的法向量夹角余弦值。接着根据多个特征点组合对应的空间距离和法向量夹角余弦值,分别确定每个stl文件对应的空间距离频率分布直方图和法向量夹角余弦值频率分布直方图,再将两者进行叠加,得到从单个stl文件提取的第一特征向量,同理提取多个stl文件,得到多个第一特征向量,然后对多个第一特征向量进行
分类,得到多个第一中心点归类,最后,确定待检索模型的第二特征向量所属的第二中心点归类,并将属于第二中心点归类的第一特征向量确定为第二特征向量的检索结果,通过先确定分类,在匹配分类,从而较快速高效地完成模型检索,避免根据待检索模型进行长时间的相似模型匹配过程。
7.可选的,所述获取至少一个stl文件的多个特征点组合,具体包括:确定面积累加数组,所述面积累加数组中每个数组元素的值为当前数组元素的值与前一个数组元素的值之和,所述当前数组元素的值为所述stl文件对应的三维模型当前面片的面积,第一个数组元素的值为所述三维模型第一个面片的面积;根据所述面积累加数组中的最后数组元素,确定目标区间,并生成所述目标区间之间的随机数,所述目标区间为0到所述最后数组元素的区间;根据所述随机数,从至少一个stl文件中获取对应面片的目标顶点坐标,按照预设公式和所述目标顶点坐标确定第一特征点,并重复执行所述生成所述目标区间之间的随机数的步骤,确定第二特征点,将所述第一特征点和所述第二特征点确定为特征点组合;重复执行所述生成所述目标区间之间的随机数的步骤,得到多个所述特征点组合。
8.通过采用上述技术方案,基于stl文件对应的面积累加数组,较为准确地确定随机数对应的面片,进而使得确定的第一特征点或第二特征点的随机性更高,从而使得后续确定的特征对组合对应的空间距离数据偏差更小,并且代表性更强,使得最终确定的stl文件对应的第一特征向量更加准确。
9.可选的,所述预设公式为:;式中,p表示为第一特征点或第二特征点,表示(0,1)之间的随机数,a、b和c表示目标顶点坐标。
10.通过采用上述技术方案,将stl文件的三维模型相应面片上的三个目标顶点坐标代入到预设公式中,其中,预设公式中有(0,1)之间的随机数参与运算,使得预设公式的计算结果,即,确定的第一特征点和第二特征点具有较高的随机性。
11.可选的,所述基于各所述空间距离,确定每个所述stl文件对应的空间距离频率分布直方图,具体包括:根据各所述空间距离,确定空间距离数组,并筛选所述空间距离数组中的最大空间距离;将0到所述最大空间距离组成的区间划分为第一个数的子区间,并统计所述空间距离数组中处于每个所述子区间的空间距离的第二个数;将各所述第二个数除以所述空间距离数组中空间距离的数量之和,得到各所述子区间对应的频率;将各所述子区间作为横坐标,并将对应的频率作为纵坐标,得到每个所述stl文件对应的空间距离频率分布直方图。
12.通过采用上述技术方案,将0到最大空间距离划分为第一个数的子区间,从而使得
从stl文件中提取的第一特征向量具有第一个数的向量维度。接着将空间距离数组落在每个子区间的第二个数处于空间距离数组中的元素总和,得到每个子区间的频率,最后根据子区间和对应的频率,确定stl文件对应的空间距离频率分布直方图,方便后续较为准确地确定stl文件的第一个数维度的第一特征向量。
13.可选的,所述根据所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图,得到所述stl文件对应的第一特征向量,具体包括:将所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图同一横坐标对应的纵坐标的数值进行加权求和,得到所述stl文件对应的第一特征向量。
14.通过采用上述技术方案,空间距离频率分布直方图和法向量夹角余弦值频率分布直方图确定后,将两者同一横坐标,即同一向量维度对应的空间距离频率和法向量夹角余弦值频率进行加权求和,得到在每个向量维度上的频率综合值,即,stl文件对应的第一特征向量。
15.可选的,所述对各所述第一特征向量进行分簇处理,确定每个所述第一特征向量对应的第一中心点归类,具体包括:从各所述第一特征向量中随机选取一个确定为目标中心点,并设置所述目标中心点对应的高维半径,得到特征向量集合;遍历各所述第一特征向量,将与所述目标中心点之间的距离不大于所述高维半径的模长的第一特征向量添加至所述特征向量集合中,得到目标特征向量集合;计算所述目标特征向量集合中各特征向量与所述目标中心点之间的向量和均值,得到偏移向量,并将所述目标中心点与所述偏移向量求和,得到全新中心点;将所述全新中心点作为目标中心点,重复执行所述遍历各所述第一特征向量的步骤,直到对应的偏移向量的模长小于预设模长,并将当前的目标中心点确定为最终中心点,以及统计对每个所述第一特征向量的访问总次数;重复执行所述从各所述第一特征向量中随机选取一个确定为目标中心点的步骤,直到各所述第一特征向量均被选取为目标中心点,得到多个所述最终中心点,并基于各所述最终中心点和对应的多个访问总次数,确定每个所述第一特征向量对应的第一中心点归类。
16.通过采用上述技术方案,多个第一特征向量确定后,需要对多个第一特征向量进行分类,因此随机选取一个第一特征向量作为目标中心点,在偏移向量的模长小于预设模长情况下,确定最终中心点,从而使得各个第一特征向量与最终中心点较近,使得最终中心点作为聚类中心合理性较高,对多个第一特征向量分类的效果更好,即,对每个第一特征向量确定的第一中心点归类更准确。
17.可选的,所述基于各所述最终中心点和对应的多个访问总次数,确定每个所述第一特征向量对应的第一中心点归类,具体包括:筛选每个所述第一特征向量的最大访问总次数对应的最终中心点,确定为匹配中心点;将所述匹配中心点对应的特征向量集合确定每个所述第一特征向量对应的第一中心点归类。
18.通过采用上述技术方案,对第一特征向量的访问总次数越大,说明与第一特征向
量中各元素的相关性越高,确定每个第一特征向量的匹配中心点,说明匹配中心点与对应的第一特征向量的相关性越高,因此,将匹配中心点对应的特征向量集合确定为对应第一特征向量的归类,即,第一中心点归类,从而更为准确确定每个第一特征向量的分类。
19.在本技术的第二方面提供了一种基于向量检索技术的模型检索装置,具体包括:特征获取模块,用于获取至少一个stl文件的特征点组合,并获取所述特征点组合对应的空间距离和法向量夹角余弦值;频率确定模块,用于基于各所述空间距离,确定每个所述stl文件对应的空间距离频率分布直方图,并基于各所述法向量夹角余弦值,确定每个所述stl文件对应的法向量夹角余弦值频率分布直方图;向量确定模块,用于根据所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图,得到每个所述stl文件对应的第一特征向量;向量归类模块,用于对各所述第一特征向量进行分簇处理,确定每个所述第一特征向量对应的第一中心点归类;模型检索模块,用于确定待检索模型的第二特征向量,从各所述第一中心点归类中匹配所述第二特征向量对应的第二中心点归类,并将所述第二中心点归类对应的所有第一特征向量确定为检索结果。
20.通过采用上述技术方案,特征获取模块获取到至少一个stl文件的特征点组合,并获取所述特征点组合对应的空间距离和法向量夹角余弦值,由频率确定模块根据各个空间距离和各个法向量夹角余弦值,依次确定空间距离频率分布直方图和法向量夹角余弦值频率分布直方图,接着向量确定模块对两类直方图进行叠加,确定每个stl文件对应的第一特征向量。然后向量归类模块对多个第一特征向量进行分类,确定每个第一特征向量对应的第一中心点归类,最后模型检索模块匹配待检索模型的第二特征向量对应的第二中心点归类,将第二中心点归类对应的所有第一特征向量确定为检索结果,从而实现快速高效进行模型检索的效果。
21.综上所述,本技术包括以下至少一种有益技术效果:根据多个特征点组合对应的空间距离和法向量夹角余弦值,分别确定每个stl文件对应的空间距离频率分布直方图和法向量夹角余弦值频率分布直方图,再将两者进行叠加,得到从单个stl文件提取的第一特征向量,同理提取多个stl文件,得到多个第一特征向量,然后对多个第一特征向量进行分类,得到多个第一中心点归类,最后,确定待检索模型的第二特征向量所属的第二中心点归类,并将属于第二中心点归类的第一特征向量确定为第二特征向量的检索结果,通过先确定分类,在匹配分类,从而较快速高效地完成模型检索,避免根据待检索模型进行长时间的相似模型匹配过程。
附图说明
22.图1是本技术实施例提供的一种基于向量检索技术的模型检索方法的流程示意图;图2是本技术实施例提供的另一种基于向量检索技术的模型检索方法的流程示意图;图3是本技术实施例提供的一种确定多个最终中心点的流程图;
图4是本技术实施例提供的一种检索得到的三维模型图;图5是本技术实施例提供的一种基于向量检索技术的模型检索装置的结构示意图。
23.附图标记说明:11、特征获取模块;12、频率确定模块;13、向量确定模块;14、向量归类模块;15、模型检索模块。
具体实施方式
24.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
25.在本技术实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
26.在本技术实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
27.参见图1,本技术实施例公开了一种基于向量检索技术的模型检索方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的基于向量检索技术的模型检索装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s101:获取至少一个stl文件的多个特征点组合,并获取每个特征点组合对应的空间距离和法向量夹角余弦值。
28.在一个可实现的实施方式中,所述获取至少一个stl文件的多个特征点组合包括:确定面积累加数组;根据面积累加数组中的最后数组元素,确定目标区间,并生成目标区间之间的随机数,目标区间为0到最后数组元素的区间;根据随机数,从至少一个stl文件中获取对应面片的目标顶点坐标,按照预设公式和目标顶点坐标确定第一特征点,并重复执行生成目标区间之间的随机数的步骤,确定第二特征点,将第一特征点和第二特征点确定为特征点组合;重复执行生成目标区间之间的随机数的步骤,得到多个特征点组合。
29.具体的,光固化立体造型术(stereolithography,stl)文件是由3d systems公司于1988年制定的一个接口协议,是一种为快速原型制造技术服务的三维模型文件格式。stl 文件由多个三角形面片的定义组成,每个三角形面片的定义包括三角形各个定点的三维坐
标及三角形面片的法矢量。在申请实施例中,stl文件主要用于提供三维模型的三角形面片的顶点以及该三角形面片对应的法向量。
30.首先定义一个面积累加数组,面积累加数组中每个数组元素的值为当前数组元素的值与前一个数组元素的值之和,当前数组元素的值为stl文件对应的三维模型当前面片的面积,第一个数组元素的值为三维模型第一个面片的面积。用公式表示如下:
31.,式中,表示每个数组元素的值,表示stl文件对应的三维模型第个面片的面积,面积累加数组表示为:{}。
32.然后通过随机种子生成目标区间之间的随机数,目标区间为0到最后数组元素的区间,表示为:(0,]。通过二分检索法确定面积累加数组中对应此随机数的数组元素的位置,进而确定stl文件的三维模型对应面片的目标顶点坐标。例如,确定的随机数为n,如果n大于ls1,并且n小于或等于ls2,那么此随机数对应的是stl文件的三维模型第2个面片,即,确定第2个面片的目标顶点坐标。
33.一种可行的获取随机数对应面片的目标顶点坐标的方式为:由于stl文件本身就包含不同三角形面片的顶点坐标信息,因此,可直接调取对应面片的目标顶点坐标。另外,还从stl文件中调取对应面片的法向量。
34.接着将目标顶点坐标输入至预设公式中,预设公式为:;式中,p表示为第一特征点或第二特征点,r1,r2表示(0,1)之间的随机数,a、b和c表示目标顶点坐标。
35.第一特征点确定,继续在目标区间再次生成全新随机数,根据此全新随机数,确定对应面片的目标顶点坐标以及法向量,最终确定第二特征点,第一特征点和第二特征点即构成特征点组合。重复执行在目标区间生成随机数的步骤,最终得到多个特征点组合。
36.最后针对每个特征点组合以及对应面片的法向量,确定第一特征点和第二特征点的空间距离和对应面片的法向量夹角余弦值。一种可行的确定方式为:将第一特征点(pa)和第二特征点(pb)的坐标代入空间距离公式,即可得到空间距离,其中,为第一特征点(pa)的坐标,为第二特征点(pb)的坐标。
37.计算第一特征点所在面片的法向量和第二特征点所在面片的法向量的夹角余弦值,即法向量夹角余弦值,将第一特征点和第二特征点的坐标代入到夹角余弦值公式
38.即可得到。需要说明的是,每个特征点组合均对应一个空间距离和法向量夹角余弦值,计算方式均相同,在此不再赘述。在本技术实施例中,每个stl文件确定的特征点组合
的组数为5万组,对应的空间距离和法向量夹角余弦值同样也为5万组,在其他实施例中,也可以为3万组或者6万组。
39.s102:基于各空间距离,确定每个stl文件对应的空间距离频率分布直方图,并基于各法向量夹角余弦值,确定每个stl文件对应的法向量夹角余弦值频率分布直方图。
40.在一个可实现的实施方式中,根据各空间距离,确定空间距离数组,并筛选空间距离数组中的最大空间距离;将0到最大空间距离组成的区间划分为第一个数的子区间,并统计空间距离数组中处于每个子区间的空间距离的第二个数;将各第二个数除以空间距离数组中空间距离的数量之和,得到各子区间对应的频率;将各子区间作为横坐标,并将对应的频率作为纵坐标,得到每个stl文件对应的空间距离频率分布直方图。
41.具体的,每个stl文件对应的多个空间距离和多个法向量夹角余弦值确定后,将多个空间距离构成空间距离数组,选取其中的最大空间距离。确定0到最大空间距离的区间,并将区间划分为第一个数的子区间,在本技术实施例,采用等分的方式划分子区间,第一个数为500个,即划分为500个子区间,第1个子区间、第2个子区间
……
第500个子区间,在其他实施例中,也可以不采用等分的方式划分子区间,第一个数也可以为400等其他数值。
42.接着确定空间距离数组中每个空间距离所处在的子区间,统计每个子区间中落入的空间距离的第二个数,并将每个子区间的第二个数除以空间距离数组中元素的数量之和,即空间距离的数量之和,得到每个子区间对应的频率,最终将每个子区间,例如[1,500]作为横坐标,对应的频率作为纵坐标,通过excel等电子表格工具,得到每个stl文件对应的空间距离频率分布直方图。
[0043]
另外,将多个法向量夹角余弦值构成余弦值数组。由于无论何种余弦值,其均是处于-1到1的区间,因此将[-1,1]区间划分第一个数的子区间,然后统计余弦值数组中落在每个子区间中的法向量夹角余弦值的个数,再除以余弦值数组中法向量夹角余弦值的总数,得到每个子区间对应的频率。最终,同样将每个子区间,例如,[1,500]作为横坐标,对应的频率作为纵坐标,确定每个stl文件对应的法向量夹角余弦值频率分布直方图。
[0044]
需要说明的是,法向量夹角余弦值频率分布直方图和空间距离频率分布直方图的横坐标相同,在本技术实施例中,均为[1,500]。
[0045]
s103:根据空间距离频率分布直方图和法向量夹角余弦值频率分布直方图,得到每个stl文件对应的第一特征向量。
[0046]
在一个可实现的实施方式中,将空间距离频率分布直方图和法向量夹角余弦值频率分布直方图同一横坐标对应的纵坐标的数值进行加权求和,得到stl文件对应的第一特征向量。
[0047]
具体的,每个stl文件的法向量夹角余弦值频率分布直方图和空间距离频率分布直方图确定后,由于两者的横坐标相同,均为[1,500],因此将两者进行叠加,得到最终特征直方图t,即,将空间距离频率分布直方图和法向量夹角余弦值频率分布直方图同一横坐标对应的纵坐标的数值进行加权求和,详细表示如下:
,式中,表示权重,在申请实施例中,取值0.6,x表示横坐标,表示空间距离频率分布直方图纵坐标的数值,表示法向量夹角余弦值频率分布直方图纵坐标的数值,表示第一特征向量,即最终特征直方图t的纵坐标的数值,第一特征向量的维度为500。
[0048]
需要说明的是,重复执行步骤s101-s103,可以得到多个stl文件对应的第一特征向量,即,完成对stl文件的特征抽取工作。
[0049]
s104:对各第一特征向量进行分簇处理,确定每个第一特征向量对应的第一中心点归类。
[0050]
具体的,多个第一特征向量确定后,采用聚类算法对各个第一特征向量进行分簇处理,即,对特征进行分类,确定每个第一特征向量对应的第一中心点归类。在本技术实施例中,聚类算法可以采用k-means聚类算法,此聚类算法将各第一特征向量之间的距离作为相似度的度量,将距离较近的第一特征向量归为同一个第一中心点归类,而距离较远的第一特征向量归为不同的第一中心点归类,在其他实施例中,也可以采用optics聚类算法。
[0051]
s105:确定待检索模型的第二特征向量,从各第一中心点归类中匹配第二特征向量对应的第二中心点归类,并将第二中心点归类对应的所有第一特征向量确定为检索结果。
[0052]
具体的,采用步骤s101-s103的方法,确定待检索模型的第二特征向量,其中,待检索模型为需要检索与之相似的三维模型的现有模型。接着从各个第一中心点归类中确定第二特征向量所属的归类,即,第二中心点归类。一种可行的确定方式为:通过余弦相似度公式cosθ=a*b/(|a||b|),计算第二特征向量(a)与各个第一中心点归类的中心点(b)的余弦相似度,得到多个余弦相似度。然后将最大的余弦相似度对应的第一中心点归类确定为第二中心点归类。在其他实施例中,也可以通过计算第二特征向量与各个第一中心点归类的中心点的欧式距离,选取最大的欧式距离对应的第一中心点归类为第二特征向量对应的第二中心点归类。
[0053]
最后将第二中心点归类对应的所有第一特征向量(三维模型)作为待检索模型的检索结果,从而较为快速地确定待检索模型的检索结果,无需再将待检索模型与三维模型库内每个三维模型逐一进行形状特征方面的匹配,大大地缩短模型检索时的匹配时间。
[0054]
参见图2,本技术实施例公开了另一种基于向量检索技术的模型检索方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的基于向量检索技术的模型检索装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s201:获取至少一个stl文件的多个特征点组合,并获取每个特征点组合对应的空间距离和法向量夹角余弦值。
[0055]
s202:基于各空间距离,确定每个stl文件对应的空间距离频率分布直方图,并基于各法向量夹角余弦值,确定每个stl文件对应的法向量夹角余弦值频率分布直方图。
[0056]
s203:根据空间距离频率分布直方图和法向量夹角余弦值频率分布直方图,得到每个stl文件对应的第一特征向量。
[0057]
具体的,可参考步骤s101-s103,在此不再赘述。
[0058]
s204:从各第一特征向量中随机选取一个确定为目标中心点,并设置目标中心点对应的高维半径,得到特征向量集合。
[0059]
具体的,多个第一特征向量确定后,从其中随机选取一个第一特征向量作为目标中心点,其中,目标中心点相当于簇的聚类中心,簇的具体含义和解释需要根据具体的聚类算法和应用场景来确定。例如,在k-means算法中,簇表示为k个聚类中心的组合,每个聚类中心代表一个簇,数据点被分配到距离最近的聚类中心所在的簇,在本技术实施例中,簇可以理解为目标中心点对应的特征向量集合。
[0060]
接着以目标中心点为圆心,设置对应的高维半径,高维半径用r表示,在本技术实施例中,高维半径为每个维度都为0.05的500个维度向量。最终确定目标中心点对应的球形的特征向量集合。需要说明的是,高维半径的维度数量与一特征向量的维度数量相等。
[0061]
s205:遍历各第一特征向量,将与目标中心点之间的距离不大于高维半径的模长的第一特征向量添加至特征向量集合中,得到目标特征向量集合。
[0062]
具体的,特征向量集合确定后,计算每个第一特征向量与目标中心点之间的距离,并与高维半径的模长进行对比,如果小于或等于高维半径的模长,说明对应的第一特征向量属于特征向量集合,最终添加至此特征向量集合中,得到目标特征向量集合,具体计算如下:;;式中,f表示第一特征向量,表示目标中心点,d表示第一特征向量与目标中心点之间的距离,表示高维半径的模长,i表示特征向量的维度。
[0063]
s206:计算目标特征向量集合中各特征向量与目标中心点之间的向量和均值,得到偏移向量,并将目标中心点与偏移向量求和,得到全新中心点。
[0064]
具体的,目标特征向量集合确定后,计算目标特征向量集合中每个特征向量与目标中心点之间的向量和均值,得到偏移向量。即,两者相减之后构成的新向量求和之后再求均值。其中,偏移向量的计算公式如下:
[0065]
式中,m表示偏移向量,表示目标特征向量集合中第i个特征向量,n表示目标特征向量集合中特征向量的总和。
[0066]
偏移向量确定后,将偏移向量加上目标中心点,最终得到全新中心点。
[0067]
s207:将全新中心点作为目标中心点,重复执行遍历各第一特征向量的步骤,直到对应的偏移向量的模长小于预设模长,并将当前的目标中心点确定为最终中心点,以及统
计对每个第一特征向量的访问总次数。
[0068]
具体的,全新中心点确定后,将全新中心点作为目标中心点,重复执行步骤s205-s206,即,遍历所有stl文件对应的第一特征向量,将与目标中心点之间的距离不大于高维半径的模长的第一特征向量添加至特征向量集合中,得到全新的目标特征向量集合,此时目标特征向量集合的聚类中心为全新中心点。接着计算此目标特征向量集合中第一特征向量与全新中心点之间的偏移向量,将偏移向量m的模长与预设模长进行对比,如果此时的偏移向量m小于预设模长,说明各个第一特征向量与此目标中心点较近,那么将当前的目标中心点确定最终中心点,即,确定较为合理的聚类中心。另外,统计确定此最终中心点的过程中,对每个第一特征向量的访问总次数,其中,对第一特征向量的访问可以理解为:通过索引或迭代等方式获取第一特征向量中的各个元素。
[0069]
如果此时的偏移向量m不小于预设模长,说明当前的目标中心点不宜作为聚类中心,那么,将此时的目标中心点加上此时的偏移向量m,再次得到一个全新中心点,并继续重复执行步骤s205-s206,详细可参见图3。
[0070]
s208:重复执行从各第一特征向量中随机选取一个确定为目标中心点的步骤,直到各第一特征向量均被选取为目标中心点,得到多个最终中心点,并基于各最终中心点和对应的多个访问总次数,确定每个第一特征向量对应的第一中心点归类。
[0071]
在一个可实现的实施方式中,筛选每个第一特征向量的最大访问总次数对应的最终中心点,确定为匹配中心点;将匹配中心点对应的特征向量集合确定每个第一特征向量对应的第一中心点归类。
[0072]
具体的,此最终中心点确定后,再重复执行步骤s204-s207,每次重复执行均会得到对应的最终中心点,直到所有第一特征向量均被选取作为目标中心点,详细可参见,详细可参见图3。其中,每个最终中心点均对应多个访问总次数,即,对每个第一特征向量的访问总次数。接着将每个第一特征向量对应的访问总次数进行对比,选取其中的最大访问总次数,进一步地,确定此最大访问总次数对应的最终中心点,即,确定与此第一特征向量相关性最高的最终中心点,得到匹配中心点,换言之,此最大访问总次数是在确定哪一个最终中心点过程中,对此第一特征向量的访问总次数。需要说明的是,对第一特征向量的访问总次数越大,说明与第一特征向量中各元素的相关性越高。
[0073]
从多个stl文件中提取的第一特征向量对应的匹配中心点确定后,将匹配中心点对应的特征向量集合,即以匹配中心点为聚类中心,设置高维半径后的特征向量集合,确定为相应的第一特征向量对应的第一中心点归类。需要说明的是,每个第一中心点归类对应的各个第一特征向量之间较为相似,通过最大访问总次数,较为准确地确定每个第一特征向量的分类。
[0074]
s209:确定待检索模型的第二特征向量,从各第一中心点归类中匹配第二特征向量对应的第二中心点归类,并将第二中心点归类对应的所有第一特征向量确定为检索结果。
[0075]
具体的,可参见步骤s105,在此不再赘述,进一步地,可参见图4,匹配待检索模型对应的第二中心点归类后,可快速将第二中心点归类中的所有第一特征向量直接作为待检索模型对应的检索结果,较好地提高模型检索的效率。
[0076]
本技术实施例基于向量检索技术的模型检索方法的实施原理为:根据多个特征点组合对应的空间距离和法向量夹角余弦值,分别确定每个stl文件对应的空间距离频率分布直方图和法向量夹角余弦值频率分布直方图,再将两者进行叠加,得到从单个stl文件提取的第一特征向量,同理提取多个stl文件,得到多个第一特征向量,然后对多个第一特征向量进行分类,得到多个第一中心点归类,最后,确定待检索模型的第二特征向量所属的第二中心点归类,并将属于第二中心点归类的第一特征向量确定为第二特征向量的检索结果,通过先确定分类,在匹配分类,从而较快速高效地完成模型检索,避免根据待检索模型进行长时间的相似模型匹配过程。
[0077]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0078]
请参见图5,为本技术实施例提供的基于向量检索技术的模型检索装置的结构示意图。该应用于基于向量检索技术的模型检索装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括特征获取模块11、频率确定模块12、向量确定模块13、向量归类模块14和模型检索模块15。
[0079]
特征获取模块11,用于获取至少一个stl文件的特征点组合,并获取特征点组合对应的空间距离和法向量夹角余弦值;频率确定模块12,用于基于各空间距离,确定每个stl文件对应的空间距离频率分布直方图,并基于各法向量夹角余弦值,确定每个stl文件对应的法向量夹角余弦值频率分布直方图;向量确定模块13,用于根据空间距离频率分布直方图和法向量夹角余弦值频率分布直方图,得到每个stl文件对应的第一特征向量;向量归类模块14,用于对各第一特征向量进行分簇处理,确定每个第一特征向量对应的第一中心点归类;模型检索模块15,用于确定待检索模型的第二特征向量,从各第一中心点归类中匹配第二特征向量对应的第二中心点归类,并将第二中心点归类对应的所有第一特征向量确定为检索结果。
[0080]
可选的,特征获取模块11,具体用于:确定面积累加数组,面积累加数组中每个数组元素的值为当前数组元素的值与前一个数组元素的值之和,当前数组元素的值为stl文件对应的三维模型当前面片的面积,第一个数组元素的值为三维模型第一个面片的面积;根据面积累加数组中的最后数组元素,确定目标区间,并生成目标区间之间的随机数,目标区间为0到最后数组元素的区间;根据随机数,从至少一个stl文件中获取对应面片的目标顶点坐标,按照预设公式和目标顶点坐标确定第一特征点,并重复执行生成目标区间之间的随机数的步骤,确定第二特征点,将第一特征点和第二特征点确定为特征点组合;重复执行生成目标区间之间的随机数的步骤,得到多个特征点组合。
[0081]
可选的,频率确定模块12,具体用于:根据各空间距离,确定空间距离数组,并筛选空间距离数组中的最大空间距离;将0到最大空间距离组成的区间划分为第一个数的子区间,并统计空间距离数组
中处于每个子区间的空间距离的第二个数;将各第二个数除以空间距离数组中空间距离的数量之和,得到各子区间对应的频率;将各子区间作为横坐标,并将对应的频率作为纵坐标,得到每个stl文件对应的空间距离频率分布直方图。
[0082]
可选的,向量确定模块13,具体用于:将空间距离频率分布直方图和法向量夹角余弦值频率分布直方图同一横坐标对应的纵坐标的数值进行加权求和,得到stl文件对应的第一特征向量。
[0083]
可选的,向量归类模块14,具体用于:从各第一特征向量中随机选取一个确定为目标中心点,并设置目标中心点对应的高维半径,得到特征向量集合;遍历各第一特征向量,将与目标中心点之间的距离不大于高维半径的模长的第一特征向量添加至特征向量集合中,得到目标特征向量集合;计算目标特征向量集合中各特征向量与目标中心点之间的向量和均值,得到偏移向量,并将目标中心点与偏移向量求和,得到全新中心点;将全新中心点作为目标中心点,重复执行遍历各第一特征向量的步骤,直到对应的偏移向量的模长小于预设模长,并将当前的目标中心点确定为最终中心点,以及统计对每个第一特征向量的访问总次数;重复执行从各第一特征向量中随机选取一个确定为目标中心点的步骤,直到各第一特征向量均被选取为目标中心点,得到多个最终中心点,并基于各最终中心点和对应的多个访问总次数,确定每个第一特征向量对应的第一中心点归类。
[0084]
可选的,向量归类模块14,具体还用于:筛选每个第一特征向量的最大访问总次数对应的最终中心点,确定为匹配中心点;将匹配中心点对应的特征向量集合确定每个第一特征向量对应的第一中心点归类。
[0085]
需要说明的是,上述实施例提供的一种基于向量检索技术的模型检索装置在执行基于向量检索技术的模型检索方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种基于向量检索技术的模型检索装置与一种基于向量检索技术的模型检索方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
[0086]
本技术实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种基于向量检索技术的模型检索方法。
[0087]
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom)、随机存取存储器(ram)、电载波信号、电信
信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
[0088]
其中,通过本计算机可读存储介质,将上述实施例的一种基于向量检索技术的模型检索方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
[0089]
本技术实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种基于向量检索技术的模型检索方法。
[0090]
其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。
[0091]
其中,处理器可以采用中央处理单元(cpu),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本技术对此不做限制。
[0092]
其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(smc)、安全数字卡(sd)或者闪存卡(fc)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本技术对此不做限制。
[0093]
其中,通过本电子设备,将上述实施例的一种基于向量检索技术的模型检索方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。
[0094]
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

技术特征:
1.一种基于向量检索技术的模型检索方法,其特征在于,所述方法包括:获取至少一个stl文件的多个特征点组合,并获取每个所述特征点组合对应的空间距离和法向量夹角余弦值;基于各所述空间距离,确定每个所述stl文件对应的空间距离频率分布直方图,并基于各所述法向量夹角余弦值,确定每个所述stl文件对应的法向量夹角余弦值频率分布直方图;根据所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图,得到每个所述stl文件对应的第一特征向量;对各所述第一特征向量进行分簇处理,确定每个所述第一特征向量对应的第一中心点归类;确定待检索模型的第二特征向量,从各所述第一中心点归类中匹配所述第二特征向量对应的第二中心点归类,并将所述第二中心点归类对应的所有第一特征向量确定为检索结果。2.根据权利要求1所述的基于向量检索技术的模型检索方法,其特征在于,所述获取至少一个stl文件的多个特征点组合,具体包括:确定面积累加数组,所述面积累加数组中每个数组元素的值为当前数组元素的值与前一个数组元素的值之和,所述当前数组元素的值为所述stl文件对应的三维模型当前面片的面积,第一个数组元素的值为所述三维模型第一个面片的面积;根据所述面积累加数组中的最后数组元素,确定目标区间,并生成所述目标区间之间的随机数,所述目标区间为0到所述最后数组元素的区间;根据所述随机数,从至少一个stl文件中获取对应面片的目标顶点坐标,按照预设公式和所述目标顶点坐标确定第一特征点,并重复执行所述生成所述目标区间之间的随机数的步骤,确定第二特征点,将所述第一特征点和所述第二特征点确定为特征点组合;重复执行所述生成所述目标区间之间的随机数的步骤,得到多个所述特征点组合。3.根据权利要求2所述的基于向量检索技术的模型检索方法,其特征在于,所述预设公式为:;式中,p表示为第一特征点或第二特征点,表示(0,1)之间的随机数,a、b和c表示目标顶点坐标。4.根据权利要求1所述的基于向量检索技术的模型检索方法,其特征在于,所述基于各所述空间距离,确定每个所述stl文件对应的空间距离频率分布直方图,具体包括:根据各所述空间距离,确定空间距离数组,并筛选所述空间距离数组中的最大空间距离;将0到所述最大空间距离组成的区间划分为第一个数的子区间,并统计所述空间距离数组中处于每个所述子区间的空间距离的第二个数;将各所述第二个数除以所述空间距离数组中空间距离的数量之和,得到各所述子区间对应的频率;
将各所述子区间作为横坐标,并将对应的频率作为纵坐标,得到每个所述stl文件对应的空间距离频率分布直方图。5.根据权利要求1所述的基于向量检索技术的模型检索方法,其特征在于,所述根据所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图,得到所述stl文件对应的第一特征向量,具体包括:将所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图同一横坐标对应的纵坐标的数值进行加权求和,得到所述stl文件对应的第一特征向量。6.根据权利要求1所述的基于向量检索技术的模型检索方法,其特征在于,所述对各所述第一特征向量进行分簇处理,确定每个所述第一特征向量对应的第一中心点归类,具体包括:从各所述第一特征向量中随机选取一个确定为目标中心点,并设置所述目标中心点对应的高维半径,得到特征向量集合;遍历各所述第一特征向量,将与所述目标中心点之间的距离不大于所述高维半径的模长的第一特征向量添加至所述特征向量集合中,得到目标特征向量集合;计算所述目标特征向量集合中各特征向量与所述目标中心点之间的向量和均值,得到偏移向量,并将所述目标中心点与所述偏移向量求和,得到全新中心点;将所述全新中心点作为目标中心点,重复执行所述遍历各所述第一特征向量的步骤,直到对应的偏移向量的模长小于预设模长,并将当前的目标中心点确定为最终中心点,以及统计对每个所述第一特征向量的访问总次数;重复执行所述从各所述第一特征向量中随机选取一个确定为目标中心点的步骤,直到各所述第一特征向量均被选取为目标中心点,得到多个所述最终中心点,并基于各所述最终中心点和对应的多个访问总次数,确定每个所述第一特征向量对应的第一中心点归类。7.根据权利要求6所述的基于向量检索技术的模型检索方法,其特征在于,所述基于各所述最终中心点和对应的多个访问总次数,确定每个所述第一特征向量对应的第一中心点归类,具体包括:筛选每个所述第一特征向量的最大访问总次数对应的最终中心点,确定为匹配中心点;将所述匹配中心点对应的特征向量集合确定每个所述第一特征向量对应的第一中心点归类。8.一种基于向量检索技术的模型检索装置,其特征在于,包括:特征获取模块(11),用于获取至少一个stl文件的特征点组合,并获取所述特征点组合对应的空间距离和法向量夹角余弦值;频率确定模块(12),用于基于各所述空间距离,确定每个所述stl文件对应的空间距离频率分布直方图,并基于各所述法向量夹角余弦值,确定每个所述stl文件对应的法向量夹角余弦值频率分布直方图;向量确定模块(13),用于根据所述空间距离频率分布直方图和所述法向量夹角余弦值频率分布直方图,得到每个所述stl文件对应的第一特征向量;向量归类模块(14),用于对各所述第一特征向量进行分簇处理,确定每个所述第一特征向量对应的第一中心点归类;
模型检索模块(15),用于确定待检索模型的第二特征向量,从各所述第一中心点归类中匹配所述第二特征向量对应的第二中心点归类,并将所述第二中心点归类对应的所有第一特征向量确定为检索结果。9.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-7中任一项所述的方法。10.一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1-7中任一项所述的方法。

技术总结
本申请涉及一种基于向量检索技术的模型检索方法、装置、介质及设备,其中方法包括:获取至少一个STL文件的多个特征点组合,并获取每个特征点组合对应的空间距离和法向量夹角余弦值;基于各空间距离,确定每个STL文件对应的空间距离频率分布直方图,并基于各法向量夹角余弦值,确定每个STL文件对应的法向量夹角余弦值频率分布直方图,并得到每个STL文件对应的第一特征向量;对各第一特征向量进行分簇处理,确定每个第一特征向量对应的第一中心点归类;确定待检索模型的第二特征向量,从各第一中心点归类中匹配第二特征向量对应的第二中心点归类,并将第二中心点归类对应的所有第一特征向量确定为检索结果。本申请具有提高模型检索的效率的效果。型检索的效率的效果。型检索的效率的效果。


技术研发人员:宋庭熙
受保护的技术使用者:北京凯锐远景科技有限公司
技术研发日:2023.08.09
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐