一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于神经网络的特征融合的三维模型网格简化方法与流程

2021-10-24 06:40:00 来源:中国专利 TAG:网格 简化 模型 曲率 神经网络


1.本发明属于计算机图形学、工业自动化虚拟仿真领域,涉及一种三维模型网格简化算法,具体涉及一种基于神经网络和曲率特征融合的二次误差度量的工业三维模型网格简化方法。


背景技术:

2.计算机图形学通常使用三维网格模型用于描述对象的外形,随着生活、互联网和工业控制各方面的发展,对于三维图形的观感需求逐步提高,促使高精度的三维网格模型的使用越来越普遍。三维网格模型的渲染效率与模型中的三角面片数量成正比,高精度大场景的三维网格模型会增加设备能耗和运行速度;而且对于实际运行情况,三维网格模型各个面并不同时展示,在某些特定的情况下,并不需要展示模型的具体细节。与此同时,arm架构处理器gpu性能弱于主流处理器,在为了满足arm架构下的工业三维组态软件的虚拟场景的高效运行,需要针对工业三维网格模型进行个性化的网格简化操作。
3.三维网格简化是指在维持模型整体外观和拓扑结构的情况下,对网格模型中冗余或者符合要求的顶点和面片进行删除,从而达到减少模型实际存储大小的目的。另外,三维网格模型中存在的狭长无意义的三角面片会影响到模型实时渲染中图形观感且会占用多余的资源,尤其是手工制作的3d模型由于其特定的文件格式,经常会不可避免的创建冗余的顶点和面,在建模过程中生成的无效未引用的冗余顶点会增加不必要的计算开销,并且还可能限制模型表现的能力。因此,通过删除此类多余的顶点和面来减少gpu的计算处理时间是提高整体渲染效率的一个可行的解决方案。目前主流的网格简化算法为基于顶点收缩的二次误差度量算法,能够对三维模型进行较大程度的精简,但是对于模型的特征维持不够友好且效率较低;除此之外,在三维网格模型精简程度和特征维持尺度之间的关系并没有较为直观的公式和高效的算法,从而会产生针对不同模型的精简程度个性化缺失问题。


技术实现要素:

4.本发明针对上述问题,提出了一种基于神经网络和曲率特征融合的二次误差度量的工业三维模型网格简化方法。
5.本发明的技术方案为一种基于神经网络的特征融合的三维模型网格简化方法,具体包括以下步骤:
6.步骤1,提取三维网格模型的顶点坐标和几何拓扑结构;
7.步骤2,对每条边进行折叠操作
8.对三维网格模型的每条边使用改进的二次误差度量算法tqem,得到边的折叠成本,再计算边对应顶点的高斯曲率,添加到折叠成本中维持特征边缘,引入可变参数ω进行边折叠损失函数的计算控制,完成三维网格模型的简化;
9.步骤3,使用hausdorff距离计算简化网格模型和原始网格模型之间的近似误差,比较不同可变参数ω下的近似误差,得到最优可变参数ω;
10.步骤4,构造模型顶点结构特征数据、目标简化率和对应的可变参数的训练集和测试集,构建卷积神经网络分类器,并进行训练和测试;
11.步骤5,采用acc和损失的建模性能指标评估结果,使用混淆矩阵评估分类的准确性,实现三维模型网格简化的最优简化参数快速选定方法。
12.进一步的,步骤2的具体实现如下:
13.在进行算法迭代前,需要对网格模型中所有节点进行初始化几何误差的计算,其中几何误差在tqem中为二次误差。qem将一组平面和模型的每个顶点关联,由移除特定顶点引起的几何误差定义为给定顶点到关联集合中所有平面的平方距离的平方和。
14.在原始网格模型中定义网格中的一个面片平面为:
[0015][0016]
其中,d为常量,为其单位法向量。从中得到的节点a=[xyz]
t
到目标平面的距离平方方程为:
[0017][0018]
与v相关的二次误差则可以表示为:
[0019]
q(v)=v
t
av 2b
t
v c
[0020]
按照两个平面的分量二次误差组合起来,即当有(q1 q2)=(a1 a2,b1 b2,c1 c2)时,可表示为:q1(v) q2(v)=(q1 q2)(v)。对网格中(v1,v2)进行边塌陷操作并收缩到节点得到对应二次误差为
[0021]
对求解,得到折叠成本及最优二次误差时点的位置坐标:的位置坐标:和
[0022]
网格内部顶点的高斯曲率为:
[0023][0024]
其中n是与当前顶点相邻三角形的数量,s
∑(v)
是与当前顶点相邻的每个三角形面积的总和,θ
i
是三角形f
i
与当前顶点接壤的顶点处的内角。
[0025]
根据顶点算出边的高斯曲率:
[0026]
c(e)=|c(v1)|ω1 |c(v2)|ω2[0027]
其中,c(v1)和c(v2)分别是点v1和v2的高斯曲率,权重系数ω
i
可表示为:
[0028][0029]
其中,是v
i
的邻域三角面片的面积之和。
[0030]
将高斯曲率添加到折叠成本中保留特征边缘,新的折叠损失可以表示为:
[0031]
s
cost
=c(e)
ω
q(e)
[0032]
其中,ω是用来平衡高斯曲率c(e)和二次误差q(e)。
[0033]
将折叠损失结果维护在自定结构的最小堆中,加入效率提升的trick,用优先队列维护堆并用map进行管理队列中数据的时间状态,每次操作后,时间戳加一,再插入时使用元素的编号作为map的key值进行更新时间戳,同时在插入的元素中使用加入当前的时间状态,元素删除的时候把对应节点的时间状态置为

2。
[0034]
接着通过深度优先搜索方式枚举各个点,从枚举点出发,当路径的欧几里得距离一旦超过阈值就进行剪枝。
[0035]
最后根据以上简化准则,重复迭代收缩直至最低节点阈值,得到简化后的三维模型。
[0036]
进一步,步骤5的具体实现如下:
[0037]
通过先验的集和来确定适用于模型简化的最优ω分别为0,0.01,0.008,来用作网络最终的输出,将模型的所有顶点坐标作及目标简化率作为的输入张量,相应的可能最优的结果作为ω的分类选择项,在同一模型下的不同简化率下能够得到最小误差的最优参数ω是不同的,而且对于不同模型来说,最优的取值类别也说不同,说明最优简化参数不仅与模型的总顶点数目、简化率有关,也与模型在三维空间中的顶点空间结构相关。
[0038]
对13个常见基础模型包括一部分工业模型进行特征提取,为每个模型匹配99种简化比率,每个简化比率对应一个最优ω,数据集总量为1287条。将80%数据设置为训练集,20%数据设置为测试集。
[0039]
网络结构使用了两种不同形状的卷积核来提取模型的特征数据,在原始坐标处理器中,对三维模型中面片及其点的构成及坐标点在三维空间的具体坐标系数构建三维张量,通过第一个卷积核的计算,数据由三维降维到二维,将模型简化率进行维度扩张,将简化特征和模型特征进行组合,进行特征融合;通过第二个卷积核,得到一维特征向量,将得到的一维向量输入到全连接网络中来构造通道的相关性并输出权重,使用5层的全连接来操作输出特征图,其中采用了池化和dropout激活函数使用relu来防止过拟合问题,最终输出层采用softmax来输出最优参数类别。最后使用预测森林模型进行网格模型简化的最优简化参数的分类。
[0040]
本发明相对于现有技术具有的效果:本发明解决了传统二次误差度量算法效率较低、网格简化中特征维持问题和模型精简个性化缺失的问题;并将最终得到的精简模型,应用到arm架构下的工业三维组态软件中,以解决该平台上工业虚拟场景渲染低效等问题。
附图说明
[0041]
图1是基于神经网络和曲率特征融合的二次误差度量的工业三维模型网格简化过程的流程图。
[0042]
图2是本技术构造的卷积神经网络分类器结构图。
[0043]
图3是最优简化参数下的简化模型效果对比图。
[0044]
图4是部分模型在不同简化率下的最优参数对应近似误差数据表。
[0045]
图5是顶点高斯曲率计算示意图。
[0046]
图6是边的折叠过程计算示意图。
具体实施方式
[0047]
为了便于本领域普通技术人员理解和实施本技术,下面结合附图及实施里对本技术进一步的详细阐述,应当理解,次数所描述的实施实例仅用于说明和解释本技术,并不用于限定本技术。
[0048]
如图1所示,本技术涉及的工业三维模型网格简化过程,主要包含以下步骤:
[0049]
1,将优化的二次误差度量算法tqem与高斯曲率特征融合,并引入指数进行损失函数的计算控制,得到简化后的三维网格模型。并通过hausdorff距离计算简化网格模型和原始网格模型之间的近似误差。
[0050]
2,提取三维网格模型特征,加入模型简化率和近似误差,并输入训练模型,输出层输出最优参数类别。
[0051]
3,将训练完成的网络分类器进行预测三维网格模型的对应简化率下的最优参数类别,得到对应简化率下的具有最小近似误差的三维简化网格模型,实现三维模型网格简化的最优简化参数快速选定方法。
[0052]
本发明实施提供的一种基于神经网络和曲率特征融合的二次误差度量的工业三维模型网格简化方法,具体包括以下步骤:
[0053]
步骤1,提取三维网格模型的顶点坐标和几何拓扑结构;
[0054]
步骤2,对每条边进行折叠操作
[0055]
对三维网格模型的每条边使用改进的二次误差度量算法tqem,得到边的折叠成本,再计算边对应顶点的高斯曲率,添加到折叠成本中维持特征边缘,引入可变参数ω进行边折叠损失函数的计算控制,完成三维网格模型的简化;
[0056]
步骤3,使用hausdorff距离计算简化网格模型和原始网格模型之间的近似误差,比较不同可变参数ω下的近似误差,得到最优可变参数ω;
[0057]
步骤4,构造模型顶点结构特征数据、目标简化率和对应的可变参数的训练集和测试集,构建卷积神经网络分类器,并进行训练和测试;
[0058]
步骤5,采用acc和损失的建模性能指标评估结果,使用混淆矩阵评估分类的准确性,实现三维模型网格简化的最优简化参数快速选定方法。进一步的,为实现基于维持特征的边折叠操作,对三维网格模型的每条边使用的优化二次误差度量算法tqem的具体实现如下:
[0059]
在进行算法迭代前,需要对网格模型中所有节点进行初始化几何误差的计算,其中几何误差在tqem中为二次误差。qem将一组平面和模型的每个顶点关联,由移除特定顶点引起的几何误差定义为给定顶点到关联集合中所有平面的平方距离的平方和。
[0060]
在原始网格模型中定义网格中的一个面片平面为:
[0061][0062]
其中,d为常量,为其单位法向量,v表示关联该平面的顶点,从中得到的节点a=[xyz]
t
到目标平面的距离平方方程为:
[0063][0064]
与v相关的二次误差则可以表示为:
[0065]
q(v)=v
t
av 2b
t
v c
[0066]
按照两个平面的分量二次误差组合起来,即当有(q1 q2)=(a1 a2,b1 b2,c1 c2)时,可表示为:q1(v) q2(v)=(q1 q2)(v)。如图6所示,对网格中(v1,v2)进行边塌陷操作并收缩到节点得到对应二次误差为
[0067]
对求解,得到折叠成本及最优二次误差时点的位置坐标:的位置坐标:和
[0068]
进一步的,计算每条边对应顶点的高斯曲率,添加到折叠成本中维持特征边缘,引入可变参数ω进行边折叠损失函数的计算控制,完成三维网格模型的简化的具体实现如下:
[0069]
如图5,是一种在离散3d网格模型中估计内部顶点和边界顶点的高斯曲率的方法[1]
[0070]
[1]kim s,jeong w,kim c.lod generation with discrete curva

ture error metric.in:proceedings of korea israel bi

national conference;1999.pp.97

104.
[0071]
网格顶点的高斯曲率为:
[0072][0073]
其中n是与当前顶点相邻三角形的数量,s
∑(v)
是与当前顶点相邻的每个三角形面积的总和,θ
i
是三角形f
i
与当前顶点接壤的顶点处的内角。
[0074]
根据顶点算出边的高斯曲率:
[0075]
c(e)=|c(v1)|ω1 |c(v2)|ω2[0076]
其中,c(v1)和c(v2)分别是点v1和v2的高斯曲率,权重系数ω
i
可表示为:
[0077]
[0078]
其中,是v
i
的邻域三角面片的面积之和。
[0079]
将高斯曲率添加到折叠成本中保留特征边缘,新的折叠损失可以表示为:
[0080]
s
cost
=c(e)
ω
q(e)
[0081]
其中,ω是用来平衡高斯曲率c(e)和二次误差q(e)。
[0082]
将折叠损失结果维护在自定结构的最小堆中,加入效率提升的trick,用优先队列维护堆并用map进行管理队列中数据的时间状态,每次操作后,时间戳加一,再插入时使用元素的编号作为map的key值进行更新时间戳,同时在插入的元素中使用加入当前的时间状态,元素删除的时候把对应节点的时间状态置为

2。
[0083]
接着通过深度优先搜索方式枚举各个点,从枚举点出发,当路径的欧几里得距离一旦超过阈值就进行剪枝。
[0084]
最后根据以上简化准则,重复迭代收缩直至最低节点阈值,得到简化后的三维模型。
[0085]
进一步,构造模型顶点结构特征数据、目标简化率和对应的最优简化参数训练集和测试集,构建卷积神经网络分类器,并进行训练和测试的具体实现如下:
[0086]
如图4所示,通过先验的集和来确定适用于模型简化的最优ω分别为0,0.01,0.008,来用作网络最终的输出,将模型的所有顶点坐标作及目标简化率作为的输入张量,相应的可能最优的结果作为ω的分类选择项,在同一模型下的不同简化率下能够得到最小误差的最优参数ω是不同的,而且对于不同模型来说,最优的取值类别也说不同,说明最优简化参数不仅与模型的总顶点数目、简化率有关,也与模型在三维空间中的顶点空间结构相关。
[0087]
对13个常见基础模型包括一部分工业模型进行特征提取,为每个模型匹配99种简化比率,每个简化比率对应一个最优ω,数据集总量为1287条。将80%数据设置为训练集,20%数据设置为测试集。
[0088]
如图2所示,本技术构造的卷积神经网络分类器的网络结构使用了两种不同形状的卷积核来提取模型的特征数据,在原始坐标处理器中,对三维模型中面片及其点的构成及坐标点在三维空间的具体坐标系数构建三维张量,通过第一个卷积核的计算,数据由三维降维到二维,将模型简化率进行维度扩张,将简化特征和模型特征进行组合,进行特征融合;通过第二个卷积核,得到一维特征向量,将得到的一维向量输入到全连接网络中来构造通道的相关性并输出权重,使用5层的全连接来操作输出特征图,其中采用了池化和dropout激活函数使用relu来防止过拟合问题,最终输出层采用softmax来输出最优参数类别。最后使用预测森林模型进行网格模型简化的最优简化参数的分类。
[0089]
具体实施时,以上流程可采用对应的计算机软件技术实现。
[0090]
请见图3,本实验结果表明,基于神经网络和曲率特征融合的二次误差度量的工业三维模型网格方法,能够使三维网格模型在不同简化需求下选定最优简化参数,获得较好的特征维持效果和视觉观感。
[0091]
应当理解的是,本说明书未详细阐述的部分均属于现有技术,详细阐述的部分为本专利独创的技术方案。
[0092]
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权
利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜