快速的三维模型索引建立及检索方法

著录项
  • CN201910980788.X
  • 20191016
  • CN110737788A
  • 20200131
  • 哈尔滨理工大学
  • 丁博;汤磊;高玉栋;何勇军
  • G06F16/51
  • G06F16/51 G06F16/583 G06K9/62 G06N3/04 G06N3/08

  • 黑龙江省哈尔滨市南岗区学府路52号
  • 黑龙江(23)
摘要
快速的三维模型索引建立及检索方法,本发明涉及三维模型检索过程中,二维视图表征三维模型存在冗余的问题以及检索效率低下的问题。目前基于视图的三维模型检索是先将三维模型投影成二维视图集合,然后采用深度学习技术对其进行分类和检索。然而,现有的方法在精度和效率方面都有待提升。为此,本发明采用K?means方法选出代表性视图来替代投影所产生的所有视图,极大的减少了投影视图的数量。然后利用训练好的卷积神经网络(CNN)提取具有代表性的特征,并将特征按类别建立索引。检索时,利用CNN首先将代表性视图分到一个类别中,然后相似度匹配仅在该类别中进行而不是所有类别。通过这种方式,减少了检索算法的搜索空间。此外,本发明提出了一种视图递增的检索方法,该方法在满足条件时,提前终止检索,使得检索平均时间进一步减少,再次提高了检索效率。本发明应用于三维模型检索。
权利要求

1.快速的三维模型索引建立及检索方法,其特征在于,包含模型训练阶段、代表性视图索引建立阶段和视图递增的检索阶段:

所述模型训练阶段包含步骤:

S1、按照本发明的方法获取本地模型的二维视图;

S2、将S1得到的投影视图作为训练数据,放入ResNet50卷积神经网络中进行训练;

所述代表性视图索引建立阶段包含步骤:

S3、对S1得到的投影利用K-means算法进行聚类,并将聚类后的视图放入S2训练好的模型中进行特征提取,按照类别建立索引;

所述视图递增的检索阶段包含步骤:

S4、对待检索模型按照S1的方法进行投影,并将投影得到的二维视图利用S2训练好的模型进行分类和特征提取;

S5、综合S4的二维视图分类结果,确定模型的最终类别;

S6、在S5确定的类别下按照本发明的方法进行相似度匹配,得到检索结果。

2.如权利要求1所述的检索方法,其特征在于,步骤S1获取二维视图的方法,本发明的创新性如下:

S11、对模型进行预处理,获取模型的边界信息,遍历模型点的坐标,计算确定缩放比例和模型的位置中心,对模型进行平移和缩放;

S12、投影点选取,将单位圆平均划分为4个区域,每个区域中心设置一个投影相机,其他相机位于通过中心的等分线上,等分线之间的夹角相等,并确保每个相机的镜头指向球心;

S13、模型渲染,取多光源的方式进行模型渲染,首先设置一个强度较低的环境光,然后在(0,0,1),(0,0,-1),(0,1,0),(0,-1,0),(1,0,0),(-1,0,0)6个点,即模型的上下左右前后6个方向设置6个亮度较低的点光源,最后在每个相机的位置设置一个亮度较高的点光源,采集视图时开启;

S14、经过以上处理,每个模型获取到40张二维视图。

3.如权利要求1所述的检索方法,其特征在于,步骤S5确定模型类别方法为:

S51、统计每张视图的最终分类类别,视图数量最多的类别即为模型的最终类别,若出现两个类别视图数一致的情况则执行步骤S52;

S52、获取每张视图的分类概率列表,将不同视图的对应类别概率相加求平均,概率最大的类别即为模型的最终类别。

4.如权利要求1所述的检索方法,其特征在于,步骤S6中所述的检索算法,本发明的创新性如下:

S61、依次输入待检索模型聚类后的视图,如果该输入视图和一个模型视图之间的距离小于η时停止检索,输出检索结果,否则执行步骤S62;

S62、记录该视图的最佳匹配模型,若某个最匹配模型的数量达到5时,停止检索,输出检索结果,否则执行步骤S63;

S63、记录输入视图和所有本地模型视图之间的欧氏距离,与上一张视图计算得到的欧式距离对应累加,更新检索结果,执行步骤S61直到无待检索模型视图输入,最后输出检索结果。

5.如权利要求4所述的检索策略,其特征在于,步骤S61中的η的确定方式,本发明的创新性如下:

通过遍历同一个模型两个相邻投影点所产生的两个视图间的距离(以下称为相邻视图距离)来选取η的大概范围,经过实验发现,即使在同一个数据集中,不同类别间的相邻视图距离取值也不同,为了兼顾检索数据库中各个类别,同时也为了提高检索的精度,本发明取检索数据库中每类模型的最小的相邻视图距离平均值为最终η值。

说明书

快速的三维模型索引建立及检索方法

技术领域

本发明涉及三维模型检索过程中,三维模型的二维代表性视图选取、索引建立以及检索过程中的相似度匹配问题。

背景技术

近年来,三维模型被广泛用于计算机辅助设计(Computer Aided Design,CAD)、虚拟现实、3D动画和影视、医学诊断、3D游戏、机械制造等领域。三维模型数量的飞速增长为模型增量设计提供了大量素材。根据产品之间的相似性,最大限度地重用已有的设计资源来开发新产品,不仅可以降低时间成本,而且还可以有效的提高产品可靠性。三维模型数目的剧增带来了一个现实的问题,那就是如何在海量模型中快速搜索到需要的模型,这正是三维模型检索要解决的问题。

三维模型检索分为模型索引建立和模型检索两步。基于二维视图的索引建立是在不同的角度对三维模型投影,得到一组二维视图。然后提取二维视图的特征表示来建立索引,达到了将三维模型检索转换成二维视图检索的目的。目前基于视图的三维模型检索方法大都存在冗余信息,这严重影响了模型检索的精度和速度。为了提高视图的代表性,提出了一种基于K-means视图获取方法,以提高投影视图的表示能力、减少投影视图的数量。

提取到代表性视图后需要提取特征以建立索引。传统的特征提取方法依赖于人的经验,主观性强,消耗大量的人力物力,还无法提取到典型特征。深度学习能让机器自动学习客观对象的多层抽象和表示,从而理解各类复杂对象的内在含义,在三维模型检方面具有很大的潜力。卷积神经网络(Convolution Neural Network,CNN)是一种深度学习网络,利用卷积核来自动提取特征,省去了人工提取特征的步骤。基于卷积神经网络的检索方法能有效提升图像对象的识别精度。因此,本发明利用训练好的CNN提取代表性视图的特征,并按类别建立索引。

在模型检索方面,目前的方法投影并提取特征以后,需要与所有模型的全部索引进行相识度匹配,这降低了检索的效率。因此,我们采用先分类再检索的方式,减少了检索算法的搜索空间。与此同时,提出了一种基于视图递增的三维模型检索方法。该方法对于待检索模型,依次选择代表性视图进行相似度匹配,当可以确定所需模型时,提前终止检索,从而进一步提高了检索效率。

发明内容

本发明的目的是为了解决三维模型检索过程中,三维模型的表征问题和检索效率低下问题。

上述发明目的主要是通过以下技术方案实现的:

快速的三维模型索引建立及检索方法,包含三个阶段模型训练、代表性视图索引建立和视图递增的相似度匹配:

所述模型训练阶段包含步骤:

S1、按照本发明的方法获取本地模型的二维视图;

步骤S1获取二维视图的方法如下:

S11、对模型进行预处理,获取模型的边界信息,遍历模型点的坐标,计算确定缩放比例和模型的位置中心,对模型进行平移和缩放;

S12、投影点选取,将单位圆平均划分为4个区域,每个区域中心设置一个投影相机,其他相机位于通过中心的等分线上,等分线之间的夹角相等,并确保每个相机的镜头指向球心;

S13、模型渲染,取多光源的方式进行模型渲染,首先设置一个强度较低的环境光,然后在(0,0,1),(0,0,-1),(0,1,0),(0,-1,0),(1,0,0),(-1,0,0)6个点,即模型的上下左右前后6个方向设置6个亮度较低的点光源,最后在每个相机的位置设置一个亮度较高的点光源,采集视图时开启;

S14、经过以上处理,每个模型获取到40张二维视图。

S2、将S1得到的投影视图作为训练数据,放入ResNet50卷积神经网络中进行训练;

所述代表性视图索引建立阶段包含步骤:

S3、对S1得到的投影视图利用K-means算法进行聚类,并将聚类后的视图放入S2训练好的模型中进行特征提取,按照类别建立索引;

当用K-means对二维视图进行聚类时,首先确定类别K的值,S1中投影得到40张视图,经验证,K的取值范围为10-20时最佳,然后用手肘法确定K的最终值,选择最靠近每个类别中心的视图作为代表视图,最终得到K个二维代表性视图表示一个三维模型。

所述视图递增的检索阶段包含步骤:

S4、对待检索模型按照S1的方法进行投影,并将投影得到的二维视图利用S2训练好的模型进行分类和特征提取;

S5、综合S4的二维视图分类结果,确定模型的最终类别;

步骤S5确定模型类别步骤如下:

S51、统计每张视图的最终分类类别,视图数量最多的类别即为模型的最终类别,若出现两个类别视图数一致的情况则执行步骤S52;

S52、获取每张视图的分类概率列表,将不同视图的对应类别概率相加求平均,概率最大的类别即为模型的最终类别。

S6、在S5确定的类别下按照本发明的方法进行相似度匹配,得到检索结果。

步骤S6的相似度匹配算法如下:

S61、依次输入待检索模型聚类后的视图,如果该输入视图和一个模型视图之间的距离小于η时停止检索,输出检索结果,否则执行步骤S62;

S62、记录该视图的最佳匹配模型,若某个最匹配模型的数量达到5时,停止检索,输出检索结果,否则执行步骤S63;

S63、记录输入视图和所有本地模型视图之间的欧氏距离,与上一张视图计算得到的欧式距离对应累加,更新检索结果,执行步骤S61直到无待检索模型视图输入,最后输出检索结果。

优选的,S61中的距离为欧式距离,检索结果按照欧氏距离从小到大的顺序排序,特别的,η的确定方式如下:

通过遍历同一个模型两个相邻投影点所产生的两个视图间的距离(以下称为相邻视图距离)来选取η的大概范围,经过实验发现,即使在同一个数据集中,不同类别间的相邻视图距离取值也不同,为了兼顾检索数据库中各个类别,同时也为了提高检索的精度,本发明取检索数据库中每类模型的最小的相邻视图距离平均值为最终η值。

发明效果

本发明提供了一种快速的三维模型索引建立及检索方法。在模型训练阶段,首先通过本发明的方法对三维模型进行二维视图投影,并利用投影得到的视图进行CNN模型训练;在代表性视图索引建立阶段,采用K-means的方法对二维视图进行聚类,选取离聚类中心最近的视图为代表性视图,最终一个模型得到K张视图,利用训练好的模型进行特则提取并按照类别建立索引;在检索阶段,对待检索模型按照同样的方法获取代表性视图,然后通过CNN预测代表性视图的类别,并通过累加概率最大值确定其最终类别,最后在该类别内按照本发明的相似度匹配算法进行检索。实验表明,本发明可以极大地提高检索效率。

附图说明

图1模型预处理示意图;

图2投影点相机位置图;

图3模型渲染过程中固定点光源分布图;

图4最终检索效果;

图5本发明在ModelNet10数据库中平均相似度匹配次数对比图。

具体实施方法

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

本发明提供的一种快速的三维模型检索方法,包含模型训练阶段、代表性视图索引建立阶段和视图递增的检索阶段:

所述模型训练阶段包含步骤:

S1、按照本发明的方法获取本地模型的二维视图;

S2、将S1得到的投影视图作为训练数据,放入ResNet50卷积神经网络中进行训练;

所述代表性视图索引建立阶段包含步骤:

S3、对S1得到的投影利用K-means算法进行聚类,并将聚类后的视图放入S2训练好的模型中进行特征提取,按照类别建立索引;

所述视图递增的检索阶段包含步骤:

S4、对待检索模型按照S1的方法进行投影,并将投影得到的二维视图利用S2训练好的模型进行分类和特征提取;

S5、综合S4的二维视图分类结果,确定模型的最终类别;

S6、在S5的类别范围内按照本发明的策略进行检索,得到检索结果。

本发明实施例通过在模型训练阶段,以本文所述发放获取二维视图为训练数据,放入ResNet50网络中进行模型训练;代表性视图索引建立阶段,通过K-means聚类方法获取代表性视图,利用之前训练好的网络模型提取这些视图特征并建立本地索引;视图递增的检索阶段,首先确定待检索模型的类别,然后在此类别内按照本发明所述方法以视图递增的形式进行相似度匹配,最后得到检索结果;通过本发明提供的方法可以有效地提高三维模型检索效率。

下面对本发明实施例进行详细的说明:

本发明实施例为在ModelNet10数据库中检索chair_890,应用本发明方法检索包含模型训练阶段、代表性视图索引建立阶段和视图递增的检索阶段:

所述模型训练阶段包含步骤:

S1、按照本发明的方法获取本地模型的二维视图;

步骤S1获取二维视图的方法如下:

如图1所示,

S11、模型预处理,将模型平移旋转到坐标原点,对所有本地模型执行同样操作;

如图2所示,

S12、投影点选取,将单位圆平均划分为4个区域,每个区域中心设置一个投影相机,其他相机位于通过中心的等分线上,等分线之间的夹角相等,并确保每个相机的镜头指向球心;

如图3所示,

S13、模型渲染,取多光源的方式进行模型渲染,首先设置一个强度较低的环境光,然后在(0,0,1),(0,0,-1),(0,1,0),(0,-1,0),(1,0,0),(-1,0,0)6个点,即模型的上下左右前后6个方向设置6个亮度较低的点光源,最后在每个相机的位置设置一个亮度较高的点光源,采集视图时开启;

S14、经过以上处理,每个模型获取到40张二维视图,ModelNet10数据库共获取159640张二维视图。

S2、将S1得到的投影视图作为训练数据,放入ResNet50中进行训练;

将S1得到的视图全部输入到ResNet50中进行训练,得到的一个训练好的ResNet50深度神经网络模型。

所述代表性视图索引建立阶段包含步骤:

S3、对S1得到的投影利用K-means算法进行聚类,并将聚类后的视图放入S2训练好的模型中进行特征提取,按照类别建立索引;

本文按照K-means的方法对视图进行聚类,每个模型聚类时的K值选取不同,均值约为14,聚类后的视图按照S2训练好的模型提取特征,并按类别建立索引。

所述视图递增的检索阶段包含步骤:

S4、对待检索模型按照S1的方法进行投影,并将投影得到的二维视图利用S2训练好的模型进行分类和特征提取;

同样使用K-means对二维视图进行聚类,K的取值范围大致为10-20,然后用手肘法确定K的最终值为15,选择最靠近每个类别中心的视图作为代表视图,最终得到15个二维代表性视图表示一个三维模型。

S5、综合S4的二维视图分类结果,确定模型的最终类别;

步骤S5确定模型类别方法为:统计每个视图的最终分类类别,chair类别下有15张视图,则模型最终类别为chair。

S6、在S5确定的类别下按照本发明的策略进行检索,得到检索结果。

步骤S6的检索方法如下:

S61、输入一张chair_890聚类后的视图,和本地模型间的视图计算欧式距离,无小于η的值,执行S62;

S62、记录该视图的最佳匹配模型为chair_713,最匹配模型的数量均未达到5,执行步骤S63;

S63、记录输入视图和所有本地模型视图之间的欧氏距离,与上一张视图计算得到的欧式距离对应累加,更新检索结果,仍有视图输入,继续执行步骤S61直到无输入,最后输出检索结果。

优选的,S61中的η值按照以下方式确定:

通过遍历同一个模型两个相邻投影点所产生的两个视图间的距离(以下称为相邻视图距离)来选取η的大概范围,ModelNet10数据库中,每类模型的最小的相邻视图距离平均值为,为1.641,则η值为1.641。

本实施例中,ModelNet10训练集模型分为10类,共3991个模型,平均每类有399个模型;按照S1方法,每个模型可得到40张二维视图,按照S3的方法聚类后,平均每个模型可得14张二维视图;两张视图间计算距离所花费时间约为(5*10-4)秒。为体现本发明的有效性,分为如下几种情况进行对比:

1、若不执行步骤S3、S4、S5、S6,则检索一次所花费的时间约为:

40*3991*40*5*10-4秒

2、若不执行S3、S4、S6,则检索一次花费时间约为:

40*399*40*5*10-4秒,比情况1减少了90%。

3、若不执行S6,则检索一次花费时间约为:

14*399*14*5*10-4秒,比情况2减少了87.75%。

4、若执行本发明所有步骤,则检索一次花费时间约为:

11*399*14*5*10-4秒,比情况3减少了21.5%。

另外,本实施例的最终检索效果如图4示,在ModelNet10数据库中一次检索的平均相似度匹配次数对比如图5所示,可以看出,本发明提出的检索方法可以在保证精度的基础上提升检索的效率。

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

本文发布于:2024-09-24 22:32:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/84473.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议