基于机器视觉的车铣刀具磨损检测方法*
2022-11-09邓晓鹏胡小锋
邓晓鹏,胡小锋
(上海交通大学机械与动力工程学院,上海 200240)
0 引言
机械加工中,刀具状态影响着工件加工质量与企业生产成本。研究表明,刀具成本占加工总成本的25%[1],刀具故障导致的停机时间约占机床总停机时间的20%。 因此,在实际加工过程中,需对刀具状态进行检测,以提高产品质量与生产过程的可靠性。
根据测量原理的不同,刀具磨损检测方法可分为间接检测与直接检测两类。间接检测法通过采集加工过程中的能耗[2]、切削力[3]、声发射[4]、主轴功率[5]等信号,建立特征信号与刀具磨损间的关系模型,实现刀具磨损状态的实时检测。但此方法受干扰严重,所提供的信息难以指导最优的刀具更换[6]。
直接检测法以刀具本身为检测目标,具有更高的检测精度[7]。基于机器视觉的检测方法直接对刀具图像进行处理,在提高测量效率与精度的基础上提供更丰富的磨损信息。YU等[8]利用快速非局部均值去噪算法对图像进行处理,并通过双阈值算法提取刀具磨损信息。针对磨损区域的不规则性,ZHU等[9]提出了一种基于形态成分分析的区域生长算法,将刀具图像分为目标图像、背景图像与噪声图像三部分,进而提取磨损区域。魏效玲等[10]通过拟合铣刀底刃线实现刀具磨损的定位。上述方法所针对的刀具图像中干扰较少。实际加工环境的复杂性使得刀具表面存在较多的条纹等干扰因素,磨损区域内部像素特点也具有一定的差异性,低质量的刀具图像使得上述算法不再适用。
针对以上问题,本文提出一种抗干扰能力更强的车铣刀具磨损检测算法,通过条纹去除、图像自适应增强、多轮图像分割、刀刃线重构等方法实现了复杂刀具图像磨损信息的自动提取。
1 刀具磨损检测方法
本文提出的刀具磨损检测流程如图1所示,通过条纹去除、背景区分割、自适应增强、刀体非磨损区分割以及磨损区提取等过程实现刀具磨损信息的准确提取。
图1 刀具磨损检测流程
1.1 基于傅里叶变换的刀体条纹去除
刀具图像采集过程中会引入许多噪声,刀具表面的纹理干扰也会被放大,影响后续刀具磨损区的提取。因此,采用双边滤波算法去除图像中的噪声。刀具纹理为一系列平行条纹线,通过傅里叶变换将空间域图像转至频域空间,去除条纹对应的频率分量,进而实现刀体条纹的去除。
如图2所示,二维图像可看作以像素值为Z坐标的三维曲面。依据傅里叶变换[11]可将三维曲面分解为多个不同的正弦平面波。对于大小为M×N的空间域图像f(x,y),其频率空间的表达可由下式求得:
(1)
式中,F(u,v)为图像的频域空间表达;x、y为图像行、列坐标;离散变量u和v在0,1,…,M-1和0,1,…,N-1内取值。
(a) 二维刀具图像 (b) 刀具三维曲面图像
图2中刀具图像对应的傅里叶频谱图如图3a所示,图3b为对比度增强、局部放大后的频谱图。空间域的条纹线在频域空间表现为沿条纹分布方向的直线[12]。
(a) 频谱图 (b) 增强后的频谱图
利用霍夫变换[13]检测频谱图中的直线,并求取各直线斜率,将具有倾斜角度的直线附近的频率分量置零,实现频率空间的条纹去除。最后,通过傅里叶逆变换得到去除条纹后的空间域图像,结果如图4所示。傅里叶逆变换结果可由式(2)得到:
(2)
(a) 去条纹刀具图 (b) 去条纹三维刀具图
1.2 基于自适应区域生长的图像背景区分割
刀具磨损图像可分为背景区、磨损区以及刀体非磨损区3个区域。其中,背景区域内部像素灰度变化较为平缓,像素值明显不同于刀体区。磨损的不均匀性使磨损区域像素分布较为复杂,内部干扰严重。刀体非磨损区像素差异介于两者之间,但与磨损区有明显的分界线。若直接以磨损区域为目标进行分割,会导致分割结果不完整,因此,分别对背景区与刀体非磨损区进行分割,通过合并两者结果得到磨损区图像。
区域生长算法的基本流程为:从目标区域内选取种子点作为生长起点,以一定规则向外扩展,将具有相似性质的点集合并。其关键在于生长起点的选取与生长规则的确定。考虑到背景区像素值低于刀体区域,且刀具不会同时占据图像的4个角点,采用以下自适应区域生长流程进行背景区分割:
步骤1:对条纹去除后的图像进行灰度化处理;
步骤2:分别选4个角点5×5邻域内的像素点,以每个邻域内像素中值对应的点为代表点,将像素值最小的点作为区域生长起点;
步骤3:绘制图像灰度直方图,以直方图中局部极小值点对应的像素值与生长起点像素值的差值为初始阈值对图像进行分割;
步骤4:通过式(3)~式(5)计算分割后背景区与刀体区间的方差,向方差增大的方向更新阈值[14];
步骤5:重复步骤4,直至分割结果方差达到最大值,背景区域分割结束。
(3)
(4)
σ2=P1(μ1-μ)2+P2(μ2-μ)2
(5)
式中,P1、P2分别为背景区、刀体区中各个像素值出现的概率;ni、mi分别为灰度值i在背景区、刀体区的像素数;T1、T2为背景区与刀体区的灰度最大值;N0为图像像素总数;μ1、μ2、μ为背景区、刀体区、整幅图像的灰度均值。
1.3 图像对比度自适应增强
为凸显磨损区,通过分段线性变换对图像进行对比度增强。考虑到灰度图会丢失部分图像信息,将图像转换至HSI(hue-saturation-intensity)色彩空间进行增强。相比于RGB(red-green-blue)色彩空间,HSI色彩空间减少了各维度颜色信息之间的耦合程度,便于对图像进行增强调整[11],不同色彩空间下的刀具图像如图5所示。
(a) RGB图像 (b) 灰度图像 (c) HSI图像
分段线性变换通过对不同范围内的像素值进行差异性调整实现图像的对比度增强。其基本形式如式(6)所示:
(6)
式中,g(x,y)为增强后图像;t1、t2为临界像素值;k1、k2、k3为放大系数,通过调整k1、k2、k3的大小,可对不同像素进行差异性处理。
HSI色彩空间下刀具图像各个通道图如图6所示。磨损区饱和度与刀体非磨损区有较大差异。背景分割图中,刀体区与背景区交界线为刀刃轮廓线。以此为依据,分别在靠近刀刃线、远离刀刃线的刀体区域随机取点,以相应点集对应的饱和度均值作为线性变换函数中的t2、t1,使k3大于k1、k2,实现磨损区域饱和度增强。亮度图中,磨损区与非磨损区差异较小,刀体区存在光照不均匀现象,两侧亮度较低,以刀体区亮度均值为t2,t1为t2/2,使k2大于k1、k3,改善局部区域较暗的情况。
(a) 色调像 (b) 饱和度图 (c) 亮度图
1.4 基于多区域生长的刀体非磨损区域分割
经对比度增强后,磨损区与刀体非磨损区间的像素差异被拉大。在RGB色彩空间中进行区域生长,实现刀体非磨损区的分割。刀体非磨损区域内的局部反光、杂物干扰等因素会使生长过程提前中断,为减弱此类干扰的影响,选取多个起点进行区域生长,各分割图的合并结果即为刀体非磨损区域分割结果图。算法步骤如下:
步骤1:以背景分割图为模板,在靠近、远离刀刃轮廓线的刀体区域内随机取点,构建点集S1、S2,点集中点数与轮廓线上的点数相等;
步骤2:计算S1、S2对应的RGB色彩均值X1=[R1,G1,B1],X2=[R2,G2,B2],以X1、X2之间的欧式距离作为区域生长阈值;
步骤3:从点集S2中均匀取n个点作为生长起点,进行n次区域生长,对n次生长结果图进行或运算,得到刀体非磨损区分割结果。
1.5 刀具磨损区域提取
得到背景区与刀体非磨损区分割结果后,将两者合并。此时,结果图f1(x,y)中除磨损区外,还存在部分分割不彻底导致的干扰区域。相比于干扰区域,磨损区具有更大的面积,且形态上更为狭窄。通过连通域划分提取f1(x,y)中的非零区域,计算各个区域的面积。选取面积最大的三个区域,计算它们的最小外接矩形,采用最小外接矩形的长宽比对区域的狭长度进行度量,长宽比最大的区域即为刀具磨损区域。采用Canny算子对磨损区域提取结果图进行边缘检测,得到磨损边界线。
1.6 磨损边界线重构
刀具磨损区域沿刀刃展开,在加工过程中,刀具微崩刃导致刀刃处材料缺失,磨损区与背景区之间的分界线内偏[14]。此时,测得的磨损量整体偏小。因此,计算磨损量前对刀刃线进行重构。轮槽铣刀等刀具的刀刃线具有较小的曲率,为减小重构误差,采用最小二乘法对刀刃线进行分段线性拟合。
依序采集刀刃线上的点,存入点集S3,依据刀刃线曲率将S3划分为m个子集,曲率与m正相关。对每个子集进行最小二乘法拟合,得到近似的原始刀刃轮廓线。
2 实验与结果分析
2.1 实验装置
为验证本文算法的有效性,选择用于汽轮机转子轮槽加工的J1型轮槽铣刀进行实验。采用XDC-10A-E630型显微镜进行图像离线采集。相应采集装置如图7a所示。为将图像中像素间距与实际尺寸关联,采用图7b所示标定板计算图像像素当量γ。采用图像采集装置对标定板进行拍摄,其每个方格实际长度为l,像素长度为q,则该放大倍数下像素当量γ为:
γ=l/q
(7)
将计算得到的以像素为单位的磨损量乘以像素当量γ,即可得到实际的磨损参数。
(a) 图像采集装置 (b) 标定板
2.2 刀具磨损测量
轮槽铣刀每加工一条轮槽便进行一次磨损图像采集,对得到的图像进行处理,获取最大磨损宽度,并求平均宽度以及磨损面积等全局性参数。磨损面积通过统计磨损区域内部像素点数求得,除以刀刃线长度得平均磨损宽度。同时记录工人用显微镜测得的最大磨损带宽度作为对比量,用于验证本文算法的有效性。
如图8所示,经条纹去除、背景区分割、图像增强、刀体非磨损区分割、连通域划分等过程从刀具图像中提取刀具磨损区域。将刀刃轮廓点划分为3组,对每个点集进行最小二乘线性拟合,实现刀刃线重构,进而求取刀具磨损量。
图8 刀具磨损区域提取流程
2.3 算法结果对比
为验证本文算法在提取复杂图像中磨损区域的优越性,使用Otsu算法、文献[8]中的Otsu双阈值法、基于边缘信息的Otsu算法以及从磨损区域开始的区域生长算法提取磨损区域,结果如图9所示。图9e处理的为原始图像,图9f处理的为去条纹并增强之后的图像。
对比各算法分割结果可得,由于灰度图像中磨损区与刀体非磨损区像素差异并不显著,基于Otsu的阈值分割类算法难以对磨损区与刀体非磨损区进行区分。图9e与图9f中区域生长算法的起点与阈值由人工选取。人工选定生长阈值的原则为:若阈值继续增大会将非磨损区域纳入分割结果图,则此时的阈值为最优阈值。由于磨损区内部像素分布差异较大,难以同时满足分割完整性与正确性,若要分割整个磨损区,则会将部分非磨损区也纳入磨损区。对比图9e与图9f,经条纹去除、对比度增强后,磨损区内狭缝减少,磨损区靠刀体一侧边界更为准确,证明了条纹去除与图像增强的有效性。
(a) 本文算法结果 (b) Otsu结果
综合对比各算法结果图可得,在处理磨损区域复杂的刀具图像时,本文算法可以更准确的提取到磨损区域。
2.4 算法有效性分析
为验证本文算法的有效性,以工人用显微镜测得的最大磨损宽度为参考,分析测量误差与两组数据的一致性,进而证明算法有效性。磨损数据如表1所示。
表1 本文算法结果与人工测量结果对比 (μm)
通过式(8)可得:对于最大磨损带宽度,本文算法测量的平均相对误差为1.79%,平均准确率为98.21%,最大相对误差为3.3%。
(8)
式中,δ为相对误差;W为本文算法测得的最大磨损宽度;R为人工测量值。
此外,为证明本文算法可有效替代人工测量,采用Bland-Altman散点图进行一致性分析。Bland-Altman散点图是一种可用于判断两种方式测定结果等效性的方法[15],其绘制方法为:以两组数据均值x为横坐标,差值y为纵坐标绘制散点图,以y0±1.96Sd为参考线,其中y0为y的均值,Sd为y的标准差,称两参考线之间的区间范围为95%一致性界限(95% limits of agreement,95%LoA)。
图10 两方法结果的Bland-Altman散点图
计算得y0=1.132 μm,Sd=4.736 μm,LoA为[-8.150,10.415],Bland-Altman散点图如图10所示。20个数据点均位于LoA范围内,因此可认为两种方法具有较好的一致性,可相互替代。
3 结论
本文提出一种基于机器视觉的车铣刀具磨损检测方法,能够自动识别刀具磨损区域,提取磨损面积、平均磨损宽度等刀具磨损全局信息。采用傅里叶变换去条纹与自适应对比度增强改善图像质量,通过排除背景区与刀体非磨损区得到像素分布较为复杂的磨损区
域,结合以上措施提高算法抗干扰能力,解决了低质量图像中磨损区域提取困难的问题。所测量的刀具最大磨损宽度与人工测量结果具有较好的一致性,本文方法可有效代替人工测量法,实现刀具磨损信息的自动提取。同时,避免人工测量引入的主观误差,实现车铣刀具磨损状态的有效检测。