CN104462163A - 一种三维模型表征方法、检索方法及检索系统 - Google Patents
一种三维模型表征方法、检索方法及检索系统 Download PDFInfo
- Publication number
- CN104462163A CN104462163A CN201410080954.8A CN201410080954A CN104462163A CN 104462163 A CN104462163 A CN 104462163A CN 201410080954 A CN201410080954 A CN 201410080954A CN 104462163 A CN104462163 A CN 104462163A
- Authority
- CN
- China
- Prior art keywords
- dimensional model
- voxel
- thermonuclear
- node
- skeleton
- 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.)
- Granted
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/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Library & Information 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)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种三维模型表征方法、检索方法及检索系统,该表征方法包括利用云计算,MapReduce的集群计算能力,根据三维模型的体素之间的热量传递快速计算每个内部体素的热核特征值。该表征方法还包括选择热核特征值小于预定阈值的内部体素作为骨架体素;骨架体素、骨架体素的热核特征值以及骨架体素之间的热量传递构成该三维模型的热核骨架特征描述符。本发明适用于检索非刚性三维模型并且能够高效地提取三维模型的特征。
Description
技术领域
本发明涉及信息检索及可视化技术领域,尤其涉及一种三维模型表征方法、检索方法及检索系统。
背景技术
早在上个世纪90年代,三维模型就已作为一种有效的表现形式广泛应用于工业设计、三维动画、历史文物保护等多种领域。随着三维模型数据库规模的逐渐扩大,对三维模型检索的需求也愈加急迫,高精度高效率的三维模型检索已经成为当前研究的一个热点。通常,三维模型检索采用三维模型特征提取算法,提取出三维模型的形状特征描述符,通过比较三维模型间的形状特征描述符来检索出形状相似的三维模型。在计算机动画、虚拟现实、三维游戏等领域的实践应用中,三维模型,尤其是具备铰链、关节等结构、变化性较强的三维模型,易受到刚性变换(rigid or isometric transformations),从而发生形变,这类三维模型被定义为非刚性三维模型,参见图1。现有的大部分三维模型特征提取技术都不适用于非刚性三维模型,这是因为当前特征提取算法大多基于三维模型的点集信息和视图信息,而点集信息和视图信息均不能承受刚性变换。当三维模型发生形变后,其点集和视图信息都将发生改变,导致在刚性变换前后所提取出的特征存在很大差异,形状特征描述符相去甚远,不能保证非刚性模型检索的准确性。因此,针对非刚性三维模型检索的研究意义重大。
现有的非刚性三维模型检索技术包括一种基于热核特征的非刚性三维模型检索技术,该方法通过使用热核特征提取算法(Heat Kernel Signature,简称HKS)来提取三维模型的热核特征。热核特征提取算法源自于热核(Heat Kernel)——热扩散(heat diffusion)的基本解。热核具备很多优质特性:能够通过多尺度的方式将模型几何特征组织起来、极具稳定性,并且热核特征能够承受刚性变换。因此,将热核作为三维模型的特征可用于检索非刚性三维模型。
然而,现有的热核特征提取算法在表示三维模型的结构特征时具有一定的局限性。现有技术中都是在点集的基础上运用热核特征提取算法,所得到的热核特征仅限于体现三维模型的表面信息,而对于那些具有孔、洞等结构的三维模型来说,则很难体现其内部特征。此外,由于热核需要计算三维模型的拉普拉斯-贝特拉密算子,其计算量大且复杂度高,而现有的单机环境通常限制了计算速度,使得热核特征提取算法实施起来效率较低。
发明内容
为解决上述问题,根据本发明的一个实施例,提供一种三维模型表征方法,该方法包括:
步骤1)、根据三维模型的体素之间的热量传递计算每个内部体素的热核特征值;
步骤2)、选择热核特征值小于预定阈值的内部体素作为骨架体素;由骨架体素、骨架体素的热核特征值以及骨架体素之间的热量传递构成该三维模型的热核骨架特征描述符。
在一个实施例中,所述三维模型表征方法还包括:
步骤0)、将三维模型体素化,得到该三维模型的内部体素。
在一个实施例中,在步骤1)中,使用MapReduce计算每个内部体素的热核特征值。
在进一步的实施例中,步骤1)包括:
步骤11)、在Map阶段,并行地计算在一定时间内三维模型的每个体素传递至该三维模型所有体素的热量;
步骤12)、对Map的输出进行排序并将结果输入Reduce;以及
步骤13)、在Reduce阶段,将每个内部体素从其他体素传递得到的热量汇总,得到内部体素的热核特征值。
根据本发明的一个实施例,还提供一种三维模型检索方法,包括:
步骤A)、根据权利要求1-4中任何一个所述的三维模型表征方法得到待检索三维模型的热核骨架特征描述符;
步骤B)、基于所述待检索三维模型的热核骨架特征描述符,将所述待检索三维模型与数据库中的每个三维模型的热核骨架特征描述符进行匹配,检索出与所述待检索三维模型相似的三维模型。
在一个实施例中,在步骤B)中,将待检索三维模型与数据库中的一个三维模型进行匹配包括:
步骤a)、根据骨架体素分别构建所述待检索三维模型和该数据库中的三维模型的骨架图G1和G2;
步骤b)、根据骨架体素的热核特征值以及骨架体素之间的热量传递构建骨架图G1和G2的关联图Hv,检测关联图Hv的最大团得到骨架图G1和G2的最大公共子图;
步骤c)、根据下式计算所匹配的两个三维模型的相似性:
L=Nm/max(N1,N2)
其中,Nm表示骨架图G1和G2的最大公共子图的节点个数,N1和N2分别表示骨架图G1和G2的节点个数。
在一个实施例中,在步骤b)中,构建关联图Hv包括:
步骤i)、对于骨架图G1中每个节点遍历骨架图G2中的每个节点,组成节点对,如果组成节点对的两个节点的热核特征值之差的绝对值小于阈值δ1,则将该节点对加入关联图Hv作为其节点;
步骤ii)、对于关联图Hv中的每两个节点uH=(u1,u2)和vH=(v1,v2),如果骨架图G1中的边e1=(u1,v1)与骨架图G2中的边e2=(u2,v2)的属性值之差的绝对值小于阈值δ2,则构造一条连通边eH=<uH,vH>加入关联图Hv;如果骨架图G1中的节点u1和v1、骨架图G2中的节点u2和v2各不相邻,则构造一条非连通边eH=<uH,vH>加入关联图Hv;其中,边的属性值是两个端点间在一定时间内传递的热量值。
在一个实施例中,步骤a)包括:
步骤a1)、将骨架体素分为节点体素、一般体素和终端体素;其中,节点体素至少有三个邻接体素,一般体素有两个邻接体素,终端体素有一个邻接体素;
步骤a2)、寻找靠近三维模型重心的节点体素作为种子节点;
步骤a3)、从该种子节点开始连接与其直接相连的节点体素,且依次向外连接直到没有节点体素为止,并且将终端体素作为各连接分支的结束点;其中直接相连指两个节点体素之间包含一般体素且不包含节点体素和终端体素。
在一个实施例中,步骤B)之前还包括:根据权利要求1-4中任何一个所述的三维模型表征方法得到数据库中每个三维模型的热核骨架特征描述符。
在一个实施例中,所述三维模型检索方法还包括:构建三维模型索引数据库,该三维模型索引数据库包括数据库中每个三维模型的热核骨架特征描述符与该三维模型的存储位置之间的对应关系。
根据本发明的一个实施例,还提供一种模型表征设备,该设备包括:
用于根据三维模型的体素之间的热量传递计算每个内部体素的热核特征值的装置;以及用于选择热核特征值小于预定阈值的内部体素作为骨架体素的装置;其中,由骨架体素、骨架体素的热核特征值以及骨架体素之间的热量传递构成该三维模型的热核骨架特征描述符。
在一个实施例中,所述模型表征设备还包括:
数据预处理装置,用于将三维模型体素化,得到该三维模型的内部体素。
根据本发明的一个实施例,还提供一种三维模型检索系统,包括:
上述模型表征设备,用于得到待检索三维模型的热核骨架特征描述符;以及模型匹配设备,基于所述待检索三维模型的热核骨架特征描述符,将所述待检索三维模型与数据库中的每个三维模型的热核骨架特征描述符进行匹配,检索出与所述待检索三维模型相似的三维模型。
在一个实施例中,所述系统还包括:
索引设备,用于构建三维模型索引数据库,该三维模型索引数据库包括数据库中每个三维模型的热核骨架特征描述符与该三维模型的存储位置之间的对应关系。
本发明将针对连续点集的热核计算扩展到三维模型的体素,得到每个内部体素的热核特征值,再根据该热核特征值选取三维模型的骨架体素,将骨架特征与热核特征结合起来,作为三维模型的热核骨架特征描述符来表征三维模型,进而进行三维模型的检索。此外,加入了云计算技术和MapReduce的应用,利用云的计算能力解决复杂的特征提取算法在计算速度方面的限制,从而可以达到如下的有益效果:
本发明所提取的三维模型特征既满足刚性形变的不变性,又具有骨架的拓扑特性,能够体现有孔、洞等结构的三维模型的内部特征,并且拥有普遍性,适用于检索任意三维模型。此外,本发明能够高效地提取三维模型的特征。
附图说明
图1是根据本发明一个实施例的非刚性三维模型的示意图;
图2是根据本发明一个实施例的三维模型表征方法的流程图;
图3是根据本发明一个实施例的三角面片体素化的示意图;
图4是根据本发明一个实施例的用MapReduce实现HKS算法的流程图;
图5是根据本发明一个实施例的三维模型检索方法的流程图;
图6是根据本发明一个实施例的构建三维模型的热核骨架特征描述索引的流程图;以及
图7a-7c是根据本发明一个实施例的关联图构造示意图,其中图7a是骨架图G1,图7b是骨架图G2,图7c是关联图。
具体实施方式
下面结合附图和具体实施方式对本发明加以说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,提供一种三维模型表征方法。参考图2且简要概括,该方法包括:三维模型的预处理以及提取三维模型的热核骨架特征描述符。
步骤一、三维模型的预处理
概括而言,预处理过程可以包括:解析所获取的三维模型文件,并且将该三维模型的原始数据体素化,得到该三维模型的体素结构。
对获取到的三维模型文件进行解析,从而获得由三角面片组成的三维模型,其数据由顶点集和面片集构成,接着进行体素化处理。体素化是指在保证精度的前提下,将由三角面片或者其他边界表示的几何模型转化为由离散的体素集合表示的过程。如本领域技术人员所公知的,体素是指分布在正交网格中的单位立方体。在三维离散空间中,体素有三种邻接关系:26-邻接、18-邻接和6-邻接。如果两个体素之间存在一个公共顶点、或者一条公共边,或者一个公共面,则称这两个体素是26-邻接的;如果两个体素之间存在一条公共边或者一个公共面,则称这两个体素是18-邻接的;如果两个体素之间仅存在一个公共面,则称这两个体素是6-邻接的。
在三维欧几里德空间中,任意一点都存在唯一的一个体素与之对应,即通过坐标变换可找到三维空间中的点所对应的体素。可以根据公式(1)对三维模型中的点p(x,y,z)进行体素化,公式(2)给出了点p(x,y,z)所对应的体素编号:
index=voxk×Rx×Ry+voxj×Rx+voxi (2)
其中,(minx,miny,minz)为三维模型最小点的坐标,w为体素宽度,即一个立方体体素的边长,Rx×Ry×Rz为体素模型的分辨率,floor是一个向下取整函数,(voxi,voxj,voxk)为点p(x,y,z)所对应的体素坐标。
在一个实施例中,可采用快速体素化算法对三维模型进行表面体素化。快速体素化是将任意大小的三角面片细划为一系列边长均小于体素宽度的极小子三角面片,其划分点所对应的体素就是该三角面片的体素化结果,如此,可快速找出三维模型某一表面的三角面片所对应的体素。以图3所示的三角面片abc为例,快速体素化算法的步骤如下:
(1)、计算△abc的三条边的长度,进行比较得到最大值lmax;
(2)、用最大边长lmax除以体素宽度w,并向上取整,由此得到边的划分系数n;
(3)、将△abc的ab、ac边分别划分n等分,得到等分点bi及ci,其中i=0,1,…,n,通过这样的划分可以保证ab、ac边所得到的子线段长度均小于体素宽度w;
(4)、接着依次连接对应的bi及ci得到线段bici,并将bici划分为i等分,各等分点为每个子三角形的顶点,即体素化的对象。最后,只需将各等分点进行体素化即可得到该三角面片abc的体素化结果。
按照以上步骤(1)-(4)遍历三维模型的所有三角面片即可得到该三维模型所对应的表面体素。
在得到表面体素之后,可通过flooding算法来得到三维模型的内部体素,从而完成三维模型的预处理过程。flooding算法类似于种子填充算法,分为向前和向后两步完成。在一个实施例中,初始化时,将所有体素的标志位flag均设置为1,在经过表面体素化后,使表面体素的标志位设置为0,体素(0,0,0)和(Rx-1,Ry-1,Rz-1)为外部体素。在向前行进时,设vox(0,0,0)的标志位flag=-1。从体素vox(1,0,0)开始,搜索每一体素的26邻域,在其26邻域中只要有体素的标志位flag=-1,则设置该体素的标志位为-1;在向后行进时,设vox(Rx-1,Ry-1,Rz-1)的标志位flag=-1,从vox(Rx-2,Ry-1,Rz-1)开始,搜索每一体素的26邻域,同样的,在其26邻域中只要有体素的标志位flag=-1,则设置该体素的标志位为-1。flooding算法操作完成后,所有外部体素的标志位flag=-1,表面体素的标志位flag=0,而内部体素的标志位flag=1,从而得到标志位为1的内部体素。表面体素和内部体素(下文统称体素)是计算三维模型的热核骨架特征描述符的输入数据。
步骤二、提取三维模型的热核骨架特征描述符
本发明在所得到的体素的基础上,提供一种基于热核的骨架提取算法来获得三维模型的热核骨架特征描述符。该算法包括计算内部体素的热核特征值,并且筛选出骨架体素,从而得到热核骨架特征描述符。在一个实施例中,还可以采用MapReduce技术来计算热核特征。基于热核的骨架提取算法所获得的三维模型特征具有刚性不变性,适用于非刚性模型。
首先,将针对点的热核特征计算扩展到针对体素的热核特征计算。
根据现有技术可知,在某一形状M内的热扩散方程可表示为:
其中,ΔM是形状M的拉普拉斯-贝特拉密(Laplace-Beltrami)算子,u(x,t)表示在时间为t时,x位置的热量值,x表示M形状上的任意位置。则当时间t极小时有:
其中,f是形状M上给定的初始热分布,f(x)就是x位置的初始热量值。
对于形状M上给定的初始热分布f来说,Ht(f)表示在时间为t时形状M上的热分布情况,Ht被定义为热能算子(heat operator)。而ΔM和Ht都可以表示为M的实值函数,Ht满足Ht=e-tΔM。其中,若用λ表示ΔM的特征值,则e-λt是Ht相应特征函数的特征值。则对于任意形状M有:
u(x,t)=Htf(x)=∫Mkt(x,y)f(y)dy (5)
其中,kt(x,y)是满足公式(3)的最小函数,且称之为热核(Heat Kernel)。即对于x处给定的初始热量,经过时间段t,由x传递至y处的热量总和。对于给定的形状M,热核有以下特征分解:
其中,λi和φi分别对应拉普拉斯-贝特拉密算子的第i个特征值和特征函数。由于拉普拉斯-贝特拉密算子本身具备的对于刚性形变的不变性,因此热核能够表示三维模型的固有几何信息,而不随刚性形变而变化,能够承受住三维模型的刚性变换。
由于热核是一种点的特征描述符,因此在较小的时间段t内,kt(x,·)主要由x的邻接点来决定。换言之,在较小的时间段t内,kt(x,·)可表示为x附近的局部特征信息,但kt(x,·)的计算量仍然很大。因此,在进一步的实施例中,为降低计算量,可将热核特征定义为:
HKS(x,t)=kt(x,x) (7)
则有:
如果将热核特征应用于体素上,则在极小的t时间段内,热核特征可以表示该体素内的局部特征。此时x即表示三维模型的体素,由此,将基于点的热核特征扩展到了体素中,通过体素的热核特征值的计算,可获得每个体素的几何内部信息。
由于对于三维模型的体素结构,计算每个内部体素的热核特征值需要较大计算量。在一个实施例中,可运用MapReduce技术来快速计算每个体素的热核特征值,利用集群并行计算的能力提升计算速度,从而大大降低了计算量与计算时间。如图4所示,利用MapReduce技术将输入的体素数据集划分成一个个独立的体素数据块,由Map以完全并行的方式处理它们,Map阶段通过公式(6)计算三维模型中当前体素对所有体素的热量传递kt(x,y)。MapReduc框架会对Map的输出先进行排序,然后把结果输入给Reduce。通常作业的输入和输出都会被存储在文件系统中,MapReduce框架和分布式文件系统是运行在一组相同的节点上的,也就是说,计算节点和存储节点通常在一起。这种配置允许MapReduce框架在那些已经存好数据的节点上高效地调度任务,达到快速计算的效果。接下来,在Reduce阶段对每个体素的热量统计汇总(从其他体素热扩散得到的热量相加),得到体素的热核特征值,即得到内部体素的热核特征值。
在得到每个内部体素在一定时间段t内热扩散后的热核特征值(或称热核值)之后,根据计算得到的热核特征值筛选出三维模型的骨架体素。
由于每个体素所设置的初始热量值相同,若某一体素与更多体素具有相关性,那么该体素所具备的热量值应该较小。这是因为热核表示的是热扩散方程的一种基本解,若某一体素与更多体素相关联,那么该体素的热核具备的热量在确定的时间段t内,应比其他体素扩散的更快,也就是说,t时间段后,该体素具备的热量较小。骨架体素较普通体素来说,与周围体素的关联性较大,因此选取热核特征值较小的内部体素作为骨架体素。从而通过对内部体素的进一步筛选,得到三维模型的骨架体素。
筛选出骨架体素后,即获得三维模型的热核骨架特征描述符。该热核骨架特征描述符能够体现三维模型的骨架体素以及骨架体素的热核特征(包括热核特征值以及与其他体素在一段时间内的热量传递情况)。这里所提取出的热核骨架特征描述符具备热核特征,能够很好地承受刚性变换,并且具有稳定等特性,不易受到噪声的影响。骨架体素本身又能体现三维模型的拓扑结构,能够同时反映三维模型的拓扑与形状特征,并减少原始模型的冗余信息。因此所提取出的热核骨架特征描述符具有更加丰富、稳定的特征信息,为三维模型检索,尤其是非刚性三维模型检索奠定了良好基础。
根据本发明的一个实施例,还提供一种适用于上述三维模型表征方法的三维模型检索方法。参考图5且简要概括,该方法包括:提取用户提交的待检索三维模型的热核骨架特征描述符;基于该热核骨架特征描述符,将用户提交的三维模型与三维模型数据库中的三维模型进行匹配,从该数据库中得到与用户提交的三维模型相似度大的三维模型。其中,在匹配三维模型之前,还需要对三维模型数据库中的三维模型进行处理,即提取出该数据库中每个三维模型的热核骨架特征描述符,用于与用户提交的待检索三维模型进行匹配。
第一步、提取用户提交的待检索三维模型的热核骨架特征描述符,以及三维模型数据库中的三维模型的热核骨架特征描述符。
可采用上文描述的三维模型表征方法来提取三维模型的热核骨架特征描述符。其中,对于三维模型数据库中存储的三维模型,在提取前可以首先将该数据库中的三维模型存储到Hadoop集群的文件系统HDFS上,使得其三维模型能够得到合理有效的管理。对于用户提交的待检索三维模型来说,在进行提取前还要判断用户所提交的文件是否符合格式要求。如果提交格式符合要求,则对该三维模型进行处理;否则,对用户返回提示出错信息,要求重新上传三维模型或者取消操作。以PSB(Princeton ShapeBenchmark)datasets、McGill3D Shape Datasets、SHREC'10datasets等数据库为例,这些数据库的三维模型文件主要为.off文件格式。对于这类数据库,用户提交的待检索三维模型也应符合.off文件格式。
在一个实施例中,对于三维模型数据库中的三维模型来说,在提取了热核骨架特征描述符之后,还可以构建三维模型的热核骨架特征描述符索引,形成三维模型索引数据库。例如,可在Hadoop集群上构建三维模型索引数据库。参考图6,该构建过程包括:
在提取出每个三维模型的热核骨架之后,将三维模型的骨架文件存储在HDFS文件系统中,并将其作为作业的输入,在Map中对其进行特征向量的提取,输出该三维模型在HDFS中的存储位置URL的MD5值作为key,以及该三维模型的特征向量组成的字符串作为value(即三维模型热核骨架特征描述符)。由此得到热核骨架特征描述符与索引号之间的对应关系(key,value),最终经Reduce输出三维模型数据库的索引文件,构成三维模型索引数据库,便于接下来的三维模型特征匹配。
第二步、将用户提交的待检索三维模型与数据库中的每一个三维模型进行匹配,最终检索出相似的三维模型。
在一个实施例中,可首先搜索三维模型索引数据库,将待检索三维模型的热核骨架特征描述符与索引数据库中的热核骨架特征描述符进行匹配,从而得到相似的三维模型的key,接着可使用该key找到该相似三维模型在HDFS中的存储位置。
在一个实施例中,匹配三维模型可以包括以下步骤:
步骤1、首先将三维模型的骨架转换为骨架树或骨架图的形式
通过每个骨架体素的连通骨架体素(例如,与该骨架体素26-邻接的骨架体素)个数,可以将骨架体素分为节点体素、一般体素和终端体素三种。其中,节点体素的邻接连通体素至少有三个;一般体素则有两个邻接体素;而终端体素只有一个邻接体素;其中,如果两个骨架体素之间仅含有一般体素则称这两个骨架体素是直接相连的。通过对体素邻接情况的筛选,可迅速获得节点体素和终端体素。找到一个靠近三维模型重心的节点体素作为种子节点,由该节点开始向周围扩散,连接与其直接相连的节点体素,由此依次向外连接,直到没有节点体素为止,并且将终端体素作为各连接分支最后的结束点,最终构建出骨架树或骨架图。
步骤2、采用近似求解基于边的最大公共子图(maximum edge inducedsubgraph)的方法,来实现热核骨架特征描述符的匹配,返回三维模型之间的相似度。
基于边的最大公共子图算法可分为以下2个步骤:
(1)、根据两个匹配模型的骨架图构建一个特定的关联图Hv。对于骨架图G1中的任意一个节点vi∈V1(1≤i≤n),遍历骨架图G2中的每一个节点uj∈V2(1≤j≤m),组成顶点对(vi,uj),若vi与uj具有相同的属性值(即热核值),则将(vi,uj)加入Hv的点集VH作为一个节点。如上文所述,点的属性值即点在一定时间内具有的热核值,换言之,就是在一定时间内该体素点与三维模型全部体素之间热扩散后,从其他体素热扩散得到的热量总值其中,x表示当前体素,yi表示三维模型的体素。由于在提取骨架体素之前的Reduce阶段已经计算得到每个内部体素的热核值(热核特征值),该热核值是与其他体素相关联之后得到的体现其几何特征的热信息,能够表示该点的属性。在本步骤中,如果两点热核值之差的绝对值小于一个极小阈值δ1,则这两个点具有相同的热核值,具有相同的属性值。这说明两个点在两个三维模型中与其他体素之间的关联性相同,所体现的几何结构相同。
任取Hv中的两个节点uH=(u1,u2)和vH=(v1,v2),若u1≠v1,u2≠v2且图G1中的边e1=(u1,v1)与图G2中的边e2=(u2,v2)具有相同的属性值,即两个端点之间在一定时间内传递的热量值;或者图G1中的节点u1和v1,图G2中的节点u2和v2各不相邻,则构造一条边eH=<uH,vH>,加入到关联图Hv的边集EH中并作为它的一条边。将上述两种情况下构造的边分别称为连通边和非连通边,由此得到两个骨架图的关联图。该边的属性值即两个端点间在一定时间t内传递的热量值kt(u1,v1)和kt(u2,v2),即边的热量值。两端点之间的热量传递可表示这两个端点基于热的关联性。由于端点u1和u2、v1和v2属性值(即热核值)相同,因此,如果kt(u1,v1)和kt(u2,v2)值也相同,那么表示两端点间(即边)的热值特征相同。在本步骤中,如果两条边的热量值之差的绝对值小于一个极小阈值δ2,则这两条边具有相同热量值,具有相同属性值,说明边的端点间基于热的关联性相同。
图7(a)-7(c)给出了构造关联图的一个示例,图中的圆、正方形和三角形节点分别表示属性不同的顶点,图7(a)和图7(b)分别表示骨架图G1和G2。图7(c)为两个骨架图的关联图Hv,Hv由顶点NaB、NaA、NbD、NbE、NcC和NcE组成,顶点之间的连通边用实线表示,非连通边用虚线表示。在图7(c)中,三角形内的顶点集合称为Hv的最大团,即骨架图G1和G2的最大公共子图。
(2)、通过检测关联图的最大团来实现最大公共子图的检测。在一个实施例中,采用Bron和Kerbosch提出的最大团检测算法检测出两个骨架图的所有最大公共子图。将查找出的最大公共子图对应于两个模型上相似的特征或局部结构,用所有最大公共子图的节点个数与两个骨架图的节点个数较大者之比,来描述两个模型的相似性大小。为规范描述,将相似结构的尺度记为:
L=Nm/max(N1,N2) (9)
其中,Nm表示所有最大公共子图节点的个数,N1和N2分别表示两个骨架图的节点个数。L越大表示两个模型之间的相似性越大,它们所包含的相似特征或局部结构就越多。
在将待检索三维模型与三维模型数据库中所有的三维模型进行匹配后,可得到与用户提交的三维模型相似度最大的模型。
根据本发明的一个实施例,还提供一种三维模型检索系统。包括模型表征设备、索引设备、模型匹配设备以及三维模型数据库。在一个实施例中,可采用基于Hadoop集群的HDFS来存储三维模型数据库中的三维模型。
其中,模型表征设备包括数据预处理装置和特征提取装置。数据预处理装置用于对Hadoop集群的文件系统HDFS上存储的三维模型及用户提交的待查询三维模型,获取并处理其模型文件,解析数据文本并将其体素化,得到三维模型的体素结构。特征提取装置用于针对体素化后的三维模型体素数据,利用MapReduce技术快速提取三维模型的热核骨架特征描述符。其中,根据三维模型的体素在一段时间内的热量传递计算每个内部体素的热核特征值,选择热核特征值小于预定阈值的内部体素作为骨架体素。
索引设备用于在Hadoop集群上构建三维模型索引数据库,其将三维模型数据库中的每个三维模型热核骨架特征描述符与索引号一一对应。
模型匹配设备用于进行HDFS上存储的三维模型与用户提交的待检索三维模型之间的热核骨架特征描述符的相似性匹配。计算用户提交模型与三维模型数据库中的模型的相似度,并且返回给用户具有相似结构特征的三维模型。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
Claims (14)
1.一种三维模型表征方法,包括:
步骤1)、根据一段时间内三维模型的体素之间的热量传递计算每个内部体素的热核特征值;
步骤2)、选择热核特征值小于预定阈值的内部体素作为骨架体素;由骨架体素、骨架体素的热核特征值以及骨架体素之间的热量传递构成该三维模型的热核骨架特征描述符。
2.根据权利要求1所述的方法,其中,还包括:
步骤0)、将三维模型体素化,得到该三维模型的内部体素。
3.根据权利要求1或2所述的方法,在步骤1)中,使用MapReduce计算每个内部体素的热核特征值。
4.根据权利要求3所述的方法,其中,步骤1)包括:
步骤11)、在Map阶段,并行地计算在一定时间内三维模型的每个体素传递至该三维模型所有体素的热量;
步骤12)、对Map的输出进行排序并将结果输入Reduce;以及
步骤13)、在Reduce阶段,将每个内部体素从其他体素传递得到的热量汇总,得到内部体素的热核特征值。
5.一种三维模型检索方法,包括:
步骤A)、根据权利要求1-4中任何一个所述的三维模型表征方法得到待检索三维模型的热核骨架特征描述符;
步骤B)、基于所述待检索三维模型的热核骨架特征描述符,将所述待检索三维模型与数据库中的每个三维模型的热核骨架特征描述符进行匹配,检索出与所述待检索三维模型相似的三维模型。
6.根据权利要求5所述的方法,在步骤B)中,将待检索三维模型与数据库中的一个三维模型进行匹配包括:
步骤a)、根据骨架体素分别构建所述待检索三维模型和该数据库中的三维模型的骨架图G1和G2;
步骤b)、根据骨架体素的热核特征值以及骨架体素之间的热量传递构建骨架图G1和G2的关联图Hv,检测关联图Hv的最大团得到骨架图G1和G2的最大公共子图;
步骤c)、根据下式计算所匹配的两个三维模型的相似性:
L=Nm/max(N1,N2)
其中,Nm表示骨架图G1和G2的最大公共子图的节点个数,N1和N2分别表示骨架图G1和G2的节点个数。
7.根据权利要求6所述的方法,在步骤b)中,构建关联图Hv包括:
步骤i)、对于骨架图G1中每个节点遍历骨架图G2中的每个节点,组成节点对,如果组成节点对的两个节点的热核特征值之差的绝对值小于阈值δ1,则将该节点对加入关联图Hv作为其节点;
步骤ii)、对于关联图Hv中的每两个节点uH=(u1,u2)和vH=(v1,v2),如果骨架图G1中的边e1=(u1,v1)与骨架图G2中的边e2=(u2,v2)的属性值之差的绝对值小于阈值δ2,则构造一条连通边eH=<uH,vH>加入关联图Hv;如果骨架图G1中的节点u1和v1、骨架图G2中的节点u2和v2各不相邻,则构造一条非连通边eH=<uH,vH>加入关联图Hv;其中,边的属性值是两个端点间在一定时间内传递的热量值。
8.根据权利要求6所述的方法,其中,步骤a)包括:
步骤a1)、将骨架体素分为节点体素、一般体素和终端体素;其中,节点体素至少有三个邻接体素,一般体素有两个邻接体素,终端体素有一个邻接体素;
步骤a2)、寻找靠近三维模型重心的节点体素作为种子节点;
步骤a3)、从该种子节点开始连接与其直接相连的节点体素,且依次向外连接直到没有节点体素为止,并且将终端体素作为各连接分支的结束点;其中直接相连指两个节点体素之间包含一般体素且不包含节点体素和终端体素。
9.根据权利要求5-8所述的方法,其中,步骤B)之前还包括:
根据权利要求1-4中任何一个所述的三维模型表征方法得到数据库中每个三维模型的热核骨架特征描述符。
10.根据权利要求9所述的方法,其中,所述方法还包括:
构建三维模型索引数据库,该三维模型索引数据库包括数据库中每个三维模型的热核骨架特征描述符与该三维模型的存储位置之间的对应关系。
11.一种模型表征设备,包括:
用于根据一段时间内三维模型的体素之间的热量传递计算每个内部体素的热核特征值的装置;以及用于选择热核特征值小于预定阈值的内部体素作为骨架体素的装置;其中,由骨架体素、骨架体素的热核特征值以及骨架体素之间的热量传递构成该三维模型的热核骨架特征描述符。
12.根据权利要求11所述的设备,还包括:
数据预处理装置,用于将三维模型体素化,得到该三维模型的内部体素。
13.一种三维模型检索系统,包括:
如权利要求11或12所述的模型表征设备,用于得到待检索三维模型的热核骨架特征描述符;以及
模型匹配设备,基于所述待检索三维模型的热核骨架特征描述符,将所述待检索三维模型与数据库中的每个三维模型的热核骨架特征描述符进行匹配,检索出与所述待检索三维模型相似的三维模型。
14.根据权利要求13所述的系统,还包括:
索引设备,用于构建三维模型索引数据库,该三维模型索引数据库包括数据库中每个三维模型的热核骨架特征描述符与该三维模型的存储位置之间的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410080954.8A CN104462163B (zh) | 2014-03-06 | 2014-03-06 | 一种三维模型表征方法、检索方法及检索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410080954.8A CN104462163B (zh) | 2014-03-06 | 2014-03-06 | 一种三维模型表征方法、检索方法及检索系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462163A true CN104462163A (zh) | 2015-03-25 |
CN104462163B CN104462163B (zh) | 2018-01-16 |
Family
ID=52908215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410080954.8A Active CN104462163B (zh) | 2014-03-06 | 2014-03-06 | 一种三维模型表征方法、检索方法及检索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462163B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599053A (zh) * | 2016-11-16 | 2017-04-26 | 佛山科学技术学院 | 一种三维模型检索方法 |
CN106970956A (zh) * | 2017-03-16 | 2017-07-21 | 天津大学 | 一种基于张量的三维模型检索方法 |
CN107862748A (zh) * | 2017-11-10 | 2018-03-30 | 佛山科学技术学院 | 一种改进的尺度无关的热核特征处理方法 |
CN107909099A (zh) * | 2017-11-10 | 2018-04-13 | 佛山科学技术学院 | 一种基于热核的三维模型识别与检索方法 |
CN108021928A (zh) * | 2017-11-10 | 2018-05-11 | 佛山科学技术学院 | 一种基于热核特征的三维模型相似度度量方法 |
CN108563723A (zh) * | 2018-03-30 | 2018-09-21 | 中国地质大学(武汉) | 基于MapGIS的南海可燃冰地质模型三维可视化系统 |
CN108573020A (zh) * | 2018-02-06 | 2018-09-25 | 西安工业大学 | 融合装配信息的三维装配模型检索方法 |
CN108875813A (zh) * | 2018-06-04 | 2018-11-23 | 北京工商大学 | 一种基于几何图像的三维网格模型检索方法 |
CN110414124A (zh) * | 2019-07-25 | 2019-11-05 | 广联达科技股份有限公司 | 一种模型构件文件相似度的分析方法和装置 |
CN111339332A (zh) * | 2020-02-26 | 2020-06-26 | 西安理工大学 | 一种基于树形结构拓扑图的三维体数据检索方法 |
CN115239877A (zh) * | 2022-07-07 | 2022-10-25 | 青海师范大学 | 一种基于不变矩的谱形状描述符的三维模型匹配方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201845A (zh) * | 2007-09-24 | 2008-06-18 | 覃征 | 基于中轴点集分层螺旋信息的三维模型检索方法 |
JP2011209116A (ja) * | 2010-03-30 | 2011-10-20 | Dainippon Screen Mfg Co Ltd | 3次元位置・姿勢認識装置およびそれを用いたシステム、方法、プログラム |
CN102945569A (zh) * | 2012-10-23 | 2013-02-27 | 西北工业大学 | 一种基于热核信号的三维模型对称性分析方法 |
US20130159030A1 (en) * | 2011-12-19 | 2013-06-20 | The Shubert Organization, Inc. | Ticketing systems and methods incorporating interactive seating charts |
-
2014
- 2014-03-06 CN CN201410080954.8A patent/CN104462163B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201845A (zh) * | 2007-09-24 | 2008-06-18 | 覃征 | 基于中轴点集分层螺旋信息的三维模型检索方法 |
JP2011209116A (ja) * | 2010-03-30 | 2011-10-20 | Dainippon Screen Mfg Co Ltd | 3次元位置・姿勢認識装置およびそれを用いたシステム、方法、プログラム |
US20130159030A1 (en) * | 2011-12-19 | 2013-06-20 | The Shubert Organization, Inc. | Ticketing systems and methods incorporating interactive seating charts |
CN102945569A (zh) * | 2012-10-23 | 2013-02-27 | 西北工业大学 | 一种基于热核信号的三维模型对称性分析方法 |
Non-Patent Citations (1)
Title |
---|
李雅洁: "基于HKS的非刚体三维模型检索与语义标注研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599053A (zh) * | 2016-11-16 | 2017-04-26 | 佛山科学技术学院 | 一种三维模型检索方法 |
CN106599053B (zh) * | 2016-11-16 | 2020-02-04 | 佛山科学技术学院 | 一种三维模型检索方法 |
CN106970956A (zh) * | 2017-03-16 | 2017-07-21 | 天津大学 | 一种基于张量的三维模型检索方法 |
CN107862748A (zh) * | 2017-11-10 | 2018-03-30 | 佛山科学技术学院 | 一种改进的尺度无关的热核特征处理方法 |
CN107909099A (zh) * | 2017-11-10 | 2018-04-13 | 佛山科学技术学院 | 一种基于热核的三维模型识别与检索方法 |
CN108021928A (zh) * | 2017-11-10 | 2018-05-11 | 佛山科学技术学院 | 一种基于热核特征的三维模型相似度度量方法 |
CN108021928B (zh) * | 2017-11-10 | 2023-08-25 | 佛山科学技术学院 | 一种基于热核特征的三维模型相似度度量方法 |
CN108573020B (zh) * | 2018-02-06 | 2021-07-02 | 西安工业大学 | 融合装配信息的三维装配模型检索方法 |
CN108573020A (zh) * | 2018-02-06 | 2018-09-25 | 西安工业大学 | 融合装配信息的三维装配模型检索方法 |
CN108563723A (zh) * | 2018-03-30 | 2018-09-21 | 中国地质大学(武汉) | 基于MapGIS的南海可燃冰地质模型三维可视化系统 |
CN108875813B (zh) * | 2018-06-04 | 2021-10-08 | 北京工商大学 | 一种基于几何图像的三维网格模型检索方法 |
CN108875813A (zh) * | 2018-06-04 | 2018-11-23 | 北京工商大学 | 一种基于几何图像的三维网格模型检索方法 |
CN110414124A (zh) * | 2019-07-25 | 2019-11-05 | 广联达科技股份有限公司 | 一种模型构件文件相似度的分析方法和装置 |
CN111339332A (zh) * | 2020-02-26 | 2020-06-26 | 西安理工大学 | 一种基于树形结构拓扑图的三维体数据检索方法 |
CN111339332B (zh) * | 2020-02-26 | 2023-03-14 | 西安理工大学 | 一种基于树形结构拓扑图的三维体数据检索方法 |
CN115239877A (zh) * | 2022-07-07 | 2022-10-25 | 青海师范大学 | 一种基于不变矩的谱形状描述符的三维模型匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104462163B (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104462163A (zh) | 一种三维模型表征方法、检索方法及检索系统 | |
Parimala et al. | A survey on density based clustering algorithms for mining large spatial databases | |
CN104657418B (zh) | 一种基于隶属度传播的复杂网络模糊社团挖掘方法 | |
CN103700088B (zh) | 一种基于可变形图结构表示的图像集无监督共分割方法 | |
CN103914865A (zh) | 形成几何图案的面的组 | |
Zhuang et al. | A general and efficient method for finding cycles in 3D curve networks | |
CN103838820B (zh) | 基于近邻传播的进化多目标优化社区检测方法 | |
Qin et al. | 3D CAD model retrieval based on sketch and unsupervised variational autoencoder | |
CN104794133B (zh) | 基于step文件的从cad模型到mcnp几何模型的转换算法 | |
CN103838907A (zh) | 基于stl模型的曲面切割轨迹获得方法 | |
CN102012941A (zh) | 一种不同维度矢量数据统一表达、存储及运算的处理方法 | |
CN103838852A (zh) | 一种快速查找多块结构化网格对接关系的方法 | |
CN105225272B (zh) | 一种基于多轮廓线三角网重构的三维实体建模方法 | |
CN103473811A (zh) | 基于二维手绘线画图的三维实体模型便捷生成方法 | |
CN102819611B (zh) | 一种复杂网络局部社区挖掘方法 | |
CN104866687B (zh) | 支持stl数据源的动态空间索引构建方法 | |
CN103440308A (zh) | 一种基于形式概念分析的数字论文检索方法 | |
CN105224748A (zh) | 一种变截面梁有限元模型的断面预处理方法 | |
CN109241628B (zh) | 基于图谱理论和聚类的三维cad模型分割方法 | |
CN104850591B (zh) | 一种数据的转换存储方法及装置 | |
CN112148830A (zh) | 一种基于最大区域网格的语义数据存储与检索的方法及装置 | |
CN104036024B (zh) | 一种基于GACUC和Delaunay三角网的空间聚类方法 | |
CN106294540A (zh) | 基于p‑stable局部敏感哈希检索数据样式的多点地质统计建模方法 | |
CN108805886A (zh) | 一种多融合物理签名的持久性聚类分割方法 | |
Sun et al. | A simplification method for grid-based DEM using topological hierarchies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |