基于机器视觉的金属板材表面缺陷光学检测技术
2020-10-12周神特王宇宇左泽青赵文宏
周神特,王宇宇,张 潇, 左泽青,赵文宏
(浙江工业大学 机械工程学院,杭州 310014)
砂带平面磨床加工的金属板材目前已广泛应用于航空航天、汽车、模具等诸多高新技术行业,并且这些行业对金属板材加工后表面质量的要求日益提高[1-4]。目前,金属板材的表面检测主要依赖人工抽检和目测的方式,检测结果误差较大,检测效率低。而培养专业的人工检测人员耗费时间长,劳动成本高,并且现有检测金属板材表面缺陷的技术较为落后,尚未达到自动化、智能化的要求。
基于机器视觉的金属板材表面缺陷光学检测是一种非接触式的检测方式,利用非接触式的检测方式能够快速、有效地提取金属板材的表面信息,实现金属板材的表面缺陷检测[5-6]。韩宁等[7]分析了激励线圈与特定被测金属材料耦合作用时的传感特性,基于巨磁阻(GMR)芯片设计了用于检测微细裂纹的电涡流探头,并开发了一种相应的测试系统;秦雷等[8]采用超声红外锁相热像检测法实现了对金属板材构件接触界面类缺陷的检测;罗朝莉[9]采用完全非接触式激光超声可视化方法对金属板材的人工缺陷进行检测;胡亮等[10]基于线性CCD(Charge Coupled Device)摄像机设计了一套智能无损检测系统来实现对钢板表面缺陷的在线检测。
针对企业实际需求和工作环境,以及金属板材尤其是砂光机加工的金属板材的特性,搭建了一套基于机器视觉的金属板材表面缺陷检测系统,并对缺陷图像进行深入的分析与分类研究,提高了金属板材缺陷的检测速度与识别精度。
1 光学检测系统的组成
基于机器视觉的金属板材表面缺陷光学检测系统主要分为图像采集系统、机械设备、图像处理系统3部分,如图1所示。图像采集系统主要负责图像采集、实时图像的传输;机械设备部分主要负责金属板材的传送;图像采集系统中需要对相机工作位置以及光源位置进行调整,以拍摄出能反映板材各个部分缺陷的图片。图像处理系统和图像采集系统之间通过千兆网线进行通信,处理系统中的计算机接收来自图像采集系统采集到的图像,并利用算法完成对图像的实时处理及分类。
图1 金属板材表面缺陷检测系统示意
考虑到对大尺寸金属板材表面缺陷检测精度的需求,以及金属板材的传送速度,缺陷面积、相机与测量工件的距离等影响因素[11],最终选择的工业相机为海康威视公司的CMOS(互补金属氧化物半导体)黑白面阵工业相机,型号为MV-CA050-10GM。
设计的图像采集装置主要由水平方向上的导轨和滑块、垂直方向上的导轨和滑台、工业相机和LED(发光二极管)光源组成。上位机控制电机带动水平导轨上的滑块和垂直方向上的滑台移动,使相机到达不同的采集位置并调整相机与板材表面的距离。在实际运行过程中,由于金属板材的面积较大,只进行一次拍摄不能清晰地得到板材表面的图像。相机需要在上位机的控制下在板材上方反复移动并采集图像。钢板上被相机采集的区域为“S”或“Z”形。
2 缺陷检测算法的设计与研究
2.1 图像预处理
金属板材的常见缺陷有结疤、擦伤、划痕、孔洞、麻点等,这些缺陷尺度变化大,与背景差异小。在这种条件下,均值、高斯滤波会导致图像模糊,而中值滤波较为耗时,且易造成图像灰度分布的不连续[12]。笔者利用图像的几何性质,采用偏微分方程对图像进行去噪[13-14],该方法可以按照某种规律扩散图像内部的等照度线来达到去噪的效果,同时也可控制相应的扩散速度和方向。针对中值滤波存在的不足,基于偏微分方程导出相应的扩散原理如式(1),(2)所示。
(1)
u(x,y,0)=u0(x,y)
(2)
式中:u(x,y,t)为输出图像;u0为输入图像;u为图像的梯度;div为散度。
利用滤波和图像等照度线扩散结合来达到亮度均衡的目的,同时也消除了其余不稳定因素对图像质量的影响。以划痕为例,图2是缺陷图像预处理后的效果对比。
图2 预处理结果
2.2 缺陷目标检测
为了满足金属板材缺陷检测的实时性要求,需要快速地获取较多边缘,且检测到的边缘应在实际边缘的中心。为满足上述要求,选用该边缘算法[15],该算法具有抗噪性能好,定位精度高,检测速度快,虚假边缘少,边缘宽度仅为一个像素等优点。
首先,输入的图像通过高斯滤波器来达到平滑图像、滤除噪声的目的,但高斯滤波器会影响检测器的性能,式(3)为高斯滤波器核方程。
(3)
式中:Hij为二维高斯卷积核;s为高斯分布标准差;k为核矩阵的维数;i,j各代表一个维度。
图像中的边缘指向各个方向,故Canny算法利用4个算子来检测图像中的水平、垂直和对焦边缘。像素点的梯度强度和方向如式(4),(5)所示。
(4)
θ=arctan(Gy/Gx)
(5)
式中:G为梯度的强度;θ为梯度方向。
再将梯度图像进行非极大值抑制,剩余的像素可以更加准确地表示图像中的实际边缘,最后再为图像设置滞后双阈值,完成对边缘的分割。
Canny算法的检测效果较好,但是仍然存在不足,选用的高斯滤波器虽然在一定程度上减少了噪声的影响,但同时也破坏了图像的部分细节,且图像的滞后双阈值由人为设置,不具有鲁棒性。针对这些不足,提出了通过最大类间方差算法[16-17](OTSU)自适应确定图像双阈值的改进方法,该改进对图像的灰度分布特征进行操作,不受亮度和对比度的影响,效果较好。最优滞后阈值如式(6)所示。
PA2(ωA2-ω0)+PA3(ωA3-ω0)]
(6)
改进后的Canny算法处理结果如图3所示。
图3 改进后的Canny算法处理结果
2.3 缺陷特征提取与识别
图像特征提取算法是获取缺陷区域特征参数的有效手段,常见的特征提取算法有尺度不变特征变换[18-19]、加速稳健特征[20]、灰度直方图、图像矩等。考虑到工厂环境复杂,工作环境中灰尘等杂质以及其他光源会对图像质量造成影响,最后采用SIFT(尺寸不变特征变换)算法提取金属板材的表面缺陷。针对图像局部特征,SIFT算法对亮度变化不敏感的问题,解决了工作环境中其他光源的影响,对于旋转、尺度缩放等操作也具有保持不变形的能力,对于其余杂质、噪声也能保持一定的稳定性。综上所述,SIFT算法满足检测所处的实际工作场景,金属板材表面缺陷的自身状态,同时SIFT算法可满足实时检测的要求,即使少数的数据集也可以产生大量的SIFT的特征向量[21]。
该算法实现了在不同分辨率下对边缘、角点检测的特征提取。高斯核是实现尺度变化的唯一线性核。一个图像的尺度空间可以定义为
(7)
L(x,y,σ)=G(x,y,σ)·I(x,y)
(8)
式中:(x,y)为像素位置;L为高斯函数;I为原图像;σ为空间尺度坐标;m,n为高斯的维度。
生成尺度空间后,构建高斯差分(DoG)金字塔[22],如式(9)所示。
DoLi=D(x,y,σ)=
[G(x,y,kσ)-G(x,y,σ)]·I(x,y)
(9)
式中:k为相邻尺度空间的比例因子;D为高斯差分函数。
DoG的目的是构建不同尺寸下的特征点,图4为高斯差分金字塔模型。
图4 高斯差分金字塔模型
建立尺度空间后,先将离散空间的极值点拟合为连续空间的极值点,再通过拟合的函数来求得精确的极值点。拟合函数的方程式为
(10)
式中:X=(x,y,σ)T,可以求得对应的极值点和偏移量,图5为拟合结果。
图5 拟合结果
针对前文所计算的极值点及其相邻尺度空间像素梯度进行计算,梯度的幅值及其方向如式(11)所示。
m(x,y)={[L(x+1,y)-L(x-1,y)]2+
[L(x,y+1)-L(x,y-1)]2}1/2
(11)
(12)
式中:L为极值点的尺度空间值,建议窗口半径为3×1.5σ,尺度采用3σ原则。
为了满足缺陷特征的旋转不变性,需对图像局部特征的每个关键点指定一个方向参数,图6为部分方向直方图。
图6 部分方向直方图
其中,主方向为直方图的峰值,超过峰值80%的为辅方向。
以上步骤中,每个特征点有位置、尺度、方向3个信息,需将这些信息生成描述子,且这些描述子应具有独特性,用来描述特征信息,最后进行归一化,以消除光照的影响。
(13)
式中:h为描述子向量;l为归一化后的特征向量。
以孔洞缺陷为例,图7中圆圈为金属板材表面缺陷的特征点。
图7 SIFT提取特征点
缺陷图像在经过SIFT算法提取特征步骤后,依据缺陷的不同特征参数对其进行准确的识别判定并归类。笔者设计了一种基于BP(误差反传)神经网络[23]与SVM(支持向量机)结合的分类器。对比BP神经网络与SVM的分类准确度,对每一类缺陷特征进行识别分类,并设置相关阈值,将大于阈值的图片送入服务器的数据库进一步处理[24]。
3 试验结果与分析
3.1 参数讨论
经过对图像的特征参数进行分析,通过灰度直方图、图像矩(描述灰度图像特征的一个物理量)对大量的缺陷样本图像进行特征参数提取,包括灰度均值ω、面积S、纵横比λ、圆形度e、空洞数H、能量E,并组成标准缺陷数据库,为缺陷分类器后续的训练学习提供充足的样本。从标准缺陷数据库中抽取9组划痕、孔洞、麻点等几个典型缺陷图像的特征参数(见表1)。
表1 缺陷样本特征参数
3.2 结果分析
为了验证缺陷检测算法的可靠性,采用4类金属板材的缺陷:结疤、辊印、划痕、孔洞。每个缺陷样本数为300张,总计1 200张金属板材缺陷样本。
检测结果分为检测率、漏检率、误检率,定义如式(14)所示。
x=a/N,y=b/N,z=c/N
(14)
式中:x为检测率;y为漏检率;z为误检率;a为检测出的缺陷样本个数;b为漏检样本个数;c为误检样本个数。
改进的Canny算法检测率为92.68%,单幅图像的检测时间仅为49.8 ms。相对于经典的Canny算法,改进后的算法对图像边缘的分割更加完整,并且避免了人工设定双阈值所带来的不确定性,算法的执行效率也得到了提高。不同算法统计结果如表2所示,可见改进后的算法各个方面都有较大的提升,取得的效果良好。
表2 不同算法统计结果
利用BP神经网络和SVM结合的分类器对不同类型的缺陷进行测试,实际测试效果如表3所示。可以看出,基于SIFT算法提取特征,利用BP神经网络和SVM融合的分类器具有较高的识别率,平均识别率为90.22%。
表3 缺陷分类统计结果
4 结语
以检测金属板材表面缺陷为目标,针对平面砂光机的加工特性,设计研发了一套基于机器视觉的金属板材表面缺陷光学检测系统,通过控制图像采集平台的移动定位,实现对金属板材不同位置、不同幅宽的拍摄,通过图像处理系统能够实现对缺陷的检测识别及分类。该缺陷光学检测系统创新点如下:保证中值滤波去噪有效性的同时,采用偏微分方程图像去噪,使图像按等照度线进行扩散,有效降低了噪声,加快了图像处理的速度;通过最大类间方差算法(OTSU)自适应确定图像双阈值,改进Canny算法的高斯滤波器对图像的灰度分布特征进行操作,改进后的算法不受亮度和对比度的影响,效果较好;利用SIFT算法提取缺陷特征,具有较好的鲁棒性;提出了一种BP神经网络和SVM结合的分类器的检测方案,缺陷检测率为92.68%,单幅图像检测时间仅为49.8 ms。