专利名称:三维模型检索装置及方法
技术领域:
本发明涉及三维模型检索,特别涉及基于二维图像的三维模型描述和检索技术。
背景技术:
随着三维数据获取、计算机辅助设计、图形硬件技术的进步,三维模型的数量急剧增加,这些模型分布在网络上和各种特定的数据库中。另一方面,设计具有高精度的三维模型不仅花费高而且费时。因此,现有模型的有效利用显得相当重要,然而从大量模型中寻找有用的模型却是一项困难的工作。学者们进行了大量的研究工作,致力于找到有效的三维模型检索方法。
目前,学者们已经提出了多种三维模型检索方法,这些方法可大致分为两类基于关键字的检索方法和基于内容的检索方法。前面一种方法从语义层次上描述三维模型,模型的特征由一系列描述性的文字组成,比如尺寸、材料、颜色和类别等;早期三维模型数量不大,这种方法比较实用。后面一种方法在模型检索过程中,将模型自身的内容考虑在内。随着模型数量的急剧增加,研究重点越来越集中到基于内容的检索技术上来。现有的基于内容的检索方法可大致分为三类基于特征向量的方法、基于拓扑结构的方法和基于二维图像的方法。
在基于特征向量的检索方法中,用一个特征向量来描述三维物体。其中,形状分布是一种最有名的方法。关于形状分布法的细节,可参见非专利文献1。这类方法在特征提取和模型比较方面具有很高的效率。然而,由于特征向量比较简单,模型的信息描述不够准确,因此检索的准确性不理想。这类方法简单、高效,因此它们可以作为预分类手段集成到其它方法中。
在基于拓扑结构的检索方法中,三维模型的结构特征以树或图的方式表示,然后利用树或图匹配的方法来比较两个模型,细节可参见非专利文献2。拓扑结构提供了三维模型形状的直观而重要的信息,并且这种特征具有仿射不变性。然而,拓扑结构对模型的细微变形比较敏感,而且树或图匹配过程比较费时,这些缺点限制了该类方法的实际应用。
在基于二维图像的检索方法中,基于三维模型生成一系列的二维图像,然后通过比较相应的二维图像来对三维模型进行比较。其中,非专利文献3中所述的光场描述符法和非专利文献4中所述的特征视图法是使用最为广泛的基于二维图像的模型检索方法。
在非专利文献3所述的方法中,利用10个光场描述符来表达一个三维模型的特征,而每一个光场描述符由10个图像的特征构成,通过比较这些光场描述符来对模型进行比较。在基于三维模型生成二维图像时,将一个正十二面体放置于模型的中心,然后利用正十二面体的二十个顶点作为视点,通过正交投影产生20幅二值图像,其中以两个处于相对位置的顶点为视点的两幅图像是相同的,因此保留十幅图像,基于这十幅图像生成一个光场描述符。通过旋转正十二面体可以得到不同的图像,进而得到不同的光场描述符。在非专利文献3的方法中,生成10个光场描述符,利用匹配图像间距离的累加来比较两个光场描述符。在得到10个光场描述符的过程中,总共需要渲染100幅图像。
非专利文献4所述的基于特征视图的方法中,将正二十面体放置在三维模型的中心,然后将正二十面体的各个多边形分割以得到80个均匀分布的多边形,然后以这80个多边形的中心作为视点,利用正交投影得到最初的80个视图。对每一个三维模型,丛初始的80个视图中,选择一些有代表性的视图。然后基于贝叶斯概率理论,从模型的所有代表视图中找到与检索图像对应的代表视图,进而计算索引与数据库模型之间的相似性。
根据一些综述性文献,较之基于特征向量的检索方法和基于拓扑的检索方法,基于二维图像的检索方法可取得更好的检索结果,详情可参见非专利文献5和6。
但是,上述基于二维图像的方法由于图像数量比较大,因此在特征提取和模型比较的过程中比较费时,限制了它们的实际应用。
非专利文献1R.Osada,R.Funkhouser,T.ChazelleShapedistributions.ACM Transactions on Graphics,21(5),807--832(2002)。
非专利文献27M.Hilaga,Y.Shinagawa,T.Kohmura,T.L.KuniiTopology matching for fully automatic similarity estimation of 3D shapes.Proceedings SIGGRAPH,203--212(2001)。
非专利文献3C.Ding-Yun,T.Xiaopei,S.Yute,O.MingOn visualsimilarity based 3D model retrieval.Proceedings of European association forComputer Graphics,22(3),223--232(2003)。
非专利文献4T.F.Ansqry,J.Vandeborre,M.DaoudiA framework for3D CAD models retrieval from 2D images.Annual of telecommunicationstechnologies and tools for 3D imaging.Vol.60(11-12),2005。
非专利文献5P.Shilane,P.Min,M.Kazhdan,T.FunkhouserThePriceton shape benchmark.Proceedings of the international conference onShape modeling,167--178(2004)。
非专利文献6N.Iyer,S.Jayanti,K.RamaniAn engineering shapebenchmark for 3D models.Proceedings of ASME IDETC/CIE,24--28(2005)。
发明内容
本发明就是鉴于上述现有技术的三维模型检索方法的缺点而提出的,其目的在于提供能够高效地检索三维模型的三维模型检索技术。
为了实现上述目的,本发明提出了一种新的三维模型检索技术。在本发明中,首先对三维模型进行旋转和平移,以对模型进行矫正,对矫正后的三维模型进行投影,生成数量较少的二维图像,由该二维图像生成三维模型的描述符,从而基于该描述符进行三维模型检索。
根据本发明的原理,提出了以下的技术方案。
发明1一种三维模型检索装置,其具有模型矫正单元,其对三维模型进行旋转和/或平移,使得该三维模型的主轴方向与三维空间的坐标轴方向一致,并且该三维模型的重心成为系统坐标系的原点;二维图像生成单元,其在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;模型描述单元,其基于所述二维图像,生成三维模型的模型描述符;以及,检索单元,其基于所述的模型描述符,在模型库中检索出与输入的索引最匹配的三维模型。
发明2发明1所述的三维模型检索装置,其特征在于,所述模型矫正单元计算构成所述三维模型的各个三角形的法线方向,根据所有三角形的法线方向的分布信息而确定该三维模型的主轴方向,基于该主轴方向对三维模型进行所述的旋转。
发明3发明1所述的三维模型检索装置,其特征在于,所述二维图像生成单元在所述的投影中,在各个坐标轴的正向的投影中,仅对相应的坐标位置为正的采样点进行投影,在各个坐标轴的负向的投影中,仅对相应的坐标位置为负的采样点进行投影。
发明4发明1所述的三维模型检索装置,其特征在于,所述二维图像生成单元对于一个三维模型生成6个或6个以下的二维图像。
发明5发明1所述的三维模型检索装置,其特征在于,所述模型描述单元生成各个所述二维图像的图像描述符,以所有二维图像的图像描述符的集合作为该三维模型的模型描述符。
发明6.发明5所述的三维模型检索装置,其特征在于,所述检索单元将三维模型在同一坐标轴上的两个二维图像作为一组,对索引模型的二维图像组与数据库模型的二维图像组进行匹配,计算并累计匹配的二维图像组之间的距离,基于该累计的距离进行所述的检索。
发明7发明5所述的三维模型检索装置,其特征在于,该三维模型检索装置以二维图像作为索引,所述检索单元基于所述模型库中的三维模型的所述模型描述符,计算该作为索引的二维图像与所述模型库中的三维模型之间的距离,基于该距离进行所述的检索。
发明8一种三维模型检索方法,该方法包括以下步骤模型矫正步骤,对三维模型进行旋转和/或平移,使得该三维模型的主轴方向与坐标系的坐标轴方向一致,并且该三维模型的重心成为系统坐标系的原点;二维图像生成步骤,在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;模型描述步骤,基于所述二维图像,生成三维模型的模型描述符;检索步骤,基于所述的模型描述符,在模型库中检索出与输入的索引最匹配的三维模型。
发明9发明8所述的三维模型检索方法,其特征在于,在所述模型矫正步骤中,计算构成所述三维模型的各个三角形的法线方向,根据所有三角形的法线方向的分布信息而确定该三维模型的主轴方向,基于该主轴方向对三维模型进行所述的旋转。
发明10发明8所述的三维模型检索方法,其特征在于,在所述二维图像生成步骤中,在各个坐标轴的正向的投影中,仅对相应的坐标位置为正的采样点进行投影,在各个坐标轴的负向的投影中,仅对相应的坐标位置为负的采样点进行投影。
发明11发明8所述的三维模型检索方法,其特征在于,在所述二维图像生成步骤中,对于一个三维模型生成6个或6个以下的二维图像。
发明12发明8所述的三维模型检索方法,其特征在于,在所述模型描述步骤中,生成各个所述二维图像的图像描述符,以所有二维图像的图像描述符的集合作为该三维模型的模型描述符。
发明13发明12所述的三维模型检索方法,其特征在于,在所述检索步骤中,将三维模型在同一坐标轴上的两个二维图像作为一组,对索引模型的二维图像组与数据库模型的二维图像组进行匹配,计算并累计匹配的二维图像组之间的距离,基于该累计的距离进行所述的检索。
发明14发明12所述的三维模型检索方法,其特征在于,该三维模型检索方法以二维图像作为索引,在所述检索步骤中,基于所述模型库中的三维模型的所述模型描述符,计算该作为索引的二维图像与所述模型库中的三维模型之间的距离,基于该距离进行所述的检索。
发明15一种对三维模型进行归档的方法,该方法包括以下步骤对三维模型进行旋转和/或平移,使得该三维模型的主轴方向成为系统坐标系的一个坐标轴,并且该三维模型的重心成为系统坐标系的原点;在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;基于所述二维图像,生成三维模型的模型描述符;将所述模型描述符与所述三维模型关联起来存储到数据库中。
发明16一种机器可读存储介质,其存储了使信息处理设备执行以下步骤的程序模型矫正步骤,对三维模型进行旋转和/或平移,使得该三维模型的主轴方向成为系统坐标系的一个坐标轴,并且该三维模型的重心成为系统坐标系的原点;二维图像生成步骤,在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;模型描述步骤,基于所述二维图像,生成三维模型的模型描述符;检索步骤,基于所述的模型描述符,在模型库中检索出与输入的索引最匹配的三维模型。
发明17发明16所述的存储介质,其特征在于,在所述模型矫正步骤中,计算构成所述三维模型的各个三角形的法线方向,根据所有三角形的法线方向的分布信息而确定该三维模型的主轴方向,基于该主轴方向对三维模型进行所述的旋转。
发明18发明16所述的存储介质,其特征在于,在所述二维图像生成步骤中,在各个坐标轴的正向的投影中,仅对相应的坐标位置为正的采样点进行投影,在各个坐标轴的负向的投影中,仅对相应的坐标位置为负的采样点进行投影。
发明19发明16所述的存储介质,其特征在于,在所述模型描述步骤中,生成各个所述二维图像的图像描述符,以所有二维图像的图像描述符的集合作为该三维模型的模型描述符。
发明20发明19所述的存储介质,其特征在于,在所述检索步骤中,将三维模型在同一坐标轴上的两个二维图像作为一组,对索引模型的二维图像组与数据库模型的二维图像组进行匹配,计算并累计匹配的二维图像组之间的距离,基于该累计的距离进行所述的检索。
根据本发明,能够显著减少三维模型检索的处理量,提高检索效率。
图1是本发明第一实施方式的三维模型检索系统的示意框图。
图2是本发明中根据Normal-PCA法计算三角形面积和法线方向时的概念图。
图3示出了主轴方向检测结果的一些例子。
图4是本发明的三角形采样机制的示意图。
图5示例性地示出了三角形采样的结果。
图6示出了基于图5中的模型H生成的6幅二维图像。
图7是对两个模型进行比较的示意图。
图8是本发明第二实施方式的三维模型检索系统的示意框图。
图9是本发明第三实施方式的三维模型检索系统的示意框图。
图10示出了待比较的两个三维模型的示例。
图11是基于图10中的模型a生成的六幅二维图像。
图12是基于图10中的模型b生成的六幅二维图像。
具体实施例方式 下面将结合附图详细说明本发明的具体实施方式
。
第一实施方式 图1示出了本发明的第一实施方式的三维模型检索系统的示意框图。
在第一实施方式中,三维模型检索装置1100与输入装置1200、模型库1300和输出装置1400连接。使用者通过输入装置1200输入三维模型索引,三维模型检索装置1100在模型库1300中检索出与所输入的三维模型索引最匹配的三维模型,并通过输出装置1400输出。
用于输入三维模型索引的输入装置1200可以是能够输入模型索引的任意输入装置,例如键盘、鼠标、触摸屏、存储介质接口(包括磁盘驱动器、光盘驱动器等)、网络接口,等等。用于输出检索结果的输出装置1400可以是能够输出检索到的三维模型的任意输出装置,例如显示器、网络接口、存储介质接口等等。模型库1400可以由构建在存储器(包括本地存储器和网络存储器)上的数据库构成,存储了大量的三维模型。
三维模型检索装置1100包含模型矫正单元1101、二维图像生成单元1102、模型描述单元1103和检索单元1104。模型矫正单元1101对三维模型进行旋转和/或平移,使得该三维模型的主轴方向与系统坐标系的三个坐标轴一致,并且该三维模型的重心与系统坐标系的原点一致。二维图像生成单元1102在系统坐标系的各个坐标轴的正负方向上分别对三维模型进行投影,生成六个或六个以下的二维图像。模型描述单元1103提取这些二维图像的特征,生成三维模型的描述符。检索单元1104基于该描述符,对模型索引和模型库1300中的三维模型进行比较,确定最匹配的模型。最终的检索结果通过输出装置1400输出。
三维模型检索装置1100可以由个人计算机、工作站、PDA(个人数字助理)等的信息处理设备实现。具体而言,可以通过信息处理设备的CPU(中央处理器)和相应的程序来实现模型矫正单元1101、二维图像生成单元1102、模型描述单元1103和检索单元1104。
接下来对本实施例的三维模型检索装置1100的各个部分进行详细的说明。
当用户通过输入装置1200输入了三维模型索引时,该模型索引首先被传送到三维模型检索装置1100的模型矫正单元1101,在此对三维模型进行矫正,使三维模型的主轴方向与系统坐标系的坐标轴一致,并使三维模型的重心与系统坐标系的原点一致,以便于进行接下来的处理。一般而言,三维模型可以任意方向处于三维空间的任意位置。为了进行矫正,需要对三维模型进行平移和旋转。
对于平移,首先计算出三维模型的重心坐标,然后对三维模型进行平移变换,使得三维模型的重心成为系统坐标系的原点。对于三维模型的平移变换可以采用本领域公知的方法,这里省略详细的说明,而集中关注于旋转变换。
在现有技术中,已经提出了一些对三维模型进行旋转矫正的方法,例如主成分分析(principal component analysisPCA)。然而,试验发现,对于一些相似的模型,主成分分析无法得到稳定的主方向。
对此,本发明的发明人提出了一种称为Normal-PCA(N-PCA)的模型矫正方法。在这种方法中,首先提取模型的主轴方向,然后利用提取到的主轴方向矫正三维模型。
三维模型通常由三角形网格构成,而三角形的法线方向的分布提供了模型的方向信息。因此,在本发明的N-PCA法中,考虑模型中的所有三角形的法线方向的分布信息来检测模型的主轴方向。下面对通过N-PCA法对三维模型进行旋转矫正的过程进行详细的说明。
首先,计算各个三角形ti的面积ai和法线向方向
,i=1,2,...fCnt,其中fCnt表示三维模型中所含三角形的数目。
如图2所示,假设三角形ti的顶点是A,B,C,三个边的长度为la,lb,lc,则三角形的面积ai可按照式1计算,其中s=(la+lb+lc)/2,代表三角形的半周长,*代表乘法运算。
三角形的法线方向
可由式2得到,其中表示图2所示三角形ti的有向边,而×表示向量的叉乘运算。
计算出了所有三角形的法线方向后,根据三角形法线方向的分布信息来得到模型的三个主轴方向。下面说明详细的过程。
首先,利用公式3,计算法线方向的加权分布矩阵M,其中
表示法线方向的均值,*代表向量乘法运算。
对矩阵M进行特征值分解,得到三个特征向量和特征值,这三个特征向量作为主轴方向
根据下面的公式4,对模型的每一个顶点进行矫正,其中
和分别表示初始的第i个顶点和矫正后的第i个顶点,
表示三维模型矫正前的重心,·表示两个向量的点乘运算,v′ix,v′iy,v′iz分别是矫正后的第i个顶点
的x、y、z坐标。
图3示出了一些三维模型的矫正结果的示例。利用上述的N-PCA法,可以准确、稳定地检测出三维模型的主轴方向,在此基础上进行矫正。矫正之后,使模型的主轴方向成为系统坐标系的坐标轴,而且模型的重心也平移到坐标系的原点。
在如上所述对三维模型进行矫正之后,模型矫正单元1101将矫正后的三维模型传送给二维图像生成单元1102,以基于三维模型生成多个二维图像。
在二维图像生成单元1102中,首先对三维模型进行均匀采样。
从理论上讲,采样点数越多,就可以越准确地描述模型。另一方面,如果采样点数很多,则后续处理的效率会受到影响。因此,通过试验来确定采样点数,以取得准确度和效率的平衡。
为准确地描述三维模型,采样点应该均匀分布在三维模型的表面上。在本发明中,提出了一种改进的采样机制,以得到分布均匀的采样点。在采样中,每一个三角形内的采样点数与三角形的面积成比例。所有三角形按顺序进行采样,对于每一个三角形,首先根据三角形的面积计算采样点数,然后依据非专利文献1中的方法对三角形进行采样。下面详细介绍本发明的采样方法。
首先,计算三维模型的表面积其中fCnt表示三角形的数目,ai是第i个三角形的面积。
接着,对每一个三角形ti,i=1,2,...,fCnt,根据三角形的面积和顶点得到一系列采样点。
1)计算落到三角形ti内部的采样点数目
其中sCnt表示采样点总数,
表示取整运算。
2)按照公式5,生成每一个随机采样点其中
是三角形ti(如图4所示)的三个顶点,r1,r2∈
是两个0到1之间的随机数,*代表乘法运算。
图5示意性地给出了通过上述方法得到的采样点的分布。按照这种采样方法,得到的采样点均匀分布在三角形内部。
在进行了采样之后,二维图像生成单元1102将采样点向六个不同的方向投影,从而产生六幅二维图像。
在二维图像生成单元1102中,在系统坐标系的各个坐标轴的正负方向上,分别对三维模型进行投影,从而生成六幅二维图像。对于每一幅二维图像,只有大约一半的采样点被利用。具体而言,例如,只利用z轴正方向上的采样点来生成“上视图”,而只利用z轴负方向上的采样点来生成“下视图”。同样地,只利用x轴正方向上的采样点来生成“右视图”,而只利用x轴负方向上的采样点来生成“左视图”;只利用y轴正方向上的采样点来生成“前视图”,而只利用y轴负方向上的采样点来生成“后视图”。所生成的二维图像可以是二值图像,也可以是灰度图像,这可以根据用户的需求来设定。
下面以“上视图”的生成为例,说明二维图像生成单元1102的生成二维图像的过程。
假定P={p1,p2,...Pcnt}是位于z轴上方的采样点,图像的尺寸设置为N*N。
假定上述采样点的x,y坐标的范围是[xmin,xmax],[ymin,ymax],然后按下式计算步长xstep,ystep。
3)将每一个采样点pi={pix,piy,piz}(i=1,2,...,cnt)投影到“上视图”中相应的位置(j,k)。像素(j,k)处的亮度设置为1,可得到二值图像,当然亮度也可以设置为落在(j,k)处的采样点的z坐标加权,从而得到灰度图像。
其他五个图像可采用相似的方式得到,图6显示了根据图3的模型H得到的六幅二值图像。
如上所述,二维图像生成单元1102基于矫正后的三维模型,生成了六个二维图像,并将所生成的二维图像传递给模型描述单元1103。
模型描述单元1103对六幅二维图像提取有效的特征,进而得到三维模型的描述符。
目前,已经有很多图像特征提取的方法,例如傅立叶变换,基于曲率尺度空间(CSS)图像的描述符、Zernike矩等。在本发明中,作为一个示例,采用Zernike矩来描述六幅二维图像。这种方法在形状特征描述方面很有效。关于这种方法的细节可参见K.Whoi-Yul,K.Yong-SungAregion-based shape descriptor using Zernike moments.Signal ProcessingImage Communication,vol.16,page.95-1102,12005。以下简要地对模型描述单元1103利用Zernike矩得到三维模型的描述符的操作进行说明。
对于一幅数字图像f(x,y),其(n,m)阶Zernike矩Anm可按照公式(7)来计算,其中m是非零整数且m满足n-|m|为偶数和|m|≤n两个条件,在这里m为满足前面两个条件的非负整数;f(x,y)代表(x,y)像素的灰度值;(x0,y0)代表图像的中心;Vn,m(x,y)代表定义在单位圆内的基函数,这组基函数构成完备正交基,而Vn,m*(x,y)是Vn,m(x,y)的复共轭。在计算Zernike矩之前,需要先对图像进行归一化,使得图像上各点到图像中心的最大距离为1。
公式(7)中的基函数Vn,m(x,y)通过公式(8)来计算,其中(x0,y0)代表图像的中心,代表(x,y)对应的极坐标,Rn,m(ρ)代表Zernike径向多项式。
公式(8)中的Zernike径向多项式Rn,m(ρ)通过公式(9)计算,!代表阶乘运算,其中 基于公式(7)可以计算出图像的各阶Zernike矩M={A00,A10,A20,A22,A31,A33,...},以Zernike各阶矩的模作为特征向量。假设Order为Zernike阶数,则特征向量的长度为
其中
代表i/2的整数部分。则每一幅图像的特征利用一个D维的实数向量表示。
由上面得知,每一个图像的特征由一个D维的实数向量表示,因此比较两幅图像时,可以通过两个特征向量之间的距离来表达,比如欧式距离,绝对距离等。以
代表两幅图像的特征,其欧式距离为而绝对距离为 关于欧式距离和绝对值距离的计算,是众所周知的。例外,除了以欧式距离和绝对值距离作为距离测度外,还可以采用其他方式,例如相关性等。
由此,对于所生成的每一个二维图像,可以用Zernike矩的模来作为其特征。这种特征具有以下特性1)旋转不变性。Zernike矩的模具有旋转不变性。2)表达有效性。由于采用了正交基,因此特征中没有冗余信息。3)鲁棒性。这种特征对噪声和形状的细微变形不敏感。4)有效性和多尺度表达的特点。低阶Zernike矩表达了整体形状信息,而高阶矩表达了细节信息。与其它形式的矩相比,利用低维的Zernike矩特征就可以较好地描述一幅图像。
从而,可以由基于一个三维模型生成的所有二维图像的Zernike矩的集合来作为该三维模型的描述符。
通过模型矫正单元1101、二维图像生成单元1102和模型描述单元1103的操作,至此,分别得到索引模型和模型库中的模型的描述符,该描述符被传递到检索单元1104,在此从模型库中检索出与所输入的索引模型最为匹配的三维模型。
在检索单元1104中,基于三维模型的描述符,计算输入的索引模型与数据库中所有的模型之间的距离,然后对数据库中的模型按照距离由小到大的顺序进行排序,得到最终的匹配列表。下面进行详细的说明。
通常,两个三维模型之间的距离是通过匹配图像间距离的累加得到。在本文所述的发明中,如图7所示,每一个模型的六幅图像首先被分为三组,然后模型间的距离通过匹配图像组间的距离的累加得到。这种匹配方法主要是基于一个简单的事实“上视图”和“下视图”,“左视图”和“右视图”,“前视图”和“后视图”总是成对出现的,因此在模型比较过程中,每一组的两个图像应该结合起来发挥作用,而不是孤立地发挥作用。
根据本发明,三维模型的比较可以通过两个步骤实现计算两个模型各个图像组之间的距离,确定两个模型各个图像组之间的对应关系以计算两个三维模型之间的距离。假定第一个模型的三个图像组分别为A1={上视图,下视图},A2={左视图,右视图},A3={前视图,后视图},第二个模型的三个组分别为B1={上视图,下视图},B2={左视图,右视图},B3={前视图,后视图},则两模型的比较过程如下 1.计算两个模型中各个图像组两两之间的距离D={d(Ai,Bj},i,j=1,2,3。假定Ai1,Ai2表示图像组Ai内的两幅图像,而Bj1,Bj2表示图像组Bj内的两幅图像,则组Ai和Bj之间的距离d(Ai,Bj)按照公式(10)来计算,其中1(·,·)表示两幅图像特征之间的绝对值距离,而min()是取最小值的函数。
d(Ai,Bj)=min(1(Ai1,Bj1)+1(Ai2,Bj2),1(Ai1,Bj2)+1(Ai2,Bj1))(10) 2.按照下式11,通过穷举搜索方法找到最优的一对一函数c*,从而确定两个三维模型各个图像组之间的对应关系,并计算两个模型之间的距离dis。
S={c={c1,c2,c3}|ci∈{1,2,3}且若i≠j则ci≠cj}(11) 其中,c代表的是两个模型各个图像组之间的对应关系,例如c(1)=3则表示第一个模型的第一组图像与第2个模型的第3组图像相对应,一共有6种可能,即 c(1)=1,c(2)=2,c(3)=3 c(1)=1,c(2)=3,c(3)=2 c(1)=2,c(2)=1,c(3)=3 c(1)=2,c(2)=3,c(3)=1 c(1)=3,c(2)=1,c(3)=2 c(1)=3,c(2)=2,c(3)=1 利用这六种可能的对应关系函数,可以计算出六种可能的累加距离。以六个累加距离的最小值作为两个模型之间的距离,此时的对应关系函数是最优的即c*。
由此,计算出模型索引与模型库1300中所有三维模型之间的距离值。作为检索结果,检索单元1104可以将距离计算结果进行排序,输出与模型索引之间的距离最小的三维模型,也可以输出多个候选,由用户进行判定和选择。
下面列举一个具体示例来说明基于Zernike矩进行的检索。
图10显示了两个待比较的三维模型,以下,左边的模型用a表示,右边的模型用b表示。
图11和图12分别显示了两个模型a和b各自的六幅二维图像。在这个示例中,产生的图像均为二值图像,它们的尺寸为100*100。
在这个实施例中,每一个二维图像以Zernike矩作为特征,各个特征向量长度为36。特征向量之间的绝对值距离用来衡量两幅图像的相似性。表I给出两个模型图像两两之间的距离,其中a-左视图、a-右视图、a-前视图、a-后视图、a-上视图、a-下视图表示从模型a中产生的六幅二维图像,而b-左视图、b-右视图、b-前视图、b-后视图、b-上视图、b-下视图表示从模型b中得到的六幅二维图像。
表I
根据本发明所述的模型比较方法,每一个三维模型的六幅图像首先分为表2所示的三组,其中A1、A2、A3表示模型a的三组图像,B1、B2、B3表示模型b的三组图像。
表II
表III列出了两模型各个图像组两两之间的距离,以图像组A2和图像组B3为例,介绍图像组间距离的计算方法。
对图像组A2和图像组B3而言,总共有两种可能的匹配方式{(a-右视图,a-前视图),(a-左视图,a-后视图)}和{(a-右视图,a-后视图),(a-左视图,a-前视图)},其中同一括号内的两幅图像认为是相互匹配的。按照前一种匹配方式,两图像组间的距离为3.58958(1.41458+2.17500),而按照后一种匹配方式,两图像组间的距离为3.59621(2.17923+1.41698)。因此,A2和B3之间的距离为min(3.58958,3.59621)=3.58958。利用相似的计算方式,可以得到其他图像组间的距离。
表III
剩下的问题就是确定组之间的对应关系,从而计算出两模型之间的距离。每一个模型各有三组图像,因此两个模型的图像组之间共有六种可能的对应关系。下面给出所有可能的对应关系以及相应的累加距离,其中同一括号中的两个图像组被认为是相互匹配的。
{(A1,B1),(A2,B3),(A3,B3)}dis1=2.46147+2.52431+0.402421=5.388201; {(A1,B1),(A2,B3),(A3,B2)}dis2=2.46147+3.58958+3.11826=9.16931; {(A1,B2),(A2,B3),(A3,B1)}dis3=6.35661+3.58958+8.08377=18.02996; {(A1,B2),(A2,B1),(A3,B3)}dis4=6.35661+6.93108+0.402421=13.690111; {(A1,B3),(A2,B2),(A3,B1)}dis5=7.82683+2.52431+8.08377=18.43491; {(A1,B3),(A2,B1),(A3,B2)}dis6=7.82638+6.93108+3.11826=5.388201. 利用上面计算出来的结果,模型a和b之间的距离为min(dis1 dis2,dis3,dis4,dis5,dis6)=5.388201。图像组之间的最优对应关系为{(A1,B1),(A2,B2),(A3,B3)},这个结果与人类视觉相一致。
如上所述,本发明的三维模型检索装置首先对三维模型进行矫正,使得该三维模型的主轴方向与坐标系的坐标轴方向一致,并且该三维模型的重心成为系统坐标系的原点,然后在系统坐标系的各个坐标轴的正负方向上分别对三维模型进行投影,生成多个二维图像,基于所生成的二维图像,生成三维模型的模型描述符,然后基于模型描述符,在模型库中检索出与输入的模型索引最匹配的三维模型。与以往的三维模型检索装置相比,可以大大减小检索中的运算量,显著提高检索效率。
第二实施方式 下面参照图8对本发明的第二实施方式进行说明。
在上述的第一实施方式的三维模型检索装置1100中,在使用者输入了检索请求,即输入了模型索引时,对模型索引和模型库中的模型进行处理,分别生成描述符,根据描述符进行检索。但这样每次都需要对模型库中的三维模型进行处理,导致检索时的处理量大,效率低。因此,在本发明的第二实施方式中,预先对模型库中的三维模型进行处理,生成各个模型的描述符,将所生成的描述符与相应的模型关联起来存储到模型库中。在使用者输入了检索请求时,只对所输入的模型索引进行处理,生成其描述符,将该模型索引的描述符与模型库中存储的描述符进行比较,由此进行模型的检索。除此之外,第二实施方式的结构与第一实施方式一样。下面仅对上述不同之处进行详细说明,而省略相同部分的说明以免重复。
图8示出了本发明的第二实施方式的三维模型检索系统的示意框图。在第二实施方式中,三维模型检索装置2100与输入装置2200、模型库2300和输出装置2400连接。使用者通过输入装置2200输入三维模型索引,三维模型检索装置2100对所输入的三维模型索引进行处理,生成模型索引的描述符,然后基于该描述符,在模型库2300中检索出与三维模型索引的描述符最为匹配的模型描述符,从而检索出与模型索引最为匹配的三维模型,并通过输出装置2400输出。
模型库2300与模型库建立装置2500连接,模型库建立装置2500预先、或每当往模型库2300中添加了新的三维模型时,对模型库2300中的三维模型进行处理,生成相应的模型描述符,并将生成的模型描述符与三维模型对应起来存储回模型库2300中。
模型库建立装置2500具有模型矫正单元2501、二维图像生成单元2502和模型描述单元2503。模型矫正单元2501、二维图像生成单元2502和模型描述单元2503可以分别与上述第一实施方式中的模型矫正单元1201、二维图像生成单元1202和模型描述单元1203相同。具体而言,模型矫正单元2501对模型库2300中的三维模型进行矫正,使三维模型的主轴与系统坐标系的三个坐标轴一致,并使三维模型的重心与系统坐标系的原点一致,将矫正后的三维模型传递给二维图像生成单元2502。接着,二维图像生成单元2502在坐标系的各个坐标轴的正负方向上对三维模型进行投影,生成六幅二维图像,将所生成的二维图像传递给模型描述单元2503。模型描述单元2503计算二维图像的Zernike矩,从而得到三维模型的描述符。所生成的描述符与相应的三维模型关联起来存储在模型库2300中。
三维模型检索装置2100包含模型矫正单元2101、二维图像生成单元2102、模型描述单元2103和检索单元2104。当使用者通过输入装置2200输入了模型索引时,模型矫正单元2101对该模型索引进行旋转和/或平移,使得该模型的主轴方向与系统坐标系的三个坐标轴一致,并且该三维模型的重心与系统坐标系的原点一致。二维图像生成单元2102在系统坐标系的各个坐标轴的正负方向上分别对矫正后的模型索引进行投影,生成六个二维图像。模型描述单元2103提取这些二维图像的特征,生成模型索引的描述符。检索单元2104基于该描述符,在模型库2300中检索出与三维模型索引的描述符最为匹配的模型描述符,从而检索出与模型索引最为匹配的三维模型,并通过输出装置2400输出。
根据第二实施方式,事先对于模型库2300中的三维模型生成了各自的描述符,因此不必在每次检索时对模型库2300中的三维模型进行处理,而只需对模型索引进行处理即可。由此进一步减少了检索时的处理量,提高了检索效率。
另外,在上面的说明中,以三维模型与描述符关联地存储在同一模型库2300中的情况为例对第二实施方式进行了说明,但是本发明不限于此,例如也可以将三维模型和模型描述符存储到不同的数据库中,模型检索装置2100访问存储了模型描述符的数据库,检索出与模型索引匹配的描述符,然后以该检索出的描述符为索引,在存储三维模型的数据库中提取出相应的三维模型,输出作为检索结果。
第三实施方式 在上述的第一实施方式和第二实施方式中,以三维模型作为检索的索引。而在下面说明的实施例中,以单个二维图像作为索引,利用匹配图像之间的距离来衡量输入的二维图像索引与数据库中的模型之间的相似性。除此之外,第三实施方式的结构与第二实施方式一样。下面仅对上述不同之处进行详细说明,而省略相同部分的说明以免重复。
图9示出了本发明的第三实施方式的三维模型检索系统的示意框图。
在第三实施方式中,三维模型检索装置3100与输入装置3200、模型库3300和输出装置3400连接。使用者通过输入装置3200输入二维图像索引,三维模型检索装置3100由该二维图像索引生成描述符,然后基于该描述符,在模型库3300中检索出与该二维图像索引的描述符最为匹配的模型描述符,从而检索出与二维图像索引最为匹配的三维模型,并通过输出装置3400输出。
与上述的第二实施方式一样,模型库3300与模型库建立装置3500连接,模型库建立装置3500预先、或每当往模型库3300中添加了新的三维模型时,对模型库3300中的三维模型进行处理,生成相应的模型描述符,并将生成的模型描述符与三维模型对应起来存储回模型库3300中。
模型库建立装置3500具有模型矫正单元3501、二维图像生成单元3502和模型描述单元3503。模型矫正单元3501、二维图像生成单元3502和模型描述单元3503可以分别与上述第二实施方式中的模型矫正单元2501、二维图像生成单元2502和模型描述单元2503相同。具体而言,模型矫正单元3501对模型库3300中的三维模型进行矫正,使三维模型的主轴与系统坐标系的三个轴一致,并使三维模型的重心与系统坐标系的原点一致,将矫正后的三维模型传递给二维图像生成单元3502。接着,二维图像生成单元3502在坐标系的各个坐标轴的正负方向上对三维模型进行投影,生成六幅二维图像,将所生成的二维图像传递给模型描述单元3503。模型描述单元3503计算二维图像的Zernike矩,从而得到三维模型的描述符。所生成的描述符与相应的三维模型关联起来存储在模型库3300中。
三维模型检索装置3100包含描述单元3103和检索单元3104。当使用者通过输入装置3200输出了二维图像索引时,描述单元3103提取该二维图像索引的特征,生成其描述符。检索单元3104基于该描述符,在模型库3300中检索出与二维图像索引的描述符最为匹配的模型描述符,从而检索出与该二维图像索引最为匹配的三维模型,并通过输出装置3400输出。
举例而言,设输入的二维图像索引为I,mi,i=1,2,...,6是一个三维模型的六幅二维图像,则图像索引I与该三维模型之间的距离可以这样计算min(l(I,m1),l(I,m2),...,l(I,m6)),其中1表示两幅图像特征之间的绝对值距离,min()是取最小值的函数。
也可以输入成对的二维图像作为索引,此时利用匹配图像组之间的距离来衡量图像索引与模型库中三维模型的相似性。假定P={p1,p2}为两幅索引图像,A1,A2,A3为一个数据库模型的三组图像,则索引图像组P与该三维模型之间的距离为min(dis(P,A1),dis(P,A2),dis(P,A3)),其中dis表示两个图像组间的距离,min()是取最小值的函数。以上的计算处理与第一实施方式中说明的方法相同。
由此,计算出索引图像与模型库3300中所有模型之间的距离,从而确定出检索结果。
根据第三实施方式,能够以二维图像作为索引来检索三维模型,因此大大地提高了三维模型检索的灵活性。
其他实施方式 以上结合本发明的一些具体实施方式
对本发明进行了说明,但是可以理解,本发明的范围不限于上述的实施方式。本发明的范围由所付的权利要求限定,在权利要求的范围内可以有各种变更和改进。
例如,在上述的第一~第三实施方式中,以三维模型由三角形网格构成的情况为例进行了说明。但是,根据情况,也有可能输入到模型检索系统中的三维模型是由三个顶点以上的多边形构成。在输入的三维模型由多边形网格表示的情况下,本发明的模型矫正单元可以首先将其转化为三角形网格形式。有多种方法可以实现多边形三角化,可参见JosephO’RourkeComputational geometry in C(second edition),CambridgeUniversity Press,page.1-40. 另外,在上述实施方式中,以二维图像生成单元基于三维模型生成六个二维图像的情况为例对本发明进行了说明,但是,本发明不限于生成六个二维图像,也可以是六个以下。例如,在对具有对称性的三维模型进行检索的情况下,无需生成六个二维图像,可以减少处理量而提高处理速度。
本发明也不限于实施为以上的实施方式中描述的三维模型检索装置,也可以实施为本发明的三维模型检索装置所实现的三维模型检索方法。
本发明也可以实施为一种对三维模型进行归档的方法,该方法包括以下步骤对原始的三维模型进行旋转和/或平移,使得该三维模型的主轴方向与系统坐标系的三个坐标轴一致,并且该三维模型的重心与系统坐标系的原点一致;在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;基于所述二维图像,生成三维模型的模型描述符;以及将所述的描述符与所述原始三维模型关联起来,存储到数据库中。
另外,本发明也可以实施为程序,其使计算机或其他的信息处理装置执行本发明的三维模型检索方法。具体而言,本发明的程序使信息处理装置执行以下处理对三维模型进行旋转和/或平移,使得该三维模型的主轴方向与系统坐标系的坐标轴一致,并且该三维模型的重心与系统坐标系的原点一致;在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;基于所述二维图像,生成三维模型的模型描述符;基于所述的模型描述符,在模型库中检索出与输入的模型索引最匹配的三维模型。
另外,本发明也可以实施为存储了上述程序的计算机可读存储介质。
另外,可以在权利要求书所限定的范围内,对上述本发明的各个构成要素进行适当的组合。
权利要求
1.一种三维模型检索装置,其具有
模型矫正单元,其对三维模型进行旋转和/或平移,使得该三维模型的主轴方向与系统坐标系的坐标轴一致,并且该三维模型的重心成为系统坐标系的原点;
二维图像生成单元,其在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;
模型描述单元,其基于所述二维图像,生成三维模型的模型描述符;
检索单元,其基于所述的模型描述符,在模型库中检索出与输入的索引匹配的一个或多个三维模型。
2.根据权利要求1所述的三维模型检索装置,其特征在于,
所述模型矫正单元计算构成所述三维模型的各个三角形的法线方向,根据所有三角形的法线方向的分布信息而确定该三维模型的主轴方向,基于该主轴方向对三维模型进行所述的旋转。
3.根据权利要求1所述的三维模型检索装置,其特征在于,
所述二维图像生成单元在所述的投影中,在各个坐标轴的正向的投影中,仅对相应的坐标位置为正的采样点进行投影,在各个坐标轴的负向的投影中,仅对相应的坐标位置为负的采样点进行投影。
4.根据权利要求1所述的三维模型检索装置,其特征在于,
所述模型描述单元生成各个所述二维图像的图像描述符,以所有二维图像的图像描述符的集合作为该三维模型的模型描述符。
5.根据权利要求4所述的三维模型检索装置,其特征在于,
所述检索单元将三维模型在同一坐标轴上的两个二维图像作为一组,对索引模型的二维图像组与数据库模型的二维图像组进行匹配,计算并累计匹配的二维图像组之间的距离,基于该累计的距离进行所述的检索。
6.一种三维模型检索方法,该方法包括以下步骤
模型矫正步骤,对三维模型进行旋转和/或平移,使得该三维模型的主轴方向与系统坐标系的坐标轴一致,并且该三维模型的重心成为系统坐标系的原点;
二维图像生成步骤,其在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;
模型描述步骤,其基于所述二维图像,生成三维模型的模型描述符;
检索步骤,其基于所述的模型描述符,在模型库中检索出与输入的索引匹配的一个或多个三维模型。
7.根据权利要求6所述的三维模型检索方法,其特征在于,
在所述模型矫正步骤中,计算构成所述三维模型的各个三角形的法线方向,根据所有三角形的法线方向的分布信息而确定该三维模型的主轴方向,基于该主轴方向对三维模型进行所述的旋转。
8.根据权利要求6所述的三维模型检索方法,其特征在于,
在所述二维图像生成步骤中,在各个坐标轴的正向的投影中,仅对相应的坐标位置为正的采样点进行投影,在各个坐标轴的负向的投影中,仅对相应的坐标位置为负的采样点进行投影。
9.根据权利要求6所述的三维模型检索方法,其特征在于,
在所述模型描述步骤中,生成各个所述二维图像的图像描述符,以所有二维图像的图像描述符的集合作为该三维模型的模型描述符。
10.根据权利要求9所述的三维模型检索方法,其特征在于,在所述检索步骤中,将三维模型在同一坐标轴上的两个二维图像作为一组,对索引模型的二维图像组与数据库模型的二维图像组进行匹配,计算并累计匹配的二维图像组之间的距离,基于该累计的距离进行所述的检索。
全文摘要
三维模型检索装置及方法。本发明的三维模型检索装置具有模型矫正单元,其对三维模型进行旋转和/或平移,使得该三维模型的主轴方向与系统坐标系的坐标轴方向一致,并且该三维模型的重心成为系统坐标系的原点;二维图像生成单元,其在所述系统坐标系的各个坐标轴的正负方向上分别对所述三维模型进行投影,生成多个二维图像;模型描述单元,其基于所述二维图像,生成三维模型的模型描述符;检索单元,其基于所述的模型描述符,在模型库中检索出与输入的索引最匹配的三维模型。
文档编号G06F17/30GK101350016SQ20071013619
公开日2009年1月21日 申请日期2007年7月20日 优先权日2007年7月20日
发明者王月红, 刘汝杰, 马场孝之, 远藤进, 椎谷秀一, 上原祐介, 增本大器, 长田茂美 申请人:富士通株式会社