一种图形检索方法

文档序号:6583273阅读:186来源:国知局
专利名称:一种图形检索方法
技术领域
本发明涉及图形处理技术领域,具体涉及一种图形检索方法。
背景技术
网络与计算机图形学逐渐渗入日常生活中,人们已不再满足于只能在网络上看到二维图像。另一方面,随着三维建模技术的日益成熟和计算机软硬件技术的飞速发展,三维模型的数量在最近的十年中有了飞跃性的增长。相对于二维图像,人们可以从任意角度浏览自己感兴趣部分,因此更受人喜爱,用途更广泛。网络游戏和动漫技术、网络教育技术、基于Web的信息服务关键技术及产品和数据库与数据挖掘技术等热点领域的研究均不能缺少三维图形这一媒体。 充分利用已有的三维模型数据资源,可以大大减轻设计新模型的工作量,同时也可以促进三维数据的流通和在各领域的应用。然而,如何在海量的三维模型库中快速的搜索到自己感兴趣的模型,为三维模型库建立搜索引擎是一个困难的问题。现有技术的图形检索方法是根据几何内容对三维模型进行分类检索,用户不能方便地通过检索界面表达检索要求。

发明内容
本发明要解决的技术问题是提供一种图形检索方法,能够克服现有技术的不足,
实现图形的多模态检索,使得检索更为方便,完善目前的多媒体搜索技术和填补目前网络
三维图形搜索引擎的空白,推动下一代智能多模态搜索引擎的实现。 本发明提供的技术方案如下 本发明提供一种图形检索方法,包括 1)建立三维网格模型库; 2)当用户输入的是二维图形或图像时,与三维网格模型库中的三维网格模型的轮廓进行匹配,根据匹配参数将三维网格模型投影到二维空间,得到投影的二维图像或图形,然后计算投影得到的二维图像或图形与输入的图形或图像之间的相关度,根据相关度检索得到三维网格模型; 3)当用户输入的是三维网格模型时,对输入的三维网格模型进行骨架提取,根据
提取的三维网格模型骨架,在三维网格模型库中初步检索得到三维网格模型; 4)将检索得到的三维网格模型和用户输入的三维网格模型进行特征点提取,代替
原始三维网格模型,再进行三角剖分,对剖分后的分割线进行分段拟合,得到原始三维网格
模型的控制点,然后根据拓扑结构对控制点进行频域变换; 5)计算得到的用户输入三维网格模型的控制点频域坐标值与三维网格模型库中的三维网格模型的控制点频域坐标值之间的相似度,根据相似度检索出对应的图形。
优选的,步骤1)中的三维网格模型库是对各种三维数据格式进行重新组织和多边形建模后得到的。
4
优选的,骨架提取过程为首先为输入的网格模型建立渐进网格表示,然后对渐进网格不断的进行边塌縮变换,在塌縮的过程中如果一条边没有相邻三角形,则该条边标记为骨架边,并且一直保留到塌縮结束,最终获得的边构成模型的骨架。
优选的,步骤4)中对于检索得到的三维网格模型和用户输入的三维网格模型,根据其空间形状进行特征点提取,用脐带点作为特征点代替原始三维网格模型。
优选的,步骤4)中根据特征点对三维网格模型进行三角剖分,对剖分后的分割线进行分段拟合,得到分割点,将这些分割点作为原始三维网格模型的控制点。
优选的,步骤4)中根据三维网格模型的拓扑结构对得到的控制点进行频域变换,包括
阵;
(1) 以控制点到网格中心的矢量的模对粗糙网格的控制点进行排序;
(2) 从网格拓扑关系获得Kirchhoff矩阵K = D-A (6)
D是对角矩阵,其对角线上的元素Dii与顶点vi的价相对应,A是网格的邻接矩
对Kirchhoff矩阵进行特征值分解得到的n个特征向量n*n映射矩阵W ; (3)从先前排好序的n个控制点的空间坐标构造3个向:
Wi进行升序排列,组成的
<formula>formula see original document page 5</formula>t投影到特征向量基W上得到频域向量
<formula>formula see original document page 5</formula>每个顶点对应的频谱的幅值Si计算公式为
<formula>formula see original document page 5</formula>
本发明具有以下有益效果
(1)可以根据单个二维图像检索三维图形,用户可以输入bmp、 jpeg、 tiff等常见格式的图片,通过本发明方法可以检索出对应的图形。 (2)支持输入的三维模型的表示方法更加广泛,对于三角形网格数据、点云数据、体数据或多边形网格模型均适用。 (3)采用了分级搜索,更快更准确。首先根据三维图形的骨架进行粗糙搜索,对搜索结果中的三维图形采用其它特征提取技术进行准确搜索,保证了实时性和准确性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是用户输入二维图形或图像的处理示意 图2是三维与二维的匹配流程图; 图3是对于用户输入三维网格数据时的处理流程图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。 本发明方法主要研究图形的多模态检索,其原理是根据三维图形的特征,通过二维图像、二维图形、三维模型等信息,计算用户输入的图形或图像与三维图形之间的相似度,从而实现三维图形多模态检索。这里多模态是指支持用户以常见格式的二维图像、二维图形和三维 模型进行查询。 本发明方面从三维数据中提取出很小的数据量,并将其作为对应图形或图像的主要特征,可以根据该主要特征进行检索。该特征基本不受噪声、相似变换、不同分辨率采样等因素的影响。 本发明方法主要包括以下8个环节 (1)首先对各种数据格式的三维模型数据进行重新组织,进行多边形建模,得到三维网格模型,并建立三维网格模型库。 (2)当用户输入的是二维图形或图像时,与三维网格模型库中的三维网格模型的轮廓进行匹配,然后根据匹配参数将三维网格模型投影到二维空间,得到投影的二维图像或图形,然后计算投影得到的二维图像或图形与输入的图形或图像之间的相关度,根据相关度检索出三维网格模型。
(3)当用户输入的是三维网格模型时,对输入的三维网格模型进行骨架提取。
(4)根据提取的三维网格模型骨架,在三维网格模型库中进行快速的初步检索,得到初步检索出的三维网格模型。
(5)根据图形学理论将初步检索出的三维网格模型和用户输入的三维网格模型,
根据其空间形状进行特征点提取,代替原始三维网格模型,大大减少数据量。
(6)根据提取的特征点对三维网格模型进行三角剖分,对剖分后的分割线进行分
段拟合,得到分割点,将这些分割点作为原始三维网格模型的控制点。 (7)根据三维网格模型的拓扑结构对控制点进行频域变换,得到控制点的频域坐标值。
(8)计算得到的用户输入三维网格模型的控制点频域坐标值与三维网格模型库中的三维网格模型的控制点频域坐标值之间的相似度,根据相似度检索出对应的图形。
本发明的技术特点主要体现如下 (1)系统可以根据单个二维图像检索三维图形。用户可以输入bmp、jpeg、tiff等常见格式的图片,系统将从图片中分割对象并提取轮廓信息,与三维网格模型库中的三维图形进行匹配,向用户返回匹配的三维网格模型。 (2)系统支持输入的三维模型的表示方法更加广泛。三角形网格数据、点云数据、体数据或多边形网格模型均适用。
(3)系统采用分级搜索。首先根据三维图形的骨架进行粗糙搜索,对搜索结果中的
三维图形再采用特征提取技术进行准确搜索,保证了实时性和准确性。 下面对本发明做进一步详细说明。 本发明支持多模态的图形检索方法主要步骤包括 (1)进行多边形建模,预先建立三维网格模型库; (2)三维网格模型与二维图像或图形的匹配; (3)三维网格模型骨架的提取; (4)根据骨架进行三维模型检索; (5)三维网格模型特征点提取; (6)三维网格模型控制点的计算; (7)三维网格模型控制点频谱的计算; (8)计算频谱相似度,根据相似度检索出对应的图形。 以下分别对上述步骤进行详细介绍。
(1)进行多边形建模,预先建立三维网格模型库。 本发明根据三维网格模型数据,进行多边形建模,构造多边形三维网格模型。多边形建模是利用许多的多边形模拟曲面进行,多边形越多,则模型越逼近真实曲面。多边形建模是最广泛又易于实现的一种建模技术,并可以获得高精度的模型,通常采用三角形网格形式。 为了下述描述的方便和统一,利用数学符号给出三维网格模型的定义。网格模型M = {V, C},由顶点集合V和连接关系集合C组成,其中集合V包含N个顶点Vi且每个顶点的坐标值由(Xi,yi,Zi)确定,即 V = {vj , i = 0, 1,…,N-l, Vi = (Xi, y丄,z》 (1)
而连接关系集合C表示成 C = {{ik, jk}}k = 。, ...m—pOftik N-l,0#jk N-l (2) 这里{ik, jk}表示由第ik个顶点和第jk个顶点确定的第k条边。
(2)三维网格模型与二维图像或图形的匹配 图1是用户输入二维图形或图像的处理示意图。 如图l所示,对于单个图像/图形,与模型库图形进行轮廓匹配,再进行2D投影,然后进行图形匹配相关度计算。 在很多情况下,用户的检索输入为二维图像或图形,与三维网格模型的匹配具体
过程如图2所示。首先,本发明采用图像的轮廓(或图形轮廓)与三维网格模型库中的三
维网格模型轮廓先进行初始匹配;轮廓匹配后,将得到的三维网格模型根据匹配参数投影
到2D空间,得到投影图像,然后用图像相关匹配方法进行进一步精确匹配。 三维网格模型库中的所有网格模型已完成X、 Y、 Z三个正方向的轮廓提取和投影计算。 对于三维网格模型,本发明方法是遍历网格中的每一个边来提取的轮廓,具体方法如下 1.如果当前边仅与一个三角形相连接,那么它属于轮廓; 2.如果当前边与两个三角形巳和&,则定义其法向量分别为^和^,当前镜头位置与当前边的一个顶点之间的向量为。如果("^)'("2'"<()哪-禾P-相对于镜头的轴处于
不同的方向,说明巳和F2 —个正对着镜头一个背对着镜头,因此当前边为轮廓边,否则,当
前边不是显著的轮廓边。 对于图形,不需要轮廓提取过程。 对于图像,可以采用Sobel、Prewitt等算子提取轮廓。 本发明轮廓匹配过程可采用基于对应形状匹配方法,如Hausdoff距离;或者多 边形分解匹配方法,如进行线段化处理,并且以轮廓重心为中心进行三角剖分,确定边界顶 点,连接起来便成一凸多边形,用这一凸多边形近似表示原图形,将多边形重心与顶点连 线,组成一系列三角形从而进行图形轮廓匹配。轮廓匹配过程简单高效,可快速实现初始检 索。 本发明图像相关匹配方法是计算三维网格模型投影得到的二维图像或图形与输 入的图形或图像之间的相关度,如利用归一化相关测度计算图像区域中每一对像素的相似 性。对于待匹配的两幅图像IJx,y)和IJx,y),待检测图位置(i,j)上归一化相关测度定 义为
]>(/2("+"+力—7"2) W,力=_… _
、EE""" —WEE"""")") —
V w=l v=l w=l v=l 当相关度大于一个设定阈值,即检索到匹配的三维网格模型。
(3)三维网格模型骨架的提取 骨架是一种性质优良的图形几何特征,又称中轴(Medial Axis),是一种有效的图
形描述手段。顾名思义,骨架是一种线型的几何体,居于图形的对称中心,有着与原图形相
同的拓扑结构,并保留着原图形的形状信息。 图3是对于用户输入三维网格数据时的处理流程图。 图3的过程包括以下的过程,即(3)三维网格模型骨架的提取;(4)根据骨架进行 三维模型检索;(5)三维网格模型特征点提取;(6)三维网格模型控制点的计算;(7)三维 网格模型控制点频谱的计算;(8)计算频谱相似度,根据相似度检索出对应的图形。具体内 容参加下面的描述。 本发明设计了一种快速的基于多分辨率网格的骨架提取算法首先为三维网格模
型建立渐进网格表示,然后对渐进网格不断的进行边塌縮变换,在塌縮的过程中如果一条
边没有相邻三角形,那么这条边标记为骨架边,并且一直保留到塌縮结束,最终获得的边就
构成了网格模型的骨架。三维网格模型库中的所有网格模型已完成骨架提取计算。用户输
入网格模型时需要提取骨架。
(4)根据骨架进行三维模型检索 提取骨架是将3D图形转换为3D线段的过程,3D线段的数据量相对于原始3D图形 大大减少,因此可以加快检索速度。 用户输入的三维网格模型与库中的网格模型进行骨架比较,比较骨架采用主成分 PCA分析法,先将骨架定位,分段计算骨架的距离,然后直接采用欧氏距离进行排序,根据距
8离信息比较结果,欧氏距离差最小的即为初步检索的三维网格模型。
(5)三维网格模型特征点提取 根据图形学理论将用户输入的三维网格模型,根据其空间形状进行特征点提取, 代替原始三维网格模型,大大减少数据量。三维网格模型库中的所有网格模型已完成特征 点提取、控制点频谱计算。 本发明使用脐带点作为任意三角形三维网格模型的特征点。以脐带点作为三维网 格模型表面的特征点,对于噪声、剪切、旋转、平移、縮放、不同分辨率采样等由于不同采集 设备造成的影响具有很强的鲁棒性。由于跨过网格模型的边的曲率较大,所以曲率张量可 以定义为网格模型的边的每一个点。在任意网格区域B内,定点v的曲率张量可以用下式 估计 <formula>formula see original document page 9</formula>
其中,|B|是v的邻域的面积,13 (e)是边e的两个邻接三角形的法向量之间的夹 角,|e nB|是区域B中的边e的长度,S是沿着边e的单位法向量。v的邻接区域B是由 以v为球心,以r为半径的球体与网格模型的相交圆定义的。半径r是指定曲率估计的尺 度参数。 得到每一个顶点的曲率张量以后,在每个三角形网格上进行线性插值以获得连续 的曲率张量场。顶点的法向量方向与曲率张量的幅值最小的特征值相对应,其它两个特征 值分别对应顶点v的最小曲率和最大曲率,当这两个特征值相等时,顶点v被称为脐带点, 即本发明中使用的三维网格模型的特征点。 显然曲率估计的关键是尺度参数。本发明采用不同的尺度进行曲率张量估计,以 便于平滑张量场并且估计不同尺度下的脐带点对于噪声以及仿射变换等因素的鲁棒性。为 了避免丢失网格模型表面的局部信息以及减小计算复杂度,尺度参数不能取得过大。本发 明在寻找鲁棒性最高的尺度参数时,选用自适应遗传算法作为优化搜索技术。在鲁棒性最 高的几个尺度参数中,我们选用使区域B内的平均曲率最大的点,即曲率张量的迹最大的 点。
(6)三维网格模型控制点的计算 根据提取的特征点对三维网格模型进行三角剖分,对剖分后的分割线进行分段拟 合,得到分割点,将这些分割点作为原始三维网格模型的控制点。 获得特征点以后,下一步任务是减小数据量,这对于特征注册以及三维网格模型 的检索都非常重要。 获得特征点以后,第一步是将网格进行三角分割。在2D空间中,Dela皿ay三角分 割能够产生形状较均匀的三角形,并且具有唯一性。在3D表面中,Dela皿ay三角分割不是 使用欧氏距离而是使用测地距离(测地距离是指3D空间中网格表面的两个顶点沿着表面 的最短距离)。本发明采用波阵面方法对整个Voronoi图及其二重Delaunay三角分割进行 估计。采用该方法的好处是能够使三角分割不受采样率的大小的影响。波阵面是通过计算 以种子点为球心,半径不断增长的球与三维网格表面的相交圆获得的。采用基于不同的球 半径的波阵面方法比采用基于网格拓扑关系的波阵面方法得到的结果要好。
(7)三维网格模型控制点频谱的计算
根据三维网格模型的拓扑结构对控制点进行频域变换,得到控制点的频域坐标 由于3D网格是图形而非图像,所以每个顶点坐标没有其固有的影像函数,因此对 3D网格进行变换域处理首先要构造一个影像函数,以便于将经典的变换域处理算法应用于 3D网格处理。 首先,对控制点进行排序。本发明以控制点到网格中心的矢量的模对粗糙网格的
控制点进行排序。 定义网格中心的坐标为
(4)
,■=0
每个控制点到网格中心的矢量的模定义如下
一2
(5)将控制点根据模大小进行升序排列以后,开始进行频域变换。首先从网格拓扑关 系中获得组合拉普拉斯算子或者叫做Kirchhoff矩阵。该矩阵定义如下
K = D-A (6) 其中,D是对角矩阵,其对角线上的元素Dii与顶点vi的价相对应(价即是从顶
点放射出的边的个数),A是网格的邻接矩阵,其元素定义如下
—p 如果v,与Vj相邻接 (7)
"y=<[o 其它 对于有n个控制点的网格模型,矩阵A、 D和K的尺寸均为n*n。对Kirchhoff矩 阵进行特征值分解得到n个特征值A ,和n个特征向量Wi。将这n个特征向量进行升序排 列,可以得到其对应的特征向量,这些排序后的特征向量是频率不断增大的函数基。该函数 基仅取决于网格模型的拓扑结构,而与网格模型的几何特性无关。将这n个排序后的特征 向量组成的n*n映射矩阵记做W。 从先前排好序的n个控制点的空间坐标构造3个向量
X= (x丄,x2, ...,xn),Y= (y"y2, ...,yn),Z= (z" z2, …,zn) (8)
将这3个向量投影到特征向量基W上,即可得到空域坐标的频域分解向量 '《=『%
-K= T (9)Z5 =『Z
空间坐标也可由频率坐标还原得到
n乂 (io)
每个顶点对应的频谱的幅值Si可以由下式计算 (8)计算频谱相似度,根据相似度检索出对应的图形。 计算用户输入的三维网格模型的控制点频域坐标值与库中的三维网格模型的控 制点频域坐标值之间的相关度,根据相关度检索出对应的图形。
比较两个网格模型的相似度时,则通过比较频域系数的波形相似度来判断。比较
相似度时的准则可采用归一化相关系数
其中f为由用户输入的三维网格模型计算得到的频谱值,S为库中的三维网格频 谱值。NC越大,则频谱系数越相关。 给定一个阈值T,如果NOT,则认为用户输入的三维网格与库中的三维网格相匹
配,检索流程结束。 本发明具有以下有益效果 (1)可以根据单个二维图像检索三维图形,用户可以输入bmp、 jpeg、 tiff等常见 格式的图片,通过本发明方法可以检索出对应的图形。 (2)支持输入的三维模型的表示方法更加广泛,对于三角形网格数据、点云数据、 体数据或多边形网格模型均适用。 (3)采用了分级搜索,更快更准确。首先根据三维图形的骨架进行粗糙搜索,对搜 索结果中的三维图形采用其它特征提取技术进行准确搜索,保证了实时性和准确性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存 储介质可以包括只读存储器(ROM, Read Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁盘或光盘等。 以上对本发明实施例所提供的一种图形检索方法,进行了详细介绍,本文中应用 了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解 本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具 体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明 的限制。
(12)
ii
权利要求
一种图形检索方法,其特征在于,包括1)建立三维网格模型库;2)当用户输入的是二维图形或图像时,与三维网格模型库中的三维网格模型的轮廓进行匹配,根据匹配参数将三维网格模型投影到二维空间,得到投影的二维图像或图形,然后计算投影得到的二维图像或图形与输入的图形或图像之间的相关度,根据相关度检索得到三维网格模型;3)当用户输入的是三维网格模型时,对输入的三维网格模型进行骨架提取,根据提取的三维网格模型骨架,在三维网格模型库中初步检索得到三维网格模型;4)将检索得到的三维网格模型和用户输入的三维网格模型进行特征点提取,代替原始三维网格模型,再进行三角剖分,对剖分后的分割线进行分段拟合,得到原始三维网格模型的控制点,然后根据拓扑结构对控制点进行频域变换;5)计算得到的用户输入三维网格模型的控制点频域坐标值与三维网格模型库中的三维网格模型的控制点频域坐标值之间的相似度,根据相似度检索出对应的图形。
2. 根据权利要求l所述的图形检索方法,其特征在于步骤1)中的三维网格模型库是对各种三维数据格式进行重新组织和多边形建模后得到的。
3. 根据权利要求1或2所述的图形检索方法,其特征在于骨架提取过程为首先为输入的网格模型建立渐进网格表示,然后对渐进网格不断的进行边塌縮变换,在塌縮的过程中如果一条边没有相邻三角形,则该条边标记为骨架边,并且一直保留到塌縮结束,最终获得的边构成模型的骨架。
4. 根据权利要求1或2所述的图形检索方法,其特征在于步骤4)中对于检索得到的三维网格模型和用户输入的三维网格模型,根据其空间形状进行特征点提取,用脐带点作为特征点代替原始三维网格模型。
5. 根据权利要求1或2所述的图形检索方法,其特征在于步骤4)中根据特征点对三维网格模型进行三角剖分,对剖分后的分割线进行分段拟合,得到分割点,将这些分割点作为原始三维网格模型的控制点。
6. 根据权利要求1或2所述的图形检索方法,其特征在于步骤4)中根据三维网格模型的拓扑结构对得到的控制点进行频域变换,包括(1) 以控制点到网格中心的矢量的模对粗糙网格的控制点进行排序;(2) 从网格拓扑关系获得Kirchhoff矩阵K = D-A (6)D是对角矩阵,其对角线上的元素Dii与顶点vi的价相对应,A是网格的邻接矩阵;对Kirchhoff矩阵进行特征值分解得到的n个特征向量Wi进行升序排列,组成的n*n映射矩阵W ;(3) 从先前排好序的n个控制点的空间坐标构造3个向量X二(x"X2, …,xn) , Y = (y丄,y2, …,yn) , Z = (z丄,z2, …,zn) (8)将这3个向量投影到特征向量基W上得到频域向量<formula>formula see original document page 3</formula>每个顶点对应的频谱的幅值Si计算公式为<formula>formula see original document page 3</formula>
全文摘要
本发明公开一种图形检索方法。该方法包括(1)进行多边形建模,预先建立三维网格模型库;(2)三维网格模型与二维图像或图形的匹配;(3)三维网格模型骨架的提取;(4)根据骨架进行三维模型检索;(5)三维网格模型特征点提取;(6)三维网格模型控制点的计算;(7)三维网格模型控制点频谱的计算;(8)计算频谱相似度,根据相似度检索出对应的图形。本发明的技术方案可以使得检索更为方便,并且支持多模态检索。
文档编号G06K9/68GK101719140SQ200910214068
公开日2010年6月2日 申请日期2009年12月23日 优先权日2009年12月23日
发明者王召福, 罗笑南, 许晓伟 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1