一种基于点云语义分割的加工特征智能识别方法与流程

文档序号:22879165发布日期:2020-11-10 17:36阅读:244来源:国知局
一种基于点云语义分割的加工特征智能识别方法与流程

本发明属于先进制造技术智能化信息技术领域,具体涉及一种基于点云语义分割的加工特征智能识别方法。



背景技术:

cad、capp和cam系统在产品设计、工艺规划和加工仿真等领域发挥着重要作用,然而系统之间的数据难以转换、传递和共享,因此实现cad、capp和cam系统的集成变得非常重要,这将减少小批量-定制化零件产品的设计、制造时间,使得企业在竞争激烈的市场中有更强的敏捷制造能力。加工特征是指机械零件上特定的形状,包括孔、自由曲面、台阶和键槽等,加工特征的自动识别技术成为了cad和capp系统集成的桥梁。

在过去的三十年里,研究人员提出了不同类型的特征识别技术来识别加工特征,包括基于图形的方法、基于神经元网络的方法,基于体积分解的方法、基于单元的方法、基于提示的方法、基于规则的方法和基于混合的方法,这些方法普遍需要建立大量的复杂规则,同时在面对不同类型的加工特征时方法通用性差,对于复合加工特征、异型加工特征和自由曲面特征的识别存在困难;最近出现了以三维体素为输入,通过3d-cnn来识别加工特征的方法,但是仅在单个特征和简单零件模型的识别中取得一定效果。



技术实现要素:

本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于点云语义分割的加工特征智能识别方法,通过将加工特征的识别转换成三维点云的语义分割问题,能够很好的解决针对异型加工特征、复合加工特征和自由曲面特征的识别难题,实现零件的跨类型-多特征精准识别,有效提升工业企业计算机辅助系统的集成能力。

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

一种基于点云语义分割的加工特征智能识别方法,包括以下步骤:

s1、建立三维零件的零件cad模型库;

s2、将步骤s1建立的零件cad模型转换为标准三维点云模型;

s3、对步骤s2的标准三维点云模型中的不同加工特征点进行标签加注,通过多次无放回-均匀采样将三维点云模型采样为标准点云模型;

s4、将步骤s3的标准点云模型进行归一化、旋转和抖动操作;

s5、将步骤s4处理后的标准点云模型输入到改进的pointnet点云语义分割网络中进行训练;

s6、将步骤s5的训练结果保存为.h5文件;

s7、对待识别的零件cad点云模型进行预处理和标准化;

s8、将步骤s7处理后的零件cad点云模型输入到步骤s6的.h5文件中,得到各类加工特征的语义分割结果;

s9、通过检测模块核定加工特征的类型和数量,完成智能识别。

具体的,步骤s2中,零件的原始cad模型以prt、step和stl等多种格式存在,通过初始格式→obj格式→pcd格式的转换步骤,将所有零件cad模型转换为标准三维点云模型,并以pcd格式保存。

具体的,步骤s3中,通过点云标注系统对三维点云模型的加工特征部分和非加工特征部分进行统一标注,针对复合特征根据工业应用需要进行拆分标注或统一标注,对于不同类零件的同类别加工特征标注为一类。

进一步的,步骤将单个由10万点组成的原始点云模型转换成15个由2048个点组成的点云模型。

具体的,步骤s4中,通过遍历每个点的三维坐标值(x,y,z),以x、y和z坐标值中的最大值fmax和最小值fmin作为基数进行坐标归一化处理;设置随机数a∈[0,1],使得模型在x,y和z轴方向上随意转动角度a*2π,在x,y和z轴上是否转动由01随机生成数b确定;通过给坐标点增加高斯噪声实现点云的抖动。

进一步的,高斯噪声增量p(z)具体为:

其中,z为坐标值,μ,σ2分别为高斯分布的期望和方差,c为决定模型是否增加噪声的01随机数。

具体的,步骤s5中,改进的pointnet语义分割网络中的两个t-net结构均由k*k的输入得到k*k的输出,k为输入维度,t-net网络结构的每一层单元为:64-128-1024-512-256,通过利用1*1的卷积实现全连接,将mlp得到的256维度特征进行处理,通过定义权重输出k*k的旋转矩阵;分割任务中,将1024维的全局信息附在n*64的局部信息后面,形成1088维的网络结构实现每个点的分类。

具体的,步骤s7中,将多种格式的cad模型转换成三维点云模型,通过均匀采样实现数据标准化,然后经归一化将坐标值统一到[-1,1]区间,保持零件点云模型的三维空间结构和比例不变。

具体的,步骤s6和步骤s8中,将改进的pointnet语义分割网络和权重保存为.h5文件,新的三维点云模型通过log_softmax函数得到各点属于加工特征类别的概率,实现零件点云模型的语义分割。

具体的,步骤s9中,针对各类加工特征的语义分割结果依次进行异常点和离群点检测,核验加工特征类别,通过dbscan聚类算法确定各类加工特征的数量。

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

本发明提出了一种基于点云语义分割的加工特征智能识别方法,实现跨零件种类-跨特征类别的加工特征提取,无须针对不同类型的加工特征建立复杂的描述符和推理规则,具有良好的通用性和泛化性;可以有效识别异型特征和自由曲面等非规则加工特征;解决了复合特征难以表征,识别精度低的问题;实现针对小批量定制化零件的加工特征提取,面对加工特征空间结构、尺寸和位置的变动有良好适应性。

进一步的,三维点云则仅表征零件的表面,相同的表面精度下于减少了内部点的表示,三维点云占用的存储空间可以减少数十倍,因此通过点云语义分割可以真正实现复杂零件多特征的高精度识别。

进一步的,通过无放回-均匀采样对每个零件的三维点云模型采样,得到多个由2048个组成的点云模型,可以减小单个点云模型的存储规模,加速网络的训练速度。多次采样三维点云模型通过2048个点获得更加完整的加工特征信息,同时实现训练集规模的扩充。

进一步的,采用改进的pointnet进行点云的语义分割,通过t-net解决了点云的旋转性问题,通过maxpooling解决了三维点云语义分割的无序性问题,适用于零件加工特征的自动识别问题。在原网络基础上,借鉴resnet网络中的残差块结构,加深分割阶段的网络深度,可以提高pointnet的分割精度,因此本发明采样改进的pointnet点云语义分割网络实现加工特征的识别。

进一步的,通过检测模块核定异常点和离群点,可以核验语义分割得到的加工特征类别,基于密度的dbscan聚类算法通过对各类加工特征语义分割结果的分析,得到各类加工加工特征的数量。

综上所述,本发明通过将改进的pointnet语义分割网络应用到加工特征智能识别的领域,实现了跨零件种类-跨特征类别的加工特征提取,在异型特征、复合特征和自由曲面等非标准加工特征的识别中取得了良好的效果。改进的pointnet语义分割网络可以有效解决零件建模和格式转换过程中产生的点云旋转性和无序性问题,最后检测模块核验加工特征的类别、确认加工特征的数量。

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

附图说明

图1为本发明基于点云语义分割的加工特征智能识别方法工作流程图;

图2为本发明零件cad模型数据集部分示意图;

图3加工特征示意图和零件点云模型示意图;

图4为本发明面向基于点云语义分割的加工特征智能识别方法的网络结构图;

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

图6为加工特征语义分割结果示意图。

具体实施方式

本发明提供了一种基于点云语义分割的加工特征智能识别方法,将零件cad模型的加工特征智能识别问题转换为三维点云模型的语义分割问题。建立面向小批量-定制化产品的三维零件cad模型库并进行预处理得到训练数据集,进一步将数据集输入改进的pointnet语义分割网络,此网络以pointnet语义分割网络为基础框架,通过引入resnet网络的残差块结构提升分割精度。最后将各类加工特征输入到检测模块,通过异常点检测和dbscan聚类算法核验加工特征类别、确定加工特征数量。本发明提出的加工特征智能识别方法实现了跨零件种类-跨特征类别的加工特征提取,解决了异型加工特征、自由曲面和复合加工特征难识别的问题,有助于企业重用加工特征的全生命周期信息和制造业计算机辅助软件的系统集成。

请参阅图1,本发明一种基于点云语义分割的加工特征智能识别方法,包括以下步骤:

s1、建立三维零件cad模型库;

s2、将零件的cad模型转换为三维点云模型;

零件的原始cad模型以prt、step和stl等多种格式存在,通过“初始格式→obj格式→pcd格式”的转换步骤,将所有零件cad模型转换为由10万个点组成的标准三维点云模型,并以pcd格式保存。

s3对步骤s2的标准三维点云模型中的不同加工特征点进行标签加注,通过多次的无放回-均匀采样将点云模型统一到2048个点;

通过点云标注系统对三维点云模型的加工特征部分和非加工特征部分进行统一标注,针对复合特征根据工业应用需要进行拆分标注或统一标注,对于不同类零件的同类别加工特征(如不同类型零件上的通孔)标注为一类。

通过15次的无放回-均匀采样,将单个由10万点组成的原始点云模型转换成15个由2048个点组成的点云模型,以此来减少加工特征的空间信息损失、增加训练集规模。

s4、将步骤s3的标准点云模型进行归一化、旋转和抖动操作,通过归一化、旋转和抖动实现标准化和数据增强;

通过遍历每个点的三维坐标值(x,y,z),以x、y和z坐标值中的最大值fmax和最小值fmin作为基数进行坐标归一化处理:

其中,a为任意坐标值,fmin=min{xmin,ymin,zmin},fmax=max{xmax,ymax,zmax};

点云模型的旋转操作通过设置随机数a∈[0,1],使得模型在x,y和z轴方向上随意转动角度a*2π,在x,y和z轴上是否转动由01随机生成数b确定。

点云的抖动通过给坐标点增加高斯噪声实现:

其中,μ,σ2分别为高斯分布的期望和方差,c为决定模型是否抖动的01随机数。

s5、将步骤s4处理后的标准点云模型输入到改进的pointnet点云语义分割网络中进行训练;

pointnet网络通过t-net网络解决点云的旋转性,pointnet网络中的两个t-net结构都是由k*k(k为输入维度)的输入得到k*k的输出,t-net网络结构的每一层单元为:64-128-1024-512-256,然后通过利用1*1的卷积来实现全连接,接下来需要将mlp得到的256维度特征进行处理,通过定义权重输出k*k的旋转矩阵;通过maxpooling解决点云的无序性。分割任务中,将1024维的全局信息附在n*64的局部信息后面,形成1088维的网络结构实现每个点的分类。在此基础上,改进pointnet语义分割网络,结合resnet网络的中残差块结构,加深网络的同时防止梯度爆炸的出现,提高语义分割的准确率。

s6、将步骤s5语义分割网络的训练结果保存为.h5文件;

s7、对待识别的零件cad模型进行预处理操作;

预处理步骤包括将多种格式的cad模型转换成三维点云模型,均匀采样则在尽可能保留点云空间信息的基础上实现数据标准化,归一化将坐标值统一到[-1,1]区间,并保持零件点云模型的三维空间结构和比例不变。

s8、将步骤s7处理后的待识别零件点云模型输入步骤s5中训练好的点云语义分割网络中,得到各类加工特征的语义分割结果;

重用训练好的点云语义分割网络结构和权重通过调用步骤s6中的.h5文件实现,新的三维点云模型通过网络的log_softmax函数得到各点属于加工特征类别的概率,实现零件点云模型的语义分割。

s9、通过检测模块核定加工特征的类型和数量,完成智能识别;

针对各类加工特征的语义分割结果依次进行异常点和离群点检测,核验加工特征类别,通过dbscan聚类算法确定各类加工特征的数量。

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

请参阅图1,本发明一种面向基于点云语义分割的加工特征智能识别方法,首先建立面向小批量-定制化零件的三维cad模型库,加工特征包括槽,板筋和通孔等标准特征,也包括复合特征、异型特征和自由曲面等非规则特征。对于小批量-定制化产品的同类零件,加工特征在类型、尺寸和空间位置上略有不同。用于测试的模型库共包含7类零件,每类零件包括20到60个定制化零件,同类零件的加工特征类别不同、空间位置不同,7类零件共包括30种不同的加工特征,部分零件如图2所示。

cad模型库的预处理包括以下几步:首先将prt、step和stl等多种格式的零件原始三维模型,通过转换为pcd格式的由10万个点组成的点云模型,通过点云标注系统对三维点云模型的加工特征部分和非加工特征部分都进行统一的编码标注,如图3所示;然后通过15次左右的无放回-均匀采样,将单个由10万点组成的原始点云模转换为由2048个点组成的点云模型,多次采样可以更完整的采集加工特征的空间信息;然后将所有点云模型的坐标归一化归一化得到标准点云模型。由于这样获得样本较少,无法对改进的pointnet网络进行有效训练,因此通过抖动和旋转进一步数据增强,通过01随机函数确定模型是否抖动和旋转,归一化、抖动和旋转过程中保持点云模型的空间形状不变。

然后将数据集输入到改进的pointnet网络中训练,如图4所示,pointnet网络通过t-net网络解决点云的旋转性,pointnet网络中的两个t-net结构都是由k*k(k为输入维度)的输入得到k*k的输出,t-net网络结构的每一层单元为:64-128-1024-512-256,然后通过利用1*1的卷积来实现全连接,接下来需要将mlp得到的256维度特征进行处理,通过定义权重输出k*k的旋转矩阵;通过maxpooling解决点云的无序性。分割任务中,将1024维的全局信息附在n*64的局部信息后面,形成1088维的网络结构实现每个点的分类。在此基础上,改进pointnet语义分割网络,结合resnet网络的中残差块结构,加深网络的同时防止梯度爆炸的出现,提高语义分割的准确率。

由7类零件组成的训练数据集共包括共包括5700个样本,其中训练集包括4200个样本,测试集包括1500个样本,残差块深度为20层的,训练时迭代次数设置为80次,如图5所示,7类零件语义分割平均准确率收敛曲线,七类零件语义分割的准确率分别为0.916414,0.902313,0.760631,0.821084,0.888295,0.949431和0.910448,平均准确率为0.88028。

然后,为了测试训练模型的泛化能力,输入新的零件cad模型进行测试。新的点云样本采用与获取训练数据集相同的方式获得,在进行新的加工特征识别前,需要对点云样本预处理,包括格式转换、均匀采样和坐标值归一化处理。均匀采样即把所有需要进行智能识别与检索的三维点云模型统一成2048个点,归一化则将点的坐标值统一到[-1,1]区间,且保持三位点云模型的空间形状。经过预处理的新样本包含零件点云模型共50个,各类零件共由30种加工特征。最后,调用.h5文件对新的点云零件样本进行智能识别,得到各类加工的特征的语义分割结果,如图6所示,图中“·”表示识别正确的点,“+”表示识别错误的点。将各类加工特征的语义分割结果分别输入到dbscan聚类算法确定加工特征的数量,识别结果如表1所示。总之,此方法只需要输入任意格式的零件cad模型,即可获得零件所包含的加工特征类型和数量。

表1新零件模型加工特征的类别和数量核验准确率

最后,分别调用.h5文件对新的零件cad模型进行加工智能识别。利用经过预处理后的60个新零件进行加工特征的智能识别来检验其模型的泛化能力,7类零件点云模型语义分割的准确率为75%到94%,平均值为86.6%,如图5所示,错误点集中在加工特征边缘,因此对加工特征的存在性验证影响较小,通过异常检测模块和dbscan聚类算法模块处理后可以得到各类加工特征的数量,准确率可达90%以上,加工特征的识别结果如表1所示。

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

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