基于RF-SVM的发动机缸体孔组加工质量分级监控

2020-05-22 12:33:20杨泽青刘丽冰黄凤荣
计算机工程与设计 2020年5期
关键词:缸体特征参数决策树

杨泽青,范 敏,彭 凯,刘丽冰,黄凤荣

(河北工业大学 机械工程学院,天津 300131)

0 引 言

发动机缸体顶面孔组的加工质量直接影响其产品装配精度,研究孔组加工质量分级监控方法对工艺参数的及时调整、提高加工过程质量反馈控制的响应速度、实现工序间缸体加工质量实时监控及柔性化生产具有重要意义。目前常用的质量分级监控方法有多元数据回归分析[1]、支持向量机(support vector machine,SVM)[2-6]、决策树[7]、随机森林(random forest,RF)[8]等。如WANG等[6]基于支持向量机建立了面向铣削加工过程刀具磨损状况的监控系统,实现了铣削过程未磨损、中度磨损和重度磨损的刀具磨损状态分类;M.M. Sofu等[7]将苹果的颜色、面积等特征作为C4.5决策树的输入实现苹果质量分级;Bejoy Abraham等[8]将随机森林分类器与稀疏自编码器结合来区分临床上的癌变细胞的无痛性或有痛性表现,分类精度可达93.65%。但该类方法存在监控宽泛、动态适应性弱等问题,难以满足制造过程精准细化的质量智能监控需求,不能有效及时反馈控制。如何利用数字图像特征建立精准反映加工质量分级监控模型成为解决发动机缸体零件顶面孔组实时智能监控的关键。基于上述思路,本文提出一种RF和SVM相结合的工序节点处加工质量分级监控方法,首先采用机器视觉获取孔组图像特征参数,用主成分分析法对原始特征参数进行降维筛选以消除冗余信息,建立特征参数样本集合训练孔组整体加工质量分级模型及单孔加工质量分级模型,然后用训练好的RF-SVM模型进行在线分级监控,从而提高响应速度和生产效率。

1 发动机缸体孔组加工质量分级监控方法

1.1 发动机缸体孔组加工质量特征描述

发动机缸体作为发动机的核心部件之一,既是发动机的基础零件和骨架,又是发动机总装配时的基准零件,其加工精度直接关系到曲轴、连杆、活塞运动的准确性,以及换气、冷却和润滑系统的正常运作。缸体结构复杂,主要由缸体底面、顶面、前后端面、顶面缸孔系、前后端面孔系、顶面排气面孔系、底面进气面孔系、主轴承孔、缸孔、曲轴孔、瓦盖结合面及喷油嘴等组成,其中缸体顶面孔组加工精度对其它型面和孔系加工起重要作用,与其它加工特征有强关联性,且加工过程异常状态识别具有较大的不确定性,直接影响工序间动态基准的校准、加工工艺参数的及时调整及工序间主要几何要素的加工质量,并且影响加工过程质量反馈控制的响应速度及后续发动机装配精度的保障。

数字图像为加工过程运行状态高耦合、非线性特征分析提供依据,这里采用机器视觉方法检测缸体顶面缸孔系加工质量,获取凸包算法填充圆的孔间距、长轴、短轴、周长、面积、似圆度、长短轴差值以及最小二乘法拟合圆半径这8个特征参数对发动机缸体孔组质量进行描述,如图1所示。

图1 缸孔特征参数

特征参数具体获取方式为:利用最小面积外接矩形计算每个缸孔的长、短轴,可间接获得长短轴差值;通过统计凸包拟合圆的边缘相邻像素对之间的距离来获取周长;通过统计凸包拟合圆的圆内像素个数计算面积;计算每个缸孔的质心以求取孔间距;利用最小二乘法拟合圆公式直接获取圆半径;利用式(1)来计算似圆度

O=4*π*Area/Perimeter2

(1)

其中,Area为所求区域面积,Perimeter为所求区域周长。

1.2 加工质量分级监控方法

上述特征参数直接反映了孔组的加工精度,为准确、快速实现发动机缸体顶面孔组加工质量分级,首先对特征参数用主成分分析法进行降维处理,建立训练样本集合,将训练样本集合的特征参数作输入建立并训练分级监控模型,最终实现孔组加工质量分级。

适合的分级器是实现孔组质量准确、快速分级的关键。由于获取的特征参数是连续变量且特征参数一般不会缺失的特点,支持向量机、C4.5决策树及随机森林对连续变量值表现出较好的处理、分级效果,因此通过对比分析,从中选择最合适的分级算法。

1.2.1 支持向量机

支持向量机(support vector machine,SVM)是建立在统计学习的VC维理论和结构风险最小原理基础上[10],能较好解决小样本、非线性、高维数、避免神经网络结构选择和局部极小点等实际问题,但对缺失数据敏感。算法思想是建立一个超平面作为决策曲面,将不同类别的样本划分开,其学习策略是间隔最大化,最终转化为一个凸二次规划求解最优分类函数的问题,最优分类函数f(x) 如式(2)所示

(2)

通过引入核函数解决在原始空间中线性不可分的问题,此时最优分类函数为式(3),常用的核函数有线性核函数、二次核函数、多项式核函数、径向基函数和多层感知器等。结合线性不可分问题及径向基核函数同时适用于小样本、大样本,高维、低维特点,选用径向基函数作为核函数

(3)

其中,K为径向基核函数,它的核参数gamma的选取直接影响支持向量机的分级效果。

1.2.2 C4.5决策树

C4.5决策树[7]是以规则为基础的归纳学习方法,能够处理具有缺失特征参数的训练数据及连续变量,但使用的熵模型中的大量对数运算提高了运算强度。C4.5决策树由上层的一个根结点、中间层的若干内部结点以及底层的若干叶结点3部分组成,采用自上而下的建树方式,根结点包含样本全集,选择信息增益率最大的特征参数作为内部结点的划分依据,由决策规则输出叶结点的分级结果。其中某特征参数的信息增益率计算为:

假设D为样本集合,样本集合D的信息熵Ent(D) 为,那么

(4)

其中,n为类别数,pk指当前样本集合D中第k类样本所占比例。

若特征参数连续,则先将其离散化,离散特征参数a有V个可能的取值 {a1,a2,…aV},若使用特征参数a对样本集合D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在特征参数a上取值为av的样本,记为Dv,根据式(4)可计算出Dv的信息熵Ent(Dv),从而可得特征参数a对样本D进行划分的“信息增益”Gain(D,a) 为式(5)[14]

(5)

那么特征参数a的信息增益率Gain_ratio(D,a) 为式(6)

(6)

式中

(7)

由式(7)可知,特征参数a的可取值数目越少(即V越小),IV(a) 的值通常会越小,此时的信息增益率越大,说明信息增益率准则对可取值数目较少的特征参数有所偏好,所以C4.5决策树采用先从候选划分特征参数中找出信息增益高于平均水平的特征参数,再从中选择信息增益率最高的特征参数[15]。

1.2.3 随机森林

随机森林(random forest,RF)本质上是一种非线性多类分类器,在以决策树为“基学习器”并行化构建弱分类器的基础上,进一步在决策树的训练过程中引入随机选择[10],使其不易陷入过拟合、可解决决策树泛化能力弱的问题,有良好的抗噪能力,能处理连续属性值并且训练可高度并行化,对大样本训练有速度优势,在处理小样本、高维度数据时也能获得较好的性能。

随机森林是从N个样本集合中采用bootsrap sampling采样方法抽取N个样本,假设每个样本的总特征参数为M,从中随机选取m个特征,将采样后的N个样本集合作为一棵CART决策树的根节点,选择Gini指数(如式(9)所示)最小的特征参数作为内部结点的划分依据,在决策树的叶结点处输出分级结果,利用同样的方法建立t棵CART决策树,由决策树的投票最大概率决定测试样本的分级结果。

假设D为样本集合,用Gini(D) 表示样本集合D的Gini值,那么如式(8)所示

(8)

其中,n为类别数,pk指当前样本集合D中第k类样本所占比例。

特征参数a的Gini指数Gini_index(D,a) 如式(9)所示

(9)

其符号定义与式(5)相同。

1.2.4 多工序加工质量分级监控模型

为减少发动机缸体零件多工序加工质量指标之间的误差传播、耦合与累积对产品加工质量稳定性的影响,将监控模型细化到工序节点处质量指标层面,结合随机森林处理高维度、非线性、相关性特征参数优势以及支持向量机处理小样本、高维度、非线性特征参数速度快优点,提出一种随机森林与支持向量机相结合的分级监控方法,提高复杂工件加工过程质量监控策略的合理性,建立多工序加工质量分级监控模型,如图2所示,监控模型包括离线训练和在线监控两个阶段,各阶段的实现步骤如下:

(1)离线训练阶段

步骤1 降维处理:采用主成分分析法将提取的各缸孔7个特征参数降维处理为3个分级主特征参数;

步骤2 建立训练样本集合1(N*(M+1)):其中N为发动机缸体样本数,M是样本的总特征参数,包括步骤1处理得到的各缸孔分级主特征参数与4个缸孔相邻孔间距特征参数,(M+1)列表示特征参数与孔组级别标签的组合形式;

步骤3 建立单棵CART决策树:采用随机、有放回采样方法从训练样本集合1中抽取N个样本作为单棵CART决策树的训练样本(N行*(m+1)列),其中m为从总的特征参数M中随机选取的特征参数数量;

步骤4 确定m值:若总的特征参数数量为M,那么随机抽取的特征参数数量m可以是sqrt(M)、 1/2sqrt(M) 或2sqrt(M),一般选使袋外误差最小的m;

步骤5 构建并训练随机森林分级模型:模型由t棵CART决策树组成,一般决策树数量t由训练样本的袋外误差最小值确定,训练t棵决策树,使每个子决策树输出一个结果,将概率最大者作为随机森林分级模型的输出;

步骤6 若步骤5得到缸体顶面孔组加工质量分级结果为“1(优)”,则直接进入下一道生产工序;若分级结果为“-1(差)”,则该缸体退出生产线;若分级结果为“0(良)”,则需采用支持向量机对各单孔加工质量进行二次分级监控,进入步骤7;

步骤7 构建并训练单孔加工质量支持向量机分级模型:将各缸孔分级主特征参数及单孔级别标签建立训练样本集合2(O*(P+1)),其中O为单缸孔样本数,P为缸孔特征参数数量,训练支持向量机分级模型,确定错分惩罚因子和核参数,进而得到单孔加工质量分级监控模型。

(2)在线监控阶段

步骤8 通过机器视觉采集工序间工件图像,提取主特征参数,监控窗口得到监测数据;

步骤9 将监测数据输入步骤5中离线训练好的缸体顶面孔组加工质量随机森林分级监控模型,若分级结果为“1(优)”,则直接进入下一道生产工序;若分级结果为“-1(差)”,则该缸体退出生产线,并在监控窗口中记录相关信息为后续加工误差追踪溯源提供数据来源;若分级结果为“0(良)”,则进入步骤10;

步骤10 将监测数据输入步骤7中离线训练好的单孔加工质量支持向量机分级监控模型进行二次分级监控,若分级结果为“Ⅰ”,说明该单孔满足工序公差要求,可进入下一工序;若分级结果为“Ⅱ”,需调整加工工艺参数对该单孔进行二次加工、检测,重复步骤8~步骤10分级监控步骤。

图2 加工质量分级监控方法流程

2 应用实例

2.1 检测系统构建

为满足发动机缸体生产线自动、快速、在线检测要求,验证所提出的加工质量分级监控模型的合理性和有效性,在CNC加工中心集成发动机缸体顶面孔组加工质量在线检测系统获取数字图像特征参数。在线检测系统由CCD相机、远心镜头、环形光源、千兆以太网线、相机支架等构成,如图3所示。由被测对象特点、测量精度、物距及视场范围选用型号为MV-EM120M(分辨率为1280×960)的工业CCD相机、焦距为8 mm、型号为VT0814-M2的远心定焦工业镜头;为解决垂直光照射易产生缸孔内侧及通孔底部反光的问题,选用两个成120°的白色环形光源从两侧照射发动机缸体顶面以保证缸孔部位与顶面有较大的灰度差,为图像分割提供保障。

图3 在线检测系统组成及安装

2.2 特征提取

为获取发动机缸体孔组加工质量特征参数,需要将工业相机采集的发动机缸体原始灰度图像进行预处理,后进行边缘检测、边缘细化和边缘拟合,提取与孔组加工质量及形位精度相关的图像特征参数。

2.2.1 图像预处理

发动机缸体零件图像预处理步骤如图4所示,首先对采集的发动机缸体原始灰度图像进行图像裁剪,去除与缸孔无关的背景区域;采用5×5中值滤波及二维小波变换去噪,且利用图像锐化补偿图像轮廓,增强图像缸孔边缘与顶面的对比度;针对发动机缸体缸孔的形态特点,考虑到目标形状是近圆形,选择半径为3的圆盘形结构元素[11]对锐化处理后的图像进行灰度形态学闭运算操作[12],保留更多有用信息,发现闭运算后的直方图为理想双模直方图;结合OTSU阈值分割法在处理双模或多模图像直方图的优势[13],这里采用OTSU阈值分割法实现快速、准确的图像分割[14],得到初始二值化图像;然后进行闭合区域孔洞填充,为清除缸孔边缘毛刺,选择半径为3的圆盘形结构元素进行二值形态学开运算操作;最后,设置阈值T,利用去除小面积算法将像素面积小于T的连通区域去除。

图4 图像预处理

2.2.2 边缘检测和边缘细化

轮廓是物体最重要的属性之一,边缘检测的准确性将直接影响尺寸测量的效果[15,16]。结合Canny算子的低误码率、高定位精度和抑制虚假边缘等优点,这里首先采用Canny算子初定位缸孔边缘,然后采用形态学细化边缘的方法进一步提高定位精度,选取其中一个缸孔的边缘处理结果如图5所示。

图5 边缘处理结果

2.2.3 凸包处理

为避免由光照反射及遮挡影响轮廓提取效果,剔除边缘内陷产生的凹陷点,这里采用二维凸包算法Graham扫描法提取凸包点,拟合一个新圆,然后填充凹陷区域,恢复缸孔轮廓,如图6所示,进而提取每个缸孔凸包算法填充圆的长轴、短轴、周长、面积、似圆度、长短轴差值6个特征参数及4个缸孔间相邻孔的3个孔间距。

图6 凸包处理结果对比

2.2.4 最小二乘圆拟合

结合最小二乘法处理速度快、可满足实时在线检测需求的优点,为精确描述缸孔加工质量,需提取每个缸孔最小二乘拟合圆半径特征参数。当缸孔边缘存在凹陷点时,直接最小二乘圆拟合结果如图7(a)所示,可知凹陷点对最小二乘拟合会产生干扰,拟合的圆与实际轮廓有较大偏差,所以,这里采用凸包算法先提取凸包点,再进行最小二乘圆拟合的处理方法,结果如图7(b)所示。

2.2.5 特征参数提取结果

采用上述特征提取方法获取的某型号发动机缸体零件各缸孔的长轴、短轴、周长、面积、似圆度、长短轴差值、最小二乘拟合圆半径7个特征参数及4个缸孔间相邻孔的3个孔间距特征参数见表1。

表1 发动机缸体顶面孔组特征参数

为验证图像处理方法及特征提取的合理性,计算各缸孔的实际直径、测量直径(测量直径=(长轴+短轴)/2)的绝对误差和相对误差,见表2,最大相对误差为0.079%,说明图像处理方法可满足测量精度要求。

表2 缸孔直径测量结果

2.3 特征参数处理

为消除原始数据中的冗余信息,采用主成分分析法对提取的特征参数进行降维处理[1],首先将提取的每个缸孔的长轴、短轴、周长、面积、似圆度、长短轴差值、最小二乘法拟合圆半径7个相关性特征参数进行标准化处理,消除量纲不同对分析的影响,如式(10)所示,利用标准化处理后的数据求取每个缸孔的相关系数矩阵R,如式(11)所示。用雅克比方法求相关系数矩阵R的特征值和特征向量,然后根据某个特征参数的特征值占全部特征值的比重来求取各个特征参数的贡献率,如式(12)所示,最终根据累计贡献率选取能包含大部分原始信息的特征参数作为主成分

(10)

(11)

(12)

其中,P为贡献率,p为特征根的个数,p=7,λi为第j个特征根。

将包含20个优级缸孔、20个良级缸孔及20个差级缸孔的长短轴差值、似圆度、周长、面积、最小二乘拟合圆半径、长轴、短轴7个特征参数作为主成分分析数据,得到的特征根、贡献率及累计贡献率见表3,可以看出,似圆度、长短轴差值及最小二乘拟合圆半径的累计贡献率超过98%,因此选用长短轴差值、似圆度与最小二乘圆拟合半径这3个互不相关的主特征参数对发动机缸体孔组加工质量进行描述。

表3 缸孔加工质量的主成分分析数据

2.4 发动机缸体孔组加工质量分级监控实现

利用本文所提出的RF-SVM分级监控模型对某型号发动机缸体顶面孔组加工质量进行分级监控。首先,在发动机缸体柔性生产线上批量选取90个缸体(包括优级、良级、差级缸体各30个)零件作为研究对象,在工序间采用机器视觉系统采集发动机缸体顶面图像,通过上述特征提取及主成分分析法选用90个缸体的单缸孔似圆度、长短轴差值、最小二乘拟合圆半径及4个缸孔间相邻孔的3个孔间距特征参数,将其与孔组级别标签建立特征参数样本集合1(90行*16列),从中按1∶1随机抽取训练样本集合1和测试样本集合1用来训练和测试RF分级模型的精度。

RF分级模型的特征子集个数m和决策树数量t直接影响其分级准确率,根据m的选取规则,对特征子集个数m取值为2~8时的袋外误差值进行比较,选取使袋外误差最小的m值;决策树的数量t则选择使袋外误差稳定时对应的数值[15]。将训练样本集合1作为RF分级模型的输入,m和t的寻优过程如图8和图9所示。可知,当m=4时,RF分级模型的袋外误差值最小,为0.0222;当t≥150时,RF分级模型袋外误差值开始趋于稳定,不再随着t值的增加而波动,因此,选择m=4,t=150建立RF分级监控模型,利用测试样本集合1对RF分级监控模型的分级准确率进行验证,得到其分级精度为97.778%。

图8 m值寻优折线

图9 RF分级模型分级错误率

提取工业现场采集的缸体顶面孔组图像的特征参数,将其输入离线训练好的RF分级监控模型中进行分级识别,若孔组加工质量分级结果为“1(优)”,则直接进入下一道生产工序;若分级结果为“-1(差)”时,则该缸体退出生产线,并在监控窗口中记录相关信息,以便后续对加工误差追踪溯源;若分级结果为“0(良)”,则需进一步采用支持向量机对各单孔加工质量进行二次分级监控。

将240个“Ⅰ”、“Ⅱ”级缸孔(各级别缸孔120个)的似圆度、最小二乘拟合圆半径和长短轴差值特征参数及单孔级别标签建立样本集合2(240行×4列),从中按 1∶1 随机抽取训练样本集合2和测试样本集合2用来训练和测试SVM分级模型的精度。这里选用径向基核函数,需要确定错分惩罚因子c和核参数gamma,采用网格搜索法选择交叉验证正确率最高的那组c和gamma值,并对其泛化能力进行评估,将训练样本集合2作为SVM分级模型的输入,c和gamma值的寻优过程如图10所示。当c= 0.0039063、g=256时,建立的SVM分级监控模型分级效果最佳,此时模型的交叉验证正确率为100%,利用测试样本集合2对SVM分级监控模型的分级准确率进行验证,得到其分级精度为99.167%。

图10 SVM分级模型参数选择结果

为进一步验证本文所提的RF-SVM分级监控模型的有效性[16],利用上述样本集合1及样本集合2作为数据来源,将其与RF分级模型、SVM分级模型、C4.5决策树分级模型的平均分级精度和运行时间进行对比,如表4及图11可知,不同的分级模型在分级精度及分级时间都存在较大差异,虽然SVM分级模型有最少的运行时间,但其分级精度低于RF分级模型;C4.5决策树分级模型则因其内部大量的对数运算,使得分级时间大幅度增加;本文提出的RF-SVM分级模型与其它模型相比不但提高了分级精度而且降低了运行时间,表明其在动态监控缸体顶面孔组加工质量时更有优势。

表4 不同模型的分级结果对比

图11 不同模型的分级结果对比

3 结束语

本文将随机森林和支持向量机进行有效结合,并根据发动机缸体零件多工序加工质量监控特点,将监控模型细化到工序节点处质量指标层面,提出了基于RF-SVM的发动机缸体孔组加工质量分级监控模型。通过与RF模型、SVM模型、决策树C4.5模型分级识别对比结果表明:RF-SVM模型具有较高的分级识别精度及较低的运行耗时,实现对孔组整体加工质量分级精度可达97.778%,单孔分级精度可达99.167%,运行耗时为20.236 ms,说明该模型能动态在机监控发动机缸体顶面孔组的加工质量,且能快速响应发动机缸体柔性生产线制造过程,提高其加工质量反馈控制策略的合理性。然而,在一些复杂工序节点处,需要在机检测及提取其它特征参数,并根据样本数据的分布特点,采用不同的主元特征和处理方法以提高模型的识别精度和训练效率,这将在以后的研究中进行探讨。

猜你喜欢
缸体特征参数决策树
故障诊断中信号特征参数择取方法
基于特征参数化的木工CAD/CAM系统
如何消除灰铸铁缸体麻点缺陷
缸体顶面轮廓度加工能力提升分析
铸铁缸体新型电机孔粗镗刀具的应用
一种针对不均衡数据集的SVM决策树算法
决策树和随机森林方法在管理决策中的应用
电子制作(2018年16期)2018-09-26 03:27:06
基于PSO-VMD的齿轮特征参数提取方法研究
缸体铸件清理打磨自动化输送线设计
基于决策树的出租车乘客出行目的识别