本发明涉及一种基于草图的三维模型检索方法。
背景技术:
现有的结合深度学习的基于草图的模型检索技术都是将草图直接分类到每一个模型上,这在检索与匹配的流程中会出现大量的信息冗余。而且大多与图像检索相同,直接采用图片像素输入,没有考虑到草图像素较稀疏的特性,因此精确度较差。
技术实现要素:
本发明的目的在于提供一种基于草图的三维模型检索方法,实现了基于草图的三维模型检索,用户手绘草图输入,可以快速检索出相似的三维模型,并将相似度高的至少一个模型输出给用户。
本发明基于草图的三维模型检索方法,将三维模型处理成多张视角截图的形式,再使用不同的轮廓提取算子将其处理成不同样式的草图,在草图轮廓上采样点计算出维度相同的角度矩阵,设置好标签后得到数据集,将数据集用于训练和测试过程;
基于层次网络划分数据集,将整个数据集划分为41个网络,其中,1个大分类网络用于训练大的分类,将输入的草图分类到40个大类中,40个小分类网络分别训练每一类模型中的具体差异,将输入的草图分类到某个大类中一个具体的三维模型上;
训练时,使用googlenet卷积神经网络框架,结合1+40分类网络进行特征提取,首先,输入训练样本至卷积神经网络中进行自动的特征选取和特征表示;然后,这些特征以及权重会被送入每次迭代后生成的.mat文件中作为分类模型;在分类模型建立的同时系统会抽取测试样本中的各个草图进行检索,来验证分类模型的预测结果准确度,并根据这些预测结果的准确度来修改卷积神经网络的参数,然后再输入训练样本提取特征,送入上次生成的.mat文件中作为分类模型,验证分类模型的预测结果准确度,并根据这些预测结果的准确度来修改卷积神经网络的参数,如此迭代,直至准确度和训练效率符合阈值条件;
输入需要检索和匹配的草图至大分类网络的分类模型中,得到草图所属的大类;取得该大类下小分类网络的分类模型;再次输入草图,匹配输出草图所属的三维模型编号;根据该编号从三维模型库调取对应三维模型输出给用户。
进一步,先从三维模型库选取任一三维模型作为训练样本,将该三维模型渲染生成若干个视角的二维截图;使用不同的轮廓提取算子对每张二维截图分别进行轮廓提取,生成若干张类草图;对所有生成的类草图,在其轮廓上采样点计算出维度相同的角度矩阵,该角度矩阵作为训练的数据集。
进一步,将匹配出的三维模型输出给用户时,以增强现实方式呈现给用户。
采用本发明的技术方案后,从功能上实现了基于草图的三维模型检索,信息利用率和精确度高,快捷高效;从结构上定义了1+40网络结构,信息冗余小。本发明使用采样轮廓点计算出的角度矩阵作为卷积神经网络的输入,更加符合草图的特性,检索精确度高。
附图说明
图1为本发明的三维模型搜索引擎整体框架示意图;
图2为本发明训练的流程示意图;
图3为本发明检索与匹配流程示意图。
以下结合实施例对本发明做进一步详述。
具体实施方式
如图1所示,本发明是结合深度学习的基于草图的三维模型检索方法,以matlab作为平台,使用其matconvnet工具箱进行卷积神经网络搭建,使用googlenet和vgg-f作为训练框架,在卷积神经网络的基础上加入了层次网络方法,对每个大类再进行小类的划分并进行训练,可以较高准确度地检索出三维模型,具体包括如下步骤:
步骤1、形成训练的数据集
先从三维模型库选取任一三维模型作为训练样本,将该三维模型渲染生成12个视角的二维截图;针对每一张二维截图根据视角的不同,分别使用不同的轮廓提取算子进行轮廓提取,若使用6个轮廓提取算子,就会生成6张类草图;对所有生成的类草图,在其轮廓上采样点计算出维度相同的角度矩阵;
上述每个训练样本对应12张二维视图和72张类草图以及72个角度矩阵,该角度矩阵作为训练的数据集;
步骤2、基于层次网络划分数据集
首先划分第一个分类网络,即大分类网络,在大分类网络中有40个大类,每个类别选取1个典型的三维模型,总共使用40个典型的三维模型,也就是2880个角度矩阵,所有的三维模型分属于40个大类;剩下的40个小分类网络,使用的是数据集的所有数据;将整个数据集划分为41个网络,其中,1个大分类网络用于训练大的分类,将输入的草图分类到40个大类中,40个小分类网络分别训练每一类模型中的具体差异,将输入的草图分类到某个大类中一个具体的三维模型上;
最后,为每个三维模型对应的各类草图和角度矩阵设置相应的类别标签;
步骤3、分类模型训练过程
训练时,使用googlenet卷积神经网络框架,结合1+40分类网络进行特征提取,其中“1”是指的包括40个大类的大分类网络,用于区分三维模型不同种类的差异,比如飞机和花瓶,这些三维模型之间的差异很大,不用大量的数据便能使分类结果优异;“40”是指40个小分类网络,用于识别同类三维模型中不同样式的差异,比如都属于“飞机”的客机和战斗机,40个小分类网络使用数据集中每个三维模型的数据进行训练;在训练的过程中,采用迭代优化的方法来选择卷积神经网络的接近最优的参数;
首先,输入训练样本至卷积神经网络(cnn网络)中进行自动的特征选取和特征表示;然后,这些特征以及权重会被送入每次迭代后生成的.mat文件中作为分类模型;在分类模型建立的同时系统会抽取测试样本中的各个草图进行检索,并计算准确率,来验证分类模型的预测结果准确度,并根据这些预测结果的准确度来修改卷积神经网络的参数,然后再输入训练样本提取特征,送入上次生成的.mat文件中做为分类模型,验证准确度,修改网络参数,如此迭代,直至准确度和训练效率满意为止,如图2;
步骤3、如图3所示,利用训练好的分类模型对草图进行检索,匹配出三维模型
输入需要检索和匹配的草图;
将输入草图处理为阈值大小;
将处理好的草图输入大分类网络的分类模型,得到草图所属的大类;
取得该大类下小分类网络的分类模型;
再次输入草图,匹配输出草图所属的三维模型编号;
根据该编号从三维模型库调取对应三维模型,并渲染后输出反馈给用户,在用户端可以增强现实方式呈现该匹配出的三维模型。
以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。