一种结构自适应的三维模型编辑方法转让专利

申请号 : CN201610059039.X

文献号 : CN105741348B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈小武符强赵沁平苏晓玉

申请人 : 北京航空航天大学

摘要 :

本发明提供一种结构自适应的三维模型编辑方法,步骤如下:1、给定一个三维模型库,根据三维模型的结构对同一类模型进行分组;2、学习同一组三维模型部件之间的设计先验;3、学习不同组三维模型之间的跳转先验;4、用户对三维模型的某一部件编辑后,根据组间的设计先验确定模型的最终分组,并根据组内设计先验编辑模型的其他部件,使得模型的整体满足一类三维模型的设计先验。本发明提出的方法,简单有效,用户通过编辑少数的部件,就可以自动优化模型的其他部件,得到编辑后的满足模型库设计先验的三维模型。本发明可以应用于三维模型编辑构建、计算机辅助设计等领域。

权利要求 :

1.一种结构自适应的三维模型编辑方法,其特征在于:它包括如下步骤:

步骤S100,同类三维模型根据结构分组:输入同一类的三维模型,根据三维模型包含部件结构的不同,对三维模型进行分组,并要求组内模型结构尽可能相似,组间结构差异尽可能大;

步骤S200,学习组内三维模型的设计先验:根据同类三维模型的分组结果,通过多元线性回归模型,统计同一组模型部件之间的相互关系,用于指导结构保持的三维模型编辑过程;

步骤S300,学习组间三维模型的跳转先验:根据同类三维模型的分组结果,分析不同组模型的公共部件的几何参数分布,得到组间三维模型的跳转先验;

步骤S400,对用户编辑后的三维模型进行优化:用户通过交互式工具对三维模型的某一部件进行尺寸、位置、转角参数的编辑,根据学习到的三维模型的组内设计先验和组间跳转先验,对用户编辑后的三维模型的结构进行调整,并自动优化模型其他部件的几何参数,使得优化后的三维模型满足模型库的设计先验,利用所述的结构自适应的三维模型编辑方法可以加快三维模型的编辑速度,提高模型编辑的自动化程度;

在步骤S100中所述的“同类三维模型根据结构分组”,其作法包含以下步骤:

步骤S110,将模型库中的三维模型进行尺寸和位置的归一化,并将所有库模型预先分割成部件级,本方法不要求模型部件之间具有语义对应关系,根据部件之间的位置关系进行部件的聚类,自动得到不同模型部件之间的对应关系;

步骤S120,将三维模型的部件进行聚类后,可以确定一类模型的部件类型数量N,并将部件集合定义为{P1,P2,...,PN},对三维模型库中的模型Si,可以得到包含N个元素的向量xi,若模型Si包含部件Pn,则xi(n)=1,否则xi(n)=0,给定任意两个三维模型Si和Sj,可以得到向量xi,xj,则两个向量之间的距离φ(·)可以定义为:其中xi(n1)(1-xj(n1))(1-xi(n2))xj(n2)可以用于确定两个三维模型包含不同部件类型的个数, 是条件概率,可以表示为 表示两个部件共存的概率;

步骤S130,通过步骤S120可以得到任意两个三维模型向量之间的距离,对任意的三维模型库,通过计算两两之间的距离,可以得到一个距离矩阵,通过谱聚类算法可以实现三维模型的分组。

2.根据权利要求1所述的一种结构自适应的三维模型编辑方法,其特征在于:在步骤S200中所述的“学习组内三维模型的设计先验”,其作法包含以下步骤:步骤S210,获取三维模型部件的包围盒,其主要包括三个步骤:首先,获取模型的三维坐标点的近似凸壳,以近似凸壳上的任意一个面作为投影平面,将模型的所有点投影到该平面上,计算投影点的2D包围盒,然后沿着平面法向的方向拉伸该2D包围盒,直到能包含模型的所有点,形成了一个候选OBB包围盒;然后,计算各个OBB包围盒的对称平面的个数,任意OBB包围盒i可定义三个候选平面,这些候选平面是由OBB包围盒的重心Ci和OBB包围盒的三个轴向 确定的,在模型的表面获取均匀采样点,计算采样点经过任意候选平面的反射点,计算这些反射点到模型表面的距离,若距离小于0.0001,则该采样点是对称点,如果对称点占所有点的比例大于90%,则认为该候选面是其中的一个对称面;最后,确定最优的OBB包围盒,若多个候选OBB包围盒含有相同数量的对称面,则取其中体积最小的包围盒作为最终的OBB包围盒;

步骤S220,提取三维模型部件参数,任意给定一个模型,能得到多个部件的OBB包围盒,对模型i的部件j,可得到其包围盒的中心 三个轴向 包围盒在各个轴向上的长度 这些参数将用于9维度参数的提取,对模型i的部件可以提取参数其中前三个参数是包围盒的中心,中间三个参数是各个轴向与相应世界坐标轴的投影夹角,最后三个参数是包围盒在三个方向的长度,获取的9维度将用于后续模型设计先验的学习,既是结构组内设计先验学习模块的输入,也是结构组间设计先验学习模块的组间跳转参数的候选开关量;

步骤S230,结构组内设计先验学习,结构组内设计先验着重学习在结构保持不变时模型的变形规则,在同一个结构组内,将所有模型同时包含的部件定义为公有部件,公有部件总数为M,定义多元回归系数矩阵为{A(m)|m=1,...M},其中A(m)包含了所有公有部件的回归系数,ai=[α0,...,αn]是矩阵A的第i行,则计算方式如下:其中b1,...,bn是所有公有部件的参数,通过重复上述计算过程,可得到最后的回归系数矩阵Am;

上述公式只能求解公有部件参数之间的关系,对于模型的非公有部件,则建立私有部件与公有部件参数之间的线性回归方程构建关系,对于私有部件的参数b,首先选取公有部件中与该参数相关系数最高的参数 然后计算一元线性回归方程 以及作为限制变形方程。

3.根据权利要求2所述的一种结构自适应的三维模型编辑方法,其特征在于:在步骤S300中所述的“学习组间三维模型的跳转先验”,其作法包含以下步骤:步骤S310,确定候选的结构跳转开关量,给定两个结构组Si和Sj,两个结构组仍有可能含有相同部件的标号,则这些共有部件的参数就有可能成为结构开关量;

步骤S320,确定最终的结构开关量,用一个M×M的矩阵代表结构件的设计先验,该矩阵可表示为 其中 表示任意两个结构组对于部件Pn的第t个参数的相关量,表示该参数是否应该作为结构组Si和Sj之间的开关量,假设部件Pn是结构组Si和Sj的共有部件,则两个结构组中所有部件Pn的第t个参数可表示为 和则可定义d(B)和Δd(b,B):

通过上述公式可得到 的定义:

其中 若 则表明该参数应该作为开关量使

用。

4.根据权利要求3所述的一种结构自适应的三维模型编辑方法,其特征在于:在步骤S400所述的“对用户编辑后的三维模型进行优化”包含以下步骤:步骤S410,三维模型部件的编辑,用户通过鼠标选定三维模型的部件后,对相应的部件进行平移,旋转,缩放,删除,添加操作;

步骤S420,自适应的结构变换,若用户选中模型部件后,对某一个参数进行操作,则设该参数为b,若该参数是结构组间的跳转开关量,且当前结构组是Si,则通过如下公式判断结构是否将结构变换为Sj:若K(b)=1则需要将结构从结构组Si转换为Sj,否则保持原来的结构;

步骤S430 ,结构保持的三维模型部件参数优化,将所有公有部件的参数输入训练好的多元回归模型中,得到各个部件参数的估计值,以保持模型设计的合理性,假设当前结构组是Sm,训练好的多元回归系数矩阵是Am,假设当前三维模型的部件参数为b=[b1,...,bn],若用户将某一参数由bc改变为B0,则其他所有部件的参数可由如下公式计算:其中 是bi的初值,b'i是多元回归对bi的估计值,ωi是多元回归的确定系数,其中是为了保持用户编辑后的部件参数不受多元回归模型结果的影响,在本方法中ωc=10。

说明书 :

一种结构自适应的三维模型编辑方法

技术领域

[0001] 本发明属于三维几何编辑技术领域,具体涉及一种结构自适应的三维模型编辑方法。

背景技术

[0002] 随着3D建模技术的发展以及模型资源的丰富,三维模型个性化编辑近年来受到了越来越多的关注,如何加快三维模型编辑过程的自动化程度是其中的一个重要的研究热点。然而,由于不同三维模型结构差异巨大,模型尺寸不统一,使得三维模型自动化编辑成为一个较难的问题。
[0003] 本发明为了解决这个难题,引入一个三维模型库作为指导,通过统计学习三维模型库中模型的设计先验,提高三维模型编辑过程的自动化程度。计算机图形学领域对于三维模型的编辑有较多的文献,我们不试图尽列所有方法,重点介绍三维模型的重构编辑的相关工作,也会涉及三维模型的组合构建方法。
[0004] 根据指导信息来源的不同,可以将三维模型编辑方法分为三类:利用模型库学习到的设计先验,指导三维模型的编辑过程;利用二维图像信息指导三维模型变形,降低三维模型编辑过程的复杂程度;基于类比的三维模型编辑方法,通过对参考过程中的变化过程构建过程树,并将该过程树自适应的应用到输入模型上。2012年,卡内基梅隆大学的Mehmet Ersin Yumer等人提出了一种利用模型库先验编辑三维模型的方法。2010年,西蒙菲莎大学的Kai Xu等人提出了一种基于共同解析的模型风格迁移方法,该方法通过解析三维模型库中部件的几何特征,得到模型部件之间的相互关系。2010年,麻省理工学院的Alec Rivers等人提出了基于二维轮廓线的三维建模方法,通过线条规则的解析结果指导三维模型基元的变形和组合建模。2011年,国防科技大学的Kai Xu等提出一种二维图像指导的三维建模编辑生成方法,通过解析二维图像的设计规则,将该规则迁移到三维模型上,生成符合图像风格的三维模型。2004年,麻省理工学院的Robert W.Sumne等人提出了基于三维网格的模型变形迁移方法,基于网格的变形迁移过程包含三个步骤:首先需要用户指定源模型和目标模型之间三角面片的对应关系,其次将源模型的三角面片的变化直接迁移到目标模型上,最后通过求解约束优化的过程调整其他面片的位置。2014年,哥伦比亚大学的Chongyang Ma等人提出基于类比的模型变形。该方法通过得到目标模型与原模型之间的类比关系,并将该类比关系应用到示范模型上,得到变形迁移后的三维模型。
[0005] 三维模型的重构编辑方法近年来已经有较多的研究。2004年普林斯顿大学的Thomas Funkhouser等人发表了第一篇利用高层信息进行三维建模的文章,利用已有的库模型组合生成新的三维模型。2011年,美国斯坦福大学的Siddhartha Chaudhuri等人提出了一种基于贝叶斯网络学习的模型组合方法。2011年,国防科技大学的Kai Xu等提出一种图像指导的三维建模方法,通过解析二维图像模型的设计规则,将该规则迁移到三维模型中,生成符合图像风格的三维模型结果。2013年,阿卜杜拉国王科技大学的youyi zheng等人提出一种新的基于功能性的模型组合。该方法的输入是两个或多个分割好的模型,通过对各个模型的对称性功能性子结构进行替换,得到大量的三维模型。

发明内容

[0006] 本发明的目的是提供一种结构自适应的三维模型编辑方法。为完成本发明的目的,本发明采用的技术方案是:首先,将三维模型库中的同类模型经过聚类算法,形成不同的结构组,每一组的模型具有相同的结构;然后,学习结构组内以及结构组间的设计先验,用于指导模型的编辑生成,最后,通过用户的交互过程,生成新的模型,将学习到的设计先验用于自适应的三维模型编辑过程,得到新的符合设计先验的三维模型。
[0007] 本发明采用的技术方案为:一种结构自适应的三维模型编辑方法,包括如下步骤:
[0008] 步骤S100,同类三维模型根据结构分组:输入同一类的三维模型,根据三维模型包含部件结构的不同,对三维模型进行分组,并要求组内模型结构尽可能相似,组间结构差异尽可能大;
[0009] 步骤S200,学习组内三维模型的设计先验:根据同类三维模型的分组结果,通过多元线性回归模型,统计同一组模型部件之间的相互关系,用于指导结构保持的三维模型编辑过程;
[0010] 步骤S300,学习组间三维模型的跳转先验:根据同类三维模型的分组结果,分析不同组模型的公共部件的几何参数分布,得到组间三维模型的跳转先验;
[0011] 步骤S400,对用户编辑后的三维模型进行优化:用户通过交互式工具对三维模型的某一部件进行尺寸、位置、转角等参数的编辑,根据学习到的三维模型的组内设计先验和组间跳转先验,对用户编辑后的三维模型的结构进行调整,并自动优化模型其他部件的几何参数,使得优化后的三维模型满足模型库的设计先验。利用所述的结构自适应的三维模型编辑方法可以加快三维模型的编辑速度,提高模型编辑的自动化程度。
[0012] 其中,在步骤S100中所述的“同类三维模型根据结构分组”,其作法包含以下步骤:
[0013] 步骤S110,将模型库中的三维模型进行尺寸和位置的归一化,并将所有库模型预先分割成部件级,本方法不要求模型部件之间具有语义对应关系,根据部件之间的位置关系进行部件的聚类,自动得到不同模型部件之间的对应关系;
[0014] 步骤S120,将三维模型的部件进行聚类后,可以确定一类模型的部件类型数量N,并将部件集合定义为{P1,P2,...,PN},对三维模型库中的模型Si,可以得到包含N个元素的向量xi,若模型Si包含部件Pn,则xi(n)=1,否则xi(n)=0,给定任意两个三维模型Si和Sj,可以得到向量xi,xj,则两个向量之间的距离φ(·)可以定义为:
[0015]
[0016] 其中xi(n1)(1-xj(n1))(1-xi(n2))xj(n21)可以用于确定两个三维模型包含不同部件类型的个数, 是条件概率,可以表示为 表示两个部件共存的概率;
[0017] 步骤S130,通过步骤S120可以得到任意两个三维模型向量之间的距离,对任意的三维模型库,通过计算两两之间的距离,可以得到一个距离矩阵,通过谱聚类算法可以实现三维模型的分组。
[0018] 其中,在步骤S200中所述的“学习组内三维模型的设计先验”,其作法包含以下步骤:
[0019] 步骤S210,获取三维模型部件的包围盒,其主要包括三个步骤:首先,获取模型的三维坐标点的近似凸壳,以近似凸壳上的任意一个面作为投影平面,将模型的所有点投影到该平面上。计算投影点的2D包围盒,然后沿着平面法向的方向拉伸该2D包围盒,直到能包含模型的所有点,形成了一个候选OBB包围盒;然后,计算各个OBB包围盒的对称平面的个数,任意OBB包围盒i可定义三个候选平面,这些候选平面是由OBB包围盒的重心Ci和OBB包围盒的三个轴向 确定的。在模型的表面获取均匀采样点,计算采样点经过任意候选平面的反射点,计算这些反射点到模型表面的距离,若距离小于0.0001,则该采样点是对称点。如果对称点占所有点的比例大于90%,则认为该候选面是其中的一个对称面;最后,确定最优的OBB包围盒,若多个候选OBB包围盒含有相同数量的对称面,则取其中体积最小的包围盒作为最终的OBB包围盒;
[0020] 步骤S220,提取三维模型部件参数,任意给定一个模型,能得到多个部件的OBB包围盒。对模型i的部件j,可得到其包围盒的中心 三个轴向 包围盒在各个轴向上的长度 这些参数将用于9维度参数的提取,对模型i的部件可以提取参数 其中前三个参数是包围盒的中心,中间三个参数是各个
轴向与相应世界坐标轴的投影夹角,最后三个参数是包围盒在三个方向的长度,获取的9维度将用于后续模型设计先验的学习,即是结构组内设计先验学习模块的输入,也是结构组间设计先验学习模块的组间跳转参数的候选开关量;
[0021] 步骤S230,结构组内设计先验学习,结构组内设计先验着重学习在结构保持不变时模型的变形规则,在同一个结构组内,将所有模型同时包含的部件定义为公有部件,公有(m) (m)部件总数为M。定义多元回归系数矩阵为{A |m=1,...M},其中A 包含了所有公有部件的回归系数。ai=[α0,...,αn]是矩阵A的第i行,则计算方式如下:
[0022]
[0023] 其中b1,...,bn是所有公有部件的参数,通过重复上述计算过程,可得到最后的回归系数矩阵Am;
[0024] 上述公式只能求解公有部件参数之间的关系,对于模型的非公有部件,则建立私有部件与公有部件参数之间的线性回归方程构建关系。以私有部件的参数b为例,首先选取公有部件中与该参数相关系数最高的参数 然后计算一元线性回归方程以及 作为限制变形方程。
[0025] 其中,在步骤S300中所述的“学习组间三维模型的跳转先验”,其作法包含以下步骤:
[0026] 步骤S310,确定候选的结构跳转开关量,给定两个结构组Si和Sj,两个结构组仍有可能含有相同部件的标号(如椅子的椅座,飞机的机身等),则这些共有部件的参数就有可能成为结构开关量;
[0027] 步骤S320,确定最终的结构开关量,用一个M×M的矩阵代表结构件的设计先验,该矩阵可表示为 其中 表示任意两个结构组对于部件Ρn的第t个参数的相关量, 表示该参数是否应该作为结构组Si和Sj之间的开关量,假设部件Ρn是结构组Si和Sj的共有部件,则两个结构组中所有部件Ρn的第t个参数可表示为和 则可定义d(Β)和△d(b,Β):
[0028]
[0029]
[0030] 通过上述公式可得到 的定义:
[0031]
[0032] 其中 若 则表明该参数应该作为开关量使用。
[0033] 其中,在步骤S400所述的“对用户编辑后的三维模型进行优化”包含以下步骤:
[0034] 步骤S410,三维模型部件的编辑,用户通过鼠标选定三维模型的部件后,对相应的部件进行平移,旋转,缩放,删除,添加等操作;
[0035] 步骤S420,自适应的结构变换,若用户选中模型部件后,对某一个参数进行操作,则设该参数为b。若该参数是结构组间的跳转开关量,且当前结构组是Si,则通过如下公式判断结构是否将结构变换为Sj:
[0036]
[0037] 若K(b)=1则需要将结构从结构组Si转换为Sj,否则保持原来的结构;
[0038] 步骤S420,结构保持的三维模型部件参数优化,将所有公有部件的参数输入训练好的多元回归模型中,得到各个部件参数的估计值,以保持模型设计的合理性,假设当前结构组是Sm,训练好的多元回归系数矩阵是Am,假设当前三维模型的部件参数为b=[b1,...,bn],若用户将某一参数由bc改变为B0,则其他所有部件的参数可由如下公式计算:
[0039]
[0040] 其中 是bi的初值,b'i是多元回归对bi的估计值,ωi是多元回归的确定系数,其中 是为了保持用户编辑后的部件参数不受多元回归模型结果的影响,在本方法中ωc=10。
[0041] 本发明一种结构自适应的三维模型编辑方法,其优点和功效是:
[0042] 1、本发明提出的方法简单有效,利用三维模型库的设计先验增加三维模型编辑过程的自动化程度;
[0043] 2、本发明提出的方法,实现了三维模型结构的自适应改变,能保证编辑生成的模型满足结构合理性;
[0044] 3、本发明提出的方法可以应用于三维编辑构建、计算机辅助设计等领域。利用所述的结构自适应的三维模型编辑方法能快速构建大量的三维模型,为三维动画制作、三维虚拟场景构建等应用提供三维素材。

附图说明

[0045] 图1是本发明一种结构自适应的三维模型编辑方法的流程图;
[0046] 图2是本发明的匹配参考模型功能性子结构的多类别模型组合推荐示意图;
[0047] 图3是本发明的参考模型结构指导的多类别模型组合建模示意图。

具体实施方式

[0048] 下面结合附图对本发明作详细说明。
[0049] 图1是本发明一种结构自适应的三维模型编辑方法的流程图,本发明的方法分为四个步骤:
[0050] 步骤S100,同类三维模型根据结构分组:输入同一类的三维模型,根据三维模型包含部件结构的不同,对三维模型进行分组,并要求组内模型结构尽可能相似,组间结构差异尽可能大;
[0051] 步骤S200,学习组内三维模型的设计先验:根据同类三维模型的分组结果,通过多元线性回归模型,统计同一组模型部件之间的相互关系,用于指导结构保持的三维模型编辑过程;
[0052] 步骤S300,学习组间三维模型的跳转先验:根据同类三维模型的分组结果,分析不同组模型的公共部件的几何参数分布,得到组间三维模型的跳转先验;
[0053] 步骤S400,对用户编辑后的三维模型进行优化:用户通过交互式工具对三维模型的某一部件进行尺寸、位置、转角等参数的编辑,根据学习到的三维模型的组内设计先验和组间跳转先验,对用户编辑后的三维模型的结构进行调整,并自动优化模型其他部件的几何参数,使得优化后的三维模型满足模型库的设计先验。利用所述的结构自适应的三维模型编辑方法可以加快三维模型的编辑速度,提高模型编辑的自动化程度。
[0054] 图2是本发明的同类三维模型根据结构分组和学习组内三维模型的设计先验的示意图。
[0055] 在步骤S100中所述的“同类三维模型根据结构分组”,其作法包含以下步骤:
[0056] 步骤S110,将模型库中的三维模型进行尺寸和位置的归一化,并将所有库模型预先分割成部件级,本方法不要求模型部件之间具有语义对应关系,根据部件之间的位置关系进行部件的聚类,自动得到不同模型部件之间的对应关系;
[0057] 步骤S120,将三维模型的部件进行聚类后,可以确定一类模型的部件类型数量N,并将部件集合定义为{P1,P2,...,PN},对三维模型库中的模型Si,可以得到包含N个元素的向量xi,若模型Si包含部件Pn,则xi(n)=1,否则xi(n)=0,给定任意两个三维模型Si和Sj,可以得到向量xi,xj,则两个向量之间的距离φ(·)可以定义为:
[0058]
[0059] 其中xi(n1)(1-xj(n1))(1-xi(n2))xj(n21)可以用于确定两个三维模型包含不同部件类型的个数, 是条件概率,可以表示为 表示两个部件共存的概率;
[0060] 步骤S130,通过步骤S120可以得到任意两个三维模型向量之间的距离,对任意的三维模型库,通过计算两两之间的距离,可以得到一个距离矩阵,通过谱聚类算法可以实现三维模型的分组。
[0061] 在步骤S200中所述的“学习组内三维模型的设计先验”,其作法包含以下步骤:
[0062] 步骤S210,获取三维模型部件的包围盒,其主要包括三个步骤:首先,获取模型的三维坐标点的近似凸壳,以近似凸壳上的任意一个面作为投影平面,将模型的所有点投影到该平面上。计算投影点的2D包围盒,然后沿着平面法向的方向拉伸该2D包围盒,直到能包含模型的所有点,形成了一个候选OBB包围盒;然后,计算各个OBB包围盒的对称平面的个数,任意OBB包围盒i可定义三个候选平面,这些候选平面是由OBB包围盒的重心Ci和OBB包围盒的三个轴向 确定的。在模型的表面获取均匀采样点,计算采样点经过任意候选平面的反射点,计算这些反射点到模型表面的距离,若距离小于0.0001,则该采样点是对称点。如果对称点占所有点的比例大于90%,则认为该候选面是其中的一个对称面;最后,确定最优的OBB包围盒,若多个候选OBB包围盒含有相同数量的对称面,则取其中体积最小的包围盒作为最终的OBB包围盒;
[0063] 步骤S220,提取三维模型部件参数,任意给定一个模型,能得到多个部件的OBB包围盒。对模型i的部件j,可得到其包围盒的中心 三个轴向 包围盒在各个轴向上的长度 这些参数将用于9维度参数的提取,对模型i的部件可以提取参数 其中前三个参数是包围盒的中心,中间三个参数是各个
轴向与相应世界坐标轴的投影夹角,最后三个参数是包围盒在三个方向的长度,获取的9维度将用于后续模型设计先验的学习,即是结构组内设计先验学习模块的输入,也是结构组间设计先验学习模块的组间跳转参数的候选开关量;
[0064] 步骤S230,结构组内设计先验学习,结构组内设计先验着重学习在结构保持不变时模型的变形规则,在同一个结构组内,将所有模型同时包含的部件定义为公有部件,公有部件总数为M。定义多元回归系数矩阵为{A(m)|m=1,...M},其中A(m)包含了所有公有部件的回归系数。ai=[α0,...,αn]是矩阵A的第i行,则计算方式如下:
[0065]
[0066] 其中b1,...,bn是所有公有部件的参数,通过重复上述计算过程,可得到最后的回归系数矩阵Am;
[0067] 上述公式只能求解公有部件参数之间的关系,对于模型的非公有部件,则建立私有部件与公有部件参数之间的线性回归方程构建关系。以私有部件的参数b为例,首先选取公有部件中与该参数相关系数最高的参数 然后计算一元线性回归方程以及 作为限制变形方程。
[0068] 图3是本发明的学习组间三维模型的跳转先验和对用户编辑后的三维模型进行优化的设计先验的示意图。
[0069] 在步骤S300中所述的“学习组间三维模型的跳转先验”,其作法包含以下步骤:
[0070] 步骤S310,确定候选的结构跳转开关量,给定两个结构组Si和Sj,两个结构组仍有可能含有相同部件的标号(如椅子的椅座,飞机的机身等),则这些共有部件的参数就有可能成为结构开关量;
[0071] 步骤S320,确定最终的结构开关量,用一个M×M的矩阵代表结构件的设计先验,该矩阵可表示为 其中 表示任意两个结构组对于部件Ρn的第t个参数的相关量, 表示该参数是否应该作为结构组Si和Sj之间的开关量,假设部件Ρn是结构组Si和Sj的共有部件,则两个结构组中所有部件Ρn的第t个参数可表示为和 则可定义d(Β)和△d(b,Β):
[0072]
[0073]
[0074] 通过上述公式可得到 的定义:
[0075]
[0076] 其中 若 则表明该参数应该作为开关量使用。
[0077] 在步骤S400所述的“对用户编辑后的三维模型进行优化”包含以下步骤:
[0078] 步骤S410,三维模型部件的编辑,用户通过鼠标选定三维模型的部件后,对相应的部件进行平移,旋转,缩放,删除,添加等操作;
[0079] 步骤S420,自适应的结构变换,若用户选中模型部件后,对某一个参数进行操作,则设该参数为b。若该参数是结构组间的跳转开关量,且当前结构组是Si,则通过如下公式判断结构是否将结构变换为Sj:
[0080]
[0081] 若K(b)=1则需要将结构从结构组Si转换为Sj,否则保持原来的结构;
[0082] 步骤S420,结构保持的三维模型部件参数优化,将所有公有部件的参数输入训练好的多元回归模型中,得到各个部件参数的估计值,以保持模型设计的合理性,假设当前结构组是Sm,训练好的多元回归系数矩阵是Am,假设当前三维模型的部件参数为b=[b1,...,bn],若用户将某一参数由bc改变为B0,则其他所有部件的参数可由如下公式计算:
[0083]
[0084] 其中 是bi的初值,b'i是多元回归对bi的估计值,ωi是多元回归的确定系数,其中 是为了保持用户编辑后的部件参数不受多元回归模型结果的影响,在本方法中ωc=10。
[0085] 综上所述,本发明公开了一种结构自适应的三维模型编辑方法,可以从不同结构类别的三维模型数据库中学习结构类别先验,并以此支持三维模型的结构自适应编辑,用户通过编辑模型的部件参数,即可对整个模型的结构和形状进行调整,提高了模型编辑与三维建模的效率,可以用于计算机辅助设计。