一种基于PCA与CNN的三维CAD实体模型制造特征识别方法

申请号 CN201710707210.8 申请日 2017-08-17 公开(公告)号 CN107463533A 公开(公告)日 2017-12-12
申请人 广东工业大学; 发明人 陈达权; 李海艳; 黄运保;
摘要 本 发明 公开了一种基于PCA与CNN的三维CAD实 体模 型制造特征识别方法,利用主元分析PCA方法将待识别三维CAD实体模型的五维点 云 数据组 降维 至二维,从而获得待识别三维CAD实体模型的二维点云数据组;将待识别实体模型数据输入已训练成功的CNN制造特征识别器中,所述CNN制造特征识别器根据所述待识别实体模型数据输出所述待识别三维CAD实体模型的所有制造特征。根据训练成功的CNN制造特征识别器实现了输出待识别三维CAD实体模型的所有制造特征,识别速度快,识别准确度高。
权利要求

1.一种基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,包括:
CNN制造特征识别器训练过程:
步骤A,在标准三维CAD实体模型的表面均匀采集16372个标准实体模型点,并根据椭球曲面的拟合方法计算每个标准实体模型点云对应的两个主曲率,然后选取每个标准实体模型点云的三维坐标值及两个主曲率作为代表该标准实体模型点云的五个特征,从而获得标准实体模型五维点云数据组;
步骤B,利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维,从而获得标准实体模型二维点云数据组,通过该标准实体模型二维点云数据组来代表对应的所述标准三维CAD实体模型;
步骤C,人工找出所述标准三维CAD实体模型的所有制造特征,并对其对应的标准实体模型二维点云数据组进行标定,构成一组已标定训练数据
步骤D,对15000个不同形状的标准三维CAD实体模型重复步骤A至C,获得15000组已标定训练数据,从该15000组所述已标定训练数据中随机选取14800组构成训练集P,剩余的
200组构成测试集S,通过所述训练集P和所述测试集S对CNN制造特征识别器进行训练,直至所述CNN制造特征识别器训练成功为止;
待识别三维CAD实体模型的制造特征识别过程:
步骤E,在待识别三维CAD实体模型的表面均匀采集其16372个待识别实体模型点云,并根据椭球曲面的拟合方法计算每个待识别实体模型点云对应的两个主曲率,然后选取每个待识别实体模型点云的三维坐标值及两个主曲率作为代表该待识别实体模型点云的五个特征,从而获得待识别实体模型五维点云数据组;
步骤F,利用主元分析PCA方法将所述待识别实体模型五维点云数据组降维至二维,从而获得待识别实体模型二维点云数据组,通过该待识别实体模型二维点云数据组来代表对应的所述待识别三维CAD实体模型,并将该待识别实体模型二维点云数据组构成一组待识别实体模型数据;
步骤G,将步骤F获得的所述待识别实体模型数据输入已训练成功的所述CNN制造特征识别器中,所述CNN制造特征识别器输出所述待识别三维CAD实体模型的所有制造特征。
2.根据权利要求1所述的基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,所有制造特征包括:圆柱通孔、螺纹通孔、方形通孔、锥孔、平底孔、带圆平底孔、球底孔、圆锥底孔、沉头孔、埋头孔、一般平面、台阶面、圆柱面、圆锥面、圆环面、球面、齿形面、花键轴、V型槽、T型槽、U型槽、环型槽、方槽、圆槽、键槽、花键槽、倒圆和倒角
3.根据权利要求1所述的基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,所述CNN制造特征识别器训练方法包括:
首先,对15000个不同形状的标准三维CAD实体模型重复步骤A至C,获得15000组已标定训练数据,从该15000组所述已标定训练数据中随机选取14800组构成所述训练集P,剩余的
200组构成所述测试集S;
然后,创建CNN制造特征识别器的CNN模型,所述CNN模型采用LENET结构并且最后3层使用MLP,所述CNN模型中所有激活函数采用ReLU函数;随机初始化CNN模型中所有权值和阈值,学习率初始化为0.01,批量训练样本数目设置为50,最小误差Nm设置为0.0001;
接着,对所述训练集P中各组已标定训练数据进行归一化处理,并从所述训练集P中从上至下依次选取一组已标定训练数据输入到所述CNN模型,按照前向传播的公式计算相应的模型输出;按照误差公式计算出该组已标定训练数据输入到CNN模型后模型输出和人工标定的标签之间的误差,并按照反向传播算法调节CNN模型所有权值和阈值;
一次训练完成后,计算整体误差N,若整体误差N<最小误差Nm,则所述CNN模型训练结束,否则按照上述CNN模型训练步骤继续训练所述CNN模型,直至整体误差N<最小误差Nm结束训练;
最后,将所述测试集S进行归一化处理,并从该测试集S中从上至下依次选取一组已标定训练数据输入到已完成训练的所述CNN模型中,按照前向传播的公式计算相应的模型输出,并与对应人工标定的标签进行对比,计算所述测试集S的整体错误率M,若所述整体错误率M满足要求,则该CNN模型训练成功,否则该CNN模型训练失败,需再次不断循环重复步骤A至步骤C以增加所述训练集P的已标定训练数据组数,按照上述CNN模型训练步骤继续训练网络,直至所述整体错误率M满足要求。
4.根据权利要求3所述的基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,所述步骤G的制造特征识别方法包括:
将步骤F获得的所述待识别实体模型数据进行归一化处理,并输入到已训练成功的CNN模型;
按照前向传播的公式计算该组待识别实体模型数据在该已训练成功的CNN模型相应的模型输出;
所述CNN模型输出层有28个神经元,依次代表28个制造特征,即圆柱通孔、螺纹通孔、方形通孔、锥孔、平底孔、带圆角平底孔、球底孔、圆锥底孔、沉头孔、埋头孔、一般平面、台阶面、圆柱面、圆锥面、圆环面、球面、齿形面、花键轴、V型槽、T型槽、U型槽、环型槽、方槽、圆槽、键槽、花键槽、倒圆和倒角;
所述CNN模型输出层各神经元输出结果表示意义:
若对应的神经元输出为1,则表示该待识别三维CAD实体模型具有该神经元所对应的制造特征,若该对应的神经元输出为0,则表示该待识别三维CAD实体模型不具有所述神经元所对应的制造特征。
5.根据权利要求1所述的基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,标准实体模型五维点云定义方法包括:
定义每个标准实体模型五维点云的第一特征为x轴坐标值,第二特征为y轴坐标值,第三特征为z轴坐标值,第四特征为两个主曲率中的最大曲率r1,第五特征为两个主曲率中的最小曲率r2。
6.根据权利要求1所述的基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,所述步骤C中利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维包括:
首先,分别对所述标准实体模型五维点云数据组求解每一维上的均值和方差,并对所述标准实体模型五维点云数据组中每个标准实体模型点云分别减去对应维数上的均值,组成行数等于所述标准实体模型五维点云数据组中点云数量、列数等于维数的标准实体模型样本矩阵Q;
接着,求解所述标准实体模型五维点云数据组的标准实体模型五维协方差矩阵K,即:
求解所述标准实体模型五维协方差矩阵K的5个特征值γ1、γ2、γ3、γ4、γ5,并由大到小排序获得其中最大值特征值δ1和次大特征值δ2,并求解所述标准实体模型五维协方差矩阵K对应δ1的特征向量β1和对应δ2的特征向量β2,所述特征向量β1和特征向量β2为单位化的五维列向量,并组成标准实体模型映射矩阵T=[β1,β2];
然后,将所述标准实体模型样本矩阵Q和标准实体模型映射矩阵T相乘获得标准实体模型二维点云矩阵Y,所述标准实体模型二维点云矩阵Y中的每一行即为标准实体模型五维点云数据组降维至二维的一个标准实体模型点云,从而获得所述标准实体模型二维点云数据组。
7.根据权利要求1所述的基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,待识别实体模型五维点云定义方法包括:
定义每个待识别实体五维模型点云的第一特征为x轴坐标值,第二特征为y轴坐标值,第三特征为z轴坐标值,第四特征为两个主曲率中的最大曲率r1,第五特征为两个主曲率中的最小曲率r2。
8.根据权利要求1所述的基于PCA与CNN的三维CAD实体模型制造特征识别方法,其特征在于,所述步骤F中利用主元分析PCA方法将所述待识别实体模型五维点云数据组降维至二维包括:
首先,分别对所述待识别实体模型五维点云数据组求解每一维上的均值和方差,并对所述待识别实体模型五维点云数据组中每个待识别实体模型点云分别减去对应维数上的均值,组成行数等于待识别实体模型五维点云数据组中点云数量、列数等于维数的待识别实体模型样本矩阵Q';
接着,求解所述待识别实体模型五维点云数据组的待识别实体模型五维协方差矩阵K',即:
求解所述待识别实体模型五维协方差矩阵K'的5个特征值γ1'、γ2'、γ3'、γ4'、γ
5',并由大到小排序获得其中最大值特征值δ1'和次大特征值δ2',并求解所述待识别实体模型五维协方差矩阵K'对应δ1'的特征向量β1'和对应δ2'的特征向量β2',所述特征向量β
1'和特征向量β2'为单位化的五维列向量,并组成待识别实体模型映射矩阵T'=[β1',β
2'];
然后,将所述待识别实体模型样本矩阵Q'和待识别实体模型映射矩阵T'相乘获得待识别实体模型二维点云矩阵Y',所述待识别实体模型二维点云矩阵Y'中的每一行即为待识别实体模型五维点云数据组降维至二维的一个待识别实体模型点云,从而获得所述待识别实体模型二维点云数据组。

说明书全文

一种基于PCA与CNN的三维CAD实体模型制造特征识别方法

技术领域

[0001] 本发明涉及计算机辅助特征设计领域,尤其涉及一种基于PCA与CNN的三维CAD实体模型制造特征识别方法。

背景技术

[0002] CAD/CAPP/CAM是当代最重要的工程技术之一,其应用从根本上改变了过去的手工设计绘图、凭图组织生产的技术管理方式,使得包括二维工程绘图、三维几何设计、有限元分析、数控加工、仿真模拟等在内的产品的设计工作可以在计算机上交互进行,有地促进了高新技术的发展和新产品的更新换代。其中,计算机辅助特征设计(Computer Aided Process Planning,CAPP)是制造系统的关键环节,是连接计算机辅助设计(Computer Aided Design,CAD)和计算机辅助制造(Computer Aided Manufacturing,CAM)的桥梁和纽带,对产品制造质量和制造成本具有重要影响。
[0003] 随着制造技术的发展,工业界对CAD/CAPP/CAM提出了更高的要求,其中困难之一就是缺少CAD与CAPP之间的智能接口。由于CAD系统采用实体模型或设计特征表示产品,而CAPP系统需要的却是基于制造特征的产品表示,由此,制造特征识别技术是实现CAD/CAPP/CAM集成的有效途径。但现有的制造特征识别技术通用性低,无法根据实际需要对需识别的制造特征种类进行增减,并且对于一些多曲面或多折面的实体模型难以识别,识别速度慢,识别准确度低。

发明内容

[0004] 本发明的目的在于提出一种通用性强,识别速度快,识别准确度高的基于PCA与CNN的三维CAD实体模型制造特征识别方法。
[0005] 为达此目的,本发明采用以下技术方案:
[0006] 一种基于PCA与CNN的三维CAD实体模型制造特征识别方法,包括:
[0007] CNN制造特征识别器训练过程:
[0008] 步骤A,在标准三维CAD实体模型的表面均匀采集16372个标准实体模型点,并根据椭球曲面的拟合方法计算每个标准实体模型点云对应的两个主曲率,然后选取每个标准实体模型点云的三维坐标值及两个主曲率作为代表该标准实体模型点云的五个特征,从而获得标准实体模型五维点云数据组;
[0009] 步骤B,利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维,从而获得标准实体模型二维点云数据组,通过该标准实体模型二维点云数据组来代表对应的所述标准三维CAD实体模型;
[0010] 步骤C,人工找出所述标准三维CAD实体模型的所有制造特征,并对其对应的标准实体模型二维点云数据组进行标定,构成一组已标定训练数据
[0011] 步骤D,对15000个不同形状的标准三维CAD实体模型重复步骤A至C,获得15000组已标定训练数据,从该15000组所述已标定训练数据中随机选取14800组构成训练集P,剩余的200组构成测试集S,通过所述训练集P和所述测试集S对CNN制造特征识别器进行训练,直至所述CNN制造特征识别器训练成功为止;
[0012] 待识别三维CAD实体模型的制造特征识别过程:
[0013] 步骤E,在待识别三维CAD实体模型的表面均匀采集其16372个待识别实体模型点云,并根据椭球曲面的拟合方法计算每个待识别实体模型点云对应的两个主曲率,然后选取每个待识别实体模型点云的三维坐标值及两个主曲率作为代表该待识别实体模型点云的五个特征,从而获得待识别实体模型五维点云数据组;
[0014] 步骤F,利用主元分析PCA方法将所述待识别实体模型五维点云数据组降维至二维,从而获得待识别实体模型二维点云数据组,通过该待识别实体模型二维点云数据组来代表对应的所述待识别三维CAD实体模型,并将该待识别实体模型二维点云数据组构成一组待识别实体模型数据;
[0015] 步骤G,将步骤F获得的所述待识别实体模型数据输入已训练成功的所述CNN制造特征识别器中,所述CNN制造特征识别器输出所述待识别三维CAD实体模型的所有制造特征。
[0016] 优选地,所有制造特征包括:圆柱通孔、螺纹通孔、方形通孔、锥孔、平底孔、带圆平底孔、球底孔、圆锥底孔、沉头孔、埋头孔、一般平面、台阶面、圆柱面、圆锥面、圆环面、球面、齿形面、花键轴、V型槽、T型槽、U型槽、环型槽、方槽、圆槽、键槽、花键槽、倒圆和倒角
[0017] 优选地,所述CNN制造特征识别器训练方法包括:
[0018] 首先,对15000个不同形状的标准三维CAD实体模型重复步骤A至C,获得15000组已标定训练数据,从该15000组所述已标定训练数据中随机选取14800组构成所述训练集P,剩余的200组构成所述测试集S;
[0019] 然后,创建CNN制造特征识别器的CNN模型,所述CNN模型采用LENET结构并且最后3层使用MLP,所述CNN模型中所有激活函数采用ReLU函数;随机初始化CNN模型中所有权值和阈值,学习率初始化为0.01,批量训练样本数目设置为50,最小误差Nm设置为0.0001;
[0020] 接着,对所述训练集P中各组已标定训练数据进行归一化处理,并从所述训练集P中从上至下依次选取一组已标定训练数据输入到所述CNN模型,按照前向传播的公式计算相应的模型输出;按照误差公式计算出该组已标定训练数据输入到CNN模型后模型输出和人工标定的标签之间的误差,并按照反向传播算法调节CNN模型所有权值和阈值;
[0021] 一次训练完成后,计算整体误差N,若整体误差N<最小误差Nm,则所述CNN模型训练结束,否则按照上述CNN模型训练步骤继续训练所述CNN模型,直至整体误差N<最小误差Nm结束训练;
[0022] 最后,将所述测试集S进行归一化处理,并从该测试集S中从上至下依次选取一组已标定训练数据输入到已完成训练的所述CNN模型中,按照前向传播的公式计算相应的模型输出,并与对应人工标定的标签进行对比,计算所述测试集S的整体错误率M,若所述整体错误率M满足要求,则该CNN模型训练成功,否则该CNN模型训练失败,需再次不断循环重复步骤A至步骤C以增加所述训练集P的已标定训练数据组数,按照上述CNN模型训练步骤继续训练网络,直至所述整体错误率M满足要求。
[0023] 优选地,所述步骤G的制造特征识别方法包括:
[0024] 将步骤F获得的所述待识别实体模型数据进行归一化处理,并输入到已训练成功的CNN模型;
[0025] 按照前向传播的公式计算该组待识别实体模型数据在该已训练成功的CNN模型相应的模型输出;
[0026] 所述CNN模型输出层有28个神经元,依次代表28个制造特征,即圆柱通孔、螺纹通孔、方形通孔、锥孔、平底孔、带圆角平底孔、球底孔、圆锥底孔、沉头孔、埋头孔、一般平面、台阶面、圆柱面、圆锥面、圆环面、球面、齿形面、花键轴、V型槽、T型槽、U型槽、环型槽、方槽、圆槽、键槽、花键槽、倒圆和倒角;
[0027] 所述CNN模型输出层各神经元输出结果表示意义:
[0028] 若对应的神经元输出为1,则表示该待识别三维CAD实体模型具有该神经元所对应的制造特征,若该对应的神经元输出为0,则表示该待识别三维CAD实体模型不具有所述神经元所对应的制造特征。
[0029] 优选地,标准实体模型五维点云定义方法包括:
[0030] 定义每个标准实体模型五维点云的第一特征为x轴坐标值,第二特征为y轴坐标值,第三特征为z轴坐标值,第四特征为两个主曲率中的最大曲率r1,第五特征为两个主曲率中的最小曲率r2。
[0031] 优选地,所述步骤C中利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维包括:
[0032] 首先,分别对所述标准实体模型五维点云数据组求解每一维上的均值和方差,并对所述标准实体模型五维点云数据组中每个标准实体模型点云分别减去对应维数上的均值,组成行数等于所述标准实体模型五维点云数据组中点云数量、列数等于维数的标准实体模型样本矩阵Q;
[0033] 接着,求解所述标准实体模型五维点云数据组的标准实体模型五维协方差矩阵K,即:
[0034]
[0035] 求解所述标准实体模型五维协方差矩阵K的5个特征值γ1、γ2、γ3、γ4、γ5,并由大到小排序获得其中最大值特征值δ1和次大特征值δ2,并求解所述标准实体模型五维协方差矩阵K对应δ1的特征向量β1和对应δ2的特征向量β2,所述特征向量β1和特征向量β2为单位化的五维列向量,并组成标准实体模型映射矩阵T=[β1,β2];
[0036] 然后,将所述标准实体模型样本矩阵Q和标准实体模型映射矩阵T相乘获得标准实体模型二维点云矩阵Y,所述标准实体模型二维点云矩阵Y中的每一行即为标准实体模型五维点云数据组降维至二维的一个标准实体模型点云,从而获得所述标准实体模型二维点云数据组。
[0037] 优选地,待识别实体模型五维点云定义方法包括:
[0038] 定义每个待识别实体五维模型点云的第一特征为x轴坐标值,第二特征为y轴坐标值,第三特征为z轴坐标值,第四特征为两个主曲率中的最大曲率r1,第五特征为两个主曲率中的最小曲率r2。
[0039] 优选地,所述步骤F中利用主元分析PCA方法将所述待识别实体模型五维点云数据组降维至二维包括:
[0040] 首先,分别对所述待识别实体模型五维点云数据组求解每一维上的均值和方差,并对所述待识别实体模型五维点云数据组中每个待识别实体模型点云分别减去对应维数上的均值,组成行数等于待识别实体模型五维点云数据组中点云数量、列数等于维数的待识别实体模型样本矩阵Q';
[0041] 接着,求解所述待识别实体模型五维点云数据组的待识别实体模型五维协方差矩阵K',即:
[0042]
[0043] 求解所述待识别实体模型五维协方差矩阵K'的5个特征值γ1'、γ2'、γ3'、γ4'、γ5',并由大到小排序获得其中最大值特征值δ1'和次大特征值δ2',并求解所述待识别实体模型五维协方差矩阵K'对应δ1'的特征向量β1'和对应δ2'的特征向量β2',所述特征向量β1'和特征向量β2'为单位化的五维列向量,并组成待识别实体模型映射矩阵T'=[β1',β2'];
[0044] 然后,将所述待识别实体模型样本矩阵Q'和待识别实体模型映射矩阵T'相乘获得待识别实体模型二维点云矩阵Y',所述待识别实体模型二维点云矩阵Y'中的每一行即为待识别实体模型五维点云数据组降维至二维的一个待识别实体模型点云,从而获得所述待识别实体模型二维点云数据组。
[0045] 所述基于PCA与CNN的三维CAD实体模型制造特征识别方法通过在标准三维CAD实体模型表面均匀采集标准实体模型点云获取其对应三维坐标并计算其两个主曲率获得标准实体模型五维点云数据组,利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维,CNN制造特征识别器为基于LENET结构融合MLP的CNN模型,实现了根据训练成功的CNN制造特征识别器输出待识别三维CAD实体模型的所有制造特征,识别速度快,识别准确度高。附图说明
[0046] 附图对本发明做进一步说明,但附图中的内容不构成对本发明的任何限制。
[0047] 图1是本发明其中一个实施例的CNN模型结构示意图。

具体实施方式

[0048] 下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
[0049] 本实施例的基于PCA与CNN的三维CAD实体模型制造特征识别方法,包括:
[0050] CNN制造特征识别器训练过程:
[0051] 步骤A,在标准三维CAD实体模型的表面均匀采集16372个标准实体模型点云,并根据椭球曲面的拟合方法计算每个标准实体模型点云对应的两个主曲率,然后选取每个标准实体模型点云的三维坐标值及两个主曲率作为代表该标准实体模型点云的五个特征,从而获得标准实体模型五维点云数据组;
[0052] 步骤B,利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维,从而获得标准实体模型二维点云数据组,通过该标准实体模型二维点云数据组来代表对应的所述标准三维CAD实体模型;
[0053] 步骤C,人工找出所述标准三维CAD实体模型的所有制造特征,并对其对应的标准实体模型二维点云数据组进行标定,构成一组已标定训练数据;
[0054] 步骤D,对15000个不同形状的标准三维CAD实体模型重复步骤A至C,获得15000组已标定训练数据,从该15000组所述已标定训练数据中随机选取14800组构成训练集P,剩余的200组构成测试集S,通过所述训练集P和所述测试集S对CNN制造特征识别器进行训练,直至所述CNN制造特征识别器训练成功为止;
[0055] 待识别三维CAD实体模型的制造特征识别过程:
[0056] 步骤E,在待识别三维CAD实体模型的表面均匀采集其16372个待识别实体模型点云,并根据椭球曲面的拟合方法计算每个待识别实体模型点云对应的两个主曲率,然后选取每个待识别实体模型点云的三维坐标值及两个主曲率作为代表该待识别实体模型点云的五个特征,从而获得待识别实体模型五维点云数据组;
[0057] 步骤F,利用主元分析PCA方法将所述待识别实体模型五维点云数据组降维至二维,从而获得待识别实体模型二维点云数据组,通过该待识别实体模型二维点云数据组来代表对应的所述待识别三维CAD实体模型,并将该待识别实体模型二维点云数据组构成一组待识别实体模型数据;
[0058] 步骤G,将步骤F获得的所述待识别实体模型数据输入已训练成功的所述CNN制造特征识别器中,所述CNN制造特征识别器输出所述待识别三维CAD实体模型的所有制造特征。
[0059] 所述基于PCA与CNN的三维CAD实体模型制造特征识别方法,通过在标准三维CAD实体模型表面均匀采集标准实体模型点云获取其对应三维坐标及两个主曲率,利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维,CNN制造特征识别器为具有基于LENET结构融合MLP的CNN模型,实现了根据训练成功的CNN制造特征识别器输出待识别三维CAD实体模型的所有制造特征,识别速度快,识别准确度高。
[0060] 标准三维CAD实体模型的CNN训练过程获取标准三维CAD实体模型中每个标准实体模型点云的三维坐标值及其两个主曲率作为代表该标准实体模型点云的五个特征,对每个标准实体模型点云的描述包含了更多信息及细节,并且增加的两个主曲率,能更好地识别一些具有曲面或折面的制造特征。所述CNN制造特征识别器为深度学习模型中的CNN卷积神经网络,是一种用来处理二维数据的具有鲁棒性的多层神经网络。因此,需将获得的所述标准实体模型五维点云数据组利用主元分析PCA方法降维至二维,获得所述标准三维CAD实体模型的标准实体模型二维点云数据组。由于训练CNN制造特征识别器需要大量的样本,因此对15000个不同形状的标准三维CAD实体模型重复步骤A至C以获取15000组所述已标定训练数据,获得所述训练集P和所述测试集S,通过所述训练集P训练CNN制造特征识别器,并通过所述测试集S判断CNN制造特征识别器是否训练成功。在训练阶段,CNN制造特征识别器从大量已标定训练数据中学习到标准三维CAD实体模型的所有制造特征,相比手工标注具有更高的识别速度和识别准确度。
[0061] 根据待识别实体模型点云数据组,获得待识别三维CAD实体模型中每个待识别实体模型点云对应的三维坐标值及其两个主曲率作为代表该待识别实体模型点云的五个特征,对每个待识别实体模型点云的描述包含了更多信息及细节;然后利用主元分析PCA方法将所述待识别实体模型五维点云数据组降维至二维,从而获得所述待识别三维CAD实体模型的待识别实体模型二维点云数据组;接着将该待识别实体模型二维点云数据组输入已训练成功的所述CNN制造特征识别器中,输出所述待识别三维CAD实体模型的所有制造特征。所述CNN制造特征识别器是一个多层模型,它有监督地从大量样本中自动地进行特征学习。
输入是待识别实体模型二维点云数据组,输出是待识别实体模型二维点云数据组所对应待识别三维CAD实体模型的各个制造特征。
[0062] 因此,如图1所示,输入层神经元结构为阶数与一组所述已标定训练数据所包含的点云个数相等的方阵,输出层的神经元个数为制造特征的总数。CNN制造特征识别器包含两部分:第一部分是一个多阶段的特征提取器,交替地包含卷积层和池化层,执行卷积、降采样和非线性变换;第二部分是一个三层的全连接神经网络。CNN制造特征识别器能学习到好的特征表达,因为特征提取是从低层到高层逐阶段地进行,第一阶段是低层特征的提取,例如点的提取,第二阶段对低层特征进行随机组合形成高层特征。采用CNN制造特征识别器进行特征识别,避免了大量的重复计算,提高识别速度,这样基于CNN(卷积神经网络)的三维CAD实体模型制造特征识别的准确率和识别速度都能满足实际需求。
[0063] 优选地,所有制造特征包括:圆柱通孔、螺纹通孔、方形通孔、锥孔、平底孔、带圆角平底孔、球底孔、圆锥底孔、沉头孔、埋头孔、一般平面、台阶面、圆柱面、圆锥面、圆环面、球面、齿形面、花键轴、V型槽、T型槽、U型槽、环型槽、方槽、圆槽、键槽、花键槽、倒圆和倒角。所述制造特征可根据实际需要进行增减。
[0064] 优选地,所述CNN制造特征识别器训练方法包括:
[0065] 首先,对15000个不同形状的标准三维CAD实体模型重复步骤A至C,获得15000组已标定训练数据,从该15000组所述已标定训练数据中随机选取14800组构成所述训练集P,剩余的200组构成所述测试集S;
[0066] 然后,创建CNN制造特征识别器的CNN模型,所述CNN模型采用LENET结构并且最后3层使用MLP,所述CNN模型中所有激活函数采用ReLU函数;随机初始化CNN模型中所有权值和阈值,学习率初始化为0.01,批量训练样本数目设置为50,最小误差Nm设置为0.0001;
[0067] 接着,对所述训练集P中各组已标定训练数据进行归一化处理,并从所述训练集P中从上至下依次选取一组已标定训练数据输入到所述CNN模型,按照前向传播的公式计算相应的模型输出;按照误差公式计算出该组已标定训练数据输入到CNN模型后模型输出和人工标定的标签之间的误差,并按照反向传播算法调节CNN模型所有权值和阈值;
[0068] 一次训练完成后,计算整体误差N,若整体误差N<最小误差Nm,则所述CNN模型训练结束,否则按照上述CNN模型训练步骤继续训练所述CNN模型,直至整体误差N<最小误差Nm结束训练;
[0069] 最后,将所述测试集S进行归一化处理,并从该测试集S中从上至下依次选取一组已标定训练数据输入到已完成训练的所述CNN模型中,按照前向传播的公式计算相应的模型输出,并与对应人工标定的标签进行对比,计算所述测试集S的整体错误率M,若所述整体错误率M满足要求,则该CNN模型训练成功,否则该CNN模型训练失败,需再次不断循环重复步骤A至步骤C以增加所述训练集P的已标定训练数据组数,按照上述CNN模型训练步骤继续训练网络,直至所述整体错误率M满足要求。
[0070] 优选地,在训练阶段,CNN制造特征识别器从大量已标定训练数据中学习到标准三维CAD实体模型的所有制造特征,对所述训练集P中各组已标定训练数据进行归一化处理,一次训练结束后,再计算所述整体误差N,这样能保证所训练出来CNN制造特征识别器具有更高的可靠性。
[0071] 优选地,所述步骤G的制造特征识别方法包括:
[0072] 将步骤F获得的所述待识别实体模型数据进行归一化处理,并输入到已训练成功的CNN模型;
[0073] 按照前向传播的公式计算该组待识别实体模型数据在该已训练成功的CNN模型相应的模型输出;
[0074] 所述CNN模型输出层有28个神经元,依次代表28个制造特征,即圆柱通孔、螺纹通孔、方形通孔、锥孔、平底孔、带圆角平底孔、球底孔、圆锥底孔、沉头孔、埋头孔、一般平面、台阶面、圆柱面、圆锥面、圆环面、球面、齿形面、花键轴、V型槽、T型槽、U型槽、环型槽、方槽、圆槽、键槽、花键槽、倒圆和倒角;
[0075] 所述CNN模型输出层各神经元输出结果表示意义:
[0076] 若对应的神经元输出为1,则表示该待识别三维CAD实体模型具有该神经元所对应的制造特征,若该对应的神经元输出为0,则表示该待识别三维CAD实体模型不具有所述神经元所对应的制造特征。
[0077] 如图1所示,CNN模型结构包括六个卷积层C1、C3、C5、C7、C9、C11,六个池化层S2、S4、S6、S8、S10、S12,以及三个全连接层F13、F14和输出层,神经元个数分别为90、50和28,输入层为16372×16372的二维数据,卷积均是10×10的模板,stride=1,池化均是4×4的模板,激活函数均是ReLU函数。
[0078] 所述CNN制造特征识别器对待识别实体模型数据进行判断,通过CNN输出层各神经元的具体输出(1或0),实现三维CAD实体模型的制造特征识别。例如:待识别三维CAD实体模型具有一般平面、圆柱面、螺纹孔、平底孔、T型槽和倒角,则代表圆柱通孔的CNN模型输出层第1个神经元输出0,代表螺纹通孔的CNN模型输出层第2个神经元输出1,代表方形通孔的CNN模型输出层第3个神经元输出0,代表锥孔的CNN模型输出层第4个神经元输出0,代表平底孔的CNN模型输出层第5个神经元输出1,代表带圆角平底孔的CNN模型输出层第6个神经元输出0,代表球底孔的CNN模型输出层第7个神经元输出0,代表圆锥底孔的CNN模型输出层第8个神经元输出0,代表沉头孔的CNN模型输出层第9个神经元输出0,代表埋头孔的CNN模型输出层第10个神经元输出0,代表一般平面的CNN模型输出层第11个神经元输出1,代表台阶面的CNN模型输出层第12个神经元输出0,代表圆柱面的CNN模型输出层第13个神经元输出1,代表圆锥面的CNN模型输出层第14个神经元输出0,代表圆环面的CNN模型输出层第15个神经元输出0,代表球面的CNN模型输出层第16个神经元输出0,代表齿形面的CNN模型输出层第17个神经元输出0,代表花键轴的CNN模型输出层第18个神经元输出0,代表V型槽的CNN模型输出层第19个神经元输出0,代表T型槽的CNN模型输出层第20个神经元输出1,代表U型槽的CNN模型输出层第21个神经元输出0,代表环型槽的CNN模型输出层第22个神经元输出0,代表方槽的CNN模型输出层第23个神经元输出0,代表圆槽的CNN模型输出层第24个神经元输出0,代表键槽的CNN模型输出层第25个神经元输出0,代表花键槽的CNN模型输出层第26个神经元输出0,代表倒圆的CNN模型输出层第27个神经元输出0,代表倒角的CNN模型输出层第28个神经元输出1。所述CNN模型输出层的神经元个数等于所需识别的制造特征个数,可根据实际需要进行增减。
[0079] 优选地,标准实体模型五维点云定义方法包括:
[0080] 定义每个标准实体模型五维点云的第一特征为x轴坐标值,第二特征为y轴坐标值,第三特征为z轴坐标值,第四特征为两个主曲率中的最大曲率r1,第五特征为两个主曲率中的最小曲率r2。
[0081] 对于一组点云中的某个点云,两个主曲率的获取方法为以需求解两个主曲率的点云为中心,根据三维欧氏距离选取最靠近该点云的19个点云,加上所需求解两个主曲率的该点云,合计20个点云,利用椭球曲面的拟合方法拟合出一个椭球曲面方程,根据该椭球曲面方程求解出该点云的两个主曲率。
[0082] 优选地,所述步骤C中利用主元分析PCA方法将所述标准实体模型五维点云数据组降维至二维包括:
[0083] 首先,分别对所述标准实体模型五维点云数据组求解每一维上的均值和方差,并对所述标准实体模型五维点云数据组中每个标准实体模型点云分别减去对应维数上的均值,组成行数等于所述标准实体模型五维点云数据组中点云数量、列数等于维数的标准实体模型样本矩阵Q;
[0084] 接着,求解所述标准实体模型五维点云数据组的标准实体模型五维协方差矩阵K,即:
[0085]
[0086] 求解所述标准实体模型五维协方差矩阵K的5个特征值γ1、γ2、γ3、γ4、γ5,并由大到小排序获得其中最大值特征值δ1和次大特征值δ2,并求解所述标准实体模型五维协方差矩阵K对应δ1的特征向量β1和对应δ2的特征向量β2,所述特征向量β1和特征向量β2为单位化的五维列向量,并组成标准实体模型映射矩阵T=[β1,β2];
[0087] 然后,将所述标准实体模型样本矩阵Q和标准实体模型映射矩阵T相乘获得标准实体模型二维点云矩阵Y,所述标准实体模型二维点云矩阵Y中的每一行即为标准实体模型五维点云数据组降维至二维的一个标准实体模型点云,从而获得所述标准实体模型二维点云数据组。
[0088] 标准实体模型五维点云数据组通过主元分析PCA方法降维至二维后,能最大限度保留标准实体模型点云数据的有用信息,大大降低了标准实体模型点云数据的冗余,提高CNN所需输入数据的有效性和计算效率。
[0089] 优选地,待识别实体模型五维点云定义方法包括:
[0090] 定义每个待识别实体五维模型点云的第一特征为x轴坐标值,第二特征为y轴坐标值,第三特征为z轴坐标值,第四特征为两个主曲率中的最大曲率r1,第五特征为两个主曲率中的最小曲率r2。
[0091] 优选地,所述步骤F中利用主元分析PCA方法将所述待识别实体模型五维点云数据组降维至二维包括:
[0092] 首先,分别对所述待识别实体模型五维点云数据组求解每一维上的均值和方差,并对所述待识别实体模型五维点云数据组中每个待识别实体模型点云分别减去对应维数上的均值,组成行数等于待识别实体模型五维点云数据组中点云数量、列数等于维数的待识别实体模型样本矩阵Q';
[0093] 接着,求解所述待识别实体模型五维点云数据组的待识别实体模型五维协方差矩阵K',即:
[0094]
[0095] 求解所述待识别实体模型五维协方差矩阵K'的5个特征值γ1'、γ2'、γ3'、γ4'、γ5',并由大到小排序获得其中最大值特征值δ1'和次大特征值δ2',并求解所述待识别实体模型五维协方差矩阵K'对应δ1'的特征向量β1'和对应δ2'的特征向量β2',所述特征向量β1'和特征向量β2'为单位化的五维列向量,并组成待识别实体模型映射矩阵T'=[β1',β2'];
[0096] 然后,将所述待识别实体模型样本矩阵Q'和待识别实体模型映射矩阵T'相乘获得待识别实体模型二维点云矩阵Y',所述待识别实体模型二维点云矩阵Y'中的每一行即为待识别实体模型五维点云数据组降维至二维的一个待识别实体模型点云,从而获得所述待识别实体模型二维点云数据组。
[0097] 成品五维点云数据组通过主元分析PCA方法降维至二维后,能最大限度保留成品点云数据的有用信息,大大降低了成品点云数据的冗余,提高CNN所需输入数据的有效性和计算效率。
[0098] 以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
QQ群二维码
意见反馈