CN103914571B - 一种基于网格分割的三维模型检索方法 - Google Patents
一种基于网格分割的三维模型检索方法 Download PDFInfo
- Publication number
- CN103914571B CN103914571B CN201410172378.XA CN201410172378A CN103914571B CN 103914571 B CN103914571 B CN 103914571B CN 201410172378 A CN201410172378 A CN 201410172378A CN 103914571 B CN103914571 B CN 103914571B
- Authority
- CN
- China
- Prior art keywords
- represent
- vector
- matrix
- vertex
- segmentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于网格分割的三维模型检索方法,包括以下步骤:通过分层谱分析构造分割场,包括:凹顶点判断,拉普拉斯矩阵构造,矩阵分解与低频特征向量选择,子特征向量生成与子特征向量权重计算以及边符号矩阵构造。在分割场中采样等值线,利用分组‑合并算法对等值线分组和合并,得到若干候选等值线组集合,根据候选等值线组中每条等值线的权重确定最终的分割边界,完成三维模型自动分割。通过计算三维模型每个分割块的特征描述子矩阵得到三维模型混合特征描述子矩阵,并分别计算待检索的目标三维模型与待检索的三维模型数据库中的每一个三维模型的混合特征描述子矩阵的相似度,将三维模型间的相似度数值从低到高排序输出,完成三维模型检索。
Description
技术领域
本发明涉及一种三维模型比较和检索的方法,特别是一种基于网格分割的三维模型检索方法。
背景技术
三维模型检索是三维模型研究和其他相关应用领域中非常重要的一个研究方向。从大型数据库中有效检索三维模型已成为诸多商业应用中的迫切需求,具有较高的商业、经济价值和市场前景。目前为止,很多学者和研究机构都提出了各种三维模型检索算法,基于内容的三维模型检索算法大致可归为四类,分别是:基于统计数据的检索算法,基于函数分析的检索算法,基于拓扑结构的检索算法和基于视觉特征的检索算法。以上各种检索算法都有自己的优缺点,没有哪一种算法可以对所有模型提供好的检索性能。怎样挖掘新型的检索算法,提高精确度,是今后算法研究的主要方向。
三维模型分割可看作网格分割的特殊应用,在几何处理和形状理解领域,网格分割是一个基础问题,它旨在将一个三维多边形网格分割为不相交但有意义的若干子部分的过程,同时,网格分割可以为网格结构提供高层语义理解。在近年来,网格分割已经成为一个重要的研究热点。它已经成为许多几何造型和计算机图形学应用中的重要组成部分。网格分割技术得益于图像分割,有限元网格分割,无监督机器学习等领域的发展,它为网格曲面的很多应用提供了便利。在变形过程中,网格分割可以用来指定网格之间的对应。在网格的压缩和简化中,可以利用分割来提高压缩比例。在纹理映射中,分割部分被直接用来进行参数化。现存的网格分割算法大致可分为三类,分别是:谱分析方法,区域增长法和统计学习方法。
发明内容
发明目的:本发明所要解决的技术问题是针对现有三维模型检索技术的不足,提供一种新颖的基于网格分割的三维模型检索方法。
本发明方法首先通过自动分割,将模型中有意义的若干子部分分割出来,然后计算每个分割块的特征描述子形成混合特征描述子,从而从三维模型数据库中快速准确的查找到与输入的三维模型最接近的模型。
为了解决上述技术问题,本发明公开了一种基于网格分割的三维模型检索方法,包括以下步骤:
对三维模型数据库中的以及待检索的三维模型,执行步骤1~步骤10:
步骤1:分析三维模型,三维模型由三角面片构成,保存其顶点信息、边信息和三角面片信息,计算顶点、边和三角面片之间的拓扑关系,包括每个顶点的邻接顶点、邻接面、邻接边,每个三角面片的邻接面以及每条边的邻接面;
步骤2:通过合并三种顶点凹凸性的判断方法,选择三维模型中分布在凹区域的顶点集合;
步骤3:根据步骤2得到的凹顶点集合,构造拉普拉斯矩阵并分解拉普拉斯矩阵,得到特征值集合和特征向量集合nver表示三维模型顶点个数;
步骤4:从特征向量集合中选择能够表达三维模型局部和全局几何特征的特征向量;
步骤5:利用K-Means聚类算法,以三维模型的顶点位置信息作为输入,对其聚类,根据K-Means聚类结果将步骤4中得到的特征向量分解为子特征向量;
步骤6:计算每个子特征向量的权重和符号,为步骤4中得到的特征向量构造权重矩阵和符号矩阵;
步骤7:利用步骤6得到的权重矩阵和符号矩阵,构造单值分割场;
步骤8:在单值分割场中采样等值线并利用分组-合并算法构造等值线组集合;
步骤9:根据等值线的权重,从每个等值线组中选择最大权重等值线作为分割线,完成三维模型分割,得到若干分割块;
步骤10:计算每个分割块的特征描述子矩阵;
步骤11:计算待检索三维模型与数据库中每一个三维模型的相似度,按照相似度数值从低到高排序输出,完成三维模型检索。
本发明步骤2中,计算凹顶点集合包括以下步骤:
第一个顶点凹凸性的判断方法为:
其中,Filter1表示集合,Adj_Vi表示顶点vi的邻接顶点集合,|Adj_Vi|表示集合Adj_Vi中包含元素的个数,α′表示一个常数,α′=0.01,k取值范围1~|Adj_Vi|,顶点vi与邻接顶点vk的关系函数Fi,k定义为:
其中,1≤i≤nver,α表示一个常数,α=0.2,||vi-vk||表示向量vi-vk的模,nk和ni分别表示顶点vk和顶点vi的单位法向量,表示向量与向量nk-ni的内积,nver表示三维模型顶点个数;
第二个顶点凹凸性的判断方法为:
其中,Filter2表示集合,β表示一个常数,β=0.01,ρi,1,ρi,2,ρi,3是利用主成分分析算法(该算法引用Jolliffe I.T.Principal Component Analysis,Series:SpringerSeries in Statistics,2nd ed.,Springer,NY,2002,XXIX,487p.28illus.ISBN978-0-387-95442-4)将集合Adj_Vi和集合{vi}作为输入构造协方差矩阵,矩阵分解后得到的三个特征值,且ρi,3≤ρi,2≤ρi,1;
第三个顶点凹凸性的判断方法为:
Filter3={vi|MeanCurvaturei<γ且MaxCurvaturei>γ′}
其中,Filter3表示集合,γ和γ′表示常数,γ=0.2,γ′=0.8,顶点vi的平均曲率MeanCurvaturei和最大曲率MaxCurvaturei计算公式为:
MaxCurvaturei=max{κi,1 2,κi,2 2},
其中,κi,1,κi,2表示顶点vi的主曲率;
合并三种顶点凹凸性判断方法可以得到最终凹顶点集合ConcaveVertex:
ConcaveVertex=Filter1∩Filter2∩Filter3。
本发明步骤4中,从步骤3得到的特征向量集合中选择能够表达三维模型局部和全局几何特征的特征向量包括以下步骤:
计算特征值集合二阶差分,得到集合
顺序遍历集合如果元素符号有正值变为负值,则将正值位置处对应的特征值添加到极大值集合中,遍历结束后得到极大值集合其中nmax表示极大值集合中元素数目;
根据实验结果,低频特征向量更加能表达模型局部和全局特征,因此从特征向量集合中选择对应特征值小于极大值max2的特征向量构造三维模型低频特征向量集合Λ:
Λ={ξi|λi≤max2},
其中,ξi表示特征向量,λi表示特征值,max2表示极大值集合中第2个元素,将低频特征向量集合Λ中所包含特征向量数目设为neigen。
步骤5中,利用K-Means聚类算法,将三维模型聚类为50个区域{patch1,patch2,patch3,…,patch50},相应的每个低频特征向量ξd也被分为50个子特征向量{SEd,1,SEd,2,…,SEd,50}且ξd=SEd,1∩SEd,2…∩SEd,50,1≤d≤neigen,neigen表示步骤4中得到的低频特征向量个数;
步骤6中,计算每个子特征向量的权重wd,m,子特征向量的权重由两部分组成:
wd,m=IVd,m·log(POd,m),
其中,1≤m≤50;
IVd,m计算公式为:
其中,Fd,m表示子特征向量SEd,m包含的三角面片集合,f表示集合Fd,m中第f个三角面片,af表示第f个三角面片的面积,gf表示第f个三角面片的梯度值;
POd,m计算公式为:
其中,irr(SEd,m,SEd,n)表示子特征向量SEd,m与子特征向量SEd,n的相关度,计算公式为:
其中,range(SEd,m)表示由子特征向量SEd,m中最小元素和最大元素构成的闭区间,range(SEd,m)表示由子特征向量SEd,n中最小元素和最大元素构成的闭区间,两个闭区间都属于[-1,1]的子集;
步骤6中,为步骤4中得到的每个低频特征向量构造边符号矩阵S,第d个低频特征向量对应的边符号矩阵Sd为:
其中,1≤d≤neigen,I表示单位矩阵,Wx表示第x个低频特征向量的权重对角矩阵,Sx表示第x个低频特征向量的符号对角矩阵,Δ表示一阶差分矩阵。
本发明步骤7中,分割场的构造包括:
构造矩阵A和矩阵b,其定义为:
其中,表示第neigen个特征向量的边权重对角矩阵,表示第neigen个特征向量的边符号对角矩阵,Δ表示一阶差分矩阵,求解方程AΨ=b,得到单值分割场Ψ:
Ψ=(ATA)-1ATb。
本发明步骤9中,分割线的选择包括以下步骤:
计算每条等值线ls的得分scs:
scs=scs,c·scs,l -1·scs,m -1,
其中,scs,c表示凹凸性得分,scs,l表示长度得分,scs,m表示平滑度得分;
scs,c定义计算公式为:
其中,(p,q)表示等值线ls中的边,顶点vp和顶点vq表示边(p,q)的两个端点,向量nq和向量np表示顶点vq和顶点vp的法向量;
scs,m定义计算公式为:
其中,(p,q)和(q,o)表示等值线ls中两条相邻边,表示由顶点vq指向顶点vp的单位向量,表示由顶点v0指向顶点vq的单位向量。
scs,l定义计算公式为:
其中,(p,q)表示等值线ls中的边,lengthpq表示边(p,q)的长度。
本发明步骤10中,分割块特征描述子矩阵计算如下,
分割块中任意两个三角面片g,h,其中1≤g,h≤nsegb,nsegb表示分割块中包含三角面片的数目,由角度θ和距离d描述的特征值(dgh,θgh)的计算如下:
(dgh,θgh)=(min(||CPg||/||CPh||,||CPh||/||CPg||),acos<CPg,CPh>),
其中C为三维模型的质心,Pg和Ph分别是分割后得到的一个分割块中三角面片g,h各自对应的质心,||CPg||为三维模型的质心C到三角面片质心Pg所构成的向量的长度,||CPh||为三维模型的质心C到三角面片质心Ph所构成的向量的长度,acos<CPg,CPh>为向量CPg和向量CPh形成的夹角;
分割块中所有三角面片对的特征值计算之后,将其投影到以角度θ为横轴,距离d为纵轴的二维坐标系中,所统计出的每一个特征值(dgh,θgh)都对应坐标系中的一点;
根据dgh∈[0,1]且θgh∈[0,π],把横坐标θ轴均匀划分M份,间隔长度为π/M,把纵坐标d轴均匀划分N份,间隔长度为1/N,由此将坐标系划分成了M×N份;每一个特征值(dgh,θgh)都落于M×N份中的一份,计算每一份中所落入的特征值占所有特征值的百分比,形成了M×N矩阵。
本发明步骤11中,两个三维模型S,T之间的相似度计算如下,
其中,si,tj分别表示三维模型S,T中分割后计算得到的分割块的特征矩阵,dist是计算两个矩阵的欧式距离即对应元素相减后的平方和。
有益效果:本发明是一种基于网格分割的三维模型检索方法,利用网格分割技术提高三维模型检索精度,对复杂模型和刚性模型效果显著。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明流程图。
图2为本发明步骤8中,等值线分组算法流程图。
图3为本发明步骤8中,等值线合并算法流程图。
图4a为采用本发明提出的凹顶点判断方法得到的凹顶点。
图4b为采用本发明提出的自动分割方法得到的三维模型分割示例。
图5为从三维模型数据库中分别检索三个模型所得到的结果示例。
具体实施方式:
本发明所述的基于分层谱分析的网格自动分割方法的基本出发点是通过网格自动分割算法,将模型分为若干分割块,通过计算混合特征描述子之间的相似度完成三维模型检索。
下面结合附图1对本发明做更加详细的解释:
步骤1:输入待检索三维模型。保存其顶点信息、边信息和三角面片信息,将模型的顶点信息保存到数组边信息保存到数组 三角面片信息保存到数组其中nver,nndge,ntri分别表示三维模型中顶点数目,边数目和三角面片数目。然后计算顶点,边和三角面片之间的拓扑关系,包括每个顶点的邻接顶点,邻接面,邻接边,每个三角面片的邻接面以及每条边的邻接面;
步骤2:合并三种顶点凹凸性的判断方法,选择三维模型中分布在凹区域的顶点集合。
第一个顶点凹凸性的判断方法为:
其中,Filter1表示集合,Adj_Vi表示顶点vi的邻接顶点集合,|Adj_Vi|表示集合Adj_Vi中包含元素的个数,α′=0.01,k取值范围1~|Adj_Vi|,顶点vi与邻接顶点vk的关系函数Fi,k定义为:
其中,α=0.2,||vi-vk||表示向量vi-vk的模,nk和ni分别表示顶点vk和顶点vi的单位法向量,表示向量与向量nk-ni的内积;
第二个顶点凹凸性的判断方法为:
其中,Filter2表示集合,β=0.01,ρi,1,ρi,2,ρi,3是利用主成分分析算法将集合Adj_Vi和集合{vi}作为输入构造协方差矩阵,矩阵分解后得到的三个特征值,且ρi,3≤ρi,2≤ρi,1;
第三个顶点凹凸性的判断方法为:
Filter3={vi|MeanCurvaturei<γ且MaxCurvaturei>γ′}
其中,Filter3表示集合,γ=0.2,γ′=0.8,顶点vi的平均曲率MeanCurvaturei和最大曲率MaxCurvaturei计算公式为:
MaxCurvaturei=max{κi,1 2,κi,2 2},
其中,κi,1,κi,2表示顶点vi的主曲率;
合并三种顶点凹凸性判断方法可以得到最终凹顶点集合ConcaveVertex:
ConcaveVertex=Filter1∩Filter2∩Filter3。
步骤3:根据步骤2得到的凹顶点集合,构造拉普拉斯矩阵L,
其中,当顶点vi或顶点vj属于凹顶点时,θij=0.01,否则,θij=1。
分解拉普拉斯矩阵(分解算法引用Meyer,Carl D.(2000),Matrix Analysis andApplied Linear Algebra,SIAM,p.514,ISBN978-0-89871-454-8),得到的得到特征值集合和对应的特征向量集合其中
步骤4:从特征向量集合中选择能够表达三维模型局部和全局几何特征的特征向量集合Λ包括以下步骤:
计算特征值集合二阶差分,得到集合
其中,nver表示三维模型顶点个数,顺序遍历集合如果元素符号有正值变为负值,则将正值位置处对应的特征值添加到极大值集合中,遍历结束后得到极大值集合其中nmax表示极大值集合中元素数目;
根据实验结果,低频特征向量更加能表达模型局部和全局特征,因此从特征向量集合中选择对应特征值小于极大值max2的特征向量构造三维模型低频特征向量集合Λ:
Λ={ξi|λi≤max2},
其中,ξi表示特征向量,λi表示特征值,max2表示极大值集合中第2个元素。
步骤5:利用K-Means聚类算法,将三维模型聚类为50个区域{patch1,patch2,patch3,…,patch50},相应的每个低频特征向量ξd也被分为50个子向量{SEd,1,SEd,1,…,SEd,50}且ξd=SEd,1∩SEd,2…∩SEd,50,11ddneigen,neigen表示步骤4中得到的低频特征向量个数;
步骤6:计算每个子特征向量的权重wd,m,子特征向量的权重由两部分组成:
wd,m=IVd,m·log(POd,m),
其中,1≤m≤50;
IVd,m计算公式为:
其中,Fd,m表示子特征向量SEd,m包含的三角面片集合,f表示集合Fd,m中第f个三角面片,af表示第f个三角面片的面积,gf表示第f个三角面片的梯度值;
POd,m计算公式为:
其中,irr(SEd,m,SEd,n)表示子特征向量SEd,m与子特征向量SEd,n的相关度,计算公式为:
其中,range(SEd,m)表示由子特征向量SEd,m中最小元素和最大元素构成的闭区间,range(SEd,m)表示由子特征向量SEd,n中最小元素和最大元素构成的闭区间,两个闭区间都属于[-1,1]的子集;
计算每个低频特征向量边符号矩阵S。:
其中,I表示单位矩阵,Wx表示第x个低频特征向量的权重对角矩阵,Sx表示第x个低频特征向量的符号对角矩阵,Δ表示一阶差分矩阵。
步骤7:构造单值分割场,包括以下步骤:
首先,构造矩阵A和矩阵b,其定义为:
其中,W表示边权重对角矩阵,S表示边符号对角矩阵,Δ表示一阶差分矩阵。
然后求解方程AΨ=b,可以得到分割场Ψ:
Ψ=(ATA)-1ATb。
步骤8:采样等值线并构造等值线组包括以下步骤:
在单值分割场中采样等值线l,得到等值线集合其中niso表示采样等值线个数,相应的每条等值线的值为
计算任意两条等值线ls,lt的差异dif(ls,lt)为:
其中1≤s,t≤niso,lens、lent分别表示等值线ls,lt长度,n表示等值线的单位法向量,acos<ns,nt>表示两条等值线ls,lt的法向量ns与法向量nt的夹角,<ns,nt>表示两条等值线ls,lt的法向量ns与法向量nt的内积,cs、ct分别表示等值线ls,lt的中心坐标;
利用分组算法,根据等值线集合IS,输出计算等值线组集合其中,ngroup表示等值线组的数目,相似度阈值sth=0.25和密度阈值dth=10是两个常数。
设置jj0,初始化等值线组集合G为空,如图2所示,分组算法按以下步骤执行:
步骤81:初始化等值线组Gj为空,从IS中随机选择等值线li,将lj添加到等值线组Gj中并将li从IS中删除;
步骤82:从IS中选择等值线lk,满足lk=arg minkdif(lk,li),并将li从IS中删除;
步骤83:判断等值线li与等值线lk的差异dif(lk,li)是否小于sth,若是,执行步骤82,否则执行步骤84;
步骤84:判断等值线组Gj中的元素数目是否小于dth,若是,执行步骤85,否则执行步骤86;
步骤85:删除Gj,执行步骤87;
步骤86:将Gj添加到等值线组集合G中,j=j+1,执行步骤87;
步骤87:判断IS是否为空,若是,循环结束,否则,执行步骤81。
利用合并算法,根据等值线组集合输出计算合并后的等值线组集合其中,ncombine表示合并后的等值线组数目。
如图3所示,合并算法按以下步骤执行:
步骤81:对任意的等值线组Gi和等值线组Gj,计算距离dij=minl∈Gi,l′∈Gjdif(l,l′);
步骤82:判断是否所有dij满足dij大于std*2,若是,循环结束,否则,执行步骤83;
步骤83:选择等值线组Gj和等值线组Gj使dij最小;
步骤84:将等值线组Gj中的元素复制到Gj中,删除Gj,重新计算等值线组Gj与其他等值线组的距离,执行步骤82。
步骤9:分割线的选择包括以下步骤:
计算每条等值线ls的得分scs:
scs=scs,c·scs,l -1·scs,m -1,
其中,scs,c表示凹凸性得分,scs,l表示长度得分,scs,m表示平滑度得分;
scs,c定义计算公式为:
其中,(p,q)表示等值线ls中的边,顶点vp和顶点vq表示边(p,q)的两个端点,向量nq和向量np表示顶点vq和顶点vp的法向量;
scs,m定义计算公式为:
其中,(p,q)和(q,o)表示等值线ls中两条相邻边,表示由顶点vq指向顶点vp的单位向量,表示由顶点v0指向顶点vq的单位向量。
scs,l定义计算公式为:
其中,(p,q)表示等值线ls中的边,lengthpq表示边(p,q)的长度。
步骤10:分割块特征描述子矩阵计算如下,
分割块中任意两个三角面片g,h,其中11g,hhnsegb,neegb表示分割块中包含三角面片的数目,由角度θ和距离d描述的特征值(dgh,θgh)的计算如下:
(dgh,θgh)=(min(||CPg||/||CPh||,||CPh||/||CPg||),acos<CPg,CPh>),
其中C为三维模型的质心,Pg和Ph分别是分割后得到的一个分割块中三角面片g,h各自对应的质心,||CPg||为三维模型的质心C到三角面片质心Pg所构成的向量的长度,||CPh||为三维模型的质心C到三角面片质心Ph所构成的向量的长度,acos<CPg,CPh>为向量CPg和向量CPh形成的夹角;
分割块中所有三角面片对的特征值计算之后,将其投影到以角度θ为横轴,距离d为纵轴的二维坐标系中,所统计出的每一个特征值(dgh,θgh)都对应坐标系中的一点;
根据dgh∈[0,1]且θgh∈[0,π],把横坐标θ轴均匀划分M份,间隔长度为π/M,把纵坐标d轴均匀划分N份,间隔长度为1/N,由此将坐标系划分成了MMN份;每一个特征值(dgh,θgh)都落于M×N份中的一份,计算每一份中所落入的特征值占所有特征值的百分比,形成了M×N矩阵。
步骤11:计算待检索模型S与模型库中每一个模型T之间的相似度,计算如下:
其中,si,tj分别表示三维模型S,T中分割后计算得到的分割块的特征矩阵,dist是计算两个矩阵的欧式距离即对应元素相减后的平方和。
三维模型数据库中每个模型的混合特征描述子计算方法与待检索模型相同。对三维模型之间的相似度按从小到大进行排序。相似度的值越小,则说明该三维模型和待检索三维模型越相似。输出检索的结果。
如图4a和图4b所示(由于本发明的特殊性,不可避免的采用灰度照片展示处理效果),图4a表示根据本专利所发明的凹顶点判断方法得到的凹顶点,凹顶点用点标出,可以看到计算得到的凹顶点主要集中分布在人体三维模型的关节位置,符合三维模型凹顶点的实际分布。图4b表示根据本发明的基于分层谱分析的自动分割方法得到的分割结果,分割线位于分割块与分割块之间,图4a与图4b之间的连线表示凹顶点与分割线的对应关系,分割结果显示分割线位于三维模型凹顶点所处的区域,与本发明中所提出的分割算法一致。
如图5所示(由于本发明的特殊性,不可避免的采用灰度照片展示处理效果),三个模型检索的例子:左边第一列代表待检索模型,No.1‐5是检索返回结果的前5个,按照与待检索模型的相似度从大到小排序。
本发明提供了一种基于网格分割的三维模型检索方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (6)
1.一种基于网格分割的三维模型检索方法,其特征在于,包括以下步骤:
对三维模型数据库中的以及待检索的三维模型,执行步骤1~步骤10:
步骤1:分析三维模型,计算顶点、边和三角面片之间的拓扑关系,包括每个顶点的邻接顶点、邻接面、邻接边,每个三角面片的邻接面以及每条边的邻接面;
步骤2:通过合并三种顶点凹凸性的判断方法,选择三维模型中分布在凹区域的凹顶点集合;
步骤3:根据步骤2得到的凹顶点集合,构造拉普拉斯矩阵并分解拉普拉斯矩阵,得到特征值集合和特征向量集合nver表示三维模型顶点个数;
步骤4:从特征向量集合中选择能够表达三维模型局部和全局几何特征的低频特征向量;
步骤5:利用K-Means聚类算法,以三维模型的顶点位置信息作为输入进行聚类,根据K-Means聚类结果将步骤4中得到的低频特征向量分解为子特征向量;
步骤6:计算每个子特征向量的权重和符号,为步骤4中得到的低频特征向量构造权重矩阵和符号矩阵;
步骤7:利用步骤6得到的权重矩阵和符号矩阵,构造单值分割场;
步骤8:在单值分割场中采样等值线并利用分组合并算法构造等值线组集合;
步骤9:计算等值线权重,根据等值线权重,从每个等值线组中选择最大权重等值线作为分割线,完成三维模型分割,得到一组分割块;
步骤10:计算每个分割块的特征描述子矩阵;
步骤11:计算待检索三维模型与三维模型数据库中每一个三维模型的相似度,按照相似度数值从低到高排序输出,完成三维模型检索;
步骤2包括以下步骤:
第一个顶点凹凸性的判断方法为:
其中,Filter1表示集合,Adj_Vi表示顶点vi的邻接顶点集合,|Adj_Vi|表示集合Adj_Vi中包含元素的个数,α′表示一个常数,k取值范围1~|Adj_Vi|,顶点vi与 邻接顶点vk的关系函数Fi,k定义为:
其中,1≤i≤nver,α表示一个常数,||vi-vk||表示向量vi-vk的模,nk和ni分别表示顶点vk和顶点vi的单位法向量,表示向量与向量nk-ni的内积,nver表示三维模型顶点个数;
第二个顶点凹凸性的判断方法为:
其中,Filter2表示集合,β表示一个常数,ρi,1,ρi,2,ρi,3是利用主成分分析算法将集合Adj_Vi和集合{vi}作为输入构造协方差矩阵,矩阵分解后得到的三个特征值,且ρi,3≤ρi,2≤ρi,1;
第三个顶点凹凸性的判断方法为:
Filter3={vi|MeanCurvaturei<γ且MaxCurvaturei>γ′},
其中,Filter3表示集合,γ和γ′表示常数,顶点vi的平均曲率MeanCurvaturei和最大曲率MaxCurvaturei计算公式为:
MaxCurvaturei=max{κi,1 2,κi,2 2},
其中,κi,1,κi,2表示顶点vi的主曲率;
合并三种顶点凹凸性判断方法可以得到最终凹顶点集合ConcaveVertex:
ConcaveVertex=Filter1∩Filter2∩Filter3。
2.根据权利要求1所述的一种基于网格分割的三维模型检索方法,其特征在于,步骤4包括以下步骤:
计算特征值集合二阶差分,得到集合
顺序遍历集合如果元素符号有正值变为负值,则将正值位置处对应的特征值添加到极大值集合中,遍历结束后得到极大值集合 其中nmax表示极大值集合中元素数目;
从特征值集合中选择对应特征值小于极大值max2的特征向量构造三维模型低频特征向量集合Λ:
Λ={ξi|λi≤max2},
其中,max2表示极大值集合中第2个元素,将低频特征向量集合Λ中所包含特征向量数目设为neigen。
3.根据权利要求2所述的一种基于网格分割的三维模型检索方法,其特征在于,步骤5和步骤6中,
步骤5中,利用K-Means聚类算法,将三维模型聚类为50个区域{patch1,patch2,patch3,patch50},相应的每个低频特征向量ξd也被分为50个子特征向量{SEd,1,SEd,2,…,SEd,50}且ξd=SEd,1∩SEd,2…∩SEd,50,1≤d≤neigen,neigen表示步骤4中得到的低频特征向量个数;
步骤6中,计算每个子特征向量的权重wd,m,子特征向量的权重由两部分组成:
wd,m=IVd,m·log(POd,m),
其中,1≤m≤50;
IVd,m计算公式为:
其中,Fd,m表示子特征向量SEd,m包含的三角面片集合,af表示集合Fd,m中第f个三角面片的面积,gf表示集合Fd,m中第f个三角面片的梯度值;
POd,m计算公式为:
其中,irr(SEd,m,SEd,n)表示子特征向量SEd,m与子特征向量SEd,n的相关度,计算公式为:
其中,range(SEd,m)表示由子特征向量SEd,m的中最小元素和最大元素构成的闭区间,range(SEd,n)表示由子特征向量SEd,n中最小元素和最大元素构成的闭区间,两个闭区间都属于[-1,1]的子集;
步骤6中,为步骤4中得到的每个低频特征向量构造边符号矩阵S,第d个低频特征向量对应的边符号矩阵Sd为:
其中,1≤x≤d,I表示单位矩阵,Wx表示第x个低频特征向量的权重对角矩阵,Sx表示第x个低频特征向量的符号对角矩阵,Δ表示一阶差分矩阵。
4.根据权利要求3所述的一种基于网格分割的三维模型检索方法,其特征在于,步骤7中,构造单值分割场包括:
构造矩阵A和矩阵b,其定义为:
其中,表示第neigen个低频特征向量的边权重对角矩阵,表示第neigen个低频特征向量的边符号对角矩阵;
求解方程AΨ=b,得到单值分割场Ψ:
Ψ=(ATA)-1ATb。
5.根据权利要求4所述的一种基于网格分割的三维模型检索方法,其特征在于,步骤9中,分割线的选择包括:
计算每条等值线ls的得分scs:
scs=scs,c·scs,l -1·scs,m -1,
其中,scs,c表示凹凸性得分,scs,l表示长度得分,scs,m表示平滑度得分;
scs,c定义计算公式为:
其中,(p,q)表示等值线ls中的边,顶点ve和顶点vq表示边(p,q)的两个端点,向量nq和向量np表示顶点vq和顶点vp的法向量;
scs,m定义计算公式为:
其中,(p,q)和(q,o)表示等值线ls中两条相邻边,表示由顶点vq指向顶点vp的单位向量,表示由顶点v0指向顶点vq的单位向量;
scs,l计算公式为:
其中,lengthpq表示边(p,q)的长度。
6.根据权利要求5所述的一种基于网格分割的三维模型检索方法,其特征在于,步骤10中,分割块特征描述子矩阵计算如下,
分割块中任意两个三角面片g,h,其中1≤g,h≤nsegb,nsegb表示分割块中包含三角面片的数目,由角度θ和距离d描述的特征值(dgh,θgh)的计算如下:
(dgh,θgh)=(min(||CPg||/||CPh||,||CPh||/||CPg||),acos<CPg,CPh>),
其中C为三维模型的质心,Pg和Ph分别是分割后得到的一个分割块中三角面片g,h各自对应的质心,||CPg||为三维模型的质心C到三角面片质心Pg所构成的向量的长度,||CPh||为三维模型的质心C到三角面片质心Ph所构成的向量的长度,acos<CPg,CPh>为向量CPg和向量CPh形成的夹角;
分割块中所有三角面片对的特征值计算之后,将其投影到以角度θ为横轴,距离d为纵轴的二维坐标系中,所统计出的每一个特征值(dgh,θgh)都对应坐标系中的一点;
根据dgh∈[0,1]且θgh∈[0,π],把横坐标θ轴均匀划分M份,间隔长度为π/M,把纵坐标d轴均匀划分N份,间隔长度为1/N,由此将坐标系划分成了M×N份;每一个特征值(dgh,θgh)都落于M×N份中的一份,计算每一份中所落入的特征值占所有特征值的百分比,形成了M×N矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410172378.XA CN103914571B (zh) | 2014-04-25 | 2014-04-25 | 一种基于网格分割的三维模型检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410172378.XA CN103914571B (zh) | 2014-04-25 | 2014-04-25 | 一种基于网格分割的三维模型检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914571A CN103914571A (zh) | 2014-07-09 |
CN103914571B true CN103914571B (zh) | 2017-02-15 |
Family
ID=51040251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410172378.XA Expired - Fee Related CN103914571B (zh) | 2014-04-25 | 2014-04-25 | 一种基于网格分割的三维模型检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914571B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760426B (zh) * | 2016-01-28 | 2018-12-21 | 仲恺农业工程学院 | 一种面向在线社交网络的主题社区挖掘方法 |
CN105741355B (zh) * | 2016-02-01 | 2018-05-25 | 华侨大学 | 一种三角网格模型的块分割方法 |
CN106547825B (zh) * | 2016-09-30 | 2019-09-27 | 西北大学 | 基于全局特征与子块特征的三维模型检索方法 |
CN106875487B (zh) * | 2017-03-01 | 2020-03-31 | 中国石油大学(华东) | 一种基于邻域作用力的地质六面体网格平滑方法 |
US11004206B2 (en) | 2017-03-21 | 2021-05-11 | Shenzhen Institutes Of Advanced Technology Chinese Academy Of Sciences | Three-dimensional shape expression method and device thereof |
CN108416801B (zh) * | 2018-02-28 | 2022-02-22 | 哈尔滨工程大学 | 一种面向立体视觉三维重建的Har-SURF-RAN特征点匹配方法 |
CN108595631B (zh) * | 2018-04-24 | 2021-05-07 | 西北工业大学 | 基于图谱理论的三维cad模型双层检索方法 |
CN109299301B (zh) * | 2018-09-17 | 2021-09-14 | 北京工业大学 | 一种基于形状分布和曲度的三维模型检索方法 |
CN109359605A (zh) * | 2018-10-24 | 2019-02-19 | 艾凯克斯(嘉兴)信息科技有限公司 | 一种基于三维网格与神经网络的零件相似性处理方法 |
CN109872352B (zh) * | 2018-12-29 | 2021-02-12 | 中国科学院遥感与数字地球研究所 | 基于杆塔特征点的电力巡线LiDAR数据自动配准方法 |
CN109933684A (zh) * | 2019-02-14 | 2019-06-25 | 北京工业大学 | 基于pcl库和特征值提取的飞机零件三维模型的检索方法 |
CN110059213A (zh) * | 2019-03-20 | 2019-07-26 | 杭州电子科技大学 | 一种基于核密度估计的三维模型分类检索方法 |
CN112434177B (zh) * | 2020-11-27 | 2023-06-20 | 北京邮电大学 | 一种三维模型检索方法、装置、电子设备及存储介质 |
CN113570692A (zh) * | 2021-06-03 | 2021-10-29 | 清华大学 | 一种使用面片卷积的三维模型特征提取方法 |
CN116310261B (zh) * | 2023-05-19 | 2023-08-08 | 深圳开鸿数字产业发展有限公司 | 三维模型分割方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968813A (zh) * | 2012-10-29 | 2013-03-13 | 北京工商大学 | 一种三角面片网格模型的表面采样方法 |
CN103065353A (zh) * | 2012-12-22 | 2013-04-24 | 中国科学院深圳先进技术研究院 | 三维模型特征提取方法和系统、三维模型检索方法和系统 |
US8494310B2 (en) * | 2006-11-10 | 2013-07-23 | National University Corporation Toyohashi University Of Technology | Three-dimensional model search method, computer program, and three-dimensional model search system |
-
2014
- 2014-04-25 CN CN201410172378.XA patent/CN103914571B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8494310B2 (en) * | 2006-11-10 | 2013-07-23 | National University Corporation Toyohashi University Of Technology | Three-dimensional model search method, computer program, and three-dimensional model search system |
CN102968813A (zh) * | 2012-10-29 | 2013-03-13 | 北京工商大学 | 一种三角面片网格模型的表面采样方法 |
CN103065353A (zh) * | 2012-12-22 | 2013-04-24 | 中国科学院深圳先进技术研究院 | 三维模型特征提取方法和系统、三维模型检索方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103914571A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914571B (zh) | 一种基于网格分割的三维模型检索方法 | |
CN108595858B (zh) | 基于bim的轻量化深度处理工作方法 | |
CN103207879B (zh) | 图像索引的生成方法及设备 | |
CN109993748B (zh) | 一种基于点云处理网络的三维网格物体分割方法 | |
CN101887596B (zh) | 树木点云数据基于分割和自动生长的三维模型重建方法 | |
Ji et al. | A novel simplification method for 3D geometric point cloud based on the importance of point | |
CN101194290B (zh) | 信息处理装置和信息处理方法、图像处理装置和图像处理方法 | |
Doraiswamy et al. | Efficient algorithms for computing Reeb graphs | |
CN103871100B (zh) | 基于点云与数据驱动的树木模型重建方法 | |
CN104850822B (zh) | 基于多特征融合的简单背景下的叶片识别方法 | |
CN109492796A (zh) | 一种城市空间形态自动分区方法与系统 | |
CN115661374B (zh) | 一种基于空间划分和模型体素化的快速检索方法 | |
CN115205690B (zh) | 基于mls点云数据的行道树单体化提取方法及装置 | |
CN106844620A (zh) | 一种基于视图的特征匹配三维模型检索方法 | |
CN110348478B (zh) | 一种基于形状分类与组合的室外点云场景中树木提取方法 | |
He et al. | A survey on segmentation of 3D models | |
Hu et al. | Massive parallelization of approximate nearest neighbor search on KD-tree for high-dimensional image descriptor matching | |
Yang et al. | A surface graph based deep learning framework for large-scale urban mesh semantic segmentation | |
Zhang | The D-FCM partitioned D-BSP tree for massive point cloud data access and rendering | |
Tang | Leaf image recognition and classification based on GBDT-probabilistic neural network | |
CN111599015A (zh) | 一种约束条件下的空间多边形网格化填充方法和装置 | |
Song et al. | Retrieval method for 3D object group based on V-system | |
CN111047684A (zh) | 一种基于三维模型特征的模型简化方法 | |
CN102855624B (zh) | 一种基于广义数据场和Ncut算法的图像分割方法 | |
Geng et al. | A novel color image segmentation algorithm based on JSEG and Normalized Cuts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170215 Termination date: 20180425 |