基于遗传操作的三维模型生成方法

文档序号:6381172阅读:187来源:国知局
专利名称:基于遗传操作的三维模型生成方法
技术领域
本发明属于计算机图像学领域,尤其涉及一种基于遗传操作的三维模型生成方法。
背景技术
三维建模是当前计算机图形学领域的难点之一。如何根据已有三维模型,自动生成新的三维模型,是解决三维建模,丰富现有三维模型数据集的重要途径。现有的自动生成三维模型的方法主要包括过程式建模和结构保持形变两个方法。过程式建模方法的主要缺点是需要由用户定义用于生成三维模型的形状语法。形状语法通常由若干个产生式规则构成一个语法系统。而且,人造物体的结构往往较为复杂,其结构与物体功能密切关联,因而定义用于生成人造物体三维模型的形状语法非常困难,特别是对于普通用户而言,更是难以完成。尽管现在有基于若干输入样例自动生成形状语法的方法,即逆向过程建模,但是这类方法目前还只能适用于植物、装饰图案等,不能用于结构与功能关联较强的人造物体;另一类方法是结构保持形变,该方法的缺点是主要通过形变(部件比例缩放、位移等)来生成三维模型的新的变种,但是无法生成新的结构。生物学中的遗传保证了物种的相对稳定性及多样性,将遗传学中的交叉遗传应用于三维模型的生成尚未见类似的报道。

发明内容
基于此,有必要针对现有三维模型生成方法存在的缺陷,提供一种基于遗传操作的三维模型生成方法。一种基于遗传操作的三维模型生成方法,包括下述步骤输入三维模型集合;从所述三维模型集合中任意选取两个三维模型,分别记为三维模型A、三维模型B ;计算所述三维模型A的功能部件与所述三维模型B的功能部件的对应值;基于所述对应值选取所述三维模型A及所述三维模型B的相应部件,分别记为功能部件集合A10、功能部件集合BlO ;组装所述功能部件集合AlO及所述功能部件集合BlO得到组装模型;将所述组装模型进行结构优化得到新的三维模型。在本实施例中,其中,输入三维模型集合,还包括下述步骤标注所述三维模型集合中的三维模型的功能部件;将所述三维模型集合中的三维模型的朝向设置一致。在本实施例中,其中,计算所述三维模型A的功能部件与所述三维模型B的功能部件的对应值,包括下述步骤调整所述三维模型A及所述三维模型B,使所述三维模型A的功能部件及所述三维模型B的功能部件具有相同的大小比例;将经调整后的三维模型A及三维模型B平移至同一坐标系下;基于同一坐标系下的三维模型A及三维模型B,计算所述三维模型A的功能部件与所述三维模型B的功能部件的对应值;其中,所述对应值的计算方法为
C1,2 = Di1(BvB2) = max{max min d{x, y), max min d{x,y)}1xGB-ι yE^2ye^2
式中,BI和B2分别是三维模型A的功能部件和三维模型B的功能最小包围盒,其中,最小包围盒为包含三维模型A的功能部件和三维模型B的功能部件的体积最小长方体, Dh是上述两个长方体之间的Hausdorff距离,x和y为最小包围盒的顶点,d代表三维空间欧式距离。
在本实施例中,所述对应值的阀值为所述功能部件集合AlO与所述功能部件集合 BlO之间对应值的最大值的O. 5倍。
在本实施例中,所述功能部件集合AlO和功能部件集合BlO之和覆盖所述三维模型A的功能部件或所述三维模型B的功能部件。
在本实施例中,所述功能部件集合AlO与功能部件集合BlO具有不同的功能。
在本实施例中,其中,组装所述功能部件集合AlO及所述功能部件集合BlO得到组装模型,包括下述步骤检测所述三维模型A的边界部件,其中,所述边界部件为所述三维模型A中未被选中且与所述功能部件集合AlO相邻的部件;处理所述边界部件使其与所述功能部件集合BlO相吻合;将经处理后的边界部件和功能部件集合AlO进行组装得到新的三维模型。
在本实施例中,所述处理所述边界部件包括将所述边界部件进行移动、形变。
在本实施例中,所述结构优化包括对所述组装模型的部件之间的相邻关系进行处理,使所述连接关系相匹配,所述相邻关系包括连接关系、对称关系、正交关系及平行关系。
上述生成三维模型的方法基于遗传操作中的交叉遗传。首先输入三维模型A、三 维模型B作为基本三维模型,再通过计算三维模型A的功能部件与三维模型B的功能部件的对应值选取功能部件集合AlO及功能部件集合B10,并将功能部件集合AlO及功能部件集合BlO交叉组合最终得到新的三维模型,有效利用了交叉遗传的优点,方法简单、可靠性高,大大丰富了三维模型数据集;同时,由于新生成的三维模型可以进一步作为输入的基本三维模型,参于新一轮的交叉组合中,不断演化生成更多的三维模型,极大丰富了三维模型数据集。


图1为本发明实施例提供的基于遗传操作的三维模型生成方法的步骤流程图。
图2为本发明实施例提供的输入三维模型集合的步骤流程图。
图3为本发明实施例提供的基于遗传操作生成三维模型的原理示意图。
图4为本发明实施例提供的计算三维模型A的功能部件与三维模型B的功能部件的对应值的步骤流程图。
图5为本发明实施例提供的组装功能部件集合AlO及功能部件集合BlO得到组装模型的步骤流程图。
具体实施方式
请参阅图1,图1为本发明实施例提供的基于遗传操作的三维模型生成方法的流程不意图。
基于遗传操作的三维模型生成方法包括下述步骤步骤SllO :输入三维模型集合。在本发明提供的实施例中,三维模型主要是指由人造物体(如桌子、椅子、台灯等)的三维模型,每个人造物体三维模型通常由若干个部件(都是独立的几何形体)构成,为了便于说明,本发明将三维模型的部件分为功能部件,功能部件主要是指发生作用的主要部件,例如,在椅子中,靠背、椅座及扶手等为功能部件。在本发明中,在本发明中,输入三维模型集合主要来源是互联网的三维模型库,这些三维模型是有大量三维建模人员使用三维建模软件方法建立并共享。可以理解,在本发明提供的实施例中,输入的三维模型集合一般是由同类的三维模型组成的集合,比如全部桌子或椅子或台灯等同类的人造三维模型构成的三维模型集合。为了便于说明,本发明实施例全部以椅子作为说明,可以理解,本发明的保护范围并不局限于椅子,比如桌子、台灯等其他的人造三维模型均在本发明的保护范围之内。请参阅图2,为本发明实施例提供的输入三维模型集合的步骤流程图,其包括下述步骤步骤Slll :标注三维模型集合中的三维模型的功能部件。在本发明提供的实施例中,一般采用人工交互的方法将三维模型集合中的主要功能部件标注出来。本发明以椅子作为说明,首先通过人工交互的方法将输入的椅子的主要功能部件,如靠背、座、扶手和腿标注出来,加以区分。步骤S112 :将三维模型集合中的三维模型的朝向设置一致。在本发明提供的实施例中,通过计算机操作,将椅子的朝向设置为同一方向,比如将椅子的正向朝Z轴正向,向上方向朝Y轴正向。可以理解,经步骤SllO后,三维模型集合中的所有三维模型均具有相同的方位,以便后续的操作。步骤S120 :从输入的三维模型集合中任意选取两个三维模型。请参阅图3,为本发明实施例提供的基于遗传操作生成三维模型的原理示意图。从图3中可以看出,从椅子集合中任意选取两个椅子,并标记为三维模型A、三维模型B。步骤S130 :计算三维模型A的功能部件与三维模型B的功能部件的对应值。基于步骤S120中选取的三维模型A、三维模型B,计算三维模型A的功能部件及三维模型B的功能部件的对应值。请参阅图4,为本发明实施例提供的计算三维模型A的功能部件与三维模型B的功能部件的对应值的步骤流程图,其包括下述步骤步骤S131 :调整三维模型A及三维模型B,使三维模型A的功能部件及三维模型B的功能部件具有相同的大小比例。在本发明提供的实施例中,通过采用缩小或放大一定的比例,来调整三维模型A及三维模型B的大小,使得三维模型A的功能部件及三维模型B的功能部件具有相同的大小比例。步骤S132 :将经步骤S131调整后的三维模型A及三维模型B平移至同一坐标系下,这样就保证了三维模型A及三维模型B具有相同的参照体系。步骤S133 :基于步骤S132下的同一坐标系的三维模型A及三维模型B,计算三维模型A的功能部件与三维模型B的功能部件的对应值。在本发明提供的实施例中,对应值的计算方法为
ci,2 = DhCB1, B2) = max{max mm d(x, y) , max mm d{x, y)}
式中,BI和B2分别是三维模型A的功能部件和三维模型B的功能部件最小包围 盒,其中,最小包围盒为包含三维模型A的功能部件和三维模型B的功能部件的体积最小长 方体,Dh是上述两个长方体之间的Hausdorff距离,即上述公式右边的表达式,x和y为最 小包围盒的顶点,d代表三维空间欧式距离。其中,所有对应值被归一化到O到I之间。可 以理解,由于三维模型A的功能部件及三维模型B的功能部件有多种,不同功能部件的对应 值各不相同。
步骤S140 :基于步骤S130中计算的对应值选取三维模型A的功能部件及三维模 型B的功能部件,分别记为功能部件集合A10、功能部件集合B10。在本发明提供的实施例 中,功能部件集合AlO及功能部件集合BlO的选取首先基于计算的对应值,所选取的功能部 件集合AlO中的功能部件及功能部件集合BlO中的功能部件之间不应有较大的对应值,该 对应值的阈值为功能部件集合AlO与功能部件集合BlO中之间对应值的最大值的O. 5倍, 这样才能保证功能部件集合AlO与功能部件集合BlO具有不同的功能部件,例如,三维模 型A及三维模型B不需要都选取“座”这个功能部件,这是为了避免选取部件的重复,可以 理解,满足对应值的三维模型A的功能部件与三维模型B的功能部件不止一组,可能有很多 组;其次,选取功能部件时应考虑部件的对称性关系,当某个功能部件被选取时,与其对称 的功能部件也应该选取,例如,三维模型A选取的功能部件集合AlO是其中的一条“腿”,那 么与选取的“腿”的对称的其他的腿也要相应选取;最后,从三维模型A及三维模型B中所选 取的功能部件应该覆盖所有的功能部件,可以理解,功能部件集合AlO和功能部件集合BlO 之和覆盖三维模型A的功能部件或三维模型B的功能部件,即功能部件集合AlO与功能部 件集合BlO —起能够实现三维模型A及三维模型B的功能,例如,从椅子A中选取了一个集 合的功能部件包括靠背、座和前腿;从椅子B选取了一个集合的功能部件包括后退、扶手, 这样两个集合总共五个功能部件用于组装一个新的椅子,这样就能够实现椅子A或椅子B 的功能。
步骤S150 :组装功能部件集合AlO及功能部件集合BlO得到组装模型。
请参阅图3,假设三维模型A和三维模型B已经分别选取了一个子集的功能部件, 其中,功能部件集合AlO为三维模型A的功能部件,功能部件集合BlO为三维模型B中选取 的功能部件。现将三维模型A中的功能部件集合AlO逐一放置到三维模型B中。
请参阅图5,为本发明实施例提供的组装功能部件集合AlO及功能部件集合BlO得 到组装模型的步骤流程图,其包括下述步骤
步骤S151 :检测三维模型A的边界部件,其中,边界部件为三维模型A中未被选中 且与功能部件集合AlO相邻的部件,如图3中All为边界部件。
步骤S152 :处理边界部件All使其与功能部件集合BlO相吻合。在本发明提供的 实施例中,处理所界部件包括将所述边界部件进行移动、形变,首先将这些边界部件移动、 形变使其与三维模型B中的对应的功能部件集合BlO (根据上述对应值计算得到)吻合,这 一过程主要通过计算机操作完成。
步骤S153 :将经处理后的边界部件和功能部件集合AlO置于三维模型B中进行组 装得到组装模型。在本发明提供的实施例中,以步骤S151选取的边界部件为约束,根据边 界部件与放置部件之间的相邻关系,将功能部件集合AlO逐一放置到三维模型B中,得到组装模型。在本发明提供的实施例中,边界部件与放置部件之间的相邻关系包括上述部件包围盒之间的角度关系和空间位置关系。步骤S160 :将步骤S150中组装模型进行结构优化得到新的三维模型。在本发明提供的实施例中,结构优化包括对组装模型的部件之间的相邻关系进行处理,使所述连接关系相匹配,其中,相邻关系包括连接关系、对称关系、正交关系及平行关系,这一过程主要是采用计算机图形处理。可以理解,经优化后的组装模型的部件之间的相邻关系更加精确、合理。比如部件之间的相邻关系为连接关系时,经处理使得连接关系更为紧密,尽可能恢复原有模型的连接关系。可以理解,经上述步骤后生成的新的三维模型进一步可以作为原三维模型集合的数据集,并重复上述步骤,生成新的三维模型。上述生成三维模型的方法基于遗传操作中的交叉遗传,有效利用了交叉遗传的优点,方法简单、可靠性高,大大丰富了三维模型数据集;同时,由于新生成的三维模型可以进一步作为输入的基本三维模型,参于新一轮的交叉组合中,不断演化生成更多的三维模型,极大丰富了三维模型数据集。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
权利要求
1.一种基于遗传操作的三维模型生成方法,其特征在于,包括下述步骤 输入三维模型集合; 从所述三维模型集合中任意选取两个三维模型,分别记为三维模型A、三维模型B ; 计算所述三维模型A的功能部件与所述三维模型B的功能部件的对应值; 基于所述对应值选取所述三维模型A的功能部件及所述三维模型B的功能部件,分别记为功能部件集合A10、功能部件集合BlO ; 组装所述功能部件集合AlO及所述功能部件集合BlO得到组装模型; 将所述组装模型进行结构优化得到新的三维模型。
2.根据权利要求1所述的基于遗传操作的三维模型生成方法,其特征在于,其中,输入三维模型集合,还包括下述步骤 标注所述三维模型集合中的三维模型的功能部件; 将所述三维模型集合中的三维模型的朝向设置一致。
3.根据权利要求1或2所述的基于遗传操作的三维模型生成方法,其特征在于,其中,计算所述三维模型A的功能部件与所述三维模型B的功能部件的对应值,包括下述步骤 调整所述三维模型A及所述三维模型B,使所述三维模型A的功能部件及所述三维模型B的功能部件具有相同的大小比例; 将经调整后的三维模型A及三维模型B平移至同一坐标系下; 基于同一坐标系下的三维模型A及三维模型B,计算所述三维模型A的功能部件与所述三维模型B的功能部件的对应值;其中,所述对应值的计算方法为 C1 2 = Di1(BAtB7) = maxi max min d(x, y), max min d(x,y)} 'XEB1 yEB2 vyEB2 X^B1 v 川 式中,BI和B2分别是三维模型A的功能部件和三维模型B的功能部件最小包围盒,所述最小包围盒为包含功能部件的体积最小长方体,Dh是上述两个长方体之间的HausdorfT距离,X和I为最小包围盒的顶点,d代表三维空间欧式距离。
4.根据权利要求1或3所述的基于遗传操作的三维模型生成方法,其特征在于,所述对应值的阀值为所述功能部件集合AlO与所述功能部件集合BlO之间对应值的最大值的O. 5倍。
5.根据权利要求1所述的基于遗传操作的三维模型生成方法,其特征在于,所述功能部件集合AlO与功能部件集合BlO之和覆盖所述三维模型A的所有功能部件或所述三维模型B的所有功能部件。
6.根据权利要求1所述的基于遗传操作的三维模型生成方法,其特征在于,所述功能部件集合AlO与功能部件集合BlO具有不同的功能。
7.根据权利要求1所述的基于遗传操作的三维模型生成方法,其特征在于,其中,组装所述功能部件集合AlO及所述功能部件集合BlO得到组装模型,包括下述步骤 检测所述三维模型A的边界部件,其中,所述边界部件为所述三维模型A中未被选中且与所述功能部件集合AlO相邻的部件; 处理所述边界部件使其与所述功能部件集合BlO相吻合; 将经处理后的边界部件和功能部件集合AlO置于所述三维模型B中进行组装得到组装模型。
8.根据权利要求7所述的基于遗传操作的三维模型生成方法,其特征在于,所述处理所述边界部件包括将所述边界部件进行移动、形变。
9.根据权利要求1所述的基于遗传操作的三维模型生成方法,其特征在于,所述结构优化包括对所述组装模型的部件之间的相邻关系进行处理,使所述连接关系相匹配,所述相邻关系包括连接关系、对称关系、正交关系及平行关系。
全文摘要
本发明涉及一种基于遗传操作的三维模型生成方法,包括下述步骤输入三维模型集合;从三维模型集合中任意选取两个三维模型,分别记为三维模型A、三维模型B;计算三维模型A的功能部件与三维模型B的功能部件的对应值;基于对应值选取三维模型A的功能部件及三维模型B的功能部件,分别记为功能部件集合A10、功能部件集合B10;组装功能部件集合A10及功能部件集合B10得到组装模型;将组装模型进行结构优化得到新的三维模型。本发明利用了交叉遗传的优点,方法简单、可靠性高,丰富了三维模型数据集;同时,新生成的三维模型可以进一步作为输入的基本三维模型,参于新一轮的交叉组合中,不断演化生成更多的三维模型,极大丰富了三维模型数据集。
文档编号G06T17/00GK102999940SQ20121045433
公开日2013年3月27日 申请日期2012年11月13日 优先权日2012年11月13日
发明者徐凯, 陈宝权 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1