CN111079208B - 基于粒子群算法的cad模型之间面对应关系识别方法 - Google Patents
基于粒子群算法的cad模型之间面对应关系识别方法 Download PDFInfo
- Publication number
- CN111079208B CN111079208B CN201911143699.6A CN201911143699A CN111079208B CN 111079208 B CN111079208 B CN 111079208B CN 201911143699 A CN201911143699 A CN 201911143699A CN 111079208 B CN111079208 B CN 111079208B
- Authority
- CN
- China
- Prior art keywords
- faces
- sequence
- solution
- particle swarm
- model
- 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
- 239000002245 particle Substances 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000013598 vector Substances 0.000 claims abstract description 51
- 238000005457 optimization Methods 0.000 claims abstract description 29
- 230000008030 elimination Effects 0.000 claims abstract description 3
- 238000003379 elimination reaction Methods 0.000 claims abstract description 3
- 238000012935 Averaging Methods 0.000 claims description 9
- 238000009825 accumulation Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 235000012149 noodles Nutrition 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- 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]
Abstract
本发明公开了一种基于粒子群优化算法的CAD模型之间面对应关系识别方法。本发明步骤:(1)提取三维CAD模型中面与面之间的相对位置和相对姿态信息,通过判定面与面之间的空间语义位置关系和计算面与面之间的归一化质心向量,确定三维CAD模型中任意两个面之间的相对位置;通过计算面与面之间的朝向向量夹角,确定三维CAD模型中任意两个面之间的相对姿态;(2)通过改进粒子群优化算法,识别任意给定的两个三维CAD模型之间的对应面,包括设计粒子对应解决方案的结构、新的优化求解目标函数及其子函数、粒子迭代更新过程中的去冲突机制。本发明识别过程无需事先对模型进行配准或对齐提高了几何对应关系的识别效率。
Description
技术领域
本发明属于三维模型检测领域,具体涉及一种基于粒子群优化算法的三维CAD模型之间面对应关系识别方法。
背景技术
识别三维CAD模型之间几何对应关系,即在给定的两个及两个以上三维CAD模型之间确定它们在几何元素(面、边和顶点)层面上的对应关系,是CAD模型配准、适应性重用、设计模式挖掘、产品跨CAD平台协同设计和重网格等领域最为基础和重要的一步。考虑到根据面之间的邻接关系,可以推导出模型之间的边以及顶点对应关系,因此,识别三维CAD模型之间几何对应关系,关键在于识别它们之间的面对应关系。
根据处理对象的类型,识别三维模型之间几何对应关系的方法可分为面向离散表示模型(如网格模型、点云模型)的方法和面向三维CAD模型的方法。
面向离散表示模型(如网格模型、点云模型)识别几何对应关系的方法相关工作较多,主要存在与离散表示模型的配准或对齐、检索、变形、重建等领域,通常基于离散表示模型之间的几何元素的重叠或等距度量、特征匹配、局部区域语义信息相似性计算等,识别几何元素对应关系(通常为离散点或局部区域对应关系)。然而,这类工作往往需要人工干预(如提供部分标记点),且通常难以适用于三维CAD模型,譬如,主流的三维CAD模型(底层为边界表示结构)往往顶点稀疏、几何元素分布高度不均匀使得特征匹配很难实施;具有很多尖锐边和局部细节,使得区域语义信息难以分析等。
面向三维CAD模型识别几何对应关系的方法,除了人工交互确定之外,主要隐含于CAD模型的检索工作当中。通常基于几何元素的拓扑结构(如属性邻接图、骨架图、)匹配,识别模型之间的几何对应关系。然而,检索主要关心的是整体或局部的相似性,因此,这类方法确定的几何对应关系通常是粗粒度的,如模型局部之间的几何对应关系。
少量涉及在三维CAD模型之间自动建立面对应关系的方法,通常基于定义的整体形状框架在CAD模型之间开展对应面识别:首先,穷举出模型之间所有的面对应关系方案;之后,从所有方案中过滤出与参考模型整体形状框架在相对姿态和相对位置方面相似度最高的方案,作为给定模型之间的面对应关系。该类方法往往效率欠佳,且难以适用于形状复杂(如面数较多)或整体形状不相似但局部形状相似的模型。
发明内容
本发明的目的是克服现有技术的不足,面向具有主流结构的CAD模型(即底层为边界表示),提出一种自动高效识别三维CAD模型之间面对应关系的方法。本发明对于任意给定的两个整体或局部形状相似的、无需事先配准或对齐的三维CAD模型M1和M2,能够自动高效地识别它们之间的面对应关系。
本发明解决其技术问题所采用的技术方案包含如下步骤:
步骤(1)提取三维CAD模型M1和M2中面与面之间的相对位置和相对姿态信息;
步骤(2)基于步骤(1)提取的相对位置和相对姿态信息,通过改进粒子群优化算法,识别M1和M2之间的对应面。
所述步骤(1)中对输入的每个三维CAD模型,其面与面之间的相对位置信息及其提取,具体包含如下步骤:
1-1.通过判定面与面之间的空间语义位置关系和计算面与面之间的归一化质心向量,确定三维CAD模型中任意两个面之间的相对位置,具体来说:
1-1-1.对于每个面,依据其uv参数域,从中均匀采样出k个面内点,加上面边界上的顶点,共同构成该面的特征点;
1-1-2.依据下列规则判定点面空间语义位置:假定p为三维空间中的任一点,F为三维CAD模型中的任一面,点p’为点p在F面方程上的投影点,依据向量与F在p’上的法向内积值来判断p与F之间的语义关系,若内积值为0,则判定p包含于F的面上;若内积值>0,则判定p位于F的正前方,若内积值<0,则判定p位于F的正后方;
1-1-3.依据步骤1-1-1中的特征点和步骤1-1-2中的点面空间语义位置的判定规则,确定三维CAD模型中任意给定的两个面(可不相邻)Fi和Fj的空间语义位置关系:若Fi中超过50%的特征点位于Fj的正前方,则判定Fi位于Fj的正前方;若Fi中超过50%的特征点位于Fj的正后方,则判定Fi位于Fj面正后方;否则,判定两个面重合;
1-1-4.对于三维CAD模型中任意两个面Fi和Fj,计算它们之间分别源自Fi和Fj面质心的两个质心向量和/>
1-1-5.依照步骤1-1-4计算三维CAD模型中的所有面与面之间的质心向量,依据它们源自的面质心进行分类;对于其中的每一类,获取该类中最长的向量长度,据此对该类中的每个向量做长度归一化。
所述步骤(1)中对输入的每个三维CAD模型,其面与面之间的相对姿态信息及其提取,具体包含如下步骤:
1-2.提取模型中每个面的朝向向量,通过计算朝向向量之间的夹角∈[0°,180°],来确定三维CAD模型中任意两个面之间的相对姿态,其中平面的朝向向量为其面法向,旋转面(如圆柱面、圆锥面、圆环等)的朝向向量为其旋转轴的轴向向量,球面及其它类型面的朝向向量为其参数域中心点所在的面法向;
所述步骤(2)中改进的粒子群优化算法,首先在于改进了粒子相应解决方案的结构——M1和M2之间每种面对应关系表达方式:
2-1.设计M1和M2之间每种面对应(关系)解决方案的结构如下:
1 | 2 | 3 | …… | n |
i | j | k | …… | u |
其中,解决方案第1行,表示M1中需要识别对应关系的面相应的面编号序列,每个整数数字对应M1中的一个面;解决方案第2行表示M2中与M1中给定的面编号序列对应的面编号序列;解决方案1,2两行相同列上的两个数字代表一对(候选的)对应面,具体如下:
2-1-1.对于每个模型,随机遍历其每个面,并对其所有面从1开始逐步加1进行编号,实现每个模型中面编号和面一一对应;
2-1-2.将M1中所有的面编号无重复地、顺序地填入解决方案的第1行(用户也可自行决定选择面编号),在优化求解过程中,每个解决方案的第1行数字序列均相同且保持不变;
2-1-3.每个解决方案的第2行数字序列,在优化求解过程中会动态变化,但始终对应M2中的面编号,且序列中的数字无重复。
所述步骤(2)中改进的粒子群优化算法,其次在于设计了新的优化求解目标函数及其相关的子函数,具体来说:
2-2.基于步骤(1)中提取的信息,设计优化求解目标函数(1):
max f(s)=w1*fpos_sim(s)+w2*flen_sim(s)+w3*fori_sim(s) (1)
其中,s表示优化求解过程中M1和M2之间的任一面对应解决方案;wi∈[0,100](i=1,2,3)为上述各子函数的权重系数,且w1+w2+w3=100:
2-2-1.根据s中的面编号对应关系,以一种双重累加求平均方法,计算每对对应面在各自序列中(解决方案的第1行和第2行)相对于排在它们序列位置之前的所有面的空间语义位置相似度,设计步骤2-2中的fpos_sim(如函数(3)所示),值越大相似度越高:
其中,函数(2),即ffacepair_pos_sim,为二值函数,用于衡量M1和M2之间任意两对对应面(Fi、Fj属于M1;Fi’、Fj’属于M2;Fi与Fi’对应;Fj与Fj’对应)之间的空间语义位置是否相同。
2-2-2.根据s中的面编号对应关系,以类似步骤2-2-1中的双重累加求平均方法,计算每对对应面在各自序列中相对于排在它们序列位置之前的所有面的归一化向量长度相似度,设计步骤2-2中的flen_sim(如函数(5)所示),值越大相似度越高:
函数(4),即ffacepair_len_sim∈(0,1],用于衡量M1和M2之间任意两对对应面(Fi、Fj属于M1;Fi’、Fj’属于M2;Fi与Fi’对应;Fj与Fj’对应)之间的归一化质心向量长度的相似度,长度越接近相似度越大。
2-2-3.根据s中的面编号对应关系,以类似步骤2-2-1中的双重累加求平均方法,计算每对对应面在各自序列中相对于排在它们序列位置之前的所有面的相对姿态相似度,设计步骤2-2中的fori_sim(如函数(7)所示),值越大相似度越高:
其中,函数(6),即ffacepair_ori_sim∈(0,1],用于衡量M1和M2之间任意两对对应面(Fi、Fj属于M1;Fi’、Fj’属于M2;Fi与Fi’对应;Fj与Fj’对应)之间在朝向向量夹角(步骤1-2)上的接近程度。
所述步骤(2)中改进的粒子群优化算法,最后还在于粒子迭代更新过程中设计了去冲突机制,具体来说:
2-3.随机生成Q个初始粒子:每个粒子当前解决方案对应一种随机生成的面对应(关系),即其第2行整数序列随机生成,且序列中的每个数字其值∈[-m,m],m为模型M2中的最大面编号;第2行中每一列关联一个速度参数,其值为实数且∈[-m,m],不同列中关联的速度参数相互独立;
2-4.以步骤2-2的函数(1)为目标函数,计算每个粒子当前解决方案目标值;
2-5.更新每个粒子的历史最优解决方案和粒子群全局最优解决方案;
2-6.使用标准粒子群优化算法更新Q个粒子,即更新每个粒子当前解决方案中第2行每一列中的数字及其关联的速度,并采用贪心策略去冲突:
2-6-1.第2行每一列的数字四舍五入取整,并保证数值∈[-m,m];
2-6-2.从左到右依次遍历第2行,若第i列的数字在整个序列中存在重复,则尝试从模型M2中选择一个未在第2行中出现过的面编号对i列的数字进行替换——要求代入的新数字相比于第i列原数字而言,与第2行第1列到第i-1列数字构成的序列,在使用步骤2-2中的函数(1)计算时得到的值更大;
2-7.迭代执行步骤2-4至步骤2-6,直至达到既定的最大迭代更新次数R,返回粒子群全局最优解决方案,根据步骤2-1中描述的解决方案结构,确定模型M1和M2之间的最终面对应关系。
本发明有益效果如下:
为解决现有技术的不足,本发明提供了一种自动高效识别三维CAD模型之间面对应关系的方法。本发明开发了新的面对相对姿态和相对位置信息提取及相似性评价方法,并改进了粒子群优化算法。本发明仅依赖几何信息便可自动地识别整体或局部形状相似的、几何细节差异较大的两个三维CAD模型之间的面对应关系。本发明无需事先配准或对齐三维模型,消除了人工干预,大幅度提高了几何对应关系的识别效率。本发明可广泛适用于产品三维辅助设计、智能制造等领域,可提高几何对应关系识别效率70%以上。
附图说明
图1本发明识别三维CAD模型之间面对应关系方法的步骤流程示意图;
图2(a)对输入的三维CAD模型提取面与面之间的空间语义位置示意图;
图2(b)对输入的三维CAD模型提取面与面之间的相对姿态示意图;
图3(a)对输入的两个三维CAD模型进行面编号,及初始任一粒子对应的解决方案结构实例示意图;
图3(b)任一粒子当前解决方案的某一次迭代更新过程示意图;
图3(c)基于粒子群全局最优解的面对应关系示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1所示,一种基于粒子群优化算法的三维CAD模型之间面对应关系识别方法,包含如下步骤:
步骤(1)提取三维CAD模型中面与面之间的相对位置和相对姿态信息;
1-1.通过判定面与面之间的空间语义位置关系和计算面与面之间的归一化质心向量,确定三维CAD模型中任意两个面之间的相对位置,具体来说:
1-1-1.对于每个面,依据其uv参数域,从中均匀采样出k(k通常取值10)个面内点,加上面边界上的顶点,共同构成该面的特征点;
1-1-2.依据下列规则判定点面空间语义位置的:假定p为三维空间中的任一点,F为三维CAD模型中的任一面,点p’为p在F面方程上的投影点,依据向量与F在p’上的法向内积值来判断p与F之间的语义关系,若内积值为0,则判定p包含于F的面上;若内积值>0,则判定p位于F的正前方,若内积值<0,则判定p位于F的正后方;
如图2(a)所示,点p在面F1、F2和F3上的投影分别为p1’,p2’和p3’,其中,p与p1’重合;p2’和p3’面法向分别为和/>由此可知,向量/>与面F1的内积值为0,向量/>与的内积值>0,向量/>与/>的内积值<0,即点p在F1上、在F2的正前方同时处于F3的正后方。
1-1-3.依据步骤1-1-1中的特征点和步骤1-1-2中的点面空间语义位置的判定规则,确定三维CAD模型中任意给定的两个面(可不相邻)Fi和Fj的空间语义位置关系:若Fi中超过50%的特征点位于Fj的正前方,则判定Fi位于Fj的正前方,如图2(a)中面F1位于面F2的正前方;若Fi中超过50%的特征点位于Fj的正后方,则判定Fi位于Fj面正后方,如图2(a)所示面F1位于面F3的正后方;否则,判定两个面重合;
1-1-4.对于三维CAD模型中任意两个面Fi和Fj,计算它们之间分别源自Fi和Fj面质心的两个质心向量和/>
1-1-5.依照步骤1-1-4计算三维CAD模型中的所有面与面之间的质心向量,依据它们源自的面质心进行分类;对于其中的每一类,获取该类中最长的向量长度,据此对该类中的每个向量做长度归一化。
1-2.提取模型中每个面的朝向向量,通过计算朝向向量之间的夹角∈[0°,180°],来确定三维CAD模型中任意两个面之间的相对姿态,其中平面的朝向向量为其面法向(如图2(b)所示,向量和/>分别为面F1和F3的面法向,都是也是它们各自的朝向向量),旋转面(如圆柱面、圆锥面、圆环等)的朝向向量为其旋转轴的轴向向量(如图2(b)所示轴向量/>为圆柱面F5的朝向向量),球面及其它类型面的朝向向量为其参数域中心点所在的面法向;
步骤(2)基于步骤(1)提取的信息,对于任意给定的两个整体或局部形状相似的、无需事先配准或对齐的三维CAD模型M1和M2(如图3(a)所示),改进粒子群优化算法,识别它们之间的对应面。
2-1.设计M1和M2之间每种面对应(关系)解决方案的结构如下:
1 | 2 | 3 | …… | n |
i | j | k | …… | u |
其中,解决方案第1行,表示M1中需要识别对应关系的面相应的面编号序列,每个整数数字对应M1中的一个面;解决方案第2行表示M2中与M1中给定的面编号序列对应的面编号序列;解决方案1,2两行相同列上的两个数字代表一对(候选的)对应面:
2-1-1.对于每个模型,随机遍历其每个面,并对其所有面从1开始逐步加1进行编号,实现每个模型中面编号和面一一对应(如图3(a)所示);
2-1-2.将M1中所有的面编号无重复地、顺序地填入解决方案的第1行(如图3(a)所示;用户也可自行决定选择哪些面编号),在优化求解过程中,每个解决方案的第1行数字序列均相同且保持不变;
2-1-3.每个解决方案的第2行数字序列,在优化求解过程中会动态变化,但始终对应M2中的面编号,且序列中的数字无重复。
2-2.基于步骤(1)中提取的信息,设计优化求解目标函数(1):
max f(s)=w1*fpos_sim(s)+w2*flen_sim(s)+w3*fori_sim(s) (1)
其中,s表示优化求解过程中M1和M2之间的任一面对应解决方案;wi∈[0,100](i=1,2,3)为上述各子函数的权重系数,且w1+w2+w3=100(例如在图3(a)的实施中,w1=40,w2=25,w3=35),各个子函数的构造如下:
2-2-1.根据s中的面编号对应关系,以一种双重累加求平均方法,计算每对对应面在各自序列中(解决方案的第1行和第2行)相对于排在它们序列位置之前的所有面的空间语义位置相似度,设计步骤2-2中的fpos_sim(如函数(3)所示),值越大相似度越高:
其中,函数(2),即ffacepair_pos_sim,为二值函数,用于衡量M1和M2之间任意两对对应面(Fi、Fj属于M1;Fi’、Fj’属于M2;Fi与Fi’对应;Fj与Fj’对应)之间的空间语义位置是否相同。
2-2-2.根据s中的面编号对应关系,以类似步骤2-2-1中的双重累加求平均方法,计算每对对应面在各自序列中相对于排在它们序列位置之前的所有面的归一化向量长度相似度,设计步骤2-2中的flen_sim(如函数(5)所示),值越大相似度越高:
函数(4),即ffacepair_len_sim∈(0,1],用于衡量M1和M2之间任意两对对应面(Fi、Fj属于M1;Fi’、Fj’属于M2;Fi与Fi’对应;Fj与Fj’对应)之间的归一化质心向量长度的相似度,长度越接近相似度越大。
2-2-3.根据s中的面编号对应关系,以类似步骤2-2-1中的双重累加求平均方法,计算每对对应面在各自序列中相对于排在它们序列位置之前的所有面的相对姿态相似度,设计步骤2-2中的fori_sim(如函数(7)所示),值越大相似度越高:
其中,函数(6),即ffacepair_ori_sim∈(0,1],用于衡量M1和M2之间任意两对对应面(Fi、Fj属于M1;Fi’、Fj’属于M2;Fi与Fi’对应;Fj与Fj’对应)之间在朝向向量夹角的接近程度。
2-3.随机生成Q(如图3(b)中Q=80)个初始粒子:每个粒子当前解决方案对应一种随机生成的面对应(关系),即其第2行整数序列随机生成,且序列中的每个数字其值∈[-m,m],m为模型M2中的最大面编号,如图3(b)中m=135;第2行中每一列关联一个速度参数,其值为实数且∈[-m,m],不同列中关联的速度参数相互独立;
2-4.以步骤2-2的函数(1)为目标函数,计算每个粒子当前解决方案目标值,如图3(b)所示的第i个粒子的初始当前解决方案的值为16.89;
2-5.更新每个粒子的历史最优解决方案和粒子群全局最优解决方案;
2-6.使用标准粒子群优化算法更新Q个粒子,即更新每个粒子当前解决方案中第2行每一列中的数字及其关联的速度,并采用贪心策略去冲突:
2-6-1.第2行每一列的数字四舍五入取整,并保证数值∈[-m,m],效果如图3(b)示例粒子在其第j次更新后的初步结果所示;
2-6-2.从左到右依次遍历第2行,若第i列的数字在整个序列中存在重复,则尝试从模型M2中选择一个未在第2行中出现过的面编号对i列的数字进行替换——要求代入的新数字相比于第i列原数字而言,与第2行第1列到第i-1列数字构成的序列,在使用步骤2-2中的函数(1)计算时得到的值更大。如图3(b)示例中的粒子当前解决方案,在未去冲突前,模型M2的面编号47多次出现,在去冲突后,其第2行序列中的所有数字都不再重复,得到的目标函数值(31.55)大于该粒子第j次更新前其当前解决方案的目标值(16.89)。
2-7.迭代执行步骤2-4至2-6,直至达到既定的最大迭代更新次数R(图3(c)中R=90),返回粒子群全局最优解决方案,根据步骤2-1中描述的解决方案结构,确定模型M1和M2之间的最终面对应关系,如图3(c)给出了两模型的最终面对应方案。
虽然通过具体实施方式描绘了本发明,本领域普通技术人员都知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (4)
1.基于粒子群优化算法的CAD模型之间面对应关系识别方法,其特征在于对于任意给定的两个整体或局部形状相似的、无需事先配准或对齐的三维CAD模型M1和M2,能够自动识别它们之间的面对应关系,具体包含如下步骤:
步骤(1)提取三维CAD模型中面与面之间的相对位置和相对姿态信息;
步骤(2)基于步骤(1)提取的信息,通过改进粒子群优化算法,识别M1和M2之间的对应面;
所述的M1和M2的底层皆为主流的边界表示结构;
步骤(2)中所述的改进粒子群优化算法,在于对于粒子相应的解决方案——M1和M2之间每种面对应关系,设计了新的结构:
2-1.设计M1和M2之间每种面对应关系解决方案的结构如下:
第1行:1 2 3 …… n
第2行:i j k …… u
其中,解决方案第1行,表示M1中需要识别对应关系的面相应的面编号序列,每个整数数字对应M1中的一个面;解决方案第2行表示M2中与M1中给定的面编号序列对应的面编号序列;解决方案1和2两行相同列上的两个数字代表一对对应面:
2-1-1.对于每个模型,对其所有面从1开始逐步加1进行编号,实现每个模型中面编号和面一一对应;
2-1-2.将M1中所有的面编号无重复地、顺序地填入解决方案的第1行,在优化求解过程中,每个解决方案的第1行数字序列均相同且保持不变;
2-1-3.每个解决方案的第2行数字序列,在优化求解过程中会动态变化,但始终为M2中的面编号,且序列中的数字无重复;
步骤(2)中所述的改进粒子群优化算法,设计了新的优化求解目标函数及其相关的子函数,具体来说:
2-2.基于步骤(1)中提取的信息,设计优化求解目标函数(1):
max f(s)=w1*fpos_sim(s)+w2*flen_sim(s)+w3*fori_sim(s) (1)
其中,s表示优化求解过程中M1和M2之间的任一面对应解决方案;wi∈[0,100](i=1,2,3)为上述各子函数的权重系数,且w1+w2+w3=100:
2-2-1.根据s中的面编号对应关系,以一种双重累加求平均方法,计算每对对应面在各自序列中相对于排在它们序列位置之前的所有面的空间语义位置相似度,设计步骤2-2中的fpos_sim,值越大相似度越高:
其中,函数(2),即ffacepair_pos_sim,为二值函数,用于衡量M1和M2之间任意两对对应面之间的空间语义位置是否相同,Fi、Fj属于M1;Fi’、Fj’属于M2;Fi与Fi’对应;Fj与Fj’对应;
2-2-2.根据s中的面编号对应关系,以类似步骤2-2-1中的双重累加求平均方法,计算每对对应面在各自序列中相对于排在它们序列位置之前的所有面的归一化向量长度相似度,设计步骤2-2中的flen_sim,如函数(5)所示;值越大相似度越高:
函数(4),即ffacepair_len_sim∈(0,1],用于衡量M1和M2之间任意两对对应面之间的归一化质心向量长度的相似度,长度越接近相似度越大;
2-2-3.根据s中的面编号对应关系,以类似步骤2-2-1中的双重累加求平均方法,计算每对对应面在各自序列中相对于排在它们序列位置之前的所有面的相对姿态相似度,设计步骤2-2中的fori_sim,如函数(7)所示,值越大相似度越高:
其中,函数(6),即ffacepair_ori_sim∈(0,1],用于衡量M1和M2之间任意两对对应面之间在朝向向量夹角上的接近程度。
2.根据权利要求1所述的基于粒子群优化算法的CAD模型之间面对应关系识别方法,特征在于步骤(1)中所述的面与面之间的相对位置信息及其提取,包含如下步骤:
1-1.通过判定面与面之间的空间语义位置关系和计算面与面之间的归一化质心向量,确定三维CAD模型中任意两个面之间的相对位置,具体来说:
1-1-1.对于每个面,依据其uv参数域,从中均匀采样出k个面内点,加上面边界上的顶点,共同构成该面的特征点;
1-1-2.依据下列规则判定点面空间语义位置的:假定p为三维空间中的任一点,F为三维CAD模型中的任一面,点p’为p在F面方程上的投影点,依据向量与F在p’上的法向内积值来判断p与F之间的语义关系,若内积值为0,则判定p包含于F的面上;若内积值>0,则判定p位于F的正前方,若内积值<0,则判定p位于F的正后方;
1-1-3.依据步骤1-1-1中的特征点和步骤1-1-2中的点面空间语义位置的判定规则,确定三维CAD模型中任意给定的两个面(可不相邻)Fi和Fj的空间语义位置关系:若Fi中超过50%的特征点位于Fj的正前方,则判定Fi位于Fj的正前方;若Fi中超过50%的特征点位于Fj的正后方,则判定Fi位于Fj面正后方;否则,判定两个面重合;
1-1-4.对于三维CAD模型中任意两个面Fi和Fj,计算它们之间分别源自Fi和Fj面质心的两个质心向量和/>
1-1-5.依照步骤1-1-4计算三维CAD模型中的所有面与面之间的质心向量,依据它们源自的面质心进行分类;对于其中的每一类,获取该类中最长的向量长度,据此对该类中的每个向量做长度归一化。
3.根据权利要求2所述的基于粒子群优化算法的CAD模型之间面对应关系识别方法,特征在于步骤(1)中所述的面与面之间的相对姿态信息及其提取,包含如下步骤:
1-2.提取模型中每个面的朝向向量,通过计算朝向向量之间的夹角∈[0°,180°],来确定三维CAD模型中任意两个面之间的相对姿态,其中平面的朝向向量为其面法向,旋转面的朝向向量为其旋转轴的轴向向量,球面及其它类型面的朝向向量为其参数域中心点所在的面法向。
4.根据权利要求3所述的基于粒子群优化算法的CAD模型之间面对应关系识别方法,特征在于步骤(2)中所述的改进粒子群优化算法,在于粒子迭代更新过程中设计了去冲突机制,步骤如下:
2-3.随机生成Q个初始粒子:每个粒子当前解决方案对应一种随机生成的面对应,即其第2行整数序列随机生成,且序列中的每个数字其值∈[-m,m],m为模型M2中的最大面编号;第2行中每一列关联一个速度参数,其值为实数且∈[-m,m],不同列中关联的速度参数相互独立;
2-4.以步骤2-2的函数(1)为目标函数,计算每个粒子当前解决方案目标值;
2-5.更新每个粒子的历史最优解决方案和粒子群全局最优解决方案;
2-6.使用标准粒子群优化算法更新Q个粒子,即更新每个粒子当前解决方案中第2行每一列中的数字及其关联的速度,并采用贪心策略去冲突:
2-6-1.第2行每一列的数字四舍五入取整,并保证数值∈[-m,m];
2-6-2.从左到右依次遍历第2行,若第i列的数字在整个序列中存在重复,则尝试从模型M2中选择一个未在第2行中出现过的面编号对i列的数字进行替换——要求代入的新数字相比于第i列原数字而言,与第2行第1列到第i-1列数字构成的序列,在使用步骤2-2中的函数(1)计算时得到的值更大;
2-7.迭代执行步骤2-4至2-6,直至达到既定的最大迭代更新次数R,返回粒子群全局最优解决方案,根据步骤2-1中描述的解决方案结构,确定模型M1和M2之间的最终面对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911143699.6A CN111079208B (zh) | 2019-11-20 | 2019-11-20 | 基于粒子群算法的cad模型之间面对应关系识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911143699.6A CN111079208B (zh) | 2019-11-20 | 2019-11-20 | 基于粒子群算法的cad模型之间面对应关系识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111079208A CN111079208A (zh) | 2020-04-28 |
CN111079208B true CN111079208B (zh) | 2024-01-23 |
Family
ID=70311323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911143699.6A Active CN111079208B (zh) | 2019-11-20 | 2019-11-20 | 基于粒子群算法的cad模型之间面对应关系识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079208B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111898181B (zh) * | 2020-06-04 | 2023-11-17 | 中冶建筑研究总院有限公司 | 一种古建筑模型自动组装方法 |
CN112995987B (zh) * | 2021-02-07 | 2022-05-24 | 华南理工大学 | 基于多目标优化问题的自适应路网语义位置隐私保护方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004068300A2 (en) * | 2003-01-25 | 2004-08-12 | Purdue Research Foundation | Methods, systems, and data structures for performing searches on three dimensional objects |
CN101446958A (zh) * | 2008-12-12 | 2009-06-03 | 大连理工大学 | 基于拓扑邻接逼近的cad模型检索方法 |
JP2009122999A (ja) * | 2007-11-15 | 2009-06-04 | Hitachi Ltd | 三次元形状最適化装置および三次元形状最適化方法 |
US9383895B1 (en) * | 2012-05-05 | 2016-07-05 | F. Vinayak | Methods and systems for interactively producing shapes in three-dimensional space |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
CN108053443A (zh) * | 2017-11-20 | 2018-05-18 | 中国科学院空间应用工程与技术中心 | 一种基于粒子群优化的物体点云位姿估算方法和系统 |
CN108320293A (zh) * | 2018-01-26 | 2018-07-24 | 南京信息工程大学 | 一种结合改进粒子群算法的快速点云边界提取技术 |
CN109063271A (zh) * | 2018-07-11 | 2018-12-21 | 山东师范大学 | 一种基于超限学习机的三维cad模型分割方法和装置 |
EP3431211A1 (en) * | 2017-07-20 | 2019-01-23 | General Electric Company | Method for manufacturing a hybrid article |
CN110245740A (zh) * | 2019-05-10 | 2019-09-17 | 华中科技大学 | 一种基于序列近似优化的粒子群优化方法 |
CN110334108A (zh) * | 2019-06-18 | 2019-10-15 | 浙江工业大学 | 一种基于离散蝙蝠算法的三维cad模型相似性计算方法 |
-
2019
- 2019-11-20 CN CN201911143699.6A patent/CN111079208B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004068300A2 (en) * | 2003-01-25 | 2004-08-12 | Purdue Research Foundation | Methods, systems, and data structures for performing searches on three dimensional objects |
JP2009122999A (ja) * | 2007-11-15 | 2009-06-04 | Hitachi Ltd | 三次元形状最適化装置および三次元形状最適化方法 |
CN101446958A (zh) * | 2008-12-12 | 2009-06-03 | 大连理工大学 | 基于拓扑邻接逼近的cad模型检索方法 |
US9383895B1 (en) * | 2012-05-05 | 2016-07-05 | F. Vinayak | Methods and systems for interactively producing shapes in three-dimensional space |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
EP3431211A1 (en) * | 2017-07-20 | 2019-01-23 | General Electric Company | Method for manufacturing a hybrid article |
CN108053443A (zh) * | 2017-11-20 | 2018-05-18 | 中国科学院空间应用工程与技术中心 | 一种基于粒子群优化的物体点云位姿估算方法和系统 |
CN108320293A (zh) * | 2018-01-26 | 2018-07-24 | 南京信息工程大学 | 一种结合改进粒子群算法的快速点云边界提取技术 |
CN109063271A (zh) * | 2018-07-11 | 2018-12-21 | 山东师范大学 | 一种基于超限学习机的三维cad模型分割方法和装置 |
CN110245740A (zh) * | 2019-05-10 | 2019-09-17 | 华中科技大学 | 一种基于序列近似优化的粒子群优化方法 |
CN110334108A (zh) * | 2019-06-18 | 2019-10-15 | 浙江工业大学 | 一种基于离散蝙蝠算法的三维cad模型相似性计算方法 |
Non-Patent Citations (4)
Title |
---|
Finite Element Mesh Editing through CAD Operations;Hua Zhu;《2011 12th International Conference on Computer-Aided Design and Computer Graphics》;全文 * |
参数化模型的局部自动适应重用方法;潘万彬;《计算机辅助设计与图形学学报》;第28卷卷(第2期期);全文 * |
基于粒子群算法的三维CAD 模型相似性计算;高雪瑶;《计算机应用研究》;第第36卷卷(第第3期期);全文 * |
面向异构参数化特征模型检索的本体映射方法;秦飞巍;李路野;高曙明;;计算机集成制造系统(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111079208A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345523B (zh) | 表面缺陷检测和三维建模方法 | |
CN105046694B (zh) | 一种基于曲面拟合系数特征的点云快速配准方法 | |
Feito et al. | Fast and accurate evaluation of regularized Boolean operations on triangulated solids | |
CN106251353A (zh) | 弱纹理工件及其三维位姿的识别检测方法及系统 | |
CN105741355A (zh) | 一种三角网格模型的块分割方法 | |
CN109147040B (zh) | 基于模板的人体点云孔洞修补方法 | |
CN111079208B (zh) | 基于粒子群算法的cad模型之间面对应关系识别方法 | |
CN104992143B (zh) | 一种面向矢量字形的汉字笔画自动提取方法 | |
CN110349247A (zh) | 一种基于语义理解的室内场景cad三维重建方法 | |
CN113628263A (zh) | 一种基于局部曲率及其近邻特征的点云配准方法 | |
CN104331885A (zh) | 一种基于投票线聚类的圆形目标检测方法 | |
US9886529B2 (en) | Methods and systems for feature recognition | |
CN114119922A (zh) | 基于点云三维重构的复杂轮廓缺陷校验方法 | |
CN114663373A (zh) | 一种用于零件表面质量检测的点云配准方法及装置 | |
CN110288517B (zh) | 基于投影匹配组的骨架线提取方法 | |
Song et al. | Boundary-to-marker evidence-controlled segmentation and MDL-based contour inference for overlapping nuclei | |
CN109345571B (zh) | 一种基于扩展高斯图像的点云配准方法 | |
CN108010114B (zh) | 基本图元点云曲面的几何形状识别方法以及特征识别方法 | |
CN114511575A (zh) | 基于图像分割定位辅助点云配准的高反光物体的抓取方法 | |
CN108108700B (zh) | 一种基于弦轴变换的猪的特征区域识别方法 | |
Xue et al. | Point cloud registration method for pipeline workpieces based on PCA and improved ICP algorithms | |
CN112381945A (zh) | 三维模型过渡面的重建方法及系统 | |
CN112270746A (zh) | 基于邻域协方差特征参数阈值的铝合金3d打印点云精简算法 | |
Ji et al. | Point cloud segmentation for complex microsurfaces based on feature line fitting | |
Bode et al. | Bounded: Neural boundary and edge detection in 3d point clouds via local neighborhood statistics |
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 |