基于局部区域特征的三维网格模型自适应简化方法技术

技术编号:23606260 阅读:47 留言:0更新日期:2020-03-28 06:58
本发明专利技术公开了一种基于局部区域特征的三维网格模型自适应简化方法,包括步骤:1)从三维模型数据集构建局部区域数据集;2)训练MLP分类网络:利用局部区域数据集训练一个基于局部区域特征和简化率的分类网络;3)计算顶点法线偏差阈值:定义分类结果和顶点法线偏差阈值间的函数关系,利用分类结果计算顶点法线偏差阈值。本发明专利技术提出了一种基于三维网格模型拓扑结构的局部区域提取方法,利用MLP来对区域特征训练分类器,简化时,对各个局部区域分类并用分类结果指导局部区域顶点设置法线偏差阈值,即对局部区域设置不同的简化终止条件,避免了对模型设置统一的简化率,实现自适应简化,获得更高的简化率。

Adaptive simplification of 3D mesh model based on local region features

【技术实现步骤摘要】
基于局部区域特征的三维网格模型自适应简化方法
本专利技术涉及三维网格模型简化的
,尤其是指一种基于局部区域特征的三维网格模型自适应简化方法。
技术介绍
随着计算机图形学的发展以及计算机性能的提高,三维模型在虚拟现实、动画游戏、生产制造等领域都得到了广泛地使用和研究。三维数据采集和建模技术的飞速发展使三维模型的精度越来越高,数据量也随之飞速增长,给计算机的绘制、传输、编辑等系统都带来了巨人的压力。解决这些问题的一个途径就是对三维模型进行简化。目前常用的网格简化方法大多从几何层次来控制简化的过程,通过设置一个全局简化率,计算简化的几何误差和更新网格顶点位置,配合预先设定的简化准则或约束进行简化,并且可以通过手动设置简化率得到不同细节程度的模型。最理想的简化结果是期望将模型简化到能够保持其视觉吸引力和细节特征的最简的程度,这一目标很难通过手动设置简化率实现,但如果能够结合模型局部区域的特征进行简化,对不同的区域自适应地控制简化过程,就能在最大程度地考虑局部区域特征和保持细节特征的情况下尽可能多的减少大量三角形面片。而现有的网格简化算法多考虑模型的几何、拓扑信息和颜色、纹理等属性来约束简化的过程,鲜少考虑根据模型不同区域特征自适应简化的问题。随着机器学习和深度学习的流行,可以通过监督学习的方式,根据局部区域的特征,对不同区域设置不同的简化终止条件,实现基于局部区域特征的自适应简化而不是对整个模型设置全局简化率。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提出了一种基于局部区域特征的三维网格模型自适应简化方法,该方法将传统的网格简化算法结合监督学习的方法,对不同的区域自适应地控制简化过程,该方法基于QEM和顶点法线偏差的简化算法,利用MLP对局部区域分类结果来设置局部区域网格顶点法线偏差阈值,灵活控制不同类别局部区域的简化终止条件,实现局部区域自适应简化。为实现上述目的,本专利技术所提供的技术方案为:基于局部区域特征的三维网格模型自适应简化方法,包括以下步骤:1)从三维网格模型数据集获得局部区域数据集在三维网格模型数据集的基础上,利用网格模型的拓扑结构,从每一个三维网格模型上按照设定的规则提取若干个局部区域,通过对这些局部区域计算构成该局部区域的网格顶点的曲率、网格面之间的二面角的特征,这些特征即构成一个局部区域的特征向量,然后计算简化前后构成局部区域的网格面的个数变化,获得局部区域的简化率类别标签,由特征向量和每个特征向量对应的简化率类别标签即构造出输入网络训练的局部区域数据集;2)训练和应用MLP分类网络利用前一步获得的局部区域数据集,采用监督学习的方式,训练一个用于预测局部区域可简化程度的MLP分类网络,该MLP分类网络的输入是局部区域数据集的特征向量和简化率类别标签,当MLP分类网络训练完成后,对于一个输入的局部区域特征向量,MLP分类网络输出一个预测的简化率类别标签,这个简化率类别标签即用于衡量该特征向量对应的局部区域的可简化程度;3)计算顶点法线偏差阈值控制局部区域的自适应简化自适应意味着,对于具有不同特征向量和简化率类别标签的局部区域,即具有不同可简化程度的局部区域,根据前一步MLP分类网络预测出的可简化程度,设置不同的简化控制条件,以此达到自适应简化的目标,而顶点法线偏差就是简化的控制条件,顶点法线偏差越大,表示该顶点所在区域越不平坦,属于特征丰富的区域,对于简化算法而言,顶点法线偏差阈值的设定会影响网格简化的效果,顶点法线偏差阈值越小,意味着很多顶点法线偏差大的细节区域不会被简化,最终三维网格模型被简化的地方会相对变少,而顶点法线偏差阈值越大则表明很多顶点法线偏差大的细节区域也会被简化,最终三维网格模型被简化的地方会更多,因此,通过定义MLP分类网络对局部区域的分类结果和顶点法线偏差阈值间的函数关系,利用MLP分类网络的分类结果设定局部区域的顶点法线偏差阈值,实现对于不同可简化程度的局部区域设置自适应的顶点法线偏差阈值,进而自适应地控制简化过程。在步骤1)中,对于一个三维网格模型,利用网格模型的拓扑结构,以部分网格顶点为种子点,采用广度优先遍历的方式,获得种子点V的1-ring邻域、2-ring邻域顶点……以及这些顶点组成的面,将这些顶点和面定义为一个局部区域,当该局部区域包含的网格顶点达到规定数目或者迭代次数达到规定次数时,即停止迭代,一个局部区域提取完成,然后再选择距离组成该局部区域的点集最远的网格顶点作为下一个种子点继续提取下一个局部区域,以此类推,直至所有网格顶点都有所属的局部区域,即完成全部局部区域提取。在步骤1)中,对提取到的局部区域,计算构成一个局部区域的每个网格顶点的高斯曲率C(v)以及每个网格面和其邻接面的二面角平均值A(f),将顶点的高斯曲率C(v)和二面角平均值A(f)作为该局部区域的原始特征f,并且调整特征尺度,将顶点高斯曲率C(v)映射到了[0,1],二面角平均值A(f)映射到[0,2π],然后分别对高斯曲率C(v)和二面角平均值A(f)做统计特征,分别得到201维特征,再计算构成该局部区域的网格顶点数量和网格面数量的比值作为第403维特征,最终,对于每一个局部区域得到一个403维的特征向量F;另外,对提取到的局部区域,再采用一个简化算法对这些局部区域做简化并计算出简化率,对简化率经过处理后,得到该局部区域对应的特征向量的简化率类别标签label,至此,一个局部区域即对应一个403维的特征向量F和其简化率类别标签label;简化算法采用二次误差度量QEM的方法计算和更新顶点位置,同时定义每个顶点法线偏差,由法线偏差决定何时终止顶点合并,由此控制简化的过程,顶点法线偏差的计算公式为:式中,nd(v)为顶点的法线偏差,Nf(v)表示顶点v的1环邻域面,nf表示面f的法线,nv表示顶点v的法线,Sf表示面f的面积;定义能量函数E(v),当能量函数不为0,顶点不满足简化条件,该顶点不再被合并即不再简化,统一设置法线偏差的阈值ε=0.6,即当顶点法线偏差nd(v)<0.6时允许进行合并,否则不再合并;定义的能量函数E(v)如下:E(v)=δ(nd(v)-ε),需要指出的是,顶点法线偏差越大,表示该顶点所在区域越不平坦即属于特征丰富的区域,对于简化算法而言,顶点法线偏差阈值的设定会影响网格简化的效果,顶点法线偏差阈值越小,意味着很多顶点法线偏差大的细节区域不会被简化,最终三维网格模型被简化的地方会相对变少,而顶点法线偏差阈值越大则表明很多顶点法线偏差大的细节区域也会被简化,最终三维网格模型被简化的地方会更多;这里设置顶点法线偏差阈值为0.6,能够获得模型特征保持相对完好的简化效果。进一步,利用简化算法简化三维网格模型并计算出简化率,p和p′分别表示简化之前和简化之后的局部区域,首先计算出简化前后局部区域包含面的数量分别为face(p)和face(p′),令局部区域简化率为R,局部区域的简化率类别标签为label,则:label=floor(10*R)其中本文档来自技高网...

【技术保护点】
1.基于局部区域特征的三维网格模型自适应简化方法,其特征在于,包括以下步骤:/n1)从三维网格模型数据集获得局部区域数据集/n在三维网格模型数据集的基础上,利用网格模型的拓扑结构,从每一个三维网格模型上按照设定的规则提取若干个局部区域,通过对这些局部区域计算构成该局部区域的网格顶点的曲率、网格面之间的二面角的特征,这些特征即构成一个局部区域的特征向量,然后计算简化前后构成局部区域的网格面的个数变化,获得局部区域的简化率类别标签,由特征向量和每个特征向量对应的简化率类别标签即构造出输入网络训练的局部区域数据集;/n2)训练和应用MLP分类网络/n利用前一步获得的局部区域数据集,采用监督学习的方式,训练一个用于预测局部区域可简化程度的MLP分类网络,该MLP分类网络的输入是局部区域数据集的特征向量和简化率类别标签,当MLP分类网络训练完成后,对于一个输入的局部区域特征向量,MLP分类网络输出一个预测的简化率类别标签,这个简化率类别标签即用于衡量该特征向量对应的局部区域的可简化程度;/n3)计算顶点法线偏差阈值控制局部区域的自适应简化/n自适应意味着,对于具有不同特征向量和简化率类别标签的局部区域,即具有不同可简化程度的局部区域,根据前一步MLP分类网络预测出的可简化程度,设置不同的简化控制条件,以此达到自适应简化的目标,而顶点法线偏差就是简化的控制条件,顶点法线偏差越大,表示该顶点所在区域越不平坦,属于特征丰富的区域,对于简化算法而言,顶点法线偏差阈值的设定会影响网格简化的效果,顶点法线偏差阈值越小,意味着很多顶点法线偏差大的细节区域不会被简化,最终三维网格模型被简化的地方会相对变少,而顶点法线偏差阈值越大则表明很多顶点法线偏差大的细节区域也会被简化,最终三维网格模型被简化的地方会更多,因此,通过定义MLP分类网络对局部区域的分类结果和顶点法线偏差阈值间的函数关系,利用MLP分类网络的分类结果设定局部区域的顶点法线偏差阈值,实现对于不同可简化程度的局部区域设置自适应的顶点法线偏差阈值,进而自适应地控制简化过程。/n...

【技术特征摘要】
1.基于局部区域特征的三维网格模型自适应简化方法,其特征在于,包括以下步骤:
1)从三维网格模型数据集获得局部区域数据集
在三维网格模型数据集的基础上,利用网格模型的拓扑结构,从每一个三维网格模型上按照设定的规则提取若干个局部区域,通过对这些局部区域计算构成该局部区域的网格顶点的曲率、网格面之间的二面角的特征,这些特征即构成一个局部区域的特征向量,然后计算简化前后构成局部区域的网格面的个数变化,获得局部区域的简化率类别标签,由特征向量和每个特征向量对应的简化率类别标签即构造出输入网络训练的局部区域数据集;
2)训练和应用MLP分类网络
利用前一步获得的局部区域数据集,采用监督学习的方式,训练一个用于预测局部区域可简化程度的MLP分类网络,该MLP分类网络的输入是局部区域数据集的特征向量和简化率类别标签,当MLP分类网络训练完成后,对于一个输入的局部区域特征向量,MLP分类网络输出一个预测的简化率类别标签,这个简化率类别标签即用于衡量该特征向量对应的局部区域的可简化程度;
3)计算顶点法线偏差阈值控制局部区域的自适应简化
自适应意味着,对于具有不同特征向量和简化率类别标签的局部区域,即具有不同可简化程度的局部区域,根据前一步MLP分类网络预测出的可简化程度,设置不同的简化控制条件,以此达到自适应简化的目标,而顶点法线偏差就是简化的控制条件,顶点法线偏差越大,表示该顶点所在区域越不平坦,属于特征丰富的区域,对于简化算法而言,顶点法线偏差阈值的设定会影响网格简化的效果,顶点法线偏差阈值越小,意味着很多顶点法线偏差大的细节区域不会被简化,最终三维网格模型被简化的地方会相对变少,而顶点法线偏差阈值越大则表明很多顶点法线偏差大的细节区域也会被简化,最终三维网格模型被简化的地方会更多,因此,通过定义MLP分类网络对局部区域的分类结果和顶点法线偏差阈值间的函数关系,利用MLP分类网络的分类结果设定局部区域的顶点法线偏差阈值,实现对于不同可简化程度的局部区域设置自适应的顶点法线偏差阈值,进而自适应地控制简化过程。


2.根据权利要求1所述的基于局部区域特征的三维网格模型自适应简化方法,其特征在于:在步骤1)中,对于一个三维网格模型,利用网格模型的拓扑结构,以部分网格顶点为种子点,采用广度优先遍历的方式,获得种子点V的1-ring邻域、2-ring邻域顶点……以及这些顶点组成的面,将这些顶点和面定义为一个局部区域,当该局部区域包含的网格顶点达到规定数目或者迭代次数达到规定次数时,即停止迭代,一个局部区域提取完成,然后再选择距离组成该局部区域的点集最远的网格顶点作为下一个种子点继续提取下一个局部区域,以此类推,直至所有网格顶点都有所属的局部区域,即完成全部局部区域提取。


3.根据权利要求1或2所述的基于局部区域特征的三维网格模型自适应简化方法,其特征在于:在步骤1)中,对提取到的局部区域,计算构成一个局部区域的每个网格顶点的高斯曲率C(v)以及每个网格面和其邻接面的二面角平均值A(f),将顶点的高斯曲率C(v)和二面角平均值A(f)作为该局部区域的原始特征f,并且调整特征尺度,将顶点高斯曲率C(v)映射到了[0,1],二面角平均值A(f)映射到[0,2π],然后分别对高斯曲率C(v)和二面角平均值A(f)做统计特征,分别得到201维特征,再计算构成该局部区域的网格顶点数量和网格面数量的比值作为第403维特征,最终,对于每一个局部区域得到一个403维的特征向量F;另外,对提取到的局部区域,再采用一个简化算法对这些局部区域做简化并计算出简化率,对简化率经过处理后,得到该局部区域对应的特征向量的简化率类别标签label,至此,一个局部区域即对应一个403维的特征向量F和其简化率类别标签label;简化算法采用二次误差度量QEM的方法计算和更新顶点位置,同时定义每个顶点法线偏差,由法线偏差决定何时终止顶点合并,由此控制简化的过程,顶点法线偏差的计算公式为:



式中,nd(v)为顶点的法线偏差,Nf(v)表示顶点v的1环邻域面,nf表示面f的法线,nv表示顶点v的法线,Sf表示面f的面积;
定义能量函数E(v),当能量函数不为0,顶点不满足简化条件,该顶点不再被合并即不再简化,统一设置法线偏差的阈值ε...

【专利技术属性】
技术研发人员:冼楚华杨煜
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

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

1