技术领域:
本发明涉及一种基于云模型和神经网络的三维模型分类方法,该方法在三维模型分类领域有很好的应用。
背景技术:
随着计算机视觉的发展,三维模型分类工作受到了更多学者的关注。三维模型分类在工业和工程中有着重要的应用,其分类效果好坏与实际生产有紧密的联系。近年来,机器学习中的神经网络算法已被应用到模型分类领域。神经网络是当前机器学习算法中的主要网络模型,神经网络良好的非线性性能可以很好的刻画出非线性分类曲面,带来很好的模型分类效果。云模型则将三维模型的模糊性与不确定性融合进特征构造中,即使用云模型来表征每个三维模型。其中,云模型是使用期望值Ex、熵En和超熵He来进行表示。然后,利用期望值Ex、熵En和超熵He以及模型类别来构成训练数据集对网络进行训练。利用训练好的小波神经网络对三维模型进行更为精准的分类。神经元的权值是共享的,使神经元可以共享资源,降低了网络模型的复杂度。使用小波函数对神经网络权值进行调节。因此,可以很好地融合云模型和小波神经网络进行三维模型分类。
发明内容:
本发明公开了一种基于云模型和神经网络的三维模型分类方法。为此,本发明提供了如下技术方案:
1.基于云模型和神经网络的三维模型分类方法,该方法包括以下步骤:
步骤1:提取三维模型的几何属性,包括D2(两个随机点之间的距离)、D3(三个随机点所形成三角形面积的平方根),建立特征数据集。
步骤2:由于形状特征选取具有随机性,存在重复项,故将各特征向量转化为更具有代表性的特征,以此提高分类效率。
步骤3:使用云模型将各特征数据转换为云模型表征的定性概念。
步骤4:将模型云特征作为神经网络的输入。选取大量三维模型的特征及其类别作为训练数据,选取足够多的三维模型的特征数据及其类别作为测试数据。
步骤5:训练神经网络,将训练数据的云特征输入到小波神经网络中,得到分类输出。通过反向传播优化小波神经网络各层之间的权值。经过多次训练之后,得到优化后的小波神经网络。
步骤6:三维模型的分类过程,将测试数据的云特征输入到优化后的小波神经网络中,输出结果为三维模型所对应的分类。
2.根据权利要求1所述的基于云模型和神经网络的三维模型分类方法,所述步骤1中,具体步骤为:
步骤1-1利用工具提取三维模型的形状特征D2(两个随机点的距离);
步骤1-2利用工具提取三维模型的形状特征D3(三个随机点所形成三角形面积的平方根);将形状特征D2和D3作为三维模型的泛性特征。
3.根据权利要求1所述的基于云模型和神经网络的三维模型分类方法,所述步骤2中,具体步骤为:
步骤2-1统计D2和D3中各元素出现频率;
步骤2-2计算各元素与其对应频率的乘积,重新构造形状特征向量D2’和D3’;
其中:
D2'=[p(D2(1))*D2(1),p(D2(2))*D2(2),…,p(D2(10000))*D2(10000)]
D3'=[p(D3(1))*D3(1),p(D3(2))*D3(2),...,p(D3(10000))*D3(10000)]
其中,p(D2(i))为D2的第i个元素出现的频率;p(D3(i))为D3的第i个元素出现的频率。
步骤2-3将各形状特征根据其元素出现频率以高频率为根结点,低频率为叶子结点构造二叉树。使用深度后序遍历选取数据,将各形状特征数目从10000降为5000。其中,使用深度后序列遍历是因为叶子结点是由频率较低的形状特征元素构成,更能体现模型之间的差别。
4.根据权利要求1所述的基于云模型和神经网络的三维模型分类方法,所述步骤3中,具体步骤为:
步骤3-1将每一种降维后的形状特征转换为云模型表征的定性概念,即将每一种形状特征转化为以期望值Ex、熵En和超熵He表示的云模型;
其中,n为每一种形状特征的样本容量,S为每一种形状特征的方差。
步骤3-2使用软或方法将多种特征整合为用一组期望值Ex、熵En和超熵He表示的云模型。
软或计算公式如下:
He
5.根据权利要求1所述的基于云模型和神经网络的三维模型分类方法,所述步骤4中,选取数据集,具体步骤为:
步骤4-1根据三维模型的云特征和模型类别,生成基于云特征的三维模型数据;
步骤4-2随机抽取1000个三维模型作为训练模型,并随机抽取100个三维模型作为测试模型。
6.根据权利要求1所述的基于云模型和神经网络的三维模型分类方法,所述步骤5中,训练小波神经网络模型,具体步骤为:
步骤5-1将训练数据的云特征及模型类别输入到初始化的小波神经网络模型中,输入的数据经过输入层计算后传入隐含层中;
步骤5-3在隐含层中对数据进行小波计算,得到的结果传输到输出层;隐含层输出公式为:
其中:x
步骤5-4将网络的预测值和真实值进行比较,计算网络预测误差。
网络预测误差计算公式为:
其中:e表示误差,y(k)表示真实分类,
7.根据权利要求1所述的基于云模型和神经网络的三维模型分类方法,所述步骤6中,对三维模型进行分类,具体步骤为:
步骤6-1将测试数据的云特征及模型类别输入到训练好的小波神经网络中;
步骤6-2在隐含层中,计算网络的小波函数输出值;
隐含层小波函数的输出如下:
其中:w
步骤6-3在输出层中,计算三维模型的输出类别。
其中:c
有益效果:
1.本发明是一种基于云模型和神经网络的三维模型分类方法,以普斯林顿大学PSB模型库中的模型为基础,进行了模型分类测试。结果表明,本文方法具有较高的准确性。
2.本发明使用的分类模型为云模型与小波神经网络,小波函数使神经网络拥有动态学习能力,进而对三维模型进行精准地分类。本方法避免了传统分类易于陷入局部最优的问题。
3.本发明训练分类模型时,采用小波函数动态调整权重因子。计算误差,通过反向传播进行优化更新网络,直到网络模型训练好为止。利用误差反向传播不断地对网络进行更新,以提高网络对输入数据的分类准确率。
具体实施方式:
为了使本发明实施中的技术方案能够清楚和完整的描述,对本发明进行进一步的详细说明。
本文使用普斯林顿大学PSB模型库中的三维模型数据进行实验验证。
本发明实施基于云模型和神经网络的三维模型分类方法,包括以下步骤。
步骤1三维模型几何特征提取过程如下:
选用普斯林顿大学PSB模型数据库中编号为m391模型为例。
步骤1-1以模型文件为基础,计算三维模型的形状特征D2(两个随机点的距离),提取数据元素个数为10000,部分数据如下:
D2=[0.00283426667662998,0.00567463747983135,0.00912103290365143,0.000294186501616176,0.00835726088952935,0.00961199728737373,0.00739441153784554…]。
步骤1-2以模型文件为基础,计算三维模型的形状特征D3(三个随机点形成的三角形面积的平方根),提取数据元素个数为10000,部分数据如下:
D3=[0.000448976367654445,0.000393379329020354,0.00259889955189712,0.000507642423099568,4.80095303683493e-06,0.000272945452448475,1.28121448200213e-05…]。
步骤2对形状特征进行降维,具体为:
步骤2-1统计D2和D3中各元素出现频率;
步骤2-2计算各元素与其对应频率的乘积,重新构造形状特征向量D2’和D3’,部分数据如下:
D2’=[1.22959180269419e-05,2.25351019867026e-06,5.09612796824189e-06,9.60402045613015e-06,7.14861694993262e-06,1.11085212716950e-07,5.52838518242510e-06……]。
D3’=[5.34236361684549e-05,4.92565280966395e-05,1.94680148151428e-06,9.41016376994798e-06,3.73976464366086e-05,1.88572489784378e-05,2.97257153597928e-05……]。
步骤2-3将各形状特征根据其元素出现频率以高频率为根结点,低频率为叶子结点构造二叉树。使用深度后序遍历选取数据,将各形状特征数目从10000降为5000。
步骤3计算三维模型的云特征Ex、En、He,具体为:
步骤3-1将每一种降维后的形状特征转换为云模型表征的定性概念,即将每一种形状特征转化为以期望值Ex、熵En和超熵He表示的云模型;
步骤3-2使用软或方法将多种特征整合为用一组期望值Ex、熵En和超熵He表示的云模型;
以模型m391为例,整合结果如下:
步骤4对PSB中的三维模型进行步骤1、步骤2和步骤3操作,并提取对应的类别,构成数据集,具体为:
步骤4-1对PSB数据库中的所有三维模型数据,进行步骤1~步骤3操作,提取各模型的D2和D3形状特征与类别,并进行云模型数字特征转换,生成基于云特征的模型数据;
步骤4-2随机抽取1000个三维模型数据作为训练数据集,随机抽取100个三维模型数据作为测试数据集;
步骤5小波神经网络训练,具体为:
步骤5-1将训练数据的云特征及模型类别输入到初始化的小波神经网络中,输入的数据经过输入层计算后传入隐含层中;
步骤5-2在隐含层中对数据进行小波计算,得到的结果传输到输出层;隐含层输出结果以模型m391为例;
隐含层输出公式为:
其中:Ex(m391)=5.015938894584e-05、En(m391)=3.121415153659e-05、He(m391)=1.2305977215839e-05i。
输出层计算公式为:
其中:a
步骤5-4将网络输出的预测分类与真实分类“building”进行比较,通过网络误差计算公式计算误差;
m391的网络预测误差为:
其中:y(k)表示m391的真实分类“building”的编号,
根据误差e(m391)进行反向传播,并利用小波函数修改网络权重,小波参数以及权重的计算如下所示:
通过不断迭代,得到训练好的小波神经网络。
步骤6三维模型分类过程,以PSB中另一模型m390为例,具体为:
步骤6-1将模型m390的云特征输入到训练好的小波神经网络中;
其中,三维模型m390整合之后的云特征Ex(m390)、En(m390)、He(m390)。
步骤6-2在隐含层中,计算网络的小波函数输出值;
隐含层小波函数输出值如下:
其中:x
步骤6-3在输出层中,计算三维模型的最终类别。
其中:c
利用小波人工神经网络模型,对三维模型m390进行分类预测。神经网络模型对三维模型m390所对应的分类标号为“1”,即“building”。通过实验结果表明,网络对于测试数据的输出误差在0.3之内,经计算网络预测误差值为3%。该方法在一定程度上可以有效解决三维模型的分类问题。
本发明实施方式所实现的基于云模型和神经网络的三维模型分类方法,采用了云模型与小波神经网络模型,实现较高准确率的分类。
以上所述是对本发明的实施例进行的详细介绍,本文的具体实施方式只是用于帮助理解本发明的方法。对于本技术领域的普通技术人员,依据本发明的思想,在具体实施方式及应用范围内均可有所变更和修改,故本发明书不应理解为对本发明的限制。
机译: 一种测量空心物体的内表面的形状,尺寸和弹性性能的方法,一种构建空心物体的内表面的三维模型的方法,一种用于测量内部物体的形状,尺寸和弹性性能的装置空心物体的表面,以及建立空心物体内表面的三维模型
机译: 一种用于学习和内部学习的三维模型的方法以及一种拼图型三维模型
机译: 利用基于三维模型的船体智能管理服务器管理基于三维模型的船体的方法