一种数据驱动的三维模型编辑方法及系统的制作方法
【专利摘要】本发明提出一种数据驱动的三维模型编辑方法及系统,涉及数字媒体技术领域,该方法包括输入具有相同网格拓扑的原三维模型库,对所述原三维模型库进行简化,生成具有相同网格拓扑的低分率的新三维模型库,并建立与所述原三维模型库之间的对应关系;对所述新三维模型库进行分析并提取与旋转平移无关的特征向量集合,用户获取需要变形的待变形三维模型上的控制点并进行编辑,生成新控制点,通过优化组合简化所述特征向量集合,获取符合用户编辑条件的新特征向量集合;将所述新特征向量传播到待变形三维模型的特征空间对应的最终特征向量,根据所述新控制点的顶点位置与所述最终特征向量,通过重建算法重建编辑后的所述待变形三维模型。
【专利说明】
一种数据驱动的三维模型编辑方法及系统
技术领域
[0001]本发明涉及数字媒体技术领域,特别涉及一种数据驱动的三维模型编辑方法及系统。
【背景技术】
[0002]模型编辑技术可以根据用户的编辑来建模生成满足编辑条件的三维模型,模型变形技术的关键是在减少用户工作量的基础上生成自然合理的三维模型。
[0003]传统的方法中很多工作没有借助模型库的先验信息而是直接对三维模型进行编辑,这一类工作中,最典型的是Olga Sorkine等人在2004年的工作“Laplacian surfaceediting”,该工作在用户编辑的过程中通过保持三维模型的Laplace坐标不变进行变形,该工作需要用户同时指定控制顶点的位置与朝向,这增加了用户的工作量,并且控制朝向是较为困难的,不一致的朝向和位置将会产生很差的变形效果,为了解决这一问题,OlgaSorkine等人在2008年的工作 “As-rigid-as possible surface modeling” 与RobertSummer等人在2009年的工作 “Embedded deformat1n for shape manipulat1n” 中通过同时优化网格上每个顶点的位置与朝向来避免用户在编辑的时候给定额外的朝向,但是这两个经典的工作都没有利用模型库挖掘模型的变形规律,为了生成合理的变形效果都需要用户进行大量的交互与编辑。
[0004]为了利用模型库中的信息来辅助模型编辑,RobertSummer等人在2005年的工作”Mesh Based Inverse Kinematics”(MeshIK),通过对模型库进行分析并将模型的变形梯度作为特征,并通过组合这些特征来生成满足用户边界条件的三维模型,该方法的缺陷在于使用模型的变形梯度作为变形特征不能够处理具有大幅度变形的情况,因为变形梯度是旋转相关的并且使用变形梯度进行大幅度的变形会产生自交的情况,Stefan Frohlich等人在2011年的工作“Example-Driven Deformat1ns Based on Discrete Shells”使用边长与二面角作为特征,通过组合这些特征来生成符合用户编辑的三维模型,但是由于边长的非负性,所以该方法不能处理外插,从而不能生成大幅度的变形。
[0005]不借助模型库而直接对三维模型进行变形的工作,由于不能分析模型变形的内部规律,需要用户进行额外的大量的交互的工作,而利用模型库进行分析的相关工作较少,目前最相关的工作MeshIk由于使用变形梯度作为特征,其旋转相关的局限性使其不能够处理大幅度的变形,可以通过分析模型库来挖掘模型的变形规律并支持大幅度变形的技术目前仍然是空缺的。
[0006]发明专利“:基于点云与数据驱动的树木模型重建方法”,该发明公开了一种基于点云与数据驱动的树木模型重建方法,该方法包括以下步骤:获取树木点云数据,对其进行预处理,并定义树木模型的分级表示;提出移动圆柱体方法并用于从所述树木点云数据中提取得到主枝骨架点,并进行枝叶分离处理;从所述树木点云数据中提取得到树冠特征点;提出分级离子流方法并用于对主枝骨架点和树冠特征点进行结构化;根据已经结构化的所有树枝的骨架点和半径,重建得到完整的树木模型。该发明为从三维点云数据中重建出完整的树木模型提供了解决方案,获取的重建模型与原始点云具有很高的吻合度,而且对遮挡严重、形态复杂的模型都能获得较好的重建结果。然而该发明专利主要解决的是通过提取树冠特征点以及对主枝骨对主枝骨架点和树冠特征点进行结构化,完成树木模型的重建,而本发明提出通过特征向量对数据库进行分析,通过全局优化算法来达到重建的结果。
【发明内容】
[0007]针对现有技术的不足,本发明提出一种数据驱动的三维模型编辑方法及系统。
[0008]本发明提出一种数据驱动的三维模型编辑方法,包括:
[0009]步骤I,输入具有相同网格拓扑的原三维模型库,对所述原三维模型库进行简化,生成具有相同网格拓扑的低分率的新三维模型库,并建立与所述原三维模型库之间的对应关系;
[0010]步骤2,对所述新三维模型库进行分析并提取与旋转平移无关的特征向量集合,用户获取需要变形的待变形三维模型上的控制点并进行编辑,生成新控制点,通过优化组合简化所述特征向量集合,获取符合用户编辑条件的新特征向量集合;
[0011]步骤3,将所述新特征向量传播到待变形三维模型的特征空间对应的最终特征向量,根据所述新控制点的顶点位置与所述最终特征向量,通过重建算法重建编辑后的所述待变形三维模型。
[0012]所述步骤I中对所述原三维模型库进行简化的步骤为选取所述原三维模型库中一个三维模型作为基准三维模型,并通过基于二次能量误差的方法进行对所述原三维模型库简化,然后依据欧式距离,建立所述原三维模型库与所述新三维模型库的对应关系。
[0013]所述步骤2包括计算所述基准三维模型上每个顶点的一阶邻域相对于所述基准模型的仿射变换,将所述仿射变换进行极分解,生成刚体变换矩阵与实对称矩阵,并将所述刚体变换矩阵的逆乘以相邻顶点的刚体变换矩阵,生成与旋转平移无关并描述局部的相对刚体变化的矩阵,并通过矩阵指数映射获取所述特征向量集合。
[0014]所述步骤2包括建立全局能量函数,通过所述全局能量函数对所述新特征向量集合对应的权重进行优化。
[0015]所述步骤3包括根据所述最终特征向量,通过SVD分解计算所述待变形三维模型上每个顶点上的刚体变换,并根据所述刚体变换与所述新控制点的顶点位置,通过线性方程组计算顶点坐标。
[0016]本发明还提出一种数据驱动的三维模型编辑系统,包括:
[0017]获取新三维模型库模块,用于输入具有相同网格拓扑的原三维模型库,对所述原三维模型库进行简化,生成具有相同网格拓扑的低分率的新三维模型库,并建立与所述原三维模型库之间的对应关系;
[0018]获取新特征向量集合模块,用于对所述新三维模型库进行分析并提取与旋转平移无关的特征向量集合,用户获取需要变形的待变形三维模型上的控制点并进行编辑,生成新控制点,通过优化组合简化所述特征向量集合,获取符合用户编辑条件的新特征向量集合;
[0019]重建模块,用于将所述新特征向量传播到待变形三维模型的特征空间对应的最终特征向量,根据所述新控制点的顶点位置与所述最终特征向量,通过重建算法重建编辑后的所述待变形三维模型。
[0020]所述获取新三维模型库模块中对所述原三维模型库进行简化的步骤为选取所述原三维模型库中一个三维模型作为基准三维模型,并通过基于二次能量误差的方法进行对所述原三维模型库简化,然后依据欧式距离,建立所述原三维模型库与所述新三维模型库的对应关系。
[0021]所述获取新特征向量集合模块包括计算所述基准三维模型上每个顶点的一阶邻域相对于所述基准模型的仿射变换,将所述仿射变换进行极分解,生成刚体变换矩阵与实对称矩阵,并将所述刚体变换矩阵的逆乘以相邻顶点的刚体变换矩阵,生成与旋转平移无关并描述局部的相对刚体变化的矩阵,并通过矩阵指数映射获取所述特征向量集合。
[0022]所述获取新特征向量集合模块包括建立全局能量函数,通过所述全局能量函数对所述新特征向量集合对应的权重进行优化。
[0023]所述重建模块包括根据所述最终特征向量,通过SVD分解计算所述待变形三维模型上每个顶点上的刚体变换,并根据所述刚体变换与所述新控制点的顶点位置,通过线性方程组计算顶点坐标。
[0024]由以上方案可知,本发明的优点在于:
[0025]本发明的方法通过提出一种新颖的旋转平移无关的特征向量来对模型库进行分析,通过利用分析得到的特征向量来辅助用户对三维模型进行编辑,用更少的编辑操作来生成自然合理的模型变形效果。
【附图说明】
[0026]图1位本发明的数据驱动的模型渐变方法流程图;
[0027]图2为本发明的特征与MeshIK中的变形梯度比较示意图;
[0028]图3为本发明的数据驱动的模型编辑方法应用过程示意图;
[0029]图4为本发明的系统结构图。
【具体实施方式】
[0030]本发明要解决的技术问题是,针对现有技术的不足,提供一种数据驱动的三维模型编辑方法及系统,提出一种旋转平移无关的特征向量,并借助该新颖的特征向量对数据库进行分析,并结合全局优化算法来组合这些特征向量来生成满足用户编辑的边界条件的三维模型,并且提供多尺度的技术,通过在低分辨率的网格上进行特征合成并在高分辨率的网格上编辑来达到实时和高质量的编辑变形的效果。
[0031]本发明提供一种数据驱动的三维模型编辑方法,包括:
[0032]S1:输入具有相同网格拓扑的原三维模型库;
[0033]S2:对模型库进行简化得到一个具有同拓扑的低分率的新三维模型库并建立原三维模型库之间的对应关系;
[0034]S3:对简化后新三维模型库进行分析并提取旋转平移无关的特征向量集合;
[0035]S4:用户拾取需要变形的三维模型上的控制点并进行编辑,生成新控制点;
[0036]S5:通过优化组合简化模型集合的特征向量集合来得到满足用户编辑条件的新特征向量集合;
[0037]S6:将该特征向量传播到待变形三维模型的特征空间对应的最终特征向量;
[0038]S7:根据所述新控制点的顶点位置与所述最终特征向量,通过重建算法重建编辑后的所述待变形三维模型;
[0039]其中,S3具体包括:任意选取一个模型为基准模型,计算模型上每个顶点的一阶邻域相对于基准模型的仿射变换,将仿射变换进行极分解得到刚体变换矩阵与实对称矩阵,并将该刚体变换的逆乘以相邻顶点的刚体变换矩阵得到旋转平移无关的描述局部相对刚体变化的矩阵并通过矩阵指数映射得到一组线性可加的特征向量。
[0040]其中,S5具体包括:建立一个全局能量函数,其优化的变量为简化模型的集合上的特征向量所对应的权重,优化的目标为编辑后的模型和模型库中的模型的组合最为接近同时满足用户的约束。
[0041]其中,S7具体包括:给定传播后的特征向量,使用SVD分解求解模型上每个顶点上的刚体变换;通过求解线性方程组求解给定刚体变换和用户约束(所述新控制点的顶点位置)下的顶点坐标。
[0042]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0043]如图1所示,本发明提供一种数据驱动的三维模型编辑方法,包括:
[0044]SI 1:输入具有相同网格拓扑的模型库,该模型库通过三维扫描技术或者艺术家对二维模型进行编辑得到;
[0045]S12:对模型库进行简化得到一个具有同拓扑的低分率的三维模型库并建立与原三维模型库之间的对应关系;选取其中一个模型为基模型使用基于二次能量误差的方法进行简化,然后依据欧式距离,建立原模型和简化后模型的对应关系;
[0046]S13:对简化后的三维模型库进行分析并提取旋转平移无关的特征向量集合;基于欧式度量并使用最小二乘方法估计相对于基本网格上上第i个顶点一阶邻域的仿射变化Ti,并对该仿射变换Ti进行极分解得到刚体变换矩阵Ri与实对称矩阵Si;对每个顶点上所对应Ri及其一阶相邻的顶点Rj,计算Ri TRj,并进行矩阵对数操作log(Ri TRj ),结合log(Ri TRj)与Si,即得到描述模型旋转平移无关的特征向量,对所有的模型进行上述处理可以得到一组向量集合。
[0047]S14:用户拾取需要变形的三维模型上的控制点并进行编辑;使用OpenGL和Qt技术开了一个拾取与编辑的软件,用户可以在上面拾取控制顶点并可以拖拽进行变形。
[0048]S15:通过优化组合简化模型集合的特征向量来得到满足用户编辑条件的特征向量;这些特征向量组成了一个线性空间,其定义了模型自然合理变形的范围。并建立一个全局能量函数来度量用户编辑的模型与该线性空间的距离,其目的是在模型合理的变形范围内同时满足用户的编辑约束。本发明使用梯度下降的方法来求解该全局能量优化,使用数值差分的方法来计算梯度,并沿着梯度方向搜索步长,不断迭代直到收敛。
[0049]S16:将该特征向量传播到原始模型的特征空间对应的特征向量;依据SI 2中的对应关系,可以将简化模型空间上的特征向量赋值到原模型空间的特征向量。
[0050]S17:依据用户编辑的控制顶点位置与传播得到的特征向量根据重建算法重建编辑后的三维模型;给定S16中传播后的特征向量,使用SVD分解求解模型上每个顶点上的刚体变换,然后通过求解线性方程组求解给定刚体变换和用户约束下(所述新控制点的顶点位置)的顶点坐标。
[0051]本发明还提出一种数据驱动的三维模型编辑系统,包括:
[0052]获取新三维模型库模块,用于输入具有相同网格拓扑的原三维模型库,对所述原三维模型库进行简化,生成具有相同网格拓扑的低分率的新三维模型库,并建立与所述原三维模型库之间的对应关系;
[0053]获取新特征向量集合模块,用于对所述新三维模型库进行分析并提取与旋转平移无关的特征向量集合,用户获取需要变形的待变形三维模型上的控制点并进行编辑,生成新控制点,通过优化组合简化所述特征向量集合,获取符合用户编辑条件的新特征向量集合;
[0054]重建模块,用于将所述新特征向量传播到待变形三维模型的特征空间对应的最终特征向量,根据所述新控制点的顶点位置与所述最终特征向量,通过重建算法重建编辑后的所述待变形三维模型。
[0055]所述获取新三维模型库模块中对所述原三维模型库进行简化的步骤为选取所述原三维模型库中一个三维模型作为基准三维模型,并通过基于二次能量误差的方法进行对所述原三维模型库简化,然后依据欧式距离,建立所述原三维模型库与所述新三维模型库的对应关系。
[0056]所述获取新特征向量集合模块包括计算所述基准三维模型上每个顶点的一阶邻域相对于所述基准模型的仿射变换,将所述仿射变换进行极分解,生成刚体变换矩阵与实对称矩阵,并将所述刚体变换矩阵的逆乘以相邻顶点的刚体变换矩阵,生成与旋转平移无关并描述局部的相对刚体变化的矩阵,并通过矩阵指数映射获取所述特征向量集合。
[0057]所述获取新特征向量集合模块包括建立全局能量函数,通过所述全局能量函数对所述新特征向量集合对应的权重进行优化。
[0058]所述重建模块包括根据所述最终特征向量,通过SVD分解计算所述待变形三维模型上每个顶点上的刚体变换,并根据所述刚体变换与所述新控制点的顶点位置,通过线性方程组计算顶点坐标。
[0059]如图2所示,表示本发明的结果示意图。该示意图是两个三角面片进行插值的结果。第一行是基于MeshIk的梯度特征进行插值的结果,由于各个面片的变形梯度分别选择最小的旋转角度进行插值,所以产生了自交,图(b)到(f),第二行是基于本发明的方法,其可以生成不自交的结果,图(a)显示了两个三角面片变化的角度。
[0060]如图3所示,表示本发明的结果示意图。该示意图是一个用户对人体三维模型进行编辑的结果,图(a)是待编辑的模型,黄色的小球为控制顶点,图(b)是“As rigid aspossible surface modeling” 方法的变形结果,图(c)是 “Embedded deformat1n forshape manipulat1n”方法的结果,图(d)是MeshIK方法的变形结果,图(e)是“ExampIe-driven deformat1ns based on discrete shells”的变形结果,图(f)是本发明的方法的变形结果。通过比较可以发现我们的算法可以通过利用数据库的先验信息,以较少的控制顶点编辑生成大尺度的三维模型变形,其他工作的结果都不够合理和自然,有过度扭曲和自交的情况,并且不符合人体变形的自然规律。
【主权项】
1.一种数据驱动的三维模型编辑方法,其特征在于,包括: 步骤I,输入具有相同网格拓扑的原三维模型库,对所述原三维模型库进行简化,生成具有相同网格拓扑的低分率的新三维模型库,并建立与所述原三维模型库之间的对应关系; 步骤2,对所述新三维模型库进行分析并提取与旋转平移无关的特征向量集合,用户获取需要变形的待变形三维模型上的控制点并进行编辑,生成新控制点,通过优化组合简化所述特征向量集合,获取符合用户编辑条件的新特征向量集合; 步骤3,将所述新特征向量传播到待变形三维模型的特征空间对应的最终特征向量,根据所述新控制点的顶点位置与所述最终特征向量,通过重建算法重建编辑后的所述待变形三维模型。2.如权利要求1所述的数据驱动的三维模型编辑方法,其特征在于,所述步骤I中对所述原三维模型库进行简化的步骤为选取所述原三维模型库中一个三维模型作为基准三维模型,并通过基于二次能量误差的方法进行对所述原三维模型库简化,然后依据欧式距离,建立所述原三维模型库与所述新三维模型库的对应关系。3.如权利要求1或2所述的数据驱动的三维模型编辑方法,其特征在于,所述步骤2包括计算所述基准三维模型上每个顶点的一阶邻域相对于所述基准模型的仿射变换,将所述仿射变换进行极分解,生成刚体变换矩阵与实对称矩阵,并将所述刚体变换矩阵的逆乘以相邻顶点的刚体变换矩阵,生成与旋转平移无关并描述局部的相对刚体变化的矩阵,并通过矩阵指数映射获取所述特征向量集合。4.如权利要求1所述的数据驱动的三维模型编辑方法,其特征在于,所述步骤2包括建立全局能量函数,通过所述全局能量函数对所述新特征向量集合对应的权重进行优化。5.如权利要求1所述的数据驱动的三维模型编辑方法,其特征在于,所述步骤3包括根据所述最终特征向量,通过SVD分解计算所述待变形三维模型上每个顶点上的刚体变换,并根据所述刚体变换与所述新控制点的顶点位置,通过线性方程组计算顶点坐标。6.一种数据驱动的三维模型编辑系统,其特征在于,包括: 获取新三维模型库模块,用于输入具有相同网格拓扑的原三维模型库,对所述原三维模型库进行简化,生成具有相同网格拓扑的低分率的新三维模型库,并建立与所述原三维模型库之间的对应关系; 获取新特征向量集合模块,用于对所述新三维模型库进行分析并提取与旋转平移无关的特征向量集合,用户获取需要变形的待变形三维模型上的控制点并进行编辑,生成新控制点,通过优化组合简化所述特征向量集合,获取符合用户编辑条件的新特征向量集合; 重建模块,用于将所述新特征向量传播到待变形三维模型的特征空间对应的最终特征向量,根据所述新控制点的顶点位置与所述最终特征向量,通过重建算法重建编辑后的所述待变形三维模型。7.如权利要求6所述的数据驱动的三维模型编辑系统,其特征在于,所述获取新三维模型库模块中对所述原三维模型库进行简化的步骤为选取所述原三维模型库中一个三维模型作为基准三维模型,并通过基于二次能量误差的方法进行对所述原三维模型库简化,然后依据欧式距离,建立所述原三维模型库与所述新三维模型库的对应关系。8.如权利要求6或7所述的数据驱动的三维模型编辑系统,其特征在于,所述获取新特征向量集合模块包括计算所述基准三维模型上每个顶点的一阶邻域相对于所述基准模型的仿射变换,将所述仿射变换进行极分解,生成刚体变换矩阵与实对称矩阵,并将所述刚体变换矩阵的逆乘以相邻顶点的刚体变换矩阵,生成与旋转平移无关并描述局部的相对刚体变化的矩阵,并通过矩阵指数映射获取所述特征向量集合。9.如权利要求6所述的数据驱动的三维模型编辑系统,其特征在于,所述获取新特征向量集合模块包括建立全局能量函数,通过所述全局能量函数对所述新特征向量集合对应的权重进行优化。10.如权利要求6所述的数据驱动的三维模型编辑系统,其特征在于,所述重建模块包括根据所述最终特征向量,通过SVD分解计算所述待变形三维模型上每个顶点上的刚体变换,并根据所述刚体变换与所述新控制点的顶点位置,通过线性方程组计算顶点坐标。
【文档编号】G06T19/20GK105957154SQ201610273080
【公开日】2016年9月21日
【申请日】2016年4月28日
【发明人】高林, 夏时洪, 陈姝宇
【申请人】中国科学院计算技术研究所