一种基于实例的大规模场景合成方法

文档序号:6588290阅读:450来源:国知局
专利名称:一种基于实例的大规模场景合成方法
技术领域
本发明涉及一种基于实例的大规模场景合成方法,属于计算机软件和计算机图形学技术领域,具体地说,是一种运用计算机进行模型分析、推理建模和优化组合等过程扩展实例模型的规模以生成更大规模的场景模型的方法。
背景技术
在数字娱乐、虚拟现实等领域中,构建大规模复杂几何模型如城市、山地已经成为丰富用户体验的必要手段,工业领域、数字遗产保护等领域对三维模型的需求也日益增强。现有建模方法往往采用标准CAD建模工具,其操作流程复杂导致用户需要经过大量时间的培训,且在构建复杂模型时建模效率低下因而难以满足实际应用领域的需要。因此,在复杂几何建模过程引入自动或半自动机制可以简化用户交互负担成为一种新的技术趋势。已有的自动化建模方法包括基于扫描数据的重建方法和过程化建模方法。基于扫描数据的重建方法包括文献1:Nan L.L., Andrei S., Zhang H., Cohen-OrD.,Chen B.Q.,SmartBoxes for Interactive Urban Reconstruction, ProceedingsSIGGRAPH2010,ArtiCle93等,这类方法需要昂贵的设备进行数据的捕获,且大规模点云数据的处理对计算机硬件有很高的要求,三维点云数据固有的歧义性和噪音也对重建模型的质量有较强的影响,因而此类方法不适合直接进行交互式的场景建模;过程化建模方法如文献2:MullerP., Wonka P., Haegler, S., Ulmer, A., and Gool L.V., Procedural modelingof buildings.ACM Transaction of Graphics, 25 (3) 614 - 623, 2006.等方法根据手工定义的模型构造规则采用推理方法自动创建复杂的模型,这类方法对用户交互负担小,且无需昂贵的捕获和计算设备,因而成为创建复杂场景的强有力工具。然而,其构造规则定义的复杂性和抽象性使得用户难以直观控制过程化建模结果。近年来,过程化建模方法采用模型分析技术自动的构造模型构造规则,从而避免了繁琐的手工定义过程。文献3:Merrell P.Example-based modelsynthesis.Proceedings ofthe2007symposium on Interactive3D Graphics andGames.2007,105-112提出了模型合成方法,其可利用离散的三维实例模型自身结构相似性生成大规模三维场景模型。这种方法仅需用户提供小的场景模型即可完成任意大场景的自动合成,为大规模复杂场景建模提供了一种便捷的途径。已有模型合成方法仅满足于寻找符合实例模型邻接约束的一个可行解,无法完整体现实例模型的其他构造特点。本专利在现有模型合成方法的基础上,引入全局优化组合机制以保证建模结果满足用户所提供实例的结构特征。

发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于实例的模型合成方法,该方法能根据用户提供的实例模型自动合成更大规模的模型或场景。技术方案:本发明公开了一种基于实例的大规模场景合成方法,包括以下步骤:
步骤一,实例分析:给定一个实例场景模型,计算实例场景模型的构造单元集合及构造单元之间的约束关系;步骤二,目标模型构造过程的参数化建模:给定目标模型的规模,生成Petri网结构表示目标模型构造单元的组合过程,并描述建模过程;步骤三,基于人工免疫的组合优化:使用人工免疫算法对参数化的构造过程进行优化以得到与实例场景模型的结构特征最为相似的模型。本发明步骤一中,包括以下步骤:使用对称单元检测算法提取实例场景模型的自相似单元,根据自相似单元的大小和位置信息构造等间隔的三组正交平面组以分割实例场景模型,各组平面分别以X轴、Y轴和Z轴方向为法方向,其平面数目分别为Nx,Ny和Nz,由此建立实例场景模型的构造单元集合{M[i;J,k] I I彡i彡Nx,I彡j彡Ny,I彡k彡NJ,其中,Mu为一个构造单元,i,j和k分别表示该构造单元沿X轴、Y轴和Z轴的序数;使用三角形网格面片将每个构造单元表示为Wu=IVu,」,,],Fu,」,,],Iu,」,,]},其中,为顶点集,为三角面片集,为标号;计算每个构造单元M[uk]的形状特征,包括网格表面积S,长方体凸包特征{x0, X1, y0, Y1, z0, zj和网格顶点覆盖标记{fuvw|0彡U,V,w彡1},其中,下标u, v和w表示网格顶点覆盖标记fuvw指示的长方体凸包顶点序号,所述网格表面积S= E AF,Af为网格上一个三角形面片的面积,所述长方体凸包特征{xQ, X1, yQ, Y1, Z。,zj为凸包在X, Y和Z三个主轴上的坐标极值,网格顶点覆盖标记fuvw表示长方体凸包顶点[xu, yv, zj是否属于顶点集Vuk],若属于则fuvw=l,反之则fuvw=0 ;使用形状特征对构造单元聚类以提取构造单元的自相似关系,若两个构造单元
特征完全一致(其中,^和%表示序数组,为[i,j,k]的简化表示形式),则使
用同一标号L对该两个单元进行标记,即&=/ =I将所用的标号L并入标号集合队中;使用如下布尔函数表示实例场景模型构造单元的邻接约束集合:
权利要求
1.一种基于实例的大规模场景合成方法,其特征在于,包括以下步骤: 步骤一,实例分析:给定一个实例场景模型,计算实例场景模型的构造单元集合及构造单元之间的约束关系; 步骤二,目标模型构造过程的参数化建模:给定目标模型的规模,生成Petri网结构表示目标模型构造单元的组合过程,并描述建模过程; 步骤三,基于人工免疫的组合优化:使用人工免疫算法对参数化的构造过程进行优化以得到与实例场景模型的结构特征最为相似的模型。
2.根据权利要求1所述的一种基于实例的大规模场景合成方法,其特征在于,步骤一中,包括以下步骤: 使用对称单元检测算法提取实例场景模型的自相似单元,根据自相似单元的大小和位置信息构造等间隔的三组正交平面组以分割实例场景模型,各组平面分别以X轴、Y轴和Z轴方向为法方向,其平面数目分别为Nx,Ny和Nz,由此建立实例场景模型的构造单元集合{Mu 11彡i彡Nx,I彡j彡Ny,I彡k彡Nz},其中,Mu为一个构造单元,i, j和k分别表示该构造单元沿X轴、Y轴和Z轴的序数; 使用三角形网格面片将每个构造单元表示为j,k],FtUkh ItUkJ,其中,Vti,^]为顶点集,Fti,,,a为三角面片集,Itiij,,]为标号; 计算每个构造单元M[uk]的形状特征,包括网格表面积S,长方体凸包特征{x0, Xi, y0) Yi, Z0, Z1I和网格顶点覆盖标记{fuvw|0彡U,V, w彡1},其中,下标u, V和w表示网格顶点覆盖标记fuvw指示的长方体凸包顶点序号,所述网格表面积S= Σ AF,Af为网格上一个三角形面片的面积,所述长方体凸包特征{x。,X1, yQ,Y1, Z。,zj为凸包在X, Y和Z三个主轴上的坐标极值,网格顶点覆盖标记f uvw表示长方体凸包顶点[xu, yv, zw]是否属于顶点集Vuk],若属于则fuvw=l,反之则fuvw=0 ; 使用形状特征对构造单元聚类以提取构造单元的自相似关系,若两个构造单7L^l/和M的特征完全一致(其中,和%表示序数组,为[i,j,k]的简化表示形式),则使用同一标号L对该两个构造单元的标号、和&进行赋值,即& =k2 =Z,将所用的标号L并入标号集合Ul中; 使用如下布尔函数表示实例场景模型构造单元的邻接约束集合:巧仏為) = lo]K =Li a/vv =L2 其中,L1和L2是标号集合队中的两个标号,馬是一个布尔函数,其定义域为队X队,值域为{O, I}, ^丨
.
,[(11,0].
,[1,0,0].[-1,0,0]!为乂3和2轴上的单位向量。
3.根据权利要求2所述的一种基于实例的大规模场景合成方法,其特征在于,步骤二中,采用有色Petri网建立目标模型的构造单元组合过程的参数化表示,进而完成对构造过程的描述,包括以下步骤: 根据用户设定的规模参数Sx,Sy和Sz,建立一个三维格状空间,Sx,Sy和Sz分别表示该格状空间沿X轴、Y轴和Z轴的子空间数目,取值范围为正整数; 在三维格状空间的每一个格子空间中建立局部Petri网,每个局部Petri网包括候选和填充两个库所节点以及候选更新和候选选择两个迁移节点,沿流关系依次为候选更新迁移节点、候选库所节点、候选选择迁移节点和填充库所节点,并连接任一候选库所节点和填充库所节点与相邻构造单元的候选更新迁移节点进行连接,从而建立目标模型的Petri网结构; 定义目标模型的Petri网结构中迁移节点的操作: 候选更新迁移节点:根据相邻构造单元的候选库所节点和填充库所节点的托肯信息和邻接约束集合计算该迁移节点的托肯; 候选选择迁移节点:从候选库所节点随机选择一个标号L进行组合,候选选择迁移节点的执行优先级比候选更新迁移节点的执行优先级低; 定义两类变异算子实现对构造单元组合过程的变异: 标号选择变异:该变异不改变推理的节点顺序,仅改变候选选择迁移节点选择的标号; 节点选择变异:该变异在进行候选选择迁移节点执行时,选择其他可行的迁移节点进行执行。
4.根据权利要求3所述的一种基于实例的大规模场景合成方法,其特征在于,步骤三中包含以下步骤: 实例模型的结构特征计算步骤: 记输入的实例场景模型为Me,进行实例模型的结构特征计算,得到实例模型的构造单元数目向量
全文摘要
本发明公开了一种基于实例的大规模场景合成方法,该方法通过对构造单元的自动式优化组合构建大规模场景,包括以下步骤给定一个小场景模型,采用等间隔的三组正交平面组分割模型以建立模型的构造单元集合并提取各构造单元的几何特征及其之间的邻接关系;根据三个方向的扩展因子,定义一个Petri网结构建立目标模型构造过程的参数化表示;以所定义的Petri网及其变异算子为目标模型的编码表示,使用人工免疫算法实现对构造过程的优化以得到与实例模型结构最为相似的模型。本发明利用实例模型的结构特征扩展规模以生成大规模的场景模型,提高了建模效率,并实现了对模型资源的有效重用。
文档编号G06N3/00GK103177473SQ20131007595
公开日2013年6月26日 申请日期2013年3月11日 优先权日2013年3月11日
发明者孙正兴, 宋沫飞, 章菲倩, 张岩 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1