CN109977972B - 一种基于step的智能特征识别方法 - Google Patents
一种基于step的智能特征识别方法 Download PDFInfo
- Publication number
- CN109977972B CN109977972B CN201910252035.7A CN201910252035A CN109977972B CN 109977972 B CN109977972 B CN 109977972B CN 201910252035 A CN201910252035 A CN 201910252035A CN 109977972 B CN109977972 B CN 109977972B
- Authority
- CN
- China
- Prior art keywords
- neural network
- edge
- solution
- layer
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于STEP的智能特征识别方法,包括:在STEP AP214文件中提取零件的几何拓扑信息;根据提取到的几何拓扑信息,构建零件的属性邻接图,进而生成零件的最小子图;构建用于STEP‑NC制造特征识别的BP神经网络模型;采用人工蜂群算法优化BP神经网络的初始权值和阈值,得到最优初始权值和阈值;训练BP神经网络,得到改进的BP神经网络;将待识别零件的最小子图的信息数据输入到改进的BP神经网络中,从而高效准确地实现STEP‑NC制造特征的识别。本发明将人工蜂群算法与BP神经网络算法有机结合,构建了用于STEP‑NC制造特征识别的改进BP神经网络,实现了STEP‑NC制造特征的高效精准识别,对STEP‑NC标准的进一步完善和实施具有积极的参考价值。
Description
技术领域
本发明涉及特征识别技术领域,具体而言,尤其涉及一种基于STEP的智能特征识别方法。
背景技术
近年来,国际标准化组织ISO正在开发制定一种能够取代ISO6983(G代码)的新型NC编程数据接口标准STEP-NC。该标准包含了加工产品所需的所有信息,为CAD/CAM系统与CNC系统的集成和加工过程智能化以及网络化提供了条件,为智能制造的实现奠定了基础。特征识别是CAD/CAPP/CAM集成的关键技术之一,也是实现开放式、智能化和网络化STEP-NC数控系统的关键。
国内外学者和研究机构对特征识别进行了很多有意义的研究。在较早的研究中,虽然所提出的方法能够进行特征识别,但是与STEP-NC不兼容。随着STEP-NC标准的制定,很多学者在STEP-NC特征识别领域进行了研究。例如,吴晓东和韩祖行提出了面向STEP-NC的属性邻接图特征识别方法,该方法通过构造属性邻接矩阵的方式完成特征子图的匹配,实现了简单独立的STEP-NC制造特征的识别,但是该方法不能识别相交特征。而且,子图搜索算法是NP问题,导致识别过程十分耗时,效率低。王海瀛和分别提出了基于痕迹面向STEP-NC制造特征的识别方法,该方法在理论上可以识别所有的STEP-NC制造特征,但是由于特征痕迹生成和延拓算法依赖于具体的特征类型,难以添加新的特征类型,使其通用性较差。王军等充分利用了基于图和基于痕迹的特征识别方法的优势,提出了一种基于图和痕迹的STEP-NC相交特征的识别方法。该方法能够实现相交特征的识别,但是在进行相交特征分离时,需采用人机交互的方式,该方式往往需要有经验的人员,而且识别过程比较耗时。另外,孙军等提出了一种基于凹边的STEP-NC特征识别方法,该方法针对凹边定义了一系列规则实现特征识别,但是其识别存在二义性,准确性差。Sreeramulu和Rao提出了基于STEP AP203文件的STEP-NC车削特征识别方法,但该方法只适用于STEP-NC车削特征。Zhang等提出了一种基于STEP-NC数控铣削程序的特征识别方法。该方法是建立在已有STEP-NC数控程序的基础上,而STEP-NC数控程序的生成比较复杂,因此该方法的使用有一定的局限性。由以上研究可以看出,虽然国内外学者和研究机构对特征识别进行了很多的研究,但是这些方法或者与STEP-NC不兼容,或者存在通用性不高、准确性较差和识别过程耗时的问题。
BP神经网络(Back Propagation)是一种按误差逆传播算法训练的多层前馈网络,具有超强的自学习、自组织能力,能够高效智能地处理复杂的特征识别问题。但是,BP神经网络收敛速度慢,容易陷入局部极值。通过具有控制参数少、全局寻优能力强的优点的人工蜂群算法来优化BP神经网络的初始权值和阈值可以弥补这些缺点。因此,将人工蜂群算法与BP人工神经网络算法相结合可以进行高效精准地逻辑推理,可以实现STEP-NC制造特征的高效精准识别。
发明内容
根据上述现有的特征识别方法存在与STEP-NC不兼容、通用性不高、准确性较差和识别过程耗时的技术问题,本发明提供了一种基于STEP的智能特征识别方法。
本发明采用的技术手段如下:
一种基于STEP的智能特征识别方法,包括以下步骤:
步骤S1:在STEP AP214文件中提取零件的几何拓扑信息;
步骤S2:根据提取到的几何拓扑信息,构建零件的属性邻接图,进而生成零件的最小子图;
步骤S3:构建用于STEP-NC制造特征识别的BP神经网络模型;
步骤S4:采用人工蜂群算法优化BP神经网络的初始权值和阈值,得到最优初始权值和阈值;
步骤S5:采用上述步骤S4中得到的最优初始权值和阈值训练BP神经网络,得到用于STEP-NC制造特征识别的改进的BP神经网络。
步骤S6:将待识别零件的最小子图的信息数据输入到改进的BP神经网络中,得到零件特征识别结果。
进一步地,所述步骤S1的具体过程如下:
步骤S101:读取STEP AP214文件,搜寻STEP AP214文件中包含CLOSED-SHELL关键字的行;
步骤S102:记录所述关键字对应列表中FACE的总数,将FACE元素的行号存入数组;
步骤S103:依次选择数组中的FACE,搜寻得到选中的FACE中所有的LOOP、EDGE、POINT的几何拓扑数据;
步骤S104:判断数组中所有的FACE是否都已搜寻完毕,若是,则输出零件几何拓扑信息;若否,则返回步骤S103。
进一步地,所述步骤S2的具体过程如下:
步骤S201:根据提取到的几何拓扑信息,对提取出来的面进行编号,并以结点的形式将提取到的面表示出来,将具有相交边的面用线连接起来;
步骤S202:根据直线边的凹凸性判定算法和圆弧边的凹凸性判定算法判断两结点连线的凹凸性,从而得到零件的属性邻接图;
步骤S203:根据边的凹凸性属性,去掉凸边连接保留凹边连接生成零件的最小子图,并确定最小子图的基面。
进一步地,所述直线边的凹凸性判定算法的具体步骤如下:
步骤a1:设邻接面F1,F2的外法向矢量分别为N1,N2,取F1为基面,F1面上各边构成封闭环,所述封闭环包含棱边e;
步骤a2:所述封闭环的绕向根据右手螺旋法则由平面的外法向矢量N1确定,所述棱边e的方向矢量Ne与环的绕向一致,根据N=Ne×N2确定方向矢量N的方向;
步骤a3:若N与N1的夹角θ满足0≤θ≤90°,则该边为凹边;若N与N1的夹角θ满足90°<θ≤180°,则该边为凸边;
所述圆弧边的凹凸性判定算法的具体步骤如下:
步骤b1:根据右手螺旋法则确定方向矢量Ne的方向,取圆心P0,在圆弧上任取一点P,得到P点到P0的方向向量PVec;
步骤b2:取棱边e在柱面对应的几何定义圆曲线的AXIS2_PLACEMENT_3D实体中第一个DIRECTION实体确定的矢量记为Vec,根据RVec=PVec×Vec确定点P处切向量方向RVec;
步骤b3:若圆柱面是外表面,则根据N2=RVec×Vec确定N2的方向;若圆柱面是内表面,则根据N2=Vec×RVec确定N2的方向;最后根据N=Ne×N2确定方向矢量N的方向;
步骤b4:若N与N1的夹角θ满足条件0≤θ≤90°,则该边为凹边;若N与N1的夹角θ满足条件90°<θ≤180°,则该边为凸边。
进一步地,所述步骤S3中构建用于STEP-NC制造特征识别的BP神经网络模型的过程如下:
步骤S301:根据最小子图赋予权重之后的输入矢量确定输入层神经元个数n1;
步骤S302:根据Kolomogorov定理来确定隐含层神经元个数n2;由定理可知,当输入层神经元个数为n1时,确定隐含层神经元个数n2=2n1+1;
步骤S303:根据STEP-NC制造特征确定神经网络的输出层神经元个数n3;
步骤S304:确定输入层和隐含层间连接权值矩阵wij[n1×n2],隐含层和输出层间连接权值矩阵wjk[n3×n2];
步骤S305:确定隐含层阈值矩阵aj[n2×1],输出层阈值矩阵bk[n3×1];
步骤S306:隐含层输出Hj:
式中,j=1,2,3...n2,f1(x)为隐含层激励函数,n1为输入层神经元个数,wij为输入层与隐含层连接权值矩阵,xi为输入样本,aj为隐含层阈值矩阵,n2为隐含层神经元个数;
步骤S307:输出层的输出Ok:
式中,k=1,2,3...n3,f2(x)为输出层激励函数,n2为隐含层神经元个数,Hj为隐含层输出,wjk为隐含层与输出层连接权值矩阵,bk为输出层阈值矩阵,n3为输出层神经元个数;
步骤S308:误差ek:根据网络预测Ok和期望输出yk差值计算得出:
ek=Ok-yk (3)
进一步地,所述步骤S4的具体过程如下:
步骤S401:初始化人工蜂群算法的参数以及初始化种群,所述参数包括初始解的个数SN,极限值limit,最大循环次数Gen_Max,引领蜂的数量N1,跟随蜂的数量N2,且N1=N2=SN;所述初始化种群即初始解Xi(i=1,...,SN)由创建的BP神经网络的输入层与隐含层连接权值矩阵wij、隐含层与输出层连接权值矩阵wjk、隐含层阈值矩阵aj、输出层阈值矩阵bk四部分组成;每个部分的初始解都是一个D维向量,D由公式(4)计算得到:
D=Ninput×Nhidden+Nhidden+Nhidden×Noutput+Noutput (4)
式中,Ninput、Nhidden、Noutput分别是构建的BP神经网络的输入层、隐含层、输出层的神经元个数;
步骤S402:建立适应度函数,并计算每个解的适应度值:
式中,i=1,2,3...SN,SN为种群数,Xi为第i个解,MSEi为第i个解的BP神经网络均方误差,当适应度值达到1的时候为最理想的状态;
步骤S403:引领蜂按照如下公式(6)进行邻域搜索,并根据公式(5)计算新解的适应度值;如果新解的适应度值比旧解的适应度值大,则更新旧解,否则将旧解的停滞次数加1;
Vij=Xij+rand(-1,1)(Xij-Xkj) (6)
式中,i=1,2,3...SN,SN为种群数,j=1,2,3...D,D为解的维数,Vij为搜索后第i个解的第j个分量值,Xij为搜索前第i个解的第j个分量值,Xkj为随机产生的解的第j个分量值,k∈{1,2,...,SN},且k≠i;如果Vij超过了允许的最大值,则根据下式转化成边界值:
式中,lowerbound为取值下界,upperbound为取值上界;
步骤S404:跟随蜂根据式(8)采用轮盘赌方法选择蜜源,并用公式(6)对蜜源进行更新;如果新解的适应度值比旧解的适应度值大,则更新旧解,否则将旧解的停滞次数加1;
式中,i=1,2,3...SN,SN为种群数,Xi为第i个解,Pi为第i个解的选择概率,f(Xi)为第i个解的适应度值;
步骤S405:判断解的停滞次数是否大于极限值limit,若是,则侦察蜂按照式(9)进行全局搜索并计算新解的适应度值;若否,则执行步骤S406;
式中,i=1,2,3...SN,SN为种群数,j=1,2,3...D,D为解的维数,Xi j为搜索后第i个解的第j个分量值,为种群内第j个分量的最小值,为种群内第j个分量的最大值,rand(0,1)为(0,1)范围内的随机数;
步骤S406:判断是否达到最大迭代次数;若是,则输出最优初始权值和阈值,执行步骤S5;若否,则迭代次数加1,返回步骤S403。
进一步地,所述步骤S5中的训练过程具体如下:
步骤S501:利用得到的初始权值和阈值训练BP神经网络;
步骤S502:判断误差是否满足要求或达到训练次数,若满足则训练完毕,得到用于特征识别的改进的BP神经网络,执行步骤S6;若不满足,通过训练得到的误差更新网络的权值和阈值,执行步骤S501。
进一步地,所述步骤S6中的具体过程如下:
步骤S601:给最小子图的面中所具有的边和环赋予一定权重;
步骤S602:将得到的各个面的得分作为神经网络的输入,其中所述面的得分根据以下方程求得:
式中,Ei为第i条边的权重,m为边数,Lj为第j个环的权重,n为环数;
步骤S603:将信息数据输入到改进的神经网络,得到零件特征识别结果。
较现有技术相比,本发明具有以下优点:
1、本发明将人工蜂群算法与BP神经网络算法有机结合,克服了BP神经收敛速度慢,容易陷入局部极值的缺陷,高效精准地实现了STEP-NC制造特征的识别。
2、本发明构建了用于STEP-NC制造特征识别的BP神经网络模型,为高效精准地识别STEP-NC制造特征奠定了基础。由于该模型具有较强的适应性和扩展性,所以也为其他种类STEP-NC制造特征的识别奠定了基础。
3、本发明提出的一种基于STEP的智能特征识别方法,对STEP-NC标准的进一步完善和实施具有积极的参考价值。
综上,应用本发明的技术方案解决了现有的特征识别方法与STEP-NC不兼容、通用性不高、准确性较差和识别过程耗时的问题;
基于上述理由本发明可在特征识别等领域广泛推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于STEP AP214文件的零件几何拓扑信息提取流程图。
图2为本发明实施例直线边的凹凸性判断示意图。
图3为本发明实施例圆弧边的凹凸性判定示意图。
图4为本发明实施例用于STEP-NC制造特征识别的BP神经网络模型。
图5为本发明实施例基于改进BP神经网络的特征识别方法流程图。
图6为本发明实施例零件三维模型。
图7为本发明实施例零件STEP AP214文件。
图8为本发明实施例零件提取出来的面编号图。
图9为本发明实施例零件属性邻接图。
图10为本发明实施例基于边的凹凸性的零件最小子图。
图11为本发明实施例两种算法误差收敛曲线。
图12为本发明方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图6和图7所示,分别给出了某零件三维模型(该零件包含槽、开口式型腔、台阶、孔和闭口式型腔特征)以及该零件的STEP AP214中性文件。基于所提出的方法,运用MATLAB对该零件进行了智能特征识别。
实施例
本发明提供了一种基于STEP的智能特征识别方法,如图12所示,包括以下步骤:
步骤S1:在STEP AP214文件中提取零件的几何拓扑信息;
如图1所示,步骤S1的具体过程如下:
步骤S101:读取STEP AP214文件,搜寻STEP AP214文件中包含CLOSED-SHELL关键字的行;
步骤S102:记录所述关键字对应列表中FACE的总数,将FACE元素的行号存入数组;
步骤S103:依次选择数组中的FACE,搜寻得到选中的FACE中所有的LOOP、EDGE、POINT的几何拓扑数据;
步骤S104:判断数组中所有的FACE是否都已搜寻完毕,若是,则输出零件几何拓扑信息;若否,则返回步骤S103。
步骤S2:根据提取到的几何拓扑信息,构建零件的属性邻接图,进而生成零件的最小子图,所述步骤S2的具体过程如下:
步骤S201:根据提取到的几何拓扑信息,对提取出来的面进行编号,如图8所示,并以结点的形式将提取到的面表示出来,将具有相交边的面用线连接起来;
步骤S202:根据直线边的凹凸性判定算法和圆弧边的凹凸性判定算法判断两结点连线的凹凸性,从而得到属性的零件邻接图,如图9所示,其中粗实线表示凹边连接,细实线表示凸边连接;
步骤S203:根据边的凹凸性属性,去掉属性邻接图中所有的凸边连接,保留凹边连接,生成零件的最小子图,如图10所示,并确定最小子图的基面,其中加粗的结点表示基面。
直线边的凹凸性判定算法的具体步骤如下:如图2所示,
步骤a1:设邻接面F1,F2的外法向矢量分别为N1,N2,取F1为基面,F1面上各边构成封闭环,所述封闭环包含棱边e;
步骤a2:所述封闭环的绕向根据右手螺旋法则由平面的外法向矢量N1确定,所述棱边e的方向矢量Ne与环的绕向一致,根据N=Ne×N2确定方向矢量N的方向;
步骤a3:若N与N1的夹角θ满足0≤θ≤90°,则该边为凹边;若N与N1的夹角θ满足90°<θ≤180°,则该边为凸边;
圆弧边的凹凸性判定算法的具体步骤如下:如图3所示,
步骤b1:根据右手螺旋法则确定方向矢量Ne的方向,取圆心P0,在圆弧上任取一点P,得到P点到P0的方向向量PVec;
步骤b2:取棱边e在柱面对应的几何定义圆曲线的AXIS2_PLACEMENT_3D实体中第一个DIRECTION实体确定的矢量记为Vec,根据RVec=PVec×Vec确定点P处切向量方向RVec;
步骤b3:若圆柱面是外表面,则根据N2=RVec×Vec确定N2的方向;若圆柱面是内表面,则根据N2=Vec×RVec确定N2的方向;最后根据N=Ne×N2确定方向矢量N的方向;
步骤b4:若N与N1的夹角θ满足条件0≤θ≤90°,则该边为凹边;若N与N1的夹角θ满足条件90°<θ≤180°,则该边为凸边。
步骤S3:构建用于STEP-NC制造特征识别的BP神经网络模型;
步骤S301:根据最小子图赋予权重之后的输入矢量确定输入层神经元个数n1为9。
步骤S302:根据Kolomogorov定理来确定隐含层神经元个数n2;由定理可知,当输入层神经元个数为n1时,确定隐含层神经元个数n2=2n1+1;所以,隐含层的神经元个数为19;
步骤S303:根据STEP-NC制造特征确定神经网络的输出层神经元个数n3;本实例主要有槽、开口式型腔、台阶、孔和闭口式型腔5种的STEP-NC 2.5D制造特征,即输出层的神经元个数为5。对应的BP神经网络的期望输出分别为[1,0,0,0,0]、[0,1,0,0,0]、[0,0,1,0,0]、[0,0,0,1,0]和[0,0,0,0,1];
步骤S304:确定输入层和隐含层间连接权值矩阵wij[9×19],隐含层和输出层间连接权值矩阵wjk[5×19];
步骤S305:确定隐含层阈值矩阵aj[19×1],输出层阈值矩阵bk[5×1];
步骤S306:隐含层输出Hj:
式中,j=1,2,3...n2,f1(x)为隐含层激励函数,输入层神经元个数n1为9,wij为输入层与隐含层连接权值矩阵,xi为输入样本,aj为隐含层阈值矩阵,隐含层神经元个数n2为19;
步骤S307:输出层的输出Ok:
式中,k=1,2,3...n3,f2(x)为输出层激励函数,隐含层神经元个数n2为19,Hj为隐含层输出,wjk为隐含层与输出层连接权值矩阵,bk为输出层阈值矩阵,输出层神经元个数n3为5;
步骤S308:误差ek:根据网络预测Ok和期望输出yk差值计算得出:
ek=Ok-yk (3)
步骤S4:采用人工蜂群算法优化BP神经网络的初始权值和阈值,得到最优初始权值和阈值;
步骤S401:初始化人工蜂群算法的参数以及初始化种群,所述参数包括初始解的个数SN,极限值limit,最大循环次数Gen_Max=500,引领蜂的数量N1,跟随蜂的数量N2,且N1=N2=SN=50;所述初始化种群即初始解Xi(i=1,...,SN)由创建的BP神经网络的输入层与隐含层连接权值矩阵wij、隐含层与输出层连接权值矩阵wjk、隐含层阈值矩阵aj、输出层阈值矩阵bk四部分组成;BP神经网络初始的权值和阈值取区间[-0.3,0.3]内任意值,每个部分的初始解都是一个D维向量,D由公式(4)计算得到:
D=Ninput×Nhidden+Nhidden+Nhidden×Noutput+Noutput (4)
式中,Ninput、Nhidden、Noutput分别是构建的BP神经网络的输入层、隐含层、输出层的神经元个数;则
D=9×19+19+19×5+5=290
步骤S402:适应度值是评价个体优劣的指标,能够准确地反映解的优劣。采用人工蜂群优化BP神经网络是为了得到最优的初始权值和阈值,要得到使网络训练误差最小的个体。本实施例中建立的适应度函数:
式中,i=1,2,3...SN,种群数SN为50,Xi为第i个解,MSEi为第i个解的BP神经网络均方误差,当适应度值达到1的时候为最理想的状态;
步骤S403:引领蜂按照如下公式(6)进行邻域搜索,并根据公式(5)计算新解的适应度值;如果新解的适应度值比旧解的适应度值大,则更新旧解,否则将旧解的停滞次数加1;
Vij=Xij+rand(-1,1)(Xij-Xkj) (6)
式中,i=1,2,3...SN,种群数SN为50,j=1,2,3...D,解的维数D为290,Vij为搜索后第i个解的第j个分量值,Xij为搜索前第i个解的第j个分量值,Xkj为随机产生的解的第j个分量值,k∈{1,2,...,SN},且k≠i;如果Vij超过了允许的最大值,则根据下式转化成边界值:
式中,lowerbound为取值下界,upperbound为取值上界;
步骤S404:跟随蜂根据式(8)采用轮盘赌方法选择蜜源,并用公式(6)对蜜源进行更新;如果新解的适应度值比旧解的适应度值大,则更新旧解,否则将旧解的停滞次数加1;
式中,i=1,2,3...SN,种群数SN=50,Xi为第i个解,Pi为第i个解的选择概率,f(Xi)为第i个解的适应度值;
步骤S405:判断解的停滞次数是否大于极限值limit,若是,则侦察蜂按照式(9)进行全局搜索并计算新解的适应度值;若否,则执行步骤S406;
式中,i=1,2,3...SN,种群数SN为50,j=1,2,3...D,解的维数D为290,Xi j为搜索后第i个解的第j个分量值,为种群内第j个分量的最小值,为种群内第j个分量的最大值,rand(0,1)为(0,1)范围内的随机数;
步骤S406:判断是否达到最大迭代次数500;若是,则输出最优初始权值和阈值,执行步骤S5;若否,则迭代次数加1,返回步骤S403。
步骤S5:采用上述步骤S4中得到的最优初始权值和阈值训练BP神经网络,得到用于STEP-NC制造特征识别的改进的BP神经网络。
步骤S501:利用得到的初始权值和阈值训练BP神经网络,BP神经网络的隐含层神经元的传递函数采用S型正切函数tansig(),输出层神经元的传递函数采用S型对数函数logsig(),训练函数利用traingdx算法,学习速率为0.01;
步骤S502:判断误差是否达到0.001或训练次数是否达到500次,若满足则训练完毕,得到用于特征识别的改进的BP神经网络,执行步骤S6;若不满足,通过训练得到的误差更新网络的权值和阈值,执行步骤S501。
步骤S6:将待识别零件的最小子图的信息数据输入到改进的BP神经网络中,得到零件特征识别结果。
步骤S601:给最小子图的面中所具有的边和环赋予一定权重,表1为边与环的权重表;
表1边和环的权重
步骤S602:将得到的各个面的得分作为神经网络的输入,其中所述面的得分根据以下方程求得:
式中,Ei为第i条边的权重,m为边数,Lj为第j个环的权重,n为环数。其权重表如表1所示。表中,凹环表示了组成这个环的所有边都是凹边,凸环表示了组成这个环的边中至少有一条边是凸边。
在计算完每个面的得分后,输入矢量的第一个元素为特征的基面得分,然后将剩余面的得分依次从大到小排列。如果最小子图的面多余9个,由于超过9个的其他面远离了特征基面,在特征识别过程中所起的作用很小,则这些面可以忽略不计。如果最小子图的面少于9个,那么剩余元素的值都为0;根据表1中边和环的权重及公式计算最小子图各个面的得分可得到BP神经网络的输入,如表2所示。
表2零件中各特征的属性及BP神经网络输入矢量
步骤S603:将信息数据输入到改进的神经网络,得到零件特征识别结果。在MATLAB中,本实施例分别采用基于粒子群算法的BP神经网络和本文提出的改进的BP神经网络对该零件进行特征识别,如图11所示,为以上两种算法样本训练的误差收敛曲线。
由图11可知基于粒子群算法的BP神经网络在训练到329次时陷入了局部极值,之后误差不再变化,达到最大训练次数500次时还没有达到目标训练精度,而基于人工蜂群算法的BP神经网络在训练169次的时候就完成了训练任务,收敛速度快,解的精度高。
两种算法输出和特征识别结果表3所示。由表3的结果可知,基于粒子群算法的BP神经网络识别结果中闭口式型腔判断出错,被判断成了槽,而基于人工蜂群算法的BP神经网络识别结果全部正确。而且,在实例中,两个槽特征、两个开口式型腔、孔特征都与闭口式型腔特征相交,证明基于人工蜂群算法的BP神经网络在可以准确的识别相交特征。另外,改进的BP神经网络在Windows7操作系统和CPU为2.70GHz、内存为4G的计算机环境下,耗时0.012s,效率高。
表3两种算法实际输出矢量和特征识别结果及对比
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种基于STEP的智能特征识别方法,其特征在于,包括以下步骤:
步骤S1:在STEP AP214文件中提取零件的几何拓扑信息;
步骤S2:根据提取到的几何拓扑信息,构建零件的属性邻接图,进而生成零件的最小子图;
步骤S3:构建用于STEP-NC制造特征识别的BP神经网络模型;
步骤S4:采用人工蜂群算法优化BP神经网络的初始权值和阈值,得到最优初始权值和阈值;
所述步骤S4的具体过程如下:
步骤S401:初始化人工蜂群算法的参数以及初始化种群,所述参数包括初始解的个数SN,极限值limit,最大循环次数Gen_Max,引领蜂的数量N1,跟随蜂的数量N2,且N1=N2=SN;所述初始化种群即初始解Xi(i=1,...,SN)由创建的BP神经网络的输入层与隐含层连接权值矩阵wij、隐含层与输出层连接权值矩阵wjk、隐含层阈值矩阵aj、输出层阈值矩阵bk四部分组成;每个部分的初始解都是一个D维向量,D由公式(4)计算得到:
D=Ninput×Nhidden+Nhidden+Nhidden×Noutput+Noutput (4)
式中,Ninput、Nhidden、Noutput分别是构建的BP神经网络的输入层、隐含层、输出层的神经元个数;
步骤S402:建立适应度函数,并计算每个解的适应度值:
式中,i=1,2,3...SN,SN为种群数,Xi为第i个解,MSEi为第i个解的BP神经网络均方误差,当适应度值达到1的时候为最理想的状态;
步骤S403:引领蜂按照如下公式(6)进行邻域搜索,并根据公式(5)计算新解的适应度值;如果新解的适应度值比旧解的适应度值大,则更新旧解,否则将旧解的停滞次数加1;
Vij=Xij+rand(-1,1)(Xij-Xkj) (6)
式中,i=1,2,3...SN,SN为种群数,j=1,2,3...D,D为解的维数,Vij为搜索后第i个解的第j个分量值,Xij为搜索前第i个解的第j个分量值,Xkj为随机产生的解的第j个分量值,k∈{1,2,...,SN},且k≠i;如果Vij超过了允许的最大值,则根据下式转化成边界值:
式中,lowerbound为取值下界,upperbound为取值上界;
步骤S404:跟随蜂根据式(8)采用轮盘赌方法选择蜜源,并用公式(6)对蜜源进行更新;如果新解的适应度值比旧解的适应度值大,则更新旧解,否则将旧解的停滞次数加1;
式中,i=1,2,3...SN,SN为种群数,Xi为第i个解,Pi为第i个解的选择概率,f(Xi)为第i个解的适应度值;
步骤S405:判断解的停滞次数是否大于极限值limit,若是,则侦察蜂按照式(9)进行全局搜索并计算新解的适应度值;若否,则执行步骤S406;
式中,i=1,2,3...SN,SN为种群数,j=1,2,3...D,D为解的维数,Xi j为搜索后第i个解的第j个分量值,为种群内第j个分量的最小值,为种群内第j个分量的最大值,rand(0,1)为(0,1)范围内的随机数;
步骤S406:判断是否达到最大迭代次数;若是,则输出最优初始权值和阈值,执行步骤S5;若否,则迭代次数加1,返回步骤S403;
步骤S5:采用上述步骤S4中得到的最优初始权值和阈值训练BP神经网络,得到用于STEP-NC制造特征识别的改进的BP神经网络;
步骤S6:将待识别零件的最小子图的信息数据输入到改进的BP神经网络中,得到零件特征识别结果。
2.根据权利要求1所述的基于STEP的智能特征识别方法,其特征在于,所述步骤S1的具体过程如下:
步骤S101:读取STEP AP214文件,搜寻STEP AP214文件中包含CLOSED-SHELL关键字的行;
步骤S102:记录所述关键字对应列表中FACE的总数,将FACE元素的行号存入数组;
步骤S103:依次选择数组中的FACE,搜寻得到选中的FACE中所有的LOOP、EDGE、POINT的几何拓扑数据;
步骤S104:判断数组中所有的FACE是否都已搜寻完毕,若是,则输出零件几何拓扑信息;若否,则返回步骤S103。
3.根据权利要求1所述的基于STEP的智能特征识别方法,其特征在于,所述步骤S2的具体过程如下:
步骤S201:根据提取到的几何拓扑信息,对提取出来的面进行编号,并以结点的形式将提取到的面表示出来,将具有相交边的面用线连接起来;
步骤S202:根据直线边的凹凸性判定算法和圆弧边的凹凸性判定算法判断两结点连线的凹凸性,从而得到零件的属性邻接图;
步骤S203:根据边的凹凸性属性,去掉凸边连接保留凹边连接生成零件的最小子图,并确定最小子图的基面。
4.根据权利要求3所述的基于STEP的智能特征识别方法,其特征在于,
所述直线边的凹凸性判定算法的具体步骤如下:
步骤a1:设邻接面F1,F2的外法向矢量分别为N1,N2,取F1为基面,F1面上各边构成封闭环,所述封闭环包含棱边e;
步骤a2:所述封闭环的绕向根据右手螺旋法则由平面的外法向矢量N1确定,所述棱边e的方向矢量Ne与环的绕向一致,根据N=Ne×N2确定方向矢量N的方向;
步骤a3:若N与N1的夹角θ满足0≤θ≤90°,则该边为凹边;若N与N1的夹角θ满足90°<θ≤180°,则该边为凸边;
所述圆弧边的凹凸性判定算法的具体步骤如下:
步骤b1:根据右手螺旋法则确定方向矢量Ne的方向,取圆心P0,在圆弧上任取一点P,得到P点到P0的方向向量PVec;
步骤b2:取棱边e在柱面对应的几何定义圆曲线的AXIS2_PLACEMENT_3D实体中第一个DIRECTION实体确定的矢量记为Vec,根据RVec=PVec×Vec确定点P处切向量方向RVec;
步骤b3:若圆柱面是外表面,则根据N2=RVec×Vec确定N2的方向;若圆柱面是内表面,则根据N2=Vec×RVec确定N2的方向;最后根据N=Ne×N2确定方向矢量N的方向;
步骤b4:若N与N1的夹角θ满足条件0≤θ≤90°,则该边为凹边;若N与N1的夹角θ满足条件90°<θ≤180°,则该边为凸边。
5.根据权利要求1所述的基于STEP的智能特征识别方法,其特征在于,所述步骤S3中构建用于STEP-NC制造特征识别的BP神经网络模型的过程如下:
步骤S301:根据最小子图赋予权重之后的输入矢量确定输入层神经元个数n1;
步骤S302:根据Kolomogorov定理来确定隐含层神经元个数n2;由定理可知,当输入层神经元个数为n1时,确定隐含层神经元个数n2=2n1+1;
步骤S303:根据STEP-NC制造特征确定神经网络的输出层神经元个数n3;
步骤S304:确定输入层和隐含层间连接权值矩阵wij[n1×n2],隐含层和输出层间连接权值矩阵wjk[n3×n2];
步骤S305:确定隐含层阈值矩阵aj[n2×1],输出层阈值矩阵bk[n3×1];
步骤S306:隐含层输出Hj:
式中,j=1,2,3...n2,f1(x)为隐含层激励函数,n1为输入层神经元个数,wij为输入层与隐含层连接权值矩阵,xi为输入样本,aj为隐含层阈值矩阵,n2为隐含层神经元个数;
步骤S307:输出层的输出Ok:
式中,k=1,2,3...n3,f2(x)为输出层激励函数,n2为隐含层神经元个数,Hj为隐含层输出,wjk为隐含层与输出层连接权值矩阵,bk为输出层阈值矩阵,n3为输出层神经元个数;
步骤S308:误差ek:根据网络预测Ok和期望输出yk差值计算得出:
ek=Ok-yk (3)。
6.根据权利要求1所述的基于STEP的智能特征识别方法,其特征在于,所述步骤S5中的训练过程具体如下:
步骤S501:利用得到的初始权值和阈值训练BP神经网络;
步骤S502:判断误差是否满足要求或达到训练次数,若满足则训练完毕,得到用于特征识别的改进的BP神经网络,执行步骤S6;若不满足,通过训练得到的误差更新网络的权值和阈值,执行步骤S501。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910252035.7A CN109977972B (zh) | 2019-03-29 | 2019-03-29 | 一种基于step的智能特征识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910252035.7A CN109977972B (zh) | 2019-03-29 | 2019-03-29 | 一种基于step的智能特征识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109977972A CN109977972A (zh) | 2019-07-05 |
CN109977972B true CN109977972B (zh) | 2023-02-07 |
Family
ID=67081781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910252035.7A Active CN109977972B (zh) | 2019-03-29 | 2019-03-29 | 一种基于step的智能特征识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977972B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688722B (zh) * | 2019-10-17 | 2023-08-08 | 深制科技(苏州)有限公司 | 一种基于深度学习的零部件属性矩阵自动生成方法 |
CN111383505B (zh) * | 2020-03-04 | 2021-11-09 | 南京大学 | 一种基于笔交互的电路教学系统及方法 |
CN112068088A (zh) * | 2020-08-11 | 2020-12-11 | 中国人民解放军海军工程大学 | 一种基于优化bp神经网络的雷达辐射源威胁评估方法 |
CN116975581B (zh) * | 2023-07-20 | 2024-04-26 | 快速直接(深圳)精密制造有限公司 | 一种基于step格式的钣金件快速识别方法 |
CN117612145A (zh) * | 2023-12-15 | 2024-02-27 | 上海青翼工业软件有限公司 | 一种零件自动加工方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009527A (zh) * | 2017-12-26 | 2018-05-08 | 东北大学 | 一种面向step-nc2.5d制造特征的智能特征识别方法 |
CN108256683A (zh) * | 2018-01-16 | 2018-07-06 | 云南电网有限责任公司电力科学研究院 | 一种基于改进bp神经网络的风电场短期功率预测方法 |
CN108389001A (zh) * | 2018-03-12 | 2018-08-10 | 东北大学 | 一种基于step-nc的智能非线性工艺规划方法 |
CN109063571A (zh) * | 2018-07-04 | 2018-12-21 | 上海电机学院 | 基于小波包分解的人工蜂群bp神经网络信号识别方法 |
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
-
2019
- 2019-03-29 CN CN201910252035.7A patent/CN109977972B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009527A (zh) * | 2017-12-26 | 2018-05-08 | 东北大学 | 一种面向step-nc2.5d制造特征的智能特征识别方法 |
CN108256683A (zh) * | 2018-01-16 | 2018-07-06 | 云南电网有限责任公司电力科学研究院 | 一种基于改进bp神经网络的风电场短期功率预测方法 |
CN108389001A (zh) * | 2018-03-12 | 2018-08-10 | 东北大学 | 一种基于step-nc的智能非线性工艺规划方法 |
CN109063571A (zh) * | 2018-07-04 | 2018-12-21 | 上海电机学院 | 基于小波包分解的人工蜂群bp神经网络信号识别方法 |
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
Non-Patent Citations (2)
Title |
---|
人工蜂群优化的BP神经网络在入侵检测中的应用;沈夏炯 等;《计算机工程》;20161231;第42卷(第2期);第190-194页 * |
基于STEP和改进神经网络的STEP-NC制造特征识别方法;张禹 等;《航空学报》;20181220;第40卷(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109977972A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977972B (zh) | 一种基于step的智能特征识别方法 | |
CN113190688B (zh) | 基于逻辑推理和图卷积的复杂网络链接预测方法及系统 | |
CN108009527A (zh) | 一种面向step-nc2.5d制造特征的智能特征识别方法 | |
JP2007200302A (ja) | 収束基準を利用する多目的最適化のためのモデルベースおよび遺伝ベースの子孫生成の組み合わせ | |
CN111488946A (zh) | 基于信息融合的雷达伺服系统故障诊断方法 | |
CN111723930A (zh) | 一种应用群智监督学习方法的系统 | |
Guo et al. | Dynamic Fuzzy Logic Control of Genetic Algorithm Probabilities. | |
Agarwal et al. | A hybrid genetic algorithm and particle swarm optimization with type-2 fuzzy sets for generating systems of systems architectures | |
CN116402002A (zh) | 一种用于芯片布局问题的多目标分层强化学习方法 | |
Kalifullah et al. | Retracted: Graph‐based content matching for web of things through heuristic boost algorithm | |
Han et al. | An efficient genetic algorithm for optimization problems with time-consuming fitness evaluation | |
CN113987203A (zh) | 一种基于仿射变换与偏置建模的知识图谱推理方法与系统 | |
Zhang et al. | End‐to‐end generation of structural topology for complex architectural layouts with graph neural networks | |
CN108198084A (zh) | 一种复杂网络重叠社区发现方法 | |
Shen et al. | Semi-supervised hierarchical ensemble clustering based on an innovative distance metric and constraint information | |
CN114819151A (zh) | 基于改进代理辅助混洗蛙跳算法的生化路径规划方法 | |
CN113408602A (zh) | 一种树突神经网络初始化方法 | |
Girsang et al. | Multi-objective particle swarm optimization for repairing inconsistent comparison matrices | |
Hu et al. | Apenas: An asynchronous parallel evolution based multi-objective neural architecture search | |
Hu et al. | A classification surrogate model based evolutionary algorithm for neural network structure learning | |
CN112465253A (zh) | 一种城市路网中的链路预测方法及装置 | |
Wang et al. | Community detection in complex networks using improved artificial bee colony algorithm | |
Nagy | Data-driven analysis of fractality and other characteristics of complex networks | |
Hang et al. | Research on scientific data mining algorithms based on WOA-BP neural networks | |
CN108764356A (zh) | 基于引力相似度的图聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |