本发明涉及三维模型检索领域,尤其涉及一种基于视图的特征匹配三维模型检索方法。
背景技术:
随着计算机视觉技术以及采集设备的发展,大量的行业人开始应用三维模型数据,当今有关三维模型的科学技术越来越成熟并且应用的范围也越来越广,例如:计算机辅助设计[1]、计算机图形学[2]、计算机视觉[3]、生物信息学[4]、医学[5]和娱乐产业[6]。三维模型可以携带比文本和图像更多的信息,展示形式也更为丰富真实,促使其越来越广泛地应用于社会生产生活的各个领域[7]。如今三维模型已经成为了继声音、图像、视频之后的第四种多媒体数据类型[8],与此同时造成了数据的海量增长,如何对这些数据的有效管理是如今人们亟待解决的问题,其中三维模型检索是实现对三维模型海量数据有效管理的关键技术。
基于对前人工作的调研,三维模型检索算法大体可以分为两类:一类是基于文本的检索[9],该方法的主要特点就是三维模型的相关特征事先由人工进行标注,再根据用户输入的文本查询条件进行语义检索。但这类检索方法需要研究人员人工添加大量的文本描述标注,而且这些文本描述存在内容不准确,不全面,有歧义,有主观性等缺点,因此检索体验较差;另一类三维模型检索技术是基于内容的检索[10],基于内容的三维模型检索的最主要思想是根据三维模型的几何形状、拓扑结构等形状内容或者颜色、纹理等外观内容来得到三维模型的相关形状、外观特征,形成一组特征向量,并利用这些特征向量作为三维模型的描述并建立相应索引,在三维数据库检索时进行比较和计算[11]。该类检索方法不需要人工添加文本描述信息,而是直接从三维模型本身的内容出发进行自动的检索,避免了由于人工主观性造成模型描述信息的差异。此外由二维图像的检索延伸到三维模型检索发展日趋成熟,极大地扩大了基于内容的检索方法的应用范围。
基于内容的检索分为两类:基于模型的检索和基于视图的检索。由于基于模型的检索受到计算量的限制应用不是很广泛,现在较为常用的是基于视图的检索。基于视图的三维模型检索方法使用二维视图来描述三维模型,同时,三维模型的比较也是基于二维视图之间的比较实现的。
基于视图的三维模型检索领域目前面临的主要挑战为:大多数方法都关注在相似度计算和模型结构表征上,而忽略了对特征的学习和优化,限制了实际应用范围。
技术实现要素:
本发明提供了一种基于视图的特征匹配三维模型检索方法,本发明避免了对特征所处空间的依赖,提高了三维模型检索的精度,降低了计算的复杂度,详见下文描述:
一种基于视图的特征匹配三维模型检索方法,所述检索方法包括以下步骤:
从多视角模型库和单视角模型库中分别选择一些物体作为训练集,将多视角高斯核和跨视角高斯核合并为多视角训练特征,将单视角高斯核和跨视角高斯核合并为单视角训练特征,利用多视角训练特征和单视角训练特征构建目标函数并使其最小化得到特征匹配矩阵;
从多视角模型库和单视角模型库中分别选择一些物体作为测试集,将多视角高斯核和跨视角高斯核合并为多视角测试特征,将单视角高斯核和跨视角高斯核合并为单视角测试特征;
将多视角测试特征乘以转换函数得到映射后的特征,将单视角测试特征乘以另一转换函数得到映射后的特征;计算特征间的cos距离进而获得模型之间的相似度。
所述检索方法还包括:
将数据库中所有物体的多视角彩色视图集定义为多视角模型库;
对每个物体的多视角彩色视图集随机抽取一张视图,得到各物体的初始单视角视图,将所有物体的初始单视角视图定义为单视角模型库。
所述检索方法还包括:
在多视角模型库和单视角模型库中,提取各物体的初始视图集的卷积神经网络特征,得到初始特征多视角向量集和类别标签,初始特征单视角向量集和类别标签;
分别提取向量集的高斯核并定义为多视角高斯核、单视角高斯核和跨视角高斯核。
所述多视角高斯核具体为:通过计算协方差矩阵的距离范数d(ssi,ssj)的高斯核得到多视角高斯核
Ks'(si,sj)=exp(-d(ssi,ssj)2/2σ2)
其中,σ是d(ssi,ssj)的标准差;Ks'(si,sj)为第si个多视角三维物体与第sj个多视角三维物体间的高斯核。
所述单视角高斯核具体为:
Kv'(vi,vj)=exp(-||vvi-vvj||2/2t2)
其中,vi,vj∈{1,2,...,n},t为单视角向量集V的标准差;n为单视角三维物体的个数;vvi为第vi个单视角三维物体的特征;vvj为第vj个单视角三维物体的特征;Kv'(vi,vj)为第vi个单视角三维物体与第vj个单视角三维物体间的高斯核。
所述跨视角高斯核具体为:通过计算多视角向量集的协方差矩阵和单视角向量集V的马氏距离d(vvi,Csj)的高斯核得到跨视角高斯核,
K′sv(vi,sj)=exp(-d(vvi,Csj)2/2τ2)
其中,τ是马氏距离d(vvi,Csj)的标准方差;K′sv(vi,sj)为第vi个单视角三维物体与第sj个多视角三维物体间的高斯核。
所述利用多视角训练特征和单视角训练特征构建目标函数的步骤具体为:
将多视角训练特征的转换函数定义为ψ,单视角训练特征的转换函数定义为f,构建目标函数如下:
其中,λ1>0,λ2>0为权重函数并满足λ1+λ2=1;C(f,ψ)是多视图训练特征和单视图训练特征之间相似度和不相似度的约束项;D(f,ψ)用于保持所有训练特征的几何特性;O(f,ψ)用于保持数据的各同向性分布。
本发明提供的技术方案的有益效果是:
1、避免了采集初始视图时对样本视图数的依赖,可以应用于任何基于视图的三维模型数据库;即当检索的三维模型的视图数目不同时,本方法依然可行;
2、使用训练样本来训练特征匹配矩阵,提高了匹配精确度。
附图说明
图1为一种基于视图的特征匹配三维模型检索方法的流程图;
图2为物体的初始多视角视图集样例的示意图;
图3为物体的初始单视角视图集样例的示意图;
图4为四种三维模型检索方法的查准-查全曲线的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
实施例1
为了解决三维模型检索中特征匹配的问题,提高三维模型检索的准确度,参见图1, 本发明实施提供了一种基于视图的特征匹配三维模型检索方法,该方法包括以下步骤:
101:从多视角模型库和单视角模型库中分别选择一些物体作为训练集,将多视角高斯核和跨视角高斯核合并为多视角训练特征,将单视角高斯核和跨视角高斯核合并为单视角训练特征,利用多视角训练特征和单视角训练特征构建目标函数并使其最小化得到特征匹配矩阵;
102:从多视角模型库和单视角模型库中分别选择一些物体作为测试集,将多视角高斯核和跨视角高斯核合并为多视角测试特征,将单视角高斯核和跨视角高斯核合并为单视角测试特征;
103:将多视角测试特征乘以转换函数得到映射后的特征,将单视角测试特征乘以另一转换函数得到映射后的特征;计算特征间的cos距离进而获得模型之间的相似度。
其中,在步骤101之前,该检索方法还包括:将数据库中所有物体的多视角彩色视图集定义为多视角模型库;
对每个物体的多视角彩色视图集随机抽取一张视图,得到各物体的初始单视角视图,将所有物体的初始单视角视图定义为单视角模型库。
其中,该检索方法还包括:在多视角模型库和单视角模型库中,提取各物体的初始视图集的卷积神经网络特征,得到初始特征多视角向量集和类别标签,初始特征单视角向量集和类别标签;
分别提取向量集的高斯核并定义为多视角高斯核、单视角高斯核和跨视角高斯核。
其中,步骤102中的多视角高斯核具体为:通过计算协方差矩阵的距离范数d(ssi,ssj)的高斯核得到多视角高斯核
Ks'(si,sj)=exp(-d(ssi,ssj)2/2σ2)
其中,σ是d(ssi,ssj)的标准差;Ks'(si,sj)为第si个多视角三维物体与第sj个多视角三维物体间的高斯核。
其中,步骤102中的单视角高斯核具体为:
Kv'(vi,vj)=exp(-||vvi-vvj||2/2t2)
其中,vi,vj∈{1,2,...,n},t为单视角向量集V的标准差;n为单视角三维物体的个数;vvi为第vi个单视角三维物体的特征;vvj为第vj个单视角三维物体的特征;Kv'(vi,vj)为第vi个单视角三维物体与第vj个单视角三维物体间的高斯核。
其中,步骤102中的跨视角高斯核具体为:通过计算多视角向量集的协方差矩阵和单 视角向量集V的马氏距离d(vvi,Csj)的高斯核得到跨视角高斯核,
K′sv(vi,sj)=exp(-d(vvi,Csj)2/2τ2)
其中,τ是马氏距离d(vvi,Csj)的标准方差;K′sv(vi,sj)为第vi个单视角三维物体与第sj个多视角三维物体间的高斯核。
其中,步骤101中的利用多视角训练特征和单视角训练特征构建目标函数的步骤具体为:
将多视角训练特征的转换函数定义为ψ,单视角训练特征的转换函数定义为f,构建目标函数如下:
其中,λ1>0,λ2>0为权重函数并满足λ1+λ2=1;C(f,ψ)是多视图训练特征和单视图训练特征之间相似度和不相似度的约束项;D(f,ψ)用于保持所有训练特征的几何特性;O(f,ψ)用于保持数据的各同向性分布。
综上所述,本发明实施例避免了采集初始视图时对样本视图数的依赖,可以应用于任何基于视图的三维模型数据库;并且当使用训练样本来训练特征匹配矩阵,提高了匹配精确度。
实施例2
下面结合具体的计算公式、实例对实施例1中的方案进行详细介绍,详见下文描述:
201:将数据库中所有物体的多视角彩色视图集定义为多视角模型库SD(Set Database),如图2所示,对每个物体的多视角彩色视图集随机抽取一张视图,得到各物体的初始单视角视图,将所有物体的初始单视角视图定义为单视角模型库VD(View Database),如图3所示;
202:在多视角模型库和单视角模型库中,提取各物体的初始视图集的CNN特征,得到初始特征多视角向量集和类别标签初始特征单视角向量集和类别标签
其中,CNN特征又称卷积神经网络特征,是图像的特征描述符之一,能够表示图像的深度信息,相比较于其它特征能全面的进行图像特征的比较,已应用于各类目标识别和模型分析中。
203:分别提取这些向量集S和V的高斯核并定义为多视角高斯核Ks'、单视角高斯核Kv'和跨视角高斯核K′sv,将这些高斯核分别定义为多视角特征库、单视角特征库和跨视角特征库;
其中,
1)多视角高斯核:
计算多视角向量集的协方差矩阵C={C1,C2,...,Cm},然后计算协方差矩阵的距离范数d(ssi,ssj)=||log(Csi)-log(Csj)||F,其中si,sj∈{1,2,...,m};m为多视角的三维物体的个数;ssi表示第si个多视角三维物体;ssj表示第sj个多视角三维物体;Csi为第si个多视角三维物体特征的协方差矩阵;Csj为第sj个多视角三维物体特征的协方差矩阵;C1,C2,...,Cm表示各个多视角三维物体特征的协方差矩阵;F表示的是一种范数的计算方式。
通过计算d(ssi,ssj)的高斯核得到多视角高斯核,Ks'(si,sj)=exp(-d(ssi,ssj)2/2σ2),其中σ是d(ssi,ssj)的标准差;Ks'(si,sj)为第si个多视角三维物体与第sj个多视角三维物体间的高斯核。
2)单视角高斯核:
Kv'(vi,vj)=exp(-||vvi-vvj||2/2t2),其中vi,vj∈{1,2,...,n},t为单视角向量集V的标准差;n为单视角三维物体的个数;vvi为第vi个单视角三维物体的特征;vvj为第vj个单视角三维物体的特征;Kv'(vi,vj)为第vi个单视角三维物体与第vj个单视角三维物体间的高斯核。
3)跨视角高斯核:
首先计算多视角向量集的协方差矩阵C={C1,C2,...,Cm}和单视角向量集V的马氏距离 其中ηsj是多视角向量集S中ssj的平均值矩阵。
通过计算d(vvi,Csj)的高斯核得到跨视角高斯核,K′sv(vi,sj)=exp(-d(vvi,Csj)2/2τ2),其中τ是马氏距离d(vvi,Csj)的标准方差;K′sv(vi,sj)为第vi个单视角三维物体与第sj个多视角三维物体间的高斯核。
204:从多视角模型库SD和单视角模型库VD中分别选择一些物体作为训练集,将这些物体的多视角高斯核K′s_train和跨视角高斯核K′sv_train合并为多视角训练特征Ks=[K′s_train,K′sv_train],将这些物体的单视角高斯核K′v_train和跨视角高斯核K′sv_train合并为单 视角训练特征Kv=[K′v_train,(K′sv_train)T],利用多视角训练特征和单视角训练特征构建目标函数并使其最小化得到特征匹配矩阵;
将多视角训练特征Ks的转换函数定义为ψ,单视角训练特征Kv的转换函数定义为f,构建目标函数如下:
其中,λ1>0,λ2>0为权重函数并满足λ1+λ2=1。
C(f,ψ)是多视图训练特征和单视图训练特征之间相似度和不相似度的约束项:
其中,为第vi个单视角三维物体的类别标签;为第si个多视角三维物体的类别标签;f(vvi)为第vi个单视角三维物体的转换矩阵;ψ(ssj)为第si个多视角三维物体的转换矩阵。
D(f,ψ)=Dv(f)+Ds(ψ)保持了所有训练特征的几何特性:
其中,f(vvj)为第vj个单视角三维物体的转换矩阵;vvi为第vi个单视角三维物体的特 征;vvj为第vj个单视角三维物体的特征;为第vi个单视角三维物体的类别标签;k1(vi,vj)表示第vi个单视角三维物体在第vj个单视角三维物体的临近点中;k2(vi,vj)为第vj个单视角三维物体在第vi个单视角三维物体的临近点中;k1(si,sj)表示第si个多视角三维物体在第sj个多视角三维物体的临近点中;k2(si,sj)第sj个多视角三维物体在第si个多视角三维物体的临近点中;ssi为第si个多视角三维物体的特征;ssj为第sj个多视角三维物体的特征;为第si个多视角三维物体的类别标签;εv,εs分别为单视角训练特征Kv=[K′v_train,K′sv_train]和多视角训练特征Ks的标准差。
O(f,ψ)保持了数据的各同向性分布,避免了函数会出现奇异值的情况。
将转换函数f,ψ变为其中Bvi为第vi个单视角三维物体的转换矩阵;Kv,vi为第vi个单视角三维物体特征转换后的矩阵与其他单视角三维物体特征转换后的矩阵的内积之和;Bsj为第si个多视角三维物体的转换矩阵;Ks,sj为第si个多视角三维物体特征转换后的矩阵与其他多视角三维物体特征转换后的矩阵的内积之和。
基于上述转换,目标函数中的C(f,ψ),D(f,ψ),O(f,ψ)可重新写为下列矩阵的形式:
其中,C(Bv,Bs)为C(f,ψ)的矩阵表现形式;Bv为单视角三维物体的特征转换矩阵;Kv为单视角高斯核;Bs为多视角三位物体的特征转换矩阵;Ks为多视角高斯核;Rv=Zv-Wv;Rs=Zs-Ws;Zv',Zs',Zv and Zs是对角矩阵;and将W分为类内点和类间点变量:W=Ww+Wb。Wv和Ws与W的计算方法相同。
基于上述划分,C(Bv,Bs)可被表示为C(Bv,Bs)=Cw(Bv,Bs)+Cb(Bv,Bs),Dv和Ds可用相同的方式表示得到D(Bv,Bs)=Dw(Bv,Bs)+Db(Bv,Bs)。Cw(Bv,Bs)为C(Bv,Bs)的类内部分;Cb(Bv,Bs)为C(Bv,Bs)的类间部分;Dw(Bv,Bs)为D(Bv,Bs)的类内部分;Db(Bv,Bs)为D(Bv,Bs)的类间部分;Ww(vi,sj)为第vi个单视角三维物体类别标签与第sj个多视角三维物体类别标签之间的类内关系;Wb(vi,sj)为第vi个单视角三维物体类别标签与第sj个多视角三维物体类别标签之间的类间关系。
为了得到最终的Bv和Bs值,需要对其进行初始化,初始化是通过最大化类内相似度并最小化类间相似度得到的:
s.t.λ1Cw(Bv,Bs)+λ2Dw(Bv,Bs)=1
初始化Bv和Bs后,固定Bs对目标函数中的Bv求导,并使求导后的式子值为零,可得到更新后的Bv:
其中I为对角矩阵。
然后固定Bv对目标函数中的Bs求导,可得到更新后的Bs:
经过迭代设定好的次数后,可得到最终的转换矩阵Bv,Bs。
205:从多视角模型库和单视角模型库中分别选择一些物体作为测试集,将这些物体的多视角高斯核K′s_test和跨视角高斯核K′sv_test合并为多视角测试特征Ks_t=[K′s_test,K′sv_test],将这些物体的单视角高斯核K′v_test和跨视角高斯核合K′sv_test并为单视角测试特征Kv_t=[K′v_test,(K′sv_test)T];
206:将多视角测试特征Ks_t乘以步骤204中得到的转换函数Bs得到映射后的特征Us=Ks_t*Bs,将单视角测试特征Kv_t乘以步骤204中得到的转换函数Bv得到映射后的特征Uv=Kv_t*Bv;计算特征间的cos距离进而获得模型之间的相似度。
sim=1-cos(Us,Uv)
sim的值越大代表模型间越相似。
综上所述,本发明实施例避免了采集初始视图时对样本视图数的依赖,可以应用于任何基于视图的三维模型数据库;并且当使用训练样本来训练特征匹配矩阵,提高了匹配精确度。
实施例3
下面结合具体的实验数据、图4对实施例1和2中的方案进行可行性验证,详见下文描述:
本实验使用的数据库为由中国台湾大学发布的数据库ETH。这是一个真实世界的多视角模型数据库,共包含8类80个物体,每个物体共有41张视图。本实验中挑选24个物体每类3个作为训练集,48个物体每类6个作为测试集。
本实验中涉及到了几个参数:迭代次数,权重系数λ1,λ2和邻近点数k1,k2。本实验中设置迭代次数为10,权重系数λ1=0.9,λ2=0.1和邻近点数k1=2,k2=5。
采用查准-查全曲线(Precision-Recall)来衡量本方法的检索性能。查准-查全曲线是三维物体检索的性能评估的重要指标之一,以查全率(Recall)为横坐标,查准率(Precision)为纵坐标。根据以下公式求得Recall和Precision,做出查准-查全曲线:
其中,Recall是查全率,Nz是正确检索对象的数量,Nr是所有相关对象的数量。
其中,Precision是查准率,Nall是所有检索对象的数量。
将本方法与三种三维模型检索方法进行对比:
AVC[12](A Bayesian 3D Search Engine using Adaptive Views Clustering),又称“利用可适应视图分类基于贝叶斯准则的三维检索算法”;CCFV[13](Camera Constraint-Free View-Based),又称“基于视图的相机约束自由”;Hypergraph[14](Hypergraph Analysis),又称“超图分析”。
本实验与三种三维模型检索算法的查准-查全曲线比较结果如图4所示,查准-查全曲线与横纵坐标所围面积越大,代表检索性能越优良。
由图4可知,本方法的检索性能明显高于其他算法。这是由于与三维模型检索算法相比,本方法结合使用正负匹配样例训练模型参数,大幅度提升了检索性能。实验结果验证了本方法的可行性与优越性。
参考文献:
[1]Pu J,Lou K,Ramani K.A 2D Sketch-Based User Interface for 3D CAD Model Retrieval[J].Computer-Aided Design and Applications,2005,2(6):717-725.
[2]Bao H,Dong W.The calculation and the drawing of equivalent sections of model-based3D graphics[C]//International Congress on Image and Signal Processing.IEEE,2015.
[3]Watanabe T,Saito Y.Camera modeling technique of 3D sensing based on tile coding for computer vision[C]//International Conference on Body Area Networks.2013.
[4]Kider J T.Simulation of3D model,shape,and appearance aging by physical,chemical,biological,environmental,and weathering effects[J].Dissertations&Theses-Gradworks,2012.
[5]Guetat G,Maitre M,Joly L,et al.Automatic 3-D grayscale volume matching and shape analysis[J].Information Technology in Biomedicine IEEE Transactions on,2006,10(2):362-376.
[6]Wong H S,Ma B,Yu Z,et al.3-D Head Model Retrieval Using a Single Face View Query[J].Multimedia IEEE Transactions on,2007,9(5):1026-1036.
[7]张飞.三维模型特征提取和相关反馈算法研究与实现[D].西北大学,2010.
[8]Kumar M.Strategy for Design and Building Multimedia Data Type[J].International Journal of Computer Applications,2013,73(4):50-52.
[9]Renu R S,Mocko G.Computing similarity oftext-based assembly processes for knowledge retrieval and reuse[J].Journal of Manufacturing Systems,2016,39:101-110.
[10]Chen Y,Medasani S,Jiang Q,et al.Video content-based retrieval[J].2016.
[11]俞晓妮.基于特征提取的三维模型检索技术研究[J].科技传播,2014,(2).
[12]Ansary T F,Daoudi M,Vandeborre J P.A bayesian 3-d search engine using adaptive views clustering[J].Multimedia,IEEE Transactions on,2007,9(1):78-88.
[13]Gao Y,Tang J,Hong R,et al.Camera Constraint-Free View-Based 3-D Object Retrieval[J].IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society,2012,21(4):2269-2281.
[14]Gao Y,Wang M,Tao D,et al.3-D object retrieval and recognition with hypergraph analysis.[J].IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society,2012,21(9):4290-303.
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。