一种面向三维加工特征的智能识别与检索方法与流程

文档序号:17723943发布日期:2019-05-22 02:22阅读:150来源:国知局
一种面向三维加工特征的智能识别与检索方法与流程

本发明属于深度学习和三维模型智能识别及检索技术领域,具体涉及一种面向三维加工特征的智能识别与检索方法。



背景技术:

近年来,随着制造业的发展,企业发展模式从大批量生产向多品种、小批量生产转变,零部件加工特征类型增加且形状复杂多变。另外,随着三维建模技术的日益成熟,零部件的三维模型数量已经呈现出爆炸式的增长趋势,三维工艺设计技术在企业中也逐步得到应用。在传统机械加工零件工艺设计中,技术人员往往依靠编码技术或经验知识对零件加工特征的形状、尺寸等进行识别,在此基础上实现工艺设计。这种方法对人的经验知识依赖度高,不利于快速有效地对加工特征进行工艺设计,且不符合企业智能制造的发展需求。因此,快速有效地识别和检索零部件三维加工特征是一个待解决的难题。

2012年,hinton教授等在imagenet数据集图像分类、检测和定位中采用了卷积神经网络模型,标志着卷积神经网络在图像识别领域取得了突破性的研究。现在,卷积神经网络已经被广泛应用在图像识别领域,比如人脸识别和手写数字识别,并都取得了不错的成绩。卷积神经网络在三维模型识别和检索中也得到应用,但其主要基于三维模型视图,这种方法难以表达完整的三维模型信息且对于三维模型的理解也较为困难。随着卷积神经网络的发展和计算机计算能力的提升,三维卷积神经网络被提出,为三维加工特征的识别和检索提供了解决方法。但是,当前已有的三维卷积神经网络架构需要学习的参数较多,网络层数少,计算速度较慢并且有可能出现过拟合,因此,如何采用三维卷积神经网络实现对三维加工特征的高效、精确识别与检索还存在诸多需要改进的地方。



技术实现要素:

本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种面向三维加工特征的智能识别与检索方法,能够很好地对三维加工特征进行识别和检索,且搭建了一个三维卷积神经网络架构,计算速度快,计算量少,并防止了出现过拟合的情况。

本发明采用以下技术方案:

一种面向三维加工特征的智能识别与检索方法,首先获取三维加工特征;然后对三维加工特征进行体素化处理;再对体素化模型进行数据增强处理得到三维加工特征数据集;然后构建三维卷积神经网络,训练三维加工特征并记录模型参数;然后输入三维加工特征,对加工特征三维模型进行体素化处理;根据记录的模型参数计算检索的加工特征与数据集中加工特征之间的相似度,得到检索的三维加工特征属于各个类别的概率,最后按降序排列输出检索结果。

具体的,体素化处理具体为:

体素网格以三维模型为中心,大小设置为a×b×c,a、b、c分别表示三维模型在空间三维坐标体系中沿三个坐标轴方向的体素大小,多余空间用0填充,体素完成后三维模型被离散为三维的二进制体素点。

具体的,通过对三维体素化模型进行随机旋转变换来扩充数据集如下:

其中,v是齐次空间中三维模型网格点组成的矩阵,θ是三维体素化模型的旋转角度,在-180°到180°之间随机变化。

具体的,构建三维卷积神经网络包括4个卷积层、4个池化层、2个全连接层和1个softmax层;4个卷积层依次分别为:一个7×7×7卷积层、一个5×5×5卷积层、一个4×4×4卷积层、一个3×3×3卷积层;4个池化层采用最大值的池化方式,滑动窗口大小都为2×2×2。

进一步的,三维卷积神经网络中的每一个卷积层都包括一个卷积层和一个relu层,每一个全连接层都包括一个全连接层和一个relu层,relu层激活函数如下:

r(x)=max(x,0)

其中,x表示卷积层或者全连接层函数的输入;

从三维体素化模型提取的特征映射在卷积层和池化层中传递时产生的featuremap计算如下:

其中,*表示卷积符号,表示第j个神经元连接第k-1层到第k层的权值向量,表示第j个神经元在第k层的偏置项,表示第j个神经元在第k层的输出。

进一步的,构建的三维卷积神经网络在每一个全连接层后加入dropout,以一定概率随机去除神经元,具体为:

其中,r(l)是一个独立的伯努利随机变量且其值为1的概率为p,*是卷积符号,是第l层全连接层的输出,为经dropout处理后的输出。

进一步的,采用随机梯度下降(sgd)优化算法训练三维卷积神经网络,具体为:

其中,i是迭代指数,是动量变量,∈是学习率,di表示第i批训练的三维模型。

进一步的,采用交叉熵损失函数对构建的三维卷积神经网络中的目标函数进行评价,具体为:

其中,y为softmax层输出预测的三维加工特征的类别标签,y是三维加工特征的真实类别标签,n表示数据中三维加工特征类别的数目。

具体的,检索的加工特征与数据集加工特征之间相似度计算如下:

其中,i=1,2,3…,n,j=1,2,3…,m,n表示数据集中加工特征类别总数,m表示每一个加工特征类别中包含的模型数目,q表示检索的加工特征,mi表示模型数据集中的第i类模型,表示加工特征q与第i类加工特征中第j个模型的相似度,s(q,mi)表示三维加工特征q与第i类加工特征的相似度。

具体的,通过softmax函数得到检索的三维加工特征属于各个类别的概率,实现三维加工特征的智能识别和检索,softmax函数如下:

其中,i,k=1,2,3…,n,n表示三维加工特征类别的总数,vk表示节点属于第k类,vi表示节点属于第i类,y(k)表示三维模型属于第k类的概率。

与现有技术相比,本发明至少具有以下有益效果:

本发明一种面向三维加工特征的智能识别与检索方法,不再依靠编码技术或经验知识来识别加工特征并进行工艺规划,而是构建了一个三维卷积神经网络,并将其应用到三维加工特征识别与检索领域,充分利用现有的三维模型库并进行体素化处理和数据增强处理得到训练数据集,采用搭建的三维卷积神经网络进行训练,能够实现对一个崭新三维加工特征的智能识别与检索。

进一步的,体素化处理采用三维空间立方体堆积的形式将三维加工特征转成为最接近该特征的体素形式。三维模型的空间体素类似于图像中的二维像素,即将图像中二维点阵延伸到三维立方体单元。使用体素形式来表示三维模型与其他方法相比能够有效地表示采样数据且能够直观表示三维模型的内部结构。另外,将三维加工特征表示为体素形式,也便于实现三维模型数据集的扩充。

进一步的,在已有三维卷积神经网络的基础上,为了让神经网络具有更强的学习能力,我们搭建了一个比以往三维卷积神经网络层数更多的网络架构,其包括4个卷积层、4个池化层、2个全连接层和1个softmax层。为了防止因网络层数太多而致使训练过程出现过拟合,我们采用了更多的池化层,让卷积层和池化层交替分布;我们还在每一个全连接层后都加入了dropout。因此,减少了训练过程的计算量,加快了训练速度且使得网络具有更高的三维加工特征识别和检索能力。

进一步的,通过计算从三维体素模型提取的特征映射在卷积层和池化层中产生的featuremap,可以确定三维模型经过每一个卷积层和池化层处理后输出的特征图尺寸大小,便于调节卷积核和滑动窗口的大小。其中,池化层对三维模型进行下采样,保留有用信息的同时减少数据计算量。另外,池化层不会减少特征图的数量,只会减少特征图的尺寸大小。

进一步的,在两个全连接层后都分别加入了dropout,以一定的概率随机将神经网络单元从网络中丢弃。对于随机梯度下降算法来说,由于是随机丢弃,故每批模型都在训练不同的网络,使得神经网络的学习能力更强。另外,训练过程丢弃了部分神经元,减少了计算量,可以防止出现过拟合而降低三维加工特征识别和检索的准确率;也可以加快三维模型的训练过程,减少训练时间。

进一步的,在构建的三维卷积神经网络中采用随机梯度下降优化算法,与其它优化算法相比其有许多优势,它能够使构建的三维卷积神经网络训练过程收敛速度更快、训练过程波动更小,三维模型识别和检索能够达到更高的准确率。

进一步的,采用交叉熵损失函数对训练过程进行评价。当训练过程误差大的时候,神经网络权重更新速度快;当误差小的时候,神经网络的权重更新速度慢。与普通二次损失函数相比,其可以避免训练过程太慢,能更有效的促进三维卷积神经网络的训练。

进一步的,通过计算检索的三维加工特征与数据集中加工特征包含的每一个子模型之间的相似度,进而计算出检索的加工特征与各个类别加工特征的相似度,便于降序排列得到最终的三维加工特征识别与检索结果。

进一步的,构建的三维卷积神经网络中的最后一层采用softmax函数,它将全连接层神经元的输出映射成为(0,1)区间内的值,这些值的累和为1,可以表示检索的三维加工特征属于各个类别的概率,最后将概率按降序排列输出,进而得到检索的加工特征的类别结果。

综上所述,本发明不再采用基于人工经验的方法来识别加工特征并进行工艺设计,而是采用深度学习的方法,该方法计算量小,识别速度快并且具有高效的三维加工特征识别与检索能力。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明面向三维加工特征的智能识别与检索方法工作流程图;

图2为本发明构建的三维加工特征数据集;

图3为本发明面向三维加工特征的智能识别与检索方法的网络结构图;

图4为本发明的数据集网络训练结果图;

图5为本发明的三维加工特征识别与检索结果图。

具体实施方式

本发明提供了一种面向三维加工特征的智能识别与检索方法,包括加工特征学习和加工特征检索两部分。加工特征学习过程包括:获取三维加工特征;对三维加工特征进行体素化处理;对体素化模型进行数据增强处理得到三维加工特征数据集;构建三维卷积神经网络;训练三维加工特征并记录模型参数;加工特征检索过程包括:输入三维加工特征;对三维模型进行体素化处理;根据记录的模型参数计算检索的加工特征与数据集中加工特征之间的相似度;得到加工特征属于各个类别的概率,最后按降序排列输出检索结果。本发明将卷积神经网络从二维图像识别延伸到三维模型识别,通过对三维加工特征进行体素化处理,直接从原始三维模型中获取特征信息,可提高三维加工特征识别与检索的准确率。

请参阅图1,本发明提出了一种面向三维加工特征的智能识别与检索方法,具体步骤如下:

s1、获取三维加工特征;

s2、对三维加工特征进行体素化处理;

使用binvox软件对三维加工特征进行体素化处理。体素网格以三维模型为中心,大小设置为a×b×c,a、b、c分别表示三维模型在空间三维坐标体系中沿三个坐标轴方向的体素大小,多余空间用0填充,体素完成后三维模型被离散为三维的二进制体素点。

s3、对体素化模型进行数据增强处理得到三维模型数据集;

通过对三维体素化模型进行随机旋转变换来扩充数据集,如下所示:

其中,v是齐次空间中三维模型网格点组成的矩阵,θ是三维体素化模型的旋转角度,在-180°到180°之间随机变化。

s4、构建三维卷积神经网络;

构建的三维卷积神经网络包括4个卷积层、4个池化层、2个全连接层、1个softmax层。4个卷积层依次分别为:一个7×7×7卷积层、一个5×5×5卷积层、一个4×4×4卷积层、一个3×3×3卷积层。4个池化层采用最大值的池化方式,滑动窗口大小都为2×2×2。

三维卷积神经网络中的每一个都卷积层包括一个卷积层和一个relu层,每一个全连接层都包括一个全连接层和一个relu层,relu激活函数的表达式为:

r(x)=max(x,0)

其中,x表示卷积层或者全连接层函数的输入。

从三维体素化模型提取的特征映射在卷积层和池化层中传递时产生的featuremap计算如下:

其中,*表示卷积符号,表示第j个神经元连接第(k-1)层到第k层的权值向量,表示第j个神经元在第k层的偏置项,表示第j个神经元在第k层的输出。

构建三维卷积神经网络时,为了减少计算量,为了防止训练过程出现过拟合以保证三维加工特征识别与检索的准确率,在全连接层后加入了dropout,表达式为:

其中,r(l)是一个独立的伯努利随机变量且其值为1的概率为p,*是卷积符号,是第l层全连接层的输出,为经dropout处理后的输出。

构建的三维卷积神经网络中采用随机梯度下降(sgd)优化算法,sgd优化算法的表达式为:

其中,i是迭代指数,是动量变量,∈是学习率,di表示第i批训练的三维模型。

在构建的三维卷积神经网络中目标函数采用交叉熵损失函数进行评价,表达式为:

其中,y为softmax层输出预测的三维加工特征类别标签,y是三维加工特征的真实类别标签。

s5、训练三维加工特征并记录模型参数;

s6、输入三维加工特征;

s7、对三维模型进行体素化处理;

s8、根据记录的模型参数计算检索的加工特征与数据集中加工特征之间的相似度;

计算检索的加工特征与数据集中加工特征之间相似度的方法为:

其中,i=1,2,3…,n,j=1,2,3…,m,n表示数据集中加工特征类别总数,m表示每一个加工特征类别中包含的模型数目,q表示检索的加工特征,mi表示加工特征数据集中的第i类加工特征,表示加工特征q与第i类加工特征中第j个模型的相似度,s(q,mi)表示加工特征q与第i类加工特征的相似度。

s9、得到三维加工特征属于各个类别的概率,最后按降序排列输出检索结果。

通过softmax函数得到加工特征属于各个类别的概率,可实现三维加工特征的识别与检索。

softmax函数的表达式为:

其中,i,k=1,2,3…,n,n表示数据集中加工特征类别的总数,vk表示节点属于第k类,vi表示节点属于第i类,y(k)表示加工特征属于第k类的概率。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

构建了一个包含24个不同类别三维加工特征的数据集,如图2所示,每个类别包含100个三维模型。

数据集m表示如下:

m={m1,m2,…,m24}

随后使用binvox软件对获取的三维加工特征进行体素化处理,在三维模型体素化过程中,a、b、c都设置为64,即体素化处理完成后的三维模型体素大小为64×64×64。

然后,由于获取的三维加工特征数量比较少,不利于很好地训练三维卷积神经网络的权重等参数,而且为了避免训练过程出现过拟合,需要输入充足的模型数据量,因此利用数据增强处理来扩充已经获取的三维模型。

将所有三维模型扩充10倍,最终数据集中每一类加工特征都包含1000个三维模型。

请参阅图3,为了训练构建的三维加工特征数据集,构建了一个11层的三维卷积神经网络,其包括4个卷积层、4个池化层、2个全连接层、1个softmax层。

4个卷积层参数依次分别为:

第一个卷积层采用7×7×7的卷积核,步长为2;

第二个卷积层采用5×5×5的卷积核,步长为1;

第三个卷积层采用4×4×4的卷积核,步长为1;

第四个卷积层采用3×3×3的卷积核,步长为1。

卷积层输出的特征映射大小为

((w-f)/s)+1

其中,w是卷积层输入三维模型的大小,f是卷积层中卷积核的大小,s是步长。

4个池化层采用最大值的池化方式,滑动窗口大小都为2×2×2,步长为2,超出边界时,多余部分以0填充。2个全连接层的大小都设置为128。最后一层为softmax层,用于输出加工特征属于各个类别的概率,来决定三维加工特征识别和检索结果,参数设置为24。

三维卷积神经网络中卷积层和池化层交替分布。输入的三维模型体素大小为a×b×c,经卷积层处理过后输出结果为随后将其输入到池化层,滑动窗口大小为2×2×2,步长为2,越界时,以0填充,采用最大值的池化方式,输出结果为f(2),大小为:

其中,p为越界时填充的数量。

三维卷积神经网络中的每一个卷积层都包括一个卷积层和一个relu层,每一个全连接层都包括一个全连接层和一个relu层;

从三维体素化模型提取的特征映射在卷积层和池化层中传递时产生的featuremap。

经过交替分布的卷积层和池化层处理后的三维模型输出结果为f(3),然后将f(3)输入到构建的三维卷积神经网络中的全连接层,经过2个全连接层的处理后输出结果为f(4),最后将f(4)输入到最后一层即softmax层,得到加工特征属于各个类别的概率,实现加工特征的识别和检索。

在构建的三维卷积神经网络中,为了减少计算量,防止训练过程出现过拟合以保证加工特征识别与检索的准确率,分别在2个全连接层后加入了dropout处理。

其中,p取值为0.5。

三维卷积神经网络的最后一层通过softmax函数得到三维加工特征属于各个类别的概率。softmax函数的表达式为:

其中,i,k=1,2,3…,n,n取值为24。

在构建的三维卷积神经网络中采用随机梯度下降(sgd)优化算法,为了评价构建的三维卷积神经网络预测输出的加工特征类别与真实加工特征类别之间的误差大小,在训练过程中目标函数采用交叉熵损失函数,然后利用构建好的三维卷积神经网络对三维加工特征数据集进行训练,训练完成后保存相应的模型参数用于识别和检索三维加工特征。

最后,输入一个崭新的三维加工特征进行加工特征识别与检索。

首先将三维模型进行体素化处理,体素网格大小设置与训练数据集中模型大小相同。然后,将检索的加工特征输入到训练好的三维卷积神经网络中,根据记录的模型参数计算检索的加工特征与数据集中加工特征之间的相似度。最后得到加工特征属于各个类别的概率,按降序排列输出检索结果。

计算检索的加工特征与数据集加工特征之间相似度的方法为:

其中,i=1,2,3…,n,j=1,2,3…,m,n取值为24,m取值为1000。

请参阅图2,使用binvox软件对三维模型进行体素化处理,体素网格大小设置为64×64×64。训练数据集中包含24个不同类别的加工特征,每一类别包含100个三维模型,随后利用数据增强方法对其进行扩充,最终每一类别包含1000个三维模型。将三维加工特征数据集中的70%用于训练,20%用于验证,10%用于检索测试。

请参阅图4,利用构建的11层三维卷积神经网络对三维模型数据集进行训练,训练时迭代次数设置为200次。训练结束后,训练集上准确率可达到97.4304%,损失函数值loss为7.3127%;验证集上准确率可达到97.4769%,损失函数值loss为7.3072%。

然后,为了测试构建的11层三维卷积神经网络模型的泛化能力,利用数据集中10%的加工特征进行识别和检索测试,也就是对每一类别而言我们都输入100个新的加工特征模型进行测试,一共包含2400个加工特征模型。在进行识别和检索前,同样需要对其进行体素化处理,体素网格大小设置与训练数据集相同,即设置为64×64×64。

最后,调用已经训练好的模型参数对新的三维加工特征进行识别和检索。通过计算检索的加工特征与数据集加工特征之间的相似度,进一步按降序排列输出检索加工特征所归属的类别,识别和检索结果如图5所示,准确率可达到98.333%(2360/2400),只有40个加工特征模型没有被正确识别出来。部分三维加工特征没有被正确识别和检索的原因是三维模型体素网格设置过小,加工特征之间比较相似、差异性较小、没有足够的分辨率等导致正确识别和检索困难;另外一个原因是用于训练的三维模型数量比较少,在本次训练中每一类别只包含100个原始三维加工特征模型,这对于一个优秀的三维卷积神经网络来说是远远不够的,应该获取更多的三维加工特征模型,这样构建的三维卷积神经网络才能够具备更强的三维加工特征识别和检索能力。

综上所述,本发明方法能够实现对一个崭新三维模型的智能识别和检索,与现有技术相比,该方法计算量小,识别速度快并且具有更高的三维模型识别和检索准确率。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1