CN113963118A - 一种基于特征简化和神经网络的三维模型识别方法 - Google Patents
一种基于特征简化和神经网络的三维模型识别方法 Download PDFInfo
- Publication number
- CN113963118A CN113963118A CN202111371400.XA CN202111371400A CN113963118A CN 113963118 A CN113963118 A CN 113963118A CN 202111371400 A CN202111371400 A CN 202111371400A CN 113963118 A CN113963118 A CN 113963118A
- Authority
- CN
- China
- Prior art keywords
- model
- triangle
- triangular
- optimal
- mesh
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开三维模型智能识别领域中的一种基于特征简化和神经网络的三维模型识别方法,对原始模型中的三角网格的每条有效边的所有的收缩成本排序,移除最小收缩成本对应的有效边并收缩该有效边,获得三角网格模型;将三角网格模型上的关键特征与原始模型上的关键特征对比,若两者相匹配则该三角网格模型为最优的网格简化模型;对最优的网格简化模型的每个三角网格数据提取,得到每个三角形对应的中心坐标、法向量、角向量以及邻接三角形编号这些三角网格数据;将三角网格数据作为神经网络的输入,实际三维模型类型作为输出训练神经网络;本发明将改进的QEM简化算法与神经网络相结合,进而提高了整个三维模型的识别效率和准确性。
Description
技术领域
本发明属于三维模型智能识别领域,具体是一种基于特征简化及神经网络的三维模型识别方法。
背景技术
随着互联网络的快速布局应用,数字化、便携化和云端化成为生产生活的演进方式。传统的二维表示及应用方式已无法满足生产生活需要,因此三维模型这一更符合人类认知的表现方式被提出并得到快速的发展。伴随着三维CAPP系统的诞生,对零件的加工信息的标注和工艺信息的排布,都由二维图纸转为三维MBD模型,为了更好的适配这种转变模式,并且提高系统的智能化程度,三维模型识别变得尤为重要。由于三维模型包含大量难以提取但对特征学习非常重要的几何信息,因此对三维形状的有效描述仍然面临巨大挑战。随着深度学习的快速发展,越来越多的三维模型识别方法被提出,其中比较经典的方法可归纳为基于点云的识别方法、基于多视图的识别方法以及基于体素化的识别方法。采用点云识别方式描述三维模型时,同一模型有多种描述方法,区分困难;多视图识别方式中,将三维模型进行二维变换,无论是采用投影图还是平面图,都会丢失大量特征信息以及模型的空间结构信息;体素化识别方式亦存在特征丢失这一问题。因此,如何将不同模型的优势结合起来从而提升三维模型的分类和检索效果,提高识别效率,是这一领域要实现的目的。
在进行三维模型表达描述的过程中,无论采用何种方法,对于需要识别的工业模型来说,数据量都是庞大的,所以数据简化成为模型识别的首要任务。中国专利申请号为201911396019.1、名称为“一种基于三角网格简化模板的物体识别方法及装置”文献中公开的方案是:通过将三维模型划分网格,并对三角网格进行简化来简化数据,利用点云的方法进行匹配,获得匹配物体在点云背景中的位置和姿态,这种方法虽然做到了数据的简化和匹配,但是对于模型识别来说,点云匹配的方式不能满足模型的具体特征,不能准确的判断出需要识别的模型的类型。
发明内容
为了克服现有技术的不足,本发明提供了一种基于特征简化和神经网络的三维模型识别方法,以解决现有三维模型识别效率低、不能有效识别完整三维模型和复杂的三维特征等问题。
为了实现上述目的,本发明所述的一种基于特征简化及神经网络的三维模型识别方法采用的技术方案是包含以下步骤:获取零件的原始模型的所有三角网格信息,包括其关键特征,设置简化率,其特征是还包括以下步骤:
步骤(1):对原始模型中的三角网格的每条有效边都计算出对应的收缩成本,将所有的收缩成本排序,移除最小收缩成本对应的有效边并收缩该有效边,直到所有有效边收缩完毕,获得三角网格模型;
步骤(2):对步骤(1)中所述的三角网格模型上的关键特征进行拾取,与所述的原始模型上的关键特征对比,若两者相匹配,则该三角网格模型为最优的网格简化模型;
步骤(3):对所述的最优的网格简化模型的每个三角网格数据进行提取,得到每个三角形对应的中心坐标、法向量、角向量以及邻接三角形编号这些三角网格数据;
步骤(4):将步骤(3)中所述的三角网格数据作为神经网络的输入,零件的实际三维模型类型作为输出训练神经网络,得到最优神经网络模型;
步骤(5):针对待识别零件,执行与步骤(1)~(3)雷同的方法,获得待识别零件的三角网格数据,将待识别零件的三角网格数据输入最优神经网络模型,识别出其三维模型类型。
进一步地,步骤(1)中,选择原始模型的一条有效边(v1,v2),先计算有效边(v1,v2)上的两点v1,v2的二次误差矩阵Q(v1),Q(v2)以及最优收缩点vf的二次误差矩阵Q(vf),再计算出最优收缩点vf,最后计算出该有效边(v1,v2)的收缩成本T为矩阵转置;如此循环往复获得了所有有效边的收缩成本。
进一步地,步骤(3)的具体方法是:
步骤1),以所述的最优的网格简化模型所在的坐标原点为旋转轴的原点,随机生成一个单位向量,与坐标原点组成旋转轴,随机生成旋转角度θ∈[0,2π],旋转最优的网格简化模型;
步骤2),提取旋转后的最优的网格简化模型中的每个三角形的法向量以及三个项角的坐标P1、P2、P3,计算出所有三角形项角距离该三角形中心的距离d,比较所有距离的大小,获得最大距离dmax,将每个三角形项角坐标都乘上归一化后得到三个归一化的顶点坐标为
步骤3),根据归一化后计算出每个三角形的中心坐标Co和每个三角形三个顶角构成的角向量;
步骤4),对每一个三角形以及每个三角形的三个邻接面编号。
本发明采用上述技术方案后的有益效果是:
1.本发明将改进的QEM网格简化算法应用在三维模型识别的数据处理上,在网格简化过程中寻找最优收缩点的位置,将数据量大幅度减少,使整个简化模型用最小的数据量表达出最完整三维模型结构,提高了数据处理效率,进而提高了整个三维模型的识别效率和准确性。
2.本发明对模型表面进行抽取,然后进行网格表示,相比于对整个模型实体而言,数据量得到很大程度得到精简,提高了训练效率。
4.本发明将改进的QEM简化算法与神经网络相结合,充分利用了深度学习的方法,使整个识别过程更加智能化,提高了整个三维模型的识别效率及准确率。
5.本发明为了匹配三维模型识别的特性,需要对简化后模型上的特征进行抽取判断,保证了特征的完整性,可以增加三维模型识别的准确性。
附图说明
图1是本发明所述的一种基于特征简化及神经网络的三维模型识别方法的总体流程图;
图2是零件的原始模型图,原始模型的三角网格数为46856;
图3是图2简化后的最优的网格简化模型图,最优的网格简化模型的三角网格数为4694。
图4是简化前的三角网格示意图;
图5是图4简化后的三角网格示意图;
图6是邻接三角形及三角网格示意图;
图7是以船用柴油机为例所识别出的零件模型类别示意图。
具体实施方式
本发明提供的一种基于特征简化和神经网络的三维模型识别方法,先对模型零件进行特征简化处理:将模型零件用三角网格表示,利用网格简化算法实现模型的简化,得到简化后的最优的网格简化模型,导出简化后的最优的网格简化模型的网格数据,然后利用神经网络进行训练,得到最优神经网络模型,识别出三维模型。神经网络模型所需要的训练数据则是由简化后的最优的网格简化模型提供。如图1所示,具体步骤如下:
(1)导入零件模型,并转为OBJ格式文件。
将零件MBD设计的模型导入三维CAD软件solidworks中,将模型的文件格式转为OBJ文件导出。OBJ文件是一种3D模型文件。属于二进制文件,可以展现表示模型的所有三角网格信息。
(2)读取该模型的OBJ格式文件,获取所有三角网格信息。例如图2所示的零件模型,本发明称之为原始模型,其具有模型的所有三角网格信息,包括其关键特征以及三角网格数,图2中的三角网格数为46856。
然后,设置简化率,简化率为三角网格简化算法中控制三角网格模型网格数的参数,为了获取最优的网格简化模型需要一个合适的简化率。
(3)选择原始模型的一条有效边(v1,v2),如图4所示,其中,v1,v2为构成有效边的两个点,也是三角形的两个顶点,有效边为v1,v2两个点相连接形成的边或者v1,v2两个点之间的距离小于一个设定阈值形成的边,该阈值是由两个点构成有效边的合理距离,需要根据简化程度进行设置。
(4)结合如图5所示,对选择的有效边(v1,v2)计算其最优收缩点vf。最优收缩点vf一般为有效边(v1,v2)上的一点,向该一点坍缩,但本发明采用的是改进的简化算法,该改进算法为最优收缩点vf不再局限于向v1,v2中任意一点塌陷,可以是v1,v2连线上的任意一点,从而提高网格质量。
先计算有效边(v1,v2)上的两点v1,v2的二次误差矩阵Q(v1),Q(v2)以及最优收缩点vf的二次误差矩阵Q(vf),再计算最优收缩点vf,其计算公式是:
其中,qij代表最优收缩点vf的二次误差矩阵Q(vf)中第i行第j列的元素。最优收缩点vf的二次误差矩阵Q(vf)通过式Q(vf)=Q(v1)+Q(v2)计算出,其中Q(v1),Q(v2)分别为构成有效边的三角形顶点v1,v2的二次误差矩阵,二次误差矩阵Q(v1)表示与点v1相邻的平面集合Kp之和,即plance(v1)代表与顶点v1相邻的所有三角形平面。同理,二次误差矩阵Q(v2)表示与点v2相邻的平面集合之和,plance(v2)代表与顶点v2相邻的所有三角形平面。平面集合其中P=[a b c d]T,代表了三角形平面,a,b,c,d代表选取的相对应的三角形平面方程ax1+by1+cz1+d=0的系数,x1,y1,z1代表空间坐标。
(6)选择原始模型的其余一条有效边(v1,v2),然后重复步骤(3)到步骤(5),如此循环往复,便可以计算出所有有效边的收缩成本,获得了所有有效边n个收缩成本,将n个收缩成本cost放入一个堆中,按大小进行排序,最小的收缩成本cost放在第一位。
(7)按照对有效边收缩成本的排序,移除最小收缩成对应的有效边,并收缩该有效边。然后更新所有有效边的收缩成本并重新进行排序,如此重复,直到所有有效边收缩完毕,输出此时的三角网格模型。
(8)对步骤(7)获得的三角网格模型上的关键特征进行拾取,然后与图2中简化前的原始模型上的关键特征进行对比,判断两者的关键特征是否完整,如果完整相匹配,则输出该网络模型,便是如图3所示的最优的网格简化模型,其三角网格数为4694;否则,如果特征没有完整匹配,则对步骤(2)中设置的简化率作调整,增加简化率,之后,重复步骤(3)到步骤(8),直到全部关键特征都对比完整匹配为止。最优的网格简化模型具有与简化前的原始模型相似的特征,能够完整地与简化前原始模型相匹配。
(9)将最优的网格简化模型转为stl文件格式。
简化后的三角网格模型为OBJ文件,该模型为二进制格式文件,不能将网格模型数据化输出,所以需要利用solidworks软件将OBJ文件转为stl格式文件。
(10)导入简化后的最优的网格简化模型,并对该最优的网格简化模型进行随机旋转操作,以增强其数据集。
随机旋转操作是以最优的网格简化模型所在的坐标原点O为旋转轴的原点,随机生成一个单位向量与坐标原点O组成旋转轴随机生成旋转角度θ,θ∈[0,2π];使模型绕旋转轴旋转θ。每旋转一个θ角度执行一次步骤(11)到步骤(12)。
(11)输出旋转后的最优的网格简化模型的stl文件。
(12)对最优的网格简化模型的三角网格数据进行数据提取及处理。具体方法是:
2)将上述坐标数据进行归一化处理;首先计算所有三角形顶角距离该三角形中心的距离:x,y,z为三角形顶角的坐标,比较所有距离的大小,获得最大距离dmax。然后,将每个三角形顶角坐标都乘上再归一化后得到此时的三个顶点坐标为
5)对每一个三角形进行编号,并对每个三角形的三个邻接面编号(不足三个以自身编号补全);如果两个三角形相邻,则这两个三角形共享一条边,即有两个公共顶角。首先,对每一个三角形进行编号;然后对于每个面,通过遍历其它所有面,判断两者是否同时拥有两个相同顶角来确定其是否为邻接面;最后,记录下每个邻接面编号。如图6所示,编号为A的三角形,其邻接三角形编号为B,C,D,邻接面集合表示为num={B,C,D}。
6)对获得的每个三角形对应的数据进行汇总,包括每个三角形对应的中心坐标、法向量、角向量、邻接三角形编号这些三角网格数据,将每个三角形对应的这些三角网格数据形成集合则此时所有的网格三角形处理后的三角网格数据集Tl可以表示为:
S为最优的网格简化模型中三角网格的总个数,k代表每个三角形。该数据集表示一个零件的最优的网格简化模型处理完的数据集合。
(13)每旋转一个θ角度,重复执行步骤(10)到(12),可以得到个三角网格数据以及对应的数据集,将个数据集Tl存储在以零件的实际三维模型类型命名的文件夹中,数据集Tl中的数据是三角形的中心坐标、法向量、角向量、邻接三角形编号,均以npz文件格式储存。以实际三维模型类型命名是为了在训练的时候用文件夹的名称作为标签。
(14)将以零件的实际三维模型类型命名的文件夹中的数据分为训练集和测试集,按照7:3的比例用于神经网络的训练和测试,如此获得最优神经网络模型,该最优神经网络模型的输入的是最优的网格简化模型处理完的所有数据集合Tl,该最优神经网络模型的输出的是该零件模型类型。
(15)针对每一个零件,与步骤(1)到步骤(14)的方法雷同,重复以上步骤,一共可以得到与零件数量相同个数的最优神经网络模型。
(16)针对待识别零件,对其三维模型重复执行以上步骤(1)到步骤(12),获得待识别零件的三维模型的数据集Tl,将待识别零件的三维模型的数据集Tl中的三角网格数据作为最优神经网络模型的输入,识别出该待识别零件的三维模型类型,完成识别过程。
如图7所示,以船用柴油机为例,其包括连杆、机架、活塞、凸轮轴、气缸盖、曲轴这些零件,每种零件都有10种不同规格类型。针对每一个零件,先重复执行与步骤(1)到步骤(14),分别获得连杆、机架、活塞、凸轮轴、气缸盖、曲轴的三角网格数据的训练集和测试集,并输入神经网络进行训练,得到6个最优神经网络模型。再将未知的待识别的不同规格类型的零件的三角网格数据输入6个最优神经网络模型中,识别出其类型。
Claims (9)
1.一种基于特征简化和神经网络的三维模型识别方法,获取零件的原始模型的所有三角网格信息,包括其关键特征,设置简化率,其特征是还包括以下步骤:
步骤(1):对原始模型中的三角网格的每条有效边都计算出对应的收缩成本,将所有的收缩成本排序,移除最小收缩成本对应的有效边并收缩该有效边,直到所有有效边收缩完毕,获得三角网格模型;
步骤(2):对步骤(1)中所述的三角网格模型上的关键特征进行拾取,与所述的原始模型上的关键特征对比,若两者相匹配,则该三角网格模型为最优的网格简化模型;
步骤(3):对所述的最优的网格简化模型的每个三角网格数据进行提取,得到每个三角形对应的中心坐标、法向量、角向量以及邻接三角形编号这些三角网格数据;
步骤(4):将步骤(3)中所述的三角网格数据作为神经网络的输入,零件的实际三维模型类型作为输出训练神经网络,得到最优神经网络模型;
步骤(5):针对待识别零件,执行与步骤(1)~(3)雷同的方法,获得待识别零件的三角网格数据,将待识别零件的三角网格数据输入最优神经网络模型,识别出其三维模型类型。
4.根据权利要求2所述的一种基于特征简化和神经网络的三维模型识别方法,其特征是:所述的有效边(v1,v2)为v1,v2两个点相连接形成的边或者v1,v2两个点之间的距离小于一个设定阈值形成的边。
5.根据权利要求1所述的一种基于特征简化和神经网络的三维模型识别方法,其特征是:步骤(2)中,如果三角网格模型上的关键特征与原始模型上的关键特征没有完整匹配,则增加所述的简化率,重复步骤(1),直至全部关键特征完整匹配为止。
6.根据权利要求1所述的一种基于特征简化和神经网络的三维模型识别方法,其特征是:步骤(3)的具体方法是:
步骤1),以所述的最优的网格简化模型所在的坐标原点为旋转轴的原点,随机生成一个单位向量,与坐标原点组成旋转轴,随机生成旋转角度θ∈[0,2π],旋转最优的网格简化模型;
步骤2),提取旋转后的最优的网格简化模型中的每个三角形的法向量以及三个顶角的坐标P1、P2、P3,计算出所有三角形顶角距离该三角形中心的距离d,比较所有距离的大小,获得最大距离dmax,将每个三角形顶角坐标都乘上归一化后得到三个归一化的顶点坐标为
步骤3),根据归一化后计算出每个三角形的中心坐标Co和每个三角形三个顶角构成的角向量;
步骤4),对每一个三角形以及每个三角形的三个邻接面编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111371400.XA CN113963118A (zh) | 2021-11-18 | 2021-11-18 | 一种基于特征简化和神经网络的三维模型识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111371400.XA CN113963118A (zh) | 2021-11-18 | 2021-11-18 | 一种基于特征简化和神经网络的三维模型识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113963118A true CN113963118A (zh) | 2022-01-21 |
Family
ID=79471126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111371400.XA Pending CN113963118A (zh) | 2021-11-18 | 2021-11-18 | 一种基于特征简化和神经网络的三维模型识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113963118A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115482466A (zh) * | 2022-09-28 | 2022-12-16 | 广西壮族自治区自然资源遥感院 | 一种基于深度学习的三维模型植被区域轻量化处理方法 |
CN117237580A (zh) * | 2023-09-26 | 2023-12-15 | 中国科学院沈阳自动化研究所 | 一种基于多视图和加工特征识别的cad模型匹配方法及系统 |
-
2021
- 2021-11-18 CN CN202111371400.XA patent/CN113963118A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115482466A (zh) * | 2022-09-28 | 2022-12-16 | 广西壮族自治区自然资源遥感院 | 一种基于深度学习的三维模型植被区域轻量化处理方法 |
CN117237580A (zh) * | 2023-09-26 | 2023-12-15 | 中国科学院沈阳自动化研究所 | 一种基于多视图和加工特征识别的cad模型匹配方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6891351B2 (ja) | 多特徴検索と変形に基づく人体髪型の生成方法 | |
WO2020177432A1 (zh) | 基于目标检测网络的多标签物体检测方法、系统、装置 | |
US8411081B2 (en) | Systems and methods for enhancing symmetry in 2D and 3D objects | |
CN113963118A (zh) | 一种基于特征简化和神经网络的三维模型识别方法 | |
CN103310481B (zh) | 一种基于模糊熵迭代的点云精简方法 | |
WO2020108304A1 (zh) | 人脸网格模型的重建方法、装置、设备和存储介质 | |
CN112613097A (zh) | 一种基于计算机视觉的bim快速化建模方法 | |
CN110009745B (zh) | 根据平面基元和模型驱动对点云提取平面的方法 | |
CN103700135B (zh) | 一种三维模型局部球面调和特征提取方法 | |
CN107146251A (zh) | 一种三维人脸模型的对称性分析方法 | |
CN115661509A (zh) | 基于三维点云icp配准算法的手术器械识别分类方法 | |
CN111858997B (zh) | 一种基于跨领域匹配的服装样板生成方法 | |
CN109920050A (zh) | 一种基于深度学习和薄板样条的单视图三维火焰重建方法 | |
WO2019213857A1 (en) | 3-dimensional model identification | |
CN117132630A (zh) | 一种基于二阶空间兼容性度量的点云配准方法 | |
Huang et al. | Deep neural network for 3D point cloud completion with multistage loss function | |
Li et al. | Primitive fitting using deep geometric segmentation | |
CN117237428A (zh) | 一种面向三维点云的数据配准方法、装置及介质 | |
CN110598595B (zh) | 一种基于人脸关键点和姿态的多属性人脸生成算法 | |
CN108876711B (zh) | 一种基于图像特征点的草图生成方法、服务器及系统 | |
CN112837420B (zh) | 基于多尺度和折叠结构的兵马俑点云的形状补全方法及系统 | |
CN114219920B (zh) | 三维人脸模型的构建方法及装置、存储介质、终端 | |
Cao et al. | Gaussian-curvature-derived invariants for isometry | |
CN112767462B (zh) | 基于脊谷特征与深度特征描述符的点云单点对齐方法 | |
CN114611667A (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 |