当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于同构模型表示的三维模型生成方法技术

技术编号:17099269 阅读:37 留言:0更新日期:2018-01-21 11:07
本发明专利技术公开了一种基于同构模型表示的三维模型生成方法,包括:针对模型集合的部件对应关系,构建模型集的统一结构表示;采用子图编码的方式,建立每个模型的同构结构表示;采用包围盒和广义圆柱的方式,建立每个模型的部件表示;根据模型的结构表示和部件表示,构建模型的统一表示;训练基于神经网络的自编码器,建立同构表示空间与二维数值空间的映射关系;对二维数值进行采样,利用自编码器解码得到模型同构表示;根据解码得到的模型同构表示,重建出三维模型,并判断重建模型的有效性;根据采样数据的有效性,估计有效空间的分布,并进行可视化;根据用户选取的有效二维数据,解码得到模型表示,重建新的三维模型。

A method of 3D model generation based on isomorphic model representation

The invention discloses a 3D model generation method, based on the isomorphic model as follows: according to the model set of components corresponding relations, to build a unified structure model set by graph representation; encoding, representation of each model of structure building; the bounding box and the generalized cylinder model, the establishment of each component said according to the model; structure and components, unified representation model; training self encoder based on neural network, a mapping between isomorphic representation space and two-dimensional numerical value; the two-dimensional sampling, using self encoder model is obtained according to the model of isomorphism isomorphic representation; decoding the reconstructed 3D model then, to determine the effectiveness of the reconstruction model; according to the effectiveness of sampling data, estimate the distribution of effective space, and According to the effective two-dimensional data selected by the user, the model representation is decoded and the new 3D model is reconstructed.

【技术实现步骤摘要】
一种基于同构模型表示的三维模型生成方法
本专利技术属于计算机图形学
,尤其涉及一种基于同构模型表示的三维模型生成方法。
技术介绍
三维建模是计算机图形学的重要任务,是满足其他后续研究和应用的基础。三维建模往往需要用户进行交互且耗费大量时间,而许多应用对三维模型的数量有一定的要求,因此,如何快速有效地构建出大规模的三维模型,是三维建模的一个重要研究方向。事实上,三维建模方向已经产生了许多相关的技术和方法。传统的cad建模方法,需要建模者从底层的顶点和面片开始,进行大量的交互,如顶点坐标输入,面片移动等来完成建模过程。由于传统方法交互负担重,因此出现了由现实物体重建出数字模型的方法。如文献1:BaoSY,SavareseS.Semanticstructurefrommotion[C]//ComputerVisionandPatternRecognition(CVPR),2011IEEEConferenceon.IEEE,2011:2025-2032.他们利用视频序列,通过邻近的视频帧估计摄像机参数,从而重建出三维点云帧,再将多帧重建出的三维点云融合,得到重建出的三维模型。这种方法完全自动地生成三维模型,不需要交互,但只能构建现实中存在的真实物体,难以满足构建大规模三维模型数据的要求。通过对已有的三维模型进行编辑,也可以构建新的三维模型。如文献2:SorkineO,AlexaM.As-rigid-as-possiblesurfacemodeling[C]//SymposiumonGeometryprocessing.2007,4.他们对已有的一个三维模型,定义表面形变点和固定点,在改变操作点位置的同时,保持固定点位置不变,再计算出模型所有顶点的位置,从而构建出新模型。这种方法需要较为简单的交互,通过对已有模型进行编辑,构建新的三维模型。虽然这种方法可以构建出与原模型不同的新模型,但构建出新模型的数量较少,且构建出的模型之间差异较小。随着三维模型集合规模的增长,一些研究者提出了模型集驱动的模型生成方法。文献3:ChaudhuriS,KalogerakisE,GuibasL,etal.Probabilisticreasoningforassembly-based3Dmodeling[C]//ACMTransactionsonGraphics(TOG).ACM,2011,30(4):35.提出了一种使用部件装配来进行三维建模的方法。首先对模型集合进行分割和分析,得到部件集合和部件间的关系。之后,用户通过选择不同的部件,将部件组合起来,构建出新的三维模型。这种方法可以生成差异较大的模型,但建模过程中,用户交互十分频繁,构建一个模型需要花费大量时间,因此这种方法也难以生成大量的三维模型。总而言之,现有技术主要存在缺陷:第一,建模过程耗费时间长,难以构建一定数量的模型集;第二,建模结果差异性小,生成的结果模型集合较为单调;第三,需要较多的交互,用户负担重。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于同构模型对模型集进行统一表示,通过简单交互,自动生成新的三维模型的方法,进行计算机三维建模。为了解决上述技术问题,本专利技术公开了一种基于同构模型的三维模型生成方法,包括以下步骤:步骤1,同构模型表示生成:通过分析给定的同类别三维模型集合内三维模型的结构关系,以及对单个三维模型进行形状拟合,将模型集合内所有三维模型进行同构的统一表示,得到单个三维模型的统一表示向量;步骤2,模型表示编码:通过全连接神经网络,将每个三维模型的统一表示向量转换为低维编码,形成编码空间;步骤3,构建可视空间:在计算出模型表示的低维编码的基础上,判断编码空间内每个数据点对应模型的有效性,并将编码空间的有效性分布情况进行可视化。步骤4,交互生成三维模型:用户通过对步骤3中的可视化编码空间进行点击交互,选取编码空间内的数据实例,并根据选取的数据实例进行解码,生成出三维模型。步骤1包括以下步骤:步骤1-1,模型集合统一结构表示生成:模型集合的统一结构表示为无向图G={V,E},其中V为所有节点集合,每个节点代表每个部件类型,设模型集合所有模型共有n类部件,V={v1,v2…vn},其中vi表示第i类部件,i取值范围为1~n;E为所有边集合,每条边代表每两类部件间的关系,设模型集合共有m种部件邻接情况,则E={e1,e1…em},其中ej表示第j种邻接情况,j取值范围为1~m;步骤1-2,单个三维模型结构表示生成:使用长度为n+m的向量l作为单个三维模型的结构表示,提取单个三维模型部件存在情况与邻接关系,表示为无向图g={v,e},根据无向图G={V,E},判断V的每个成员和E的每个成员是否属于g,V的第i个成员属于g,则令向量l的第i个分量li为1,否则li为0;E的第j个成员属于g,则令向量l的第j+n个分量lj+n为1,否则lj+n为0;步骤1-3,单个模型形状拟合:对单个三维模型,考虑其包含的每个部件A,其形状拟合向量为GeoA:GeoA=[BoxA,GcA],其中,BoxA为A的包围盒参数,GcA为A的广义圆柱参数,包围盒参数BoxA如下:BoxA=[cA,l1,l2,l3,d1,d2,d3],其中cA为包围盒中心坐标,l1,l2,l2分别为包围盒长度从大到小的三个主轴的长度,d1,d2,d3为长度从大到小三个主轴的朝向向量;广义圆柱,指通过轴线和半径可自适应形变的变体圆柱来拟合任意形状的三维体,在广义圆柱的表面进行点采样,用所有采样点的坐标集合{P}作为广义圆柱参数。为了计算部件A的广义圆柱,首先提取部件的骨架线。骨架线指与原部件形状连通性和拓扑结构相一致的细曲线。提取骨架线后,在骨架线上均匀采样,得到骨架线采样点,然后,在每两个相邻骨架线采样点Ske1,Ske2之间,计算采样点Ske2的法平面与所有三角面片的交点,法平面法向为:其中,(Sx1,Sy1,Sz1),(Sx2,Sy2,Sz2)分别为Ske1的三维坐标和Ske2的三维坐标;由法平面法向及采样点Ske2坐标,求出法平面方程为:(Sx1-Sx2)*(x-Sx2)+(Sy1-Sy2)*(y-Sy2)+(Sz1-Sz2)*(z-Sy2)=0,对于三角面片fi,计算其三条边的直线方程分别:其中(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)分别为三角面片fi的三个顶点空间三维坐标;联合法平面方程与任意一条直线方程求解,设解为(X,Y,Z),假设使用第一个直线方程求解:若方程无解,则该法平面与直线平行,表示该法平面在fi的第一条边上无交点;若方程有解,判断:(X-x1)*(X-x2)<0,(Y-y1)*(Y-y2)<0,(Z-z1)*(Z-z2)<0,若三个式子都成立,则法平面与直线的交点的坐标(X,Y,Z)在fi的第一条边上,因此判定为有交点,否则(X,Y,Z)在fi的第一条边的范围外,判定为无交点;计算所有判定为三角面片某条边的范围内的交点(X,Y,Z),为部件A的广义圆柱采样点,即:GcA={Xi,Yi,Zi};其中(Xi,Yi,Zi)表示第i个判定为在某个三角面片一条边的范围内的交点坐本文档来自技高网
...
一种基于同构模型表示的三维模型生成方法

【技术保护点】
一种基于同构模型表示的三维模型生成方法,其特征在于,包括以下步骤:步骤1,同构模型表示生成:给定一个同类别的三维模型集合,通过分析集合内三维模型的结构关系,以及对单个三维模型进行形状拟合,将模型集合内所有三维模型进行同构的统一表示,得到单个三维模型的统一表示向量;步骤2,模型表示编码:通过全连接神经网络,将每个三维模型的统一表示向量转换为低维编码,形成编码空间;步骤3,构建可视空间:判断编码空间内每个数据点对应三维模型的有效性,并将编码空间的有效性分布情况进行可视化;步骤4,交互生成三维模型:选取编码空间内的数据实例,根据选取的数据实例进行解码,生成出三维模型。

【技术特征摘要】
1.一种基于同构模型表示的三维模型生成方法,其特征在于,包括以下步骤:步骤1,同构模型表示生成:给定一个同类别的三维模型集合,通过分析集合内三维模型的结构关系,以及对单个三维模型进行形状拟合,将模型集合内所有三维模型进行同构的统一表示,得到单个三维模型的统一表示向量;步骤2,模型表示编码:通过全连接神经网络,将每个三维模型的统一表示向量转换为低维编码,形成编码空间;步骤3,构建可视空间:判断编码空间内每个数据点对应三维模型的有效性,并将编码空间的有效性分布情况进行可视化;步骤4,交互生成三维模型:选取编码空间内的数据实例,根据选取的数据实例进行解码,生成出三维模型。2.根据权利要求1所述的方法,其特征在于,步骤1包括以下步骤:步骤1-1,模型集合统一结构表示生成:模型集合的统一结构表示为无向图G={V,E},其中V为所有节点集合,每个节点代表每个部件类型,设模型集合所有模型共有n类部件,V={v1,v2…vn},其中vi表示第i类部件,i取值范围为1~n;E为所有边集合,每条边代表每两类部件间的关系,设模型集合共有m种部件邻接情况,则E={e1,e1…em},其中ej表示第j种邻接情况,j取值范围为1~m;步骤1-2,单个三维模型结构表示生成:使用长度为n+m的向量l作为单个三维模型的结构表示,提取单个三维模型部件存在情况与邻接关系,表示为无向图g={v,e},根据无向图G={V,E},判断V的每个成员和E的每个成员是否属于g,V的第i个成员属于g,则令向量l的第i个分量li为1,否则li为0;E的第j个成员属于g,则令向量l的第j+n个分量lj+n为1,否则lj+n为0;步骤1-3,单个三维模型形状拟合:对单个三维模型,考虑其包含的每个部件A,其形状拟合向量为GeoA:GeoA=[BoxA,GcA],其中,BoxA为A的包围盒参数,GcA为A的广义圆柱参数,包围盒参数BoxA如下:BoxA=[cA,l1,l2,l3,d1,d2,d3],其中cA为包围盒中心坐标,l1,l2,l3分别为包围盒长度从大到小的三个主轴的长度,d1,d2,d3为长度从大到小三个主轴的朝向向量;为了计算部件A的广义圆柱,首先提取部件的骨架线,骨架线指与原部件形状连通性和拓扑结构相一致的细曲线,提取骨架线后,在骨架线上均匀采样,得到骨架线采样点,然后,在每两个相邻骨架线采样点Ske1,Ske2之间,计算采样点Ske2的法平面与所有三角面片的交点,法平面法向为:其中,(Sx1,Sy1,Sz1),(Sx2,Sy2,Sz2)分别为Ske1的三维坐标和Ske2的三维坐标;由法平面法向及采样点Ske2坐标,求出法平面方程为:(Sx1-Sx2)*(x-Sx2)+(Sy1-Sy2)*(y-Sy2)+(Sz1-Sz2)*(z-Sy2)=0,对于三角面片fi,计算其三条边的直线方程分别:其中(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)分别为三角面片fi的三个顶点空间三维坐标;联合法平面方程与任意一条直线方程求解,设解为(X,Y,Z),假设使用第一个直线方程求解:若方程无解,则该法平面与直线平行,表示该法平面在fi的第一条边上无交点;若方程有解,判断:(X-x1)*(X-x2)<0,(Y-y1)*(Y-y2)<0,(Z-z1)*(Z-z2)<0,若三个式子都成立,则法平面与直线的交点的坐标(X,Y,Z)在fi的第一条边上,因此判定为有交点,否则(X,Y,Z)在fi的第一条边的范围外,判定为无交点;计算所有判定为三角面片某条边的范围内的交点(X,Y,Z),为部件A的广义圆柱采样点,即:GcA={Xi,Yi,Zi};其中(Xi,Yi,Zi)表示第i个判定为在一个三角面片一条边的范围内的交点坐标,GcA为所有符合条件的交点坐标的集合;步骤1-4,统一表示向量生成:由步骤1-2中和步骤1-3中的单个三维模型结构表示g和单个三维模型形状拟合,构建单个模型的统一表示向量L:将单个三维模型结构表示g加入向量L,根据步骤1-1中的无向图G={V,E},判断V的每个成员vi是否属于g,属于则将vi对应部件的形状拟合向量GeoA加入向量L,否则将同长度的全0向量加入向量L,再计算单个三维模型的任意两个相邻部件A部件和B部件的连接点局部坐标ConA,B:ConA,B=[ConA,BA,ConA,BB],其中ConA,B为A,B部件的连接点在各自局部坐标系下的坐标向量,ConA,BA为连接点...

【专利技术属性】
技术研发人员:孙正兴武蕴杰宋有成宋沫飞
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1