多媒体模型检索方法、装置及系统的制作方法

文档序号:6574050阅读:268来源:国知局
专利名称:多媒体模型检索方法、装置及系统的制作方法
技术领域
本发明涉及多媒体检索技术领域,尤其涉及一种多媒体模型检索方法及装置。

背景技术
随着多媒体技术和网络技术发展,多媒体模型检索技术也日益发展,多媒体模型检索系统也成为业界研发的重点,所谓多媒体包括:文本、图片、音频、视频、三维/多维模型或者其组合。其中,基于内容的多媒体检索是利用多媒体的信息特征进行相似性检索。
传统的多媒体模型检索方法包括如下步骤:读取多媒体模型信息的参数,该步骤中包括使得不同格式或特性的多媒体模型具有一致性。抽取多媒体模型的特征,该步骤中抽取多媒体信息中可以用来比较的部分,即特征,并将其量化。计算模型之间的相似度,该步骤中根据模型的特征,计算待检索模型与数据库模型之间的相似度。根据用户的手工标注,使用神经网络的机器学习的方法对数据库中的各组数据进行分类,从而得到检索结果。
发明人在研究多媒体检索技术的过程中发现,上述传统的多媒体模型检索方法中至少存在如下缺点:现有技术实现的多媒体信息检索反馈系统,需要在学习与分类的步骤中对大量模型进行手工标注,标注的数量取决于数据库的大小及特征抽取方法的精度,有时甚至需要手工标注上千或上万个数据,严重影响反馈速度。并且,上述方法的适用性和鲁棒性较差。


发明内容
有鉴于此,实有必要提供一种反馈次数少,适用性和鲁棒性好的多媒体模型检索方法。
同时,提供一种反馈次数少,适用性和鲁棒性好的多媒体模型检索装置。
一种多媒体模型检索方法,该方法包括如下步骤: 获取待检索的多媒体模型参数; 根据所述多媒体模型参数对所述多媒体模型进行投影描述得到投影描述结果; 对所述投影描述结果进行特征抽取; 根据特征抽取后的结果与存储的模型多媒体文件信息进行匹配得到检索结果;及 根据用户对检索结果标注的多媒体模型训练得到支持向量机,并通过该支持向量机对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。
一种多媒体模型检索装置,该装置包括: 模型文件初始化模块,用于获取待检索的多媒体模型参数; 投影模块,用于根据所述多媒体模型参数对所述多媒体模型进行投影描述得到投影描述结果; 特征抽取模块,用于对所述投影描述结果进行特征抽取; 相似度匹配模块,用于根据特征抽取后的结果与存储的模型多媒体文件信息进行匹配得到检索结果;及 反馈模块,根据用户对检索结果标注的多媒体模型训练得到支持向量机,并通过该支持向量机对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。
本发明实施例通过根据用户对检索结果标注的多媒体模型训练得到支持向量机,并通过该支持向量机对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。使得多媒体模型检索时,通过较少的模型样本得到较高检索精度的检索结果,减少了反馈的次数,具有良好的适应性及鲁棒性,可作为生物分子、机械制造、地形匹配、游戏及动画制作等领域的三维模型检索系统来使用,帮助用户对这些领域的海量模型数据进行快速精确的检索。



图1为本发明一实施例多媒体模型检索装置示意图。
图2为本发明另一实施例多媒体模型检索装置示意图。
图3为本发明实施例Zernike矩和球面坐标系的θ、α关系图。
图4为本发明实施例一个三角片细分示意图。
图5为本发明实施例三维模型顶点投影示意图。
图6为本发明实施例检索实例bunny模型示意图。
图7为本发明实施例加入噪声后的bunny模型示意图。
图8为本发明实施例鲁棒性实验结果示意图。
图9为本发明实施例与传统的检索精度比较示意图。
图10为本发明实施例第1轮反馈后查全率-查准率对比曲线示意图。
图11为本发明实施例第5轮反馈后查全率-查准率对比曲线示意图。
图12为本发明实施例多媒体模型检索方法流程图。

具体实施例方式 请参看图1,一种较佳的多媒体模型检索装置实施方式包括模型检索装置102和数据库管理系统199。数据库管理系统199用于存储多媒体模型文件信息。模型检索装置102用于获取待检索的多媒体模型参数,根据多媒体模型参数对多媒体模型进行投影描述得到投影描述结果,对投影描述结果进行特征抽取,根据特征抽取后的结果与数据库管理系统199存储的多媒体文件信息进行匹配得到检索结果,根据用户对检索结果标注的多媒体模型训练得到支持向量机(Support Vector Machines,SVM),并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。数据库管理系统199存储的多媒体文件信息可以是多媒体模型文件也可以是多媒体模型的特征提取参数,例如Zernike矩提取特征的模型。
本实施例中,模型检索装置102包括:模型文件初始化模块104、预处理模块106、球面投影模块112、数据库处理模块116、特征抽取模块118、相似度排序模块130、结果输出模块132和反馈模块120。
模型文件初始化模块104,用于获取待检索的多媒体模型参数,例如,接收用户选定的用作匹配源的三维模型文件,模型文件初始化模块104独立于模型的文件格式,可以接收各种格式三维模型的文件,如.3ds格式的文件等。读取所述模型文件信息,包括模型参数,所述模型文件信息包括顶点数量、顶点坐标、法线向量和三角片顶点索引等数据。所述模型文件信息的文件格式可以是可存储文本的文件格式,如.txt文件格式等。其中,读取所述模型文件信息的细节在本实施例中可以包括如下步骤: 1)打开所述模型文件。
2)读取文件的前9个bit为顶点部分的开始标识,跳过。读取4个Byte并存储成一个int(整型)型变量,作为顶点个数。根据所述顶点个数循环执行步骤3)和步骤4)。
3)读取顶点的x,y,z坐标。
4)读取法线向量的x,y,z坐标。
5)继续读取11个bit,作为三角片部分开始标识,跳过。读取4个Byte并存储成为一个int型变量,作为三角片个数。根据所述三角片个数,循环执行步骤6)和步骤7)。
6)读取当前三角片三个顶点的索引值,根据索引值确定所述三个顶点的坐标值。
7)根据所述三个顶点的坐标值,计算并保存每个三角片的面积及总面积(m_myTotalArea),同时计算并保存所有顶点中距离原点的最小距离(m_fMinR)。上述读取过程中若模型为二维模型,仅读取模型的x,y坐标即可,多维模型不再赘述。
预处理模块106,用于对获取的待检索的多媒体模型参数预处理。请结合参看图2,本实施例中,预处理模块106包括:各向同性变换单元108和顶点采样单元110。其中,各向同性变换单元108,用于对获取的多媒体模型进行各向同性变换。
请结合参看图3,由于球面图像的三维Zernike矩和球面坐标系的θ、α相关,且用户给出的三维模型坐标系可能不一致,三维模型的顶点分布也可能不均匀或顶点密度太小,所以,本实施例中利用各向同性变换单元108先进行三维模型各向同性变换,利用顶点采样单元110进行顶点采样,统一三维模型的坐标。输出经各向同性变换后的模型结构变量。在各向同性变换矩阵中加入面积加权系数,公式如下: 其中,P={p1,Kpn}是变换前的顶点序列,Q={q1,Kqn}是变换后的顶点序列,si为与顶点pi相邻的所有三角片的面积之和。改进后的变换矩阵CP依然具有各向同性的性质,在顶点计算中加入面积加权,可以减小顶点分布不均匀带来的偏差,把这个各向同性变换矩阵称为面积加权的各向同性变换矩阵。用该矩阵对模型结构变量的各顶点进行变换,然后计算该矩阵的特征值,可以储存以备后用。
顶点采样单元110,用于根据各向同性变换后的多媒体模型进行顶点采样。本实施例中,顶点采样单元110对面积较大的那些三角片进行细分,即采样。请结合参看图4,以本实施例中的一个三角片(P1,P2,P3)为例进行说明。其中,P1,P2,P3分别为所述三角片的三个顶点。对三角片(P1,P2,P3)进行细分,首先确定最长边(P2,P3),其中P4是(P2,P3)的中点。连接P1和P4,这样就把三角片(P1,P2,P3)细分成为两个三角片,分别为三角片(P1,P2,P4)和三角片(P1,P4,P3)。通过海伦公式计算三角片的面积,三角片面积计算为现有技术,不再赘述。如果三角片(P1,P2,P4)或三角片(P1,P4,P3)的面积大于一个预设的阀值F,那么面积大于所述阀值F的三角片需采用上述方法继续细分。依此类推,直到细分后的每一个三角片面积都小于阀值F。细分后的每个三角片内心作为三维模型的一个新采样点。请参看图4中的A1、A2、A3和A4分别为分割后的三维模型的新采样点。其中上述阀值F在本实施例中预设为m_myTotalArea/100000。上述三角片分割若对于二维模型,仅需对二维模型的曲边通过线段分割即可,原理与上述三维模型相同,多维模型分割原理也与上述分割原理相同,不再赘述。
球面投影模块112,用于根据多媒体模型参数对多媒体模型进行球面投影描述得到球面投影描述结果。本实施例中,上述三维模型归一化后可以被一个单位球包围,称为单位包围球。球心记为Pc。设P(r1,r2)是三维模型顶点的集合,则P(r1,r2)可以表示为: P(r1,r2)={P|r1<L(P,Pc)≤r2,r1<r2} (2) 其中,r1和r2分别表示距离球心Pc最近和最远的距离值,L(P,Pc)是模型顶点P和球心Pc的距离。记半径为r2球面为

把球面

按经纬线均匀划分,所有网格的初始经纬权值为0。然后把三维模型顶点集合P(r1,r2)中每个顶点映射到

上。请结合参看图5,一个顶点Pi映射到球面的方法如下,连接Pc和Pi,并延长PcPi和

相交。设交点在

的网格(P1,P2,P3,P4)内,那么网格(P1,P2,P3,P4)的经纬权值加1。把P(r1,r2)所有顶点映射到

后,可以得到P(r1,r2)的球面投影,记为PRO(r1,r2)。本实施例中,取r1=m_fMinR-0.1,r2=1.0001,这样可避免有顶点与这两个球面相交。对于二维模型,上述球面投影可以相似地投影到一个单位圆上,原理与三维模型相同。多维模型的投影原理亦与之相同,不再赘述。
特征抽取模块114,用于对投影描述结果进行特征抽取。本实施例中,以Zernike矩进行特征抽取为例进行说明,将球面投影模块112输出的球面投影图像作为输入的结构变量,输出三维Zernike矩系数结构变量。特征抽取模块114计算三维模型的Zernike矩系数,例如,基于笛卡尔坐标系的计算公式如下: x=|x|ξ=rξ=r(sin α sinθ,sin α cosθ,cosθ)T (3) 然后可按如下公式计算三维Zernike矩,其中,f(x)为将得到的球面投影函数转化到笛卡尔坐标系下的函数;n为频带宽度,经试验取16是一个较好的值;m为每个频带下的频率分量;1满足0≤l≤n且使n-1为奇数: 式(5)中,Rnl(r)为以球面坐标系下的半径为参数的多项式,

球面调和算子,实际计算时,可取r∈(0,1]中的每个值,并通过积分得到

式(6)为球面调和算子的计算式,其中

为式(7)所示的缩放因子,

为Legendre多项式: 再计算上述三维Zernike矩的二阶范数,储存以备后用。计算公式如下: 数据库处理模块116,用于提供数据库管理系统199存储的多媒体模型文件信息,本实施例中,模型数据库文件可以为预处理后的.txt文件,其生成方法与前述预处理部分可以相同,也可以为其他预处理方法。本实施例中,处理可以为:输入打开的数据库文件变量,输出数据库中每个模型信息的结构链表。读取数据,并保存为一张链表,以便后续处理中调用。三维模型数据库文件包含了模型文件个数、文件名、三维Zernike矩系数、各向同性变换矩阵系数等数据。该步骤的细节如下: 1)打开数据库文件。
2)读取数据库中储存的模型文件个数,方法是读取文件的前4个BYTE,并存为一个int型变量。根据模型文件个数,循环执行以下各步: 3)初始化链表结点,我们称之为DataLink。DataLink结构包含以下数据:一个CString型变量保存模型文件名,一个大小为289的float型数组保存三维Zernike矩系数,一个大小为9的float型数组保存各向同性变换矩阵系数,三个float型变量保存各向同性变换矩阵的三个特征值,一个DataLink*型指针用于指向后续结点。
4)读取模型文件名长度,方法是读取该块的前4个BYTE,并存为一个int型变量。根据该长度指示的BYTE数读取文件名称。
5)读取Zernike矩系数系数。这是一个大小为289的float型数组。
6)读取9个(3*3)各向同性变换矩阵系数,并计算3个各向同性矩阵的特征值。
相似度排序模块118,用于根据特征抽取后的结果与存储的模型多媒体文件信息进行匹配得到检索结果。本实施例中,三维模型匹配包括三维Zernike矩系数偏差距离计算,模型相似度计算,相似度排序及结果输出。计算三维Zernike矩系数偏差距离。计算公式如公式(8)所示,其中

为用户选择模型的三维Zernike矩系数,

为数据库中某一模型的三维Zernike矩系数: 计算模型相似度。模型相似度体现了两个三维模型的相似程度,相似度越小,三维模型的相似性越差,反之,相似度越大,三维模型的相似性越好。因为在预处理时使用了各向同性变换,此处需考虑在内,计算公式如(9)和(10)所示,其中ev1i为用户选择模型的各向同性变换矩阵特征值,ev2i为数据库中某一模型的各向同性变换矩阵特征值: sim=1-diff*evdiff (10) 相似度排序模块130,用于对匹配得到的检索结果或更新检索结果进行排序。本实施例中,可以对得到的模型相似度从大到小排序,排序算法可以是以下各种排序算法中的至少一种:冒泡排序、哈希排序、快速排序、归并排序、堆排序等。排序后将模型文件名按顺序存入一文本文件。
结果输出模块132,用于将排序后的结果输出,本实施例中,将排序得到的结果取若干个按顺序输出。具体方法是,通过文件名找到数据库中的对应文件,读取其顶点、网格等信息,并在程序界面上加以绘制。输出的模型个数应满足下一步反馈的需要,一般以40-60个为宜。优选实施例中每页可显示20个模型,其中第1个固定显示用户选择的模型,其余19个可用来显示结果,共显示3页,总计58个模型。
反馈模块120,用于根据用户对检索结果标注的多媒体模型训练得到支持向量机SVM,并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。反馈模块120包括:SVM训练单元122和SVM预测单元124。SVM训练单元122,用于将用户手工标注作为训练样本,根据所述训练样本训练得到所述SVM。SVM预测单元124用于利用所述SVM对数据库中的模型进行预测。本实施例中,可以让用户决定对检索结果是否满意,如否,则要求用户手工标注相关/不相关。若相关,则设置其概率值为1;若不相关,则设置其概率值为-1。将这些模型的概率值与三维Zernike矩的二阶范数值写入一文本文件中。保存的数据(称为向量)训练一个支持向量机。使用一个合适的非线性映射φ:x→φ(x)将原始数据映射到一个高维特征空间,使得在这个高维特征空间中可以使用线性分类方法。计算公式如下: 使满足yi(wTφ(xi)+b)≥1-ξi,ξi≥0,i=1...l (11) 其中C为惩罚因子;φ(xi)即上述非线性映射。实际计算时使用(11)的等价形式如下: 使满足yTα=0,0≤αi≤C,i=1...l (12) 其中向量e代表每个训练数据;Qij≡yiyjK(xi,xj)为一正值半定义矩阵;K(xi,xj)≡φ(xi)Tφ(xj)为核函数,可为下列函数之一: 线性函数: 多项式函数: 径向基函数(RBF):K(xi,xj)=exp(-γ‖xi-xj‖2),γ>0 (15) Sigmoid函数: 在较佳实施例中选用RBF,并设置γ=10-3。
通常的支持向量机在训练支持向量时,根据一决定函数设置每个数据的分类的决定函数如下式所示: 其中,α的计算方法如下: 1)将核函数(15)带入式(12)式中并结合约束条件,构造Lagrange函数,求得目标式成立时的一组α向量。
2)将α向量代入(18)或(19)得到b的值。
3)将α向量和b值代入(17)得到决定函数的表达式。
4)将(17)代入(21)得到支持向量的概率值的表达式,为计算该表达式中A,B的值,将(23)与(24)代入(22),使用迭代的方法逐渐使(22)取到最小值,达到最小值时的A,B的值即满足条件。代回(23)(也就是21)即可得每个支持向量的概率值。
5)用支持向量的概率值计算样本点的概率值,即将A,B,(17)代入(25)进行计算。
6)用上述值计算(27)(28)。
b的计算使用下述方法:若存在0<αi<C,则 若不存在,则: 通常,使用一符号函数决定分类,即根据式(20)的值为1/-1来进行分类: sgn(f(x)) (20) 本实施例中,计算将某数据归类为1的后验概率p(y=1|x),即某个模型认为其属于相似一类的概率,公式如下,其中f(x)即为上述决定函数: 为估计最佳的(A,B)参数值,本发明使用1个训练样本计算下式(较佳实施例中1=58):

其中 其中N+是yi=1的样本个数,N_是yi=-1的样本个数。
得到最佳的(A,B)值后代回(23)计算每个支持向量的概率值,保存以备后用。
使用上述训练得到的支持向量对数据库中每个模型进行后验概率预测。首先利用式(17)计算每个数据的决定函数。然后可得归为相关的概率为: ppi=min{max{sp(fi,A,B),σ},1-σ} (25) 其中, σ为一预设的最小概率值,较佳实施例中指定σ=10-7。
得到数据库中每个模型的预测概率后,保存以备后续使用。
其中,更新相似度并排序。更新公式如下: ppsumnew=ε*ppsumold+pp,0≤ε≤1 (27) simnew=simold+ppsumnew (28) 其中系数ε控制过去若干轮预测的概率值在总的修正值中所占的比重,若为0则表示只有当前的预测值对修正值起作用,若为1则表示过去所有预测值在修正值中所占的地位是相等的。在较佳实施例中该值设置为0.5。
将当前结果显示给用户,如有需要,进行多轮反馈。在本发明实施例中,每次反馈都使用用户最新一轮的手工标注来训练支持向量机,在训练和预测过程中都使用概率表示,每次对相似度值的修正则一直被保留着。实践证明这种模型检索系统在多媒体信息检索与反馈领域收到了很好的效果。上述模型检索系统可以用于二维模型或多维模型,不再赘述。
上述模型检索系统通过根据用户对检索结果标注的多媒体模型训练得到支持向量机SVM,并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。使得多媒体模型检索时,通过较少的模型样本得到较高检索精度的检索结果,减少了反馈的次数,具有良好的适应性及鲁棒性,可作为生物分子、机械制造、地形匹配、游戏及动画制作等领域的三维模型检索系统来使用,帮助用户对这些领域的海量模型数据进行快速精确的检索。使用球面投影图像和三维Zernike矩衡量三维模型的特征。对本实施例进行了噪声、旋转、网格简化的鲁棒性测试,测试过程分别如下: 对三维模型进行网格简化,简化后的三维模型顶点数量为原来模型顶点数量的20%~50%,然后进行检索实验分析。请参看图6所示的bunny模型简化结果,其中图6(a)有554个顶点,图6(b)有255个顶点。
对三维模型在X、Y和Z坐标系方向分别旋转一个随机角度,然后进行检索实验。
对三维模型在X、Y和Z方向分别加入-6%~6%的随机噪声变换,然后进行检索实验,请参看图7,图7是对bunny模型加入噪声后的结果。
其中查全率和查准率的定义如下:

查全率表示返回的正确检索模型占整个相关模型的比例,这个指标衡量检索系统返回正确结果的能力,查准率表示在所有检索返回结果中,正确检索的三维模型的比例,这个指标衡量检索返回结果的精确性。
实验结果请参看图8,从图8可以看到,文本的算法对三维模型噪声、三维模型旋转变换和三维模型网格简化具有较好的鲁棒性。
本发明实施例根据用户对检索结果标注的多媒体模型训练得到支持向量机SVM,并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。。对本发明实施例进行相关性反馈的对比测试。在实验中采用了一个包含2,533个三维模型的数据库。首先进行反馈收敛速度的实验。该实验检验返回的前200个结果的检索情况。选择一条鱼的模型,进行检索并手工将显示给用户的前58个模型中非鱼的模型标注掉,进行训练和预测,如此反复。图9中的精度为正确检索的相关模型在所有返回模型中所占的比例,即N/200。图9例中,C-SVM为使用传统支持向量机对数据进行训练和预测,训练和预测中每个向量只能确定地归属到某一类,即1/-1,一旦预测结果为-1,本次反馈即认为该模型不相关,不会显示给用户。可以看到,使用本发明实施例进行多媒体信息检索的反馈,可以较好地改善其精度与速度,每次反馈后的精度都要比C-SVM方法高10%~15%不等,实际应用时只需2-3次反馈即能得到相当好的结果。还对几种相关反馈技术进行查全率和查准率的对比实验。图10展示用这些方法第1轮反馈后的查全率-查准率对比曲线。图11展示用这些方法第5轮反馈后的查全率-查准率对比曲线。该实验结果说明,我们的方法在第1轮反馈时,典型地在查全率0.5处的查准率比其它方法高6%~14%;在第5轮反馈时,典型地在查全率0.5处的查准率比其它方法高3%~5%。即无论在首轮反馈时和若干轮反馈后都具有较高的精度。综合上述两个实验,本发明实施例提出的系统在收敛速度和检索精度上都有明显的优势,适合于多媒体信息检索的相关反馈。
最后结合三维动画制作场景简要描述该系统的应用,在三维动画的制作过程中,使用符合要求的现有模型,或对基本符合要求的现有模型稍加改动后使用。因此设计者需要一个三维模型检索系统来辅助其筛选模型。于是,用户可以自己设计或选择一个大致符合要求的模型作为系统的输入,选择数据库文件作为系统的另一个输入。系统便会进行流程图中所示的各步处理,最后将数据库中与输入模型最相似的那些模型返回给用户。之后用户即可根据需要对返回的结果进行手工标注,进行一次或若干次反馈。本发明实施例具有极高的精确度及适用范围,速度也较为理想(一次典型的检索或反馈在5秒之内即可完成),且与在有成千上万个模型的数据库中逐个查看模型进行选取、或简单使用文件名匹配查找模型的传统方法相比,本发明实施例极大地提高了选取模型的精度和效率,能够有效地应用于生物分子、机械制造、地形匹配、游戏及动画制作等领域。
请结合参看图12,一种较佳实施方式的多媒体模型检索方法,包括如下步骤: 步骤302,接收输入的模型文件,获取待检索的多媒体模型参数,本实施例中,接收用户选定的用作匹配源的三维模型文件,可以接收各种格式三维模型的文件,如.3ds格式的文件等。用户选择一个三位模型文件作为输入,输出打开的文件模型文件。读取所述模型文件信息,包括模型参数,所述模型文件信息包括顶点数量、顶点坐标、法线向量和三角片顶点索引等数据。所述模型文件信息的文件格式可以是可存储文本的文件格式,如.txt文件格式等。其中,读取所述模型文件信息的细节在本实施例中可以包括如下步骤: 1)打开所述模型文件。
2)读取文件的前9个bit为顶点部分的开始标识,跳过。读取4个Byte并存储成一个int(整型)型变量,作为顶点个数。根据所述顶点个数循环执行步骤3)和步骤4)。
3)读取顶点的x,y,z坐标。
4)读取法线向量的x,y,z坐标。
5)继续读取11个bit,作为三角片部分开始标识,跳过。读取4个Byte并存储成为一个int型变量,作为三角片个数。根据所述三角片个数,循环执行步骤6)和步骤7)。
6)读取当前三角片三个顶点的索引值,根据索引值确定所述三个顶点的坐标值。
7)根据所述三个顶点的坐标值,计算并保存每个三角片的面积及总面积(m_myTotalArea),同时计算并保存所有顶点中距离原点的最小距离(m_fMinR)。上述读取过程中若模型为二维模型,仅读取模型的x,y坐标即可,多维模型不再赘述。
步骤304,对获取的多媒体模型进行各向同性变换。请结合参看图3,本实施例中,由于球面图像的三维Zernike矩和球面坐标系的θ、α相关,且用户给出的三维模型坐标系可能不一致,三维模型的顶点分布也可能不均匀或顶点密度太小,所以,本实施例中利用各向同性变换单元108先进行三维模型各向同性变换,进行顶点采样,统一三维模型的坐标。输出经各向同性变换后的模型结构变量。在各向同性变换矩阵中加入面积加权系数,公式如下: 其中,P={p1,K pn}是变换前的顶点序列,Q={q1,K qn}是变换后的顶点序列,si为与顶点pi相邻的所有三角片的面积之和。改进后的变换矩阵CP依然具有各向同性的性质,在顶点计算中加入面积加权,可以减小顶点分布不均匀带来的偏差,把这个各向同性变换矩阵称为面积加权的各向同性变换矩阵。用该矩阵对模型结构变量的各顶点进行变换,然后计算该矩阵的特征值,可以储存以备后用。
步骤306,根据各向同性变换后的多媒体模型进行顶点采样。本实施例中,对面积较大的那些三角片进行细分,即采样。请结合参看图4,以本实施例中的一个三角片(P1,P2,P3)为例进行说明。其中,P1,P2,P3分别为所述三角片的三个顶点。对三角片(P1,P2,P3)进行细分,首先确定最长边(P2,P3),其中P4是(P2,P3)的中点。连接P1和P4,这样就把三角片(P1,P2,P3)细分成为两个三角片,分别为三角片(P1,P2,P4)和三角片(P1,P4,P3)。通过海伦公式计算三角片的面积,三角片面积计算为现有技术,不再赘述。如果三角片(P1,P2,P4)或三角片(P1,P4,P3)的面积大于一个预设的阀值F,那么面积大于所述阀值F的三角片需采用上述方法继续细分。依此类推,直到细分后的每一个三角片面积都小于阀值F。细分后的每个三角片内心作为三维模型的一个新采样点。请参看图4中的A1、A2、A3和A4分别为分割后的三维模型的新采样点。其中上述阀值F在本实施例中预设为m_myTotalArea/100000。上述三角片分割若对于二维模型,仅需对二维模型的曲边通过线段分割即可,原理与上述三维模型相同,多维模型分割原理也与上述分割原理相同,不再赘述。
步骤308,根据多媒体模型参数对多媒体模型进行球面投影描述得到球面投影描述结果。本实施例中,上述三维模型归一化后可以被一个单位球包围,称为单位包围球。球心记为Pc。设P(r1,r2)是三维模型顶点的集合,则P(r1,r2)可以表示为: P(r1,r2)={P|r1<L(P,Pc)≤r2,r1<r2} (2) 其中,r1和r2分别表示距离球心Pc最近和最远的距离值,L(P,Pc)是模型顶点P和球心Pc的距离。记半径为r2球面为

把球面

按经纬线均匀划分,所有网格的初始经纬权值为0。然后把三维模型顶点集合P(r1,r2)中每个顶点映射到

上。请结合参看图5,一个顶点Pi映射到球面的方法如下,连接Pc和Pi,并延长PcPi和

相交。设交点在

的网格(P1,P2,P3,P4)内,那么网格(P1,P2,P3,P4)的经纬权值加1。把P(r1,r2)所有顶点映射到

后,可以得到P(r1,r2)的球面投影,记为PRO(r1,r2)。本实施例中,取r1=m_fMinR-0.1,r2=1.0001,这样可避免有顶点与这两个球面相交。对于二维模型,上述球面投影可以相似地投影到一个单位圆上,原理与三维模型相同。多维模型的投影原理亦与之相同,不再赘述。
步骤310,对投影描述结果进行特征抽取。本实施例中,以Zernike矩进行特征抽取为例进行说明,将球面投影图像作为输入的结构变量,输出三维Zernike矩系数结构变量。特征抽取模块114计算三维模型的Zernike矩系数,例如,基于笛卡尔坐标系的计算公式如下: x=|x|ξ=rξ=r(sin α sin θ,sin α cos θ,cos θ)T(3) 然后可按如下公式计算三维Zernike矩,其中,f(x)为将得到的球面投影函数转化到笛卡尔坐标系下的函数;n为频带宽度,经试验取16是一个较好的值;m为每个频带下的频率分量;1满足0≤l≤n且使n-1为奇数: 式(5)中,Rnl(r)为以球面坐标系下的半径为参数的多项式,

为球面调和算子,实际计算时,可取r∈(0,1]中的每个值,并通过积分得到

式(6)为球面调和算子的计算式,其中

为式(7)所示的缩放因子,

为Legendre多项式: 再计算上述三维Zernike矩的二阶范数,储存以备后用。计算公式如下: 步骤312,选择模型数据库。
步骤314,读取模型数据库中的多媒体模型文件信息。本实施例中,模型数据库文件可以为预处理后的.txt文件,其生成方法与前述预处理部分可以相同,也可以为其他预处理方法。本实施例中,处理可以为:输入打开的数据库文件变量,输出数据库中每个模型信息的结构链表。读取数据,并保存为一张链表,以便后续处理中调用。三维模型数据库文件包含了模型文件个数、文件名、三维Zernike矩系数、各向同性变换矩阵系数等数据。该步骤的细节如下: 1)打开数据库文件。
2)读取数据库中储存的模型文件个数,方法是读取文件的前4个BYTE,并存为一个int型变量。根据模型文件个数,循环执行以下各步: 3)初始化链表结点,我们称之为DataLink。DataLink结构包含以下数据:一个CString型变量保存模型文件名,一个大小为289的float型数组保存三维Zernike矩系数,一个大小为9的float型数组保存各向同性变换矩阵系数,三个float型变量保存各向同性变换矩阵的三个特征值,一个DataLink*型指针用于指向后续结点。
4)读取模型文件名长度,方法是读取该块的前4个BYTE,并存为一个int型变量。根据该长度指示的BYTE数读取文件名称。
5)读取Zernike矩系数系数。这是一个大小为289的float型数组。
6)读取9个(3*3)各向同性变换矩阵系数,并计算3个各向同性矩阵的特征值。
步骤316,对数据库中的多媒体模型文件进行特征提取,或直接读取文件中存储的特征。本实施例中,以数据库中存储的为.3ds文件格式为例,对多媒体模型文件进行特征提取,以Zernike矩进行特征抽取为例进行说明,将球面投影图像作为输入的结构变量,输出三维Zernike矩系数结构变量。特征抽取模块114计算三维模型的Zernike矩系数,例如,基于笛卡尔坐标系的计算公式如下: x=|x|ξ=rξ=r(sin α sin θ,sin α cos θ,cos θ)T (3) 然后可按如下公式计算三维Zernike矩,其中,f(x)为将得到的球面投影函数转化到笛卡尔坐标系下的函数;n为频带宽度,经试验取16是一个较好的值;m为每个频带下的频率分量;1满足0≤l≤n且使n-1为奇数: 式(5)中,Rnl(r)为以球面坐标系下的半径为参数的多项式,

为球面调和算子,实际计算时,可取r∈(0,1]中的每个值,并通过积分得到

式(6)为球面调和算子的计算式,其中

为式(7)所示的缩放因子,

为Legendre多项式: 再计算上述三维Zernike矩的二阶范数,储存以备后用。计算公式如下: 步骤318,根据特征抽取后的结果与存储的模型多媒体文件信息进行匹配得到检索结果。本实施例中,三维模型匹配包括三维Zernike矩系数偏差距离计算,模型相似度计算,相似度排序及结果输出。计算三维Zernike矩系数偏差距离。计算公式如公式(8)所示,其中

为用户选择模型的三维Zernike矩系数,

为数据库中某一模型的三维Zernike矩系数: 计算模型相似度。模型相似度体现了两个三维模型的相似程度,相似度越小,三维模型的相似性越差,反之,相似度越大,三维模型的相似性越好。因为在预处理时使用了各向同性变换,此处需考虑在内,计算公式如(9)和(10)所示,其中ev1i为用户选择模型的各向同性变换矩阵特征值,ev2i为数据库中某一模型的各向同性变换矩阵特征值: sim=1-diff*evdiff (10) 步骤320,对匹配得到的检索结果或更新检索结果进行排序。本实施例中,可以对得到的模型相似度从大到小排序,排序算法可以是以下各种排序算法中的至少一种:冒泡排序、哈希排序、快速排序、归并排序、堆排序等。排序后将模型文件名按顺序存入一文本文件。
步骤322,将排序后的结果输出,本实施例中,将排序得到的结果取若干个按顺序输出。具体方法是,通过文件名找到数据库中的对应文件,读取其顶点、网格等信息,并在程序界面上加以绘制。输出的模型个数应满足下一步反馈的需要,一般以40-60个为宜。优选实施例中每页可显示20个模型,其中第1个固定显示用户选择的模型,其余19个可用来显示结果,共显示3页,总计58个模型。
步骤324,判断是否符合用户要求;若符合直接结束,否则,执行步骤326。
步骤326和步骤328,根据用户对检索结果标注的多媒体模型训练得到支持向量机SVM,并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。首先,将用户手工标注作为训练样本,根据所述训练样本训练得到所述SVM,然后,利用所述SVM对数据库中的模型进行预测。本实施例中,若相关,则设置其概率值为1;若不相关,则设置其概率值为-1。将这些模型的概率值与三维Zernike矩的二阶范数值写入一文本文件中。保存的数据(称为向量)训练一个支持向量机。使用一个合适的非线性映射φ:x→φ(x)将原始数据映射到一个高维特征空间,使得在这个高维特征空间中可以使用线性分类方法。计算公式如下: 使满足yi(wTφ(xi)+b)≥1-ξi,ξi≥0,i=1...l (11) 其中C为惩罚因子;φ(xi)即上述非线性映射。实际计算时使用(11)的等价形式如下: 使满足yTα=0,0≤αi≤C,i=1...l (12) 其中向量e代表每个训练数据;Qij≡yiyjK(xi,xj)为一正值半定义矩阵;K(xi,xj)≡φ(xi)Tφ(xj)为核函数,可为下列函数之一: 线性函数: 多项式函数: 径向基函数(RBF):K(xi,xj)=exp(-γ‖xi-xj‖2),γ>0 (15) Sigmoid函数: 在较佳实施例中选用RBF,并设置γ=10-3。
通常的支持向量机在训练支持向量时,根据一决定函数设置每个数据的分类的决定函数如下式所示: 其中,α的计算方法如下: 1)将核函数(15)带入式(12)式中并结合约束条件,构造Lagrange函数,求得目标式成立时的一组α向量。
2)将α向量代入(18)或(19)得到b的值。
3)将α向量和b值代入(17)得到决定函数的表达式。
4)将(17)代入(21)得到支持向量的概率值的表达式,为计算该表达式中A,B的值,将(23)与(24)代入(22),使用迭代的方法逐渐使(22)取到最小值,达到最小值时的A,B的值即满足条件。代回(23)(也就是21)即可得每个支持向量的概率值。
5)用支持向量的概率值计算样本点的概率值,即将A,B,(17)代入(25)进行计算。
6)用上述值计算(27)(28)。
b的计算使用下述方法:若存在0<αi<C,则 若不存在,则: 通常,使用一符号函数决定分类,即根据式(20)的值为1/-1来进行分类: sgn(f(x)) (20) 本实施例中,计算将某数据归类为1的后验概率p(y=1|x),即某个模型认为其属于相似一类的概率,公式如下,其中f(x)即为上述决定函数: 为估计最佳的(A,B)参数值,本发明使用1个训练样本计算下式(较佳实施例中1=58): 其中 其中N+是yi=1的样本个数,N_是yi=-1的样本个数。
得到最佳的(A,B)值后代回(23)计算每个支持向量的概率值,保存以备后用。
使用上述训练得到的支持向量对数据库中每个模型进行后验概率预测。首先利用式(17)计算每个数据的决定函数。然后可得归为相关的概率为: ppi=min{max{sp(fi,A,B),σ},1-σ} (25) 其中, σ为一预设的最小概率值,较佳实施例中指定σ=10-7。
得到数据库中每个模型的预测概率后,保存以备后续使用。
其中,更新相似度并排序。更新公式如下: ppsumnew=ε*ppsumold+pp,0≤ε≤1 (27) simnew=simold+ppsumnew (28) 其中系数ε控制过去若干轮预测的概率值在总的修正值中所占的比重,若为0则表示只有当前的预测值对修正值起作用,若为1则表示过去所有预测值在修正值中所占的地位是相等的。在较佳实施例中该值设置为0.5。
将当前结果显示给用户,如有需要,进行多轮反馈。在本发明实施例中,每次反馈都使用用户最新一轮的手工标注来训练支持向量机,在训练和预测过程中都使用概率表示,每次对相似度值的修正则一直被保留着。实践证明这种模型检索系统在多媒体信息检索与反馈领域收到了很好的效果。上述模型检索系统可以用于二维模型或多维模型,不再赘述。
步骤330,更新相似度重新排序。执行完步骤330返回步骤322。
上述模型检索方法通过根据用户对检索结果标注的多媒体模型训练得到支持向量机SVM,并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。使得多媒体模型检索时,通过较少的模型样本得到较高检索精度的检索结果,减少了反馈的次数,具有良好的适应性及鲁棒性,可作为生物分子、机械制造、地形匹配、游戏及动画制作等领域的三维模型检索系统来使用,帮助用户对这些领域的海量模型数据进行快速精确的检索。使用球面投影图像和三维Zernike矩衡量三维模型的特征。对本实施例进行了噪声、旋转、网格简化的鲁棒性测试,测试过程分别如下: 对三维模型进行网格简化,简化后的三维模型顶点数量为原来模型顶点数量的20%~50%,然后进行检索实验分析。请参看图6所示的bunny模型简化结果,其中图6(a)有554个顶点,图6(b)有255个顶点。
对三维模型在X、Y和Z坐标系方向分别旋转一个随机角度,然后进行检索实验。
对三维模型在X、Y和Z方向分别加入-6%~6%的随机噪声变换,然后进行检索实验,请参看图7,图7是对bunny模型加入噪声后的结果。
其中查全率和查准率的定义如下:

查全率表示返回的正确检索模型占整个相关模型的比例,这个指标衡量检索系统返回正确结果的能力,查准率表示在所有检索返回结果中,正确检索的三维模型的比例,这个指标衡量检索返回结果的精确性。
实验结果请参看图8,从图8可以看到,文本的算法对三维模型噪声、三维模型旋转变换和三维模型网格简化具有较好的鲁棒性。
本发明实施例根据用户对检索结果标注的多媒体模型训练得到支持向量机SVM,并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。对本发明实施例进行相关性反馈的对比测试。在实验中采用了一个包含2,533个三维模型的数据库。首先进行反馈收敛速度的实验。该实验检验返回的前200个结果的检索情况。选择一条鱼的模型,进行检索并手工将显示给用户的前58个模型中非鱼的模型标注掉,进行训练和预测,如此反复。图9中的精度为正确检索的相关模型在所有返回模型中所占的比例,即N/200。图9例中,C-SVM为使用传统支持向量机对数据进行训练和预测,训练和预测中每个向量只能确定地归属到某一类,即1/-1,一旦预测结果为-1,本次反馈即认为该模型不相关,不会显示给用户。可以看到,使用本发明实施例进行多媒体信息检索的反馈,可以较好地改善其精度与速度,每次反馈后的精度都要比C-SVM方法高10%~15%不等,实际应用时只需2-3次反馈即能得到相当好的结果。还对几种相关反馈技术进行查全率和查准率的对比实验。图10展示用这些方法第1轮反馈后的查全率-查准率对比曲线。图11展示用这些方法第5轮反馈后的查全率-查准率对比曲线。该实验结果说明,我们的方法在第1轮反馈时,典型地在查全率0.5处的查准率比其它方法高6%~14%;在第5轮反馈时,典型地在查全率0.5处的查准率比其它方法高3%~5%。即无论在首轮反馈时和若干轮反馈后都具有较高的精度。综合上述两个实验,本发明实施例提出的系统在收敛速度和检索精度上都有明显的优势,适合于多媒体信息检索的相关反馈。
最后结合三维动画制作场景简要描述该系统的应用,在三维动画的制作过程中,使用符合要求的现有模型,或对基本符合要求的现有模型稍加改动后使用。因此设计者需要一个三维模型检索系统来辅助其筛选模型。于是,用户可以自己设计或选择一个大致符合要求的模型作为系统的输入,选择数据库文件作为系统的另一个输入。系统便会进行流程图中所示的各步处理,最后将数据库中与输入模型最相似的那些模型返回给用户。之后用户即可根据需要对返回的结果进行手工标注,进行一次或若干次反馈。本发明实施例具有极高的精确度及适用范围,速度也较为理想(一次典型的检索或反馈在5秒之内即可完成),且与在有成千上万个模型的数据库中逐个查看模型进行选取、或简单使用文件名匹配查找模型的传统方法相比,本发明实施例极大地提高了选取模型的精度和效率,能够有效地应用于生物分子、机械制造、地形匹配、游戏及动画制作等领域。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多媒体模型检索方法,其特征在于,该方法包括如下步骤:
获取待检索的多媒体模型参数;
根据所述多媒体模型参数对所述多媒体模型进行投影描述得到投影描述结果;
对所述投影描述结果进行特征抽取;
根据特征抽取后的结果与存储的模型多媒体文件信息进行匹配得到检索结果;及
根据用户对检索结果标注的多媒体模型训练得到支持向量机,并通过所述支持向量机对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。
2.如权利要求1所述的多媒体模型检索方法,其特征在于,所述对投影描述结果进行特征抽取包括:利用Zernike矩对所述多媒体模型进行特征抽取。
3.如权利要求1或2所述的多媒体模型检索方法,其特征在于,该方法还包括对所述获取待检索的多媒体模型参数进行预处理。
4.如权利要求3所述的多媒体模型检索方法,其特征在于,所述预处理包括:
对所述获取的多媒体模型进行各向同性变换;及
根据各向同性变换后的多媒体模型进行顶点采样。
5.如权利要求1所述的多媒体模型检索方法,其特征在于,所述根据用户对检索结果标注的多媒体模型训练得到支持向量机,并通过所述支持向量机对多媒体模型进行基于概率的分类具体包括:
将用户手工标注作为训练样本,根据所述训练样本训练得到所述支持向量机;
利用所述支持向量机对数据库中的模型进行预测。
6.如权利要求5所述的多媒体模型检索方法,其特征在于,所述用户手工标注为相关模型的权重标注为1,不相关模型的权重标注为-1。
7.如权利要求5所述的多媒体模型检索方法,其特征在于,所述利用支持向量机对数据库中的模型进行预测包括:对数据库中的每个模型进行预测,得到每个模型归属到的相关的或不相关的概率值,并用所述概率值对相似度值进行修正。
8.如权利要求1所述的多媒体模型检索方法,其特征在于,所述根据多媒体模型参数对所述多媒体模型进行投影描述包括:对三维多媒体模型进行球面投影,计算球面投影图像。
9.如权利要求1所述的多媒体模型检索方法,其特征在于,该方法进一步包括:对所述匹配得到的检索结果或所述更新检索结果进行排序。
10.如权利要求1所述的多媒体模型检索方法,其特征在于,所述获取待检索的多媒体模型参数的文件格式为三维模型文件.3ds或文本文件.txt格式。
11.如权利要求1所述的多媒体模型检索方法,其特征在于,所述基于概率的分类包括基于后验概率的归为相似的分类。
12.一种多媒体模型检索装置,其特征在于,该装置包括:
模型文件初始化模块,用于获取待检索的多媒体模型参数;
投影模块,用于根据所述多媒体模型参数对所述多媒体模型进行投影描述得到投影描述结果;
特征抽取模块,用于对所述投影描述结果进行特征抽取;
相似度匹配模块,用于根据特征抽取后的结果与存储的模型多媒体文件信息进行匹配得到检索结果;及
反馈模块,用于根据用户对检索结果标注的多媒体模型训练得到支持向量机,并通过该支持向量机对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。
13.如权利要求12所述的多媒体模型检索装置,其特征在于,该装置还包括:
预处理模块,用于对所述获取待检索的多媒体模型参数预处理。
14.如权利要求13所述的多媒体模型检索装置,其特征在于,所述预处理模块进一步包括:
各向同性变换单元,用于对所述获取的多媒体模型进行各向同性变换;
顶点采样单元,用于根据各向同性变换后的多媒体模型进行顶点采样。
15.如权利要求12所述的多媒体模型检索装置,其特征在于,所述反馈模块还包括:
支持向量机训练单元,将用户手工标注作为训练样本,根据所述训练样本训练得到所述支持向量机;
支持向量机预测单元,用于利用所述支持向量机对数据库中的模型进行预测。
16.如权利要求12所述的多媒体模型检索装置,其特征在于,该装置还包括:
相似度排序模块,用于对所述匹配得到的检索结果或所述更新检索结果进行排序。
17.一种多媒体模型检索系统,其特征在于,该系统包括:
数据库管理系统,用于存储多媒体模型文件信息;
模型检索装置,用于获取待检索的多媒体模型参数,根据所述多媒体模型参数对所述多媒体模型进行投影描述得到投影描述结果,对所述投影描述结果进行特征抽取,根据特征抽取后的结果与所述数据库管理系统存储的多媒体文件信息进行匹配得到检索结果,根据用户对检索结果标注的多媒体模型训练得到支持向量机,并通过该支持向量机对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。
全文摘要
一种多媒体模型检索方法,包括如下步骤获取待检索的多媒体模型参数;根据多媒体模型参数对多媒体模型进行投影描述得到投影描述结果;对投影描述结果进行特征抽取;根据特征抽取后的结果与存储的模型多媒体文件信息进行匹配得到检索结果;根据用户对检索结果标注的多媒体模型训练得到支持向量机SVM,并通过该SVM对多媒体模型进行基于概率的分类,利用分类结果更新检索结果。同时,提供一种多媒体模型检索装置。本发明实施例具有良好的适应性及鲁棒性,可作为生物分子、机械制造、地形匹配、游戏及动画制作等领域的三维模型检索系统来使用,帮助用户对这些领域的海量模型数据进行快速精确的检索。
文档编号G06F17/30GK101382934SQ20071007694
公开日2009年3月11日 申请日期2007年9月6日 优先权日2007年9月6日
发明者马彦平, 张勤伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1