基于全局特征捕捉聚合的多视角神经网络的三维模型检索方法与流程

文档序号:19155793发布日期:2019-11-16 00:45阅读:359来源:国知局
基于全局特征捕捉聚合的多视角神经网络的三维模型检索方法与流程

本发明属于计算机视觉及深度学习领域,发明基于全局特征捕捉聚合的多视角神经网络的三维模型检索方法来挖掘代表三维模型的多视角图像之间的内在联系,从而提高了三维模型检索的性能。



背景技术:

随着计算机性能的大幅提高,在立体医疗,虚拟现实,三维游戏领域中产生了大量的三维模型,如何识别检索三维模型成为当前计算机视觉领域中一个备受关注的研究方向。在三维模型检索中的模型表示方法可以分为两种类型:1)基于模型的表示方法,如基于网格或体素的离散表示,还有基于点云的表示方法。基于模型表示的特征设计大多是基于模型自身形状以及其几何性质,例如手工设计的三维直方图,由表面曲率及法线构造的特征词袋。2)基于多视角的表示方法,使用不同视角获取的二维图像来表示三维模型。基于二维图像的表示方法也有多种手工设计特征,例如方向梯度直方图,zernike矩和sift特征等。

但是传统的手工设计特征在检索性能上并不好,由于其由手工设计,从不同的设计算法得到的特征其侧重的各有不同,不能全面的表示模型特征。随着深度学习技术在计算机视觉领域的广泛应用,如经典的alexnet和googlenet深度卷积神经网络。数据通过神经网络来自主学习拟合图像特征,相比于手工设计特征,其可以学习到更为全面的特征,从而大幅提高图像识别效果。在基于多视角的三维模型检索中,每个三维模型都有多个视角图像表示,但是现有的深度神经网络主要用来识别单个图像,其识别效果受限于信息的不全面性。如何聚合多视角图像信息,如何捕获模型的空间特征是提高三维模型检索性能的关键。

聚合多视角信息以及捕获模型空间特征不能简单的对多视角图像特征进行直接拼接,这种拼接有多种弊端,一是造成特征维度成倍增高,导致检索时间的增加,二是简单拼接无法有效捕获空间特征,对检索性能的提高不明显。



技术实现要素:

本发明目的是解决当前方法面对多视角特征无法有效聚合,模型空间信息丢失的问题,提供一种基于全局特征捕捉聚合的多视角神经网络的三维模型检索方法。

本发明用于挖掘三维模型的多视图图像间的内在关系,捕获三维模型的空间信息,同时通过对多视角特征融合来提高检索速度。该发明在三维模型检索中得到了具体验证。

本发明提供的基于全局特征捕捉聚合的多视角神经网络三维模型检索方法,该方法步骤如下:

第1、三维模型的多视图表示

本发明是基于三维模型的多视角表示来进行三维模型的检索,在得到三维模型数据之后,通过处理软件设置好视角角度,捕捉三维模型的对应视角角度视图图像。

第2、设计网络模型

根据三维模型检索的特点设计了专属的双链深度神经网络模型,用于训练学习适用于三维模型的特征表示。该双链深度神经网络模型包含了5部分,分别为低维卷积模块,非局部模块,高维卷积模块,加权局部聚合层和分类层。同时还设计了基于中心损失和成对边界损失的融合损失函数来增加不同类别三维模型之间的区分性。

第3、生成最难样本对

使用双链深度神经网络模型需要以样本对的形式作为输入,如果对所有样本都进行配对,那生成的样本对数目将极为庞大。而最难样本对是根据同类样本距离最远,不同类样本距离最近的原则来生成。

第4、训练网络模型

使用三维模型训练集来训练双链深度神经网络,双链深度神经网络通过目标函数来自我学习到能全面表示训练数据的网络模型参数。

第5、提取深度特征

在检索过程中,每个三维模型都使用特征表示,本发明使用第4步中训练好的网络模型参数来提取特征。网络模型输入为代表单个三维模型的多张视图图像,通过双链深度神经网络的特征提取与聚合,将多张视图图像特征聚合为一个高区分度的三维模型特征描述符。

第6、进行三维模型检索

给定一个三维模型,我们要在目标数据集中找到同该三维模型属于同类的三维模型即相关三维模型。三维模型检索中特征描述和距离度量方法是非常重要的。特征描述使用第5步提取的深度特征,距离度量方法使用欧氏距离公式,其计算过程如下。

x,y分别代表不同是三维模型,其中d(x,y)表示两个三维模型间的距离,xi,yi分别表示x的i维特征及y的i维特征。

本发明的优点和有益效果;

1)针对多视角图像,使用非局部模块来挖掘各个视角图像之间潜在的关联性。

2)利用加权局部聚合层将捕获到的各视图的高维特征聚合,得到一个高区分度的三维模型特征描述符。

3)通过上述两点的改进,本发明在三维模型检索中取得了先进的性能,其检索结果如图5所示。

附图说明

图1为本发明设计的双链深度神经网络结构。

图2为本发明的检索流程图。

图3为三维模型数据集示例。

图4为三维模型的多视角图像。

图5为modelnet40数据集上本发明方法与目前先进方法的检索性能结果对比。图5对应的文献如下所示。

[1]youh,fengy,jir,etal.pvnet:ajointconvolutionalnetworkofpointcloudandmulti-viewfor3dshaperecognition[j].acmmultimedia,2018:1310-1318.

[2]hex,zhouy,zhouz,etal.triplet-centerlossformulti-view3dobjectretrieval[j].computervisionandpatternrecognition,2018:1945-1954.

[3]yavartanoom,kimey,leekm,etal.spnet:deep3dobjectclassificationandretrievalusingstereographicprojection.[j].arxiv:computervisionandpatternrecognition,2018.

[4]fengy,zhangz,zhaox,etal.gvcnn:group-viewconvolutionalneuralnetworksfor3dshaperecognition[c].computervisionandpatternrecognition,2018:264-272.

[5]suh,majis,kalogerakise,etal.multi-viewconvolutionalneuralnetworksfor3dshaperecognition[j].internationalconferenceoncomputervision,2015:945-953.

[6]bais,baix,zhouz,etal.gift:areal-timeandscalable3dshapesearchengine[j].computervisionandpatternrecognition,2016:5023-5032.

[7]shib,bais,zhouz,etal.deeppano:deeppanoramicrepresentationfor3-dshaperecognition[j].ieeesignalprocessingletters,2015,22(12):2339-2343.

[8]sinhaa,baij,ramanik,etal.deeplearning3dshapesurfacesusinggeometryimages[c].europeanconferenceoncomputervision,2016:223-240.

[9]wuz,songs,khoslaa,etal.3dshapenets:adeeprepresentationforvolumetricshapes[j].computervisionandpatternrecognition,2015:1912-1920.

具体实施方式

下面结合附图对本发明作进一步的描述。

实施例1:

如图2所示,为本发明的基于全局特征捕捉聚合的多视角神经网络的三维模型检索方法的步骤流程图,其具体操作步骤如下所示。

步骤一三维模型的多视图表示

在医疗,游戏,工业设计等领域中的三维模型都以一个整体的三维模型来表示,通常存储为多边形网格,是与形成面的边缘连接的点的集合。因此在本发明所提出的方法中,需要先将三维模型利用多视角图像表示,要创建多视图形状表示,我们需要设置视图(虚拟摄像机)来渲染每个网格。我们通过每隔30度在网格周围放置12个虚拟摄像机来创建12个渲染视图图像,如图4所示。

步骤二设计网络模型

本文根据三维模型检索的特点设计了专属的双链深度神经网络模型,用于训练学习适用于三维模型的特征表示。该双链深度神经网络模型包含了5部分,分别为低维卷积模块,非局部模块,高维卷积模块,加权局部聚合层,分类层。同时我们还设计了基于中心损失和成对边界损失的融合损失函数来增加不同类别三维模型之间的区分性。

低维卷积模块包含一个卷积核为7x7,步幅为2的卷积层,该卷积层后面是一个核为3x3,步幅为2的最大池化层。该模块用来捕捉提取视图的低维特征。在非局部模块中我们使用非局部模块来挖掘各视图之间的联系,通过非局部思想,构建一个图结构,将不同视图图像连接起来。非局部模块其公式如下所示。

设有视图集v,va为v中第a个视图,vb为v中第b个视图,ya为对应于va的输出。成对函数g用来计算两视图间的相关关系,一元函数h用来对输入缩放,使用函数u来进行归一化。

为方便于卷积操作,成对函数g其计算公式如下:

g(va,vb)=α(va)tβ(vb)(3)

其中α(va)=wαva,β(va)=wβvb,wα,wβ是可以被学习的权值矩阵。归一化因子u(x)=n,其中n为视图集v所包含视图个数。

一元函数h为线性函数:

h(mb)=whmb(4)

wh为卷积层的网络参数,在实现形式上使用1x1卷积操作。该非局部模块如下所示:

za=wzya+ma(5)

其中wzya+ma表示一个残差连接,ya由(2)式计算得到,ma为原始输入,za为非局部模块的最终输出。通过该实现形式可以将该模块便捷的插入已有网络模型中,且不需要调整原模型来对其进行适配。

在非局部模块之后加入高维卷积模块(四个残差卷积模块)来捕捉视图的高级抽象特征。模块一包含6个核为3x3的卷积层,模块二包含8个核为3x3的卷积层,模块三包含12个核为3x3的卷积层,模块四包含6个核为3x3的卷积层,其中每两个卷积层做一次残差操作,通过残差操作有效的防止了梯度爆炸。提取到多视图的高级抽象特征之后,使用加权局部聚合层来自主学习多视图区分性权重,且使用虚类中心思想,将多视图图片分类,在分类过程中虚类参与,但在回传过程中,直接舍弃虚类,从而降低区分性低的图片的贡献度。该层输入为各个多视图对应矢量特征,该层输出为去除虚类的类中心残差矢量特征。最后通过max-pooling操作将其聚合为一个紧凑的区分度高的模型描述符。分类层使用softmax分类。

我们在单链的基础上设计了双链网络,同时融合了多种损失函数来学习到更有区分性的特征描述符,分别有成对边界损失函数以及中心损失函数。

成对边界损失函数如下所示:

lb(xi,xj)=(1-yij)(α-dij)+yij[dij-(α-m)](6)

xixj为一对样本对,dij为欧氏距离,yij为相关权重。其中α为边界,m为最远正样本与最近负样本间间距,lb(xi,xj)为损失函数值。

中心损失函数如下所示:

其中xi为样本特征,kci为第i类的类中心点,lc为对应的中心损失函数值。通过计算样本特征与对应类中心的距离,其距离越小则对应的损失函数值越小,来达到减小类内距离的效果从而获取到更有区分性的特征描述符。

通过融合以上多个损失函数,减小类内距离,增大类间距离,能够自主学习到区分性更高的特征描述符。

步骤三最难样本对生成

我们在生成样本对过程中,设有c类,每类有p个物体,则生成最难正正样本对时,每个物体选择同类中距离最远的k个物体。则正正样本对共有c·k·p个样本对。生成正负样本对时,每个物体要匹配其他类中同其最近的一个物体,作为最近邻不同类样本,共有c·p2个样本对。

步骤四训练网络模型

使用三维模型训练集来训练双链深度神经网络,双链深度神经网络通过目标函数来自我学习到能全面表示训练数据的网络模型参数。

本发明可以使用pytorch深度学习框架来对网络模型进行训练,首先需要对输入数据进行数据预处理操作,包括数据归一化,原始图像尺寸统一化,随机裁剪,图像水平随机翻转和图像竖直反转。其中数据归一化是用来对原始数据归一化到固定区间上的统计分布以保证程序收敛加快。原始图像尺寸统一化是因为网络模型设计好之后,其尺寸固定,因此输入图像尺寸要符合网络模型所需尺寸。随机裁剪,图像水平翻转以及竖直反转是为了增加数据量来防止网络模型过拟合。在初始参数设置中,我们将迭代轮数设置为8,每次迭代20个样本对,其中初始学习率设置为0.0001,预训练网络模型参数使用在大型数据集imagenet上预训练好的网络模型参数。其中参数α设置为1.2,m设置为0.4。本发明使用自适应梯度优化器,其可以针对不同参数来自适应调整学习率。通过综合考量梯度一阶矩估计与二阶矩估计来计算出步长更新范围。

步骤五提取深度特征

在检索过程中,每个三维模型都使用特征表示,本发明训练网络时使用双链结构来训练网络,得到训练好的神经网络模型,然后使用第4步中训练好的网络模型参数作为提取特征的模型参数。提取特征完成后会得到一个单链的网络模型参数。网络模型输入为代表单个三维模型的多张视图图像,通过本发明提出的网络结构进行特征提取与聚合,将多张视图图像特征聚合为单个三维模型特征。提取特征的过程中,本发明所提取的特征维度为512。

步骤六三维模型检索

给定一个三维模型,我们要在目标数据集中找到同该三维模型属于同类的三维模型即相关三维模型,设检索三维模型集为q,待查询数据集为g,则目标是在g中找到与q中三维模型相关的三维模型。其实现形式为计算同三维模型qi与数据集g中各个三维模型的相关性,根据相关性大小进行排序,来得到与三维模型qi相关的三维模型。其具体实现形式如下所示。

检索三维模型集与待查询数据集都需要使用特征向量表示,本发明使用第5步来提取特征。得到检索数据集与待查询数据集中各个三维模型的特征表示后,计算三维模型qi同待查询数据集g中各个三维模型的距离,用如下形式表示。

lij为三维模型qi,gj之间的距离,其中f(qi,gj)为两个三维模型之间的距离度量方法,本发明的距离度量方法使用欧氏距离,其计算过程如下:

其中x,y分别代表不同三维模型,其中d(x,y)表示两个三维模型间的距离,xi,yi分别表示x的i维特征及y的i维特征。计算得到qi与g中各个三维模型距离之后,对该距离进行排序,可以取前k个作为同qi相关的三维模型。依次计算得到g中与q中三维模型相关的三维模型,在modelnet40数据集上的检索结果如图5所示。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1