黄勤芳
(广西职业学院,广西 南宁 530007)
汽车散热翅片是由薄型板材冲压成型的,由于其刚度较差,容易在板材裁剪、冲压成型等工序中造成裂痕以及平面度差等缺陷[1]。人工检测工件质量的速度慢、劳动强度大、误检率高,而基于机器视觉的产品质量检测方法具有效率高、准确度高等优点[2]。
近年来,国内外学者研究出来了一系列基于机器视觉的产品质量检测方法。石振华等[3]提出一种基于YoloV3的工件缺陷检测方法,针对工件表面缺陷的特点改进YoloV3网络的特征融合方式,提升了算法性能,克服了人工提取特征的局限性,检测精度和速度均满足实际生产要求。代小红等[4]提出一种基于改进RCNN的金属材料缺陷检测算法,采用非极大值抑制算法和多级ROI池化层结构设计算法,消除系统偏差,利用双线性插值法克服像素位置偏移和检测不匹配的问题,缺陷检测准确率达97.36%。马建等[5]研究出一种基于改进的分割网络模型的表面缺陷检测方法,该方法使用最大池化代替大步长的卷积,改变卷积层和池化层,获得更多的工件特征,使得工件表面缺陷检测准确率达99.4%。牛瑶[6]研究了基于R-CNN算法的工件尺寸和缺陷检测方法,实现了对工件尺寸的精准测量和对工件缺陷的目标检测与识别,并且取得了预想的效果。上述四个方案都是基于深度学习的工件缺陷检测方案,需要收集大量数据集进行训练,并且所需的硬件成本高,无法适应小型企业生产要求。
Qin Shujia等[7]提出了一种滑动窗口滤波纹理检测方法,通过背景估计、背景去除、二值化对图像进行预处理,然后与圆形纹理检测结果合成,实现对非同心圆纹理工件的缺陷识别。H.H.Shahabi等[8]研究出了基于机器视觉的工件粗糙度轮廓的侧面磨损和机头半径磨损的检测方法,通过机器视觉方法测量刀头半径磨损量和工件的粗糙度轮廓,从鼻翼半径磨损量确定侧面磨损宽度,根据工件的粗糙度轮廓确定了机头半径磨损量。刘源等[9]研究了一种基于Sobel算子的带钢表面缺陷检测算法,该算法平均分割正确率达93.5%。张思祥等[10]研究了一种基于图像分析检测热电池装配缺陷的方法,对无损电池检测正确率达94%,缺陷电池检出准确率达96%。孙鸽等[11]研究了一种基于Halcon的螺纹钢表面缺陷检测方法,利用仿射变换对图像中歪斜的螺纹钢进行校正,然后基于霍夫变换检测纵肋边缘直线位置的方法对螺纹钢正面、侧面图像进行区分,最后针对正面、侧面图像分别进行缺陷检测,方法具有较好的稳定性和实用性,能有效地解决人工检测效率低、误检率高等问题。眭石军等[12]针对FPC缺陷检测设计了一套基于机器视觉的实时检测系统,通过模板匹配提取ROI,运用图像自乘与高斯线检测来提取折痕,设计的系统检测准确率达90%以上,且每片FPC检测时间只需0.2 s。黄柳倩[13]提出了一种基于Halcon的冲压件缺陷检测系统,运用数学形态学及斑点分析方法达到检测目的,处理速度达到在线检测要求。
本课题采用Halcon平台[14]设计了一种基于Halcon的汽车散热翅片质量检测系统。首先,将散热翅片图片转化成HSV颜色模式,运用阈值分割、形态学处理和轮廓拟合算法,检测冲压裂痕缺陷;然后,应用亚像素轮廓提取和矩形度检测算子,对整体外形以及平面度进行检测;最后,使用基于形状的模板匹配方法对冲压间距进行检测。由此实现对汽车散热翅片四种缺陷的检测。
本课题所设计的检测系统有效解决了目前检测方法存在的检测效率低、硬件成本高以及对小型企业适应性差等问题,大幅度提高了汽车散热翅片缺陷检测的准确率。
本课题搭建了一个汽车散热翅片缺陷检测系统,如图1所示。系统由散热翅片、平行光源、CDD图像采集摄像头[15]、图像采集卡、计算机以及显示器组成。系统工作时,经过冲压出来的散热翅片会顺着传送带传送到CDD图像采集摄像头下方,此时平行光照明系统打开;同时,CDD摄像头会采集散热翅片图像并将其传到图像采集卡进行储存;最后,经过计算机使用本课题的Halcon算法对所采集的图像进行处理,从而实现散热翅片的冲压裂痕、平面度、整体外形和冲压间距这四类缺陷特征的提取及检测,并将检测结果输出到显示器。
图1 汽车散热翅片缺陷检测系统
本课题的汽车散热翅片缺陷检测系统主要是针对散热翅片的冲压裂痕、平面度、整体外形和冲压间距这四类缺陷进行检测,该系统算法流程如图2所示。
图2 缺陷检测系统算法流程
将采集的RGB颜色模式的汽车散热翅片图像,如图3所示,使用颜色通道拆分算子decompose3()和颜色模式转换算子trans_from_rgb()转化为HSV颜色模式,其转换公式如式(1)~式(6)所示。
图3 汽车散热翅片
式中:R表示红色通道值;G表示绿色通道值;B表示蓝色通道值;H表示色调值;S表示饱和度值;V表示明度值。
为了减少图像噪声的影响,运用gauss_filter()算子对HSV图像进行高斯滤波处理,如式(7)所示。然后使用binary_threshold()算子与closing_circle()算子对滤波后的图像进行处理,获取ROI区域,如图4所示。
图4 ROI区域
式(7)中:f(x,y)表示掩膜在点(x,y)处的像素值;μ表示均值;σ表示标准差;f(xμ,yμ)表示掩膜中心点的像素值。
对于冲压裂痕缺陷的检测,裂痕区域与背景的灰度值差异明显,如图5所示。将获取到的ROI区域使用threshold()算子进行Blob分析处理,提取出散热翅片的冲压裂痕缺陷特征,然后使用select_shape()算子基于面积特征将提取到的非缺陷特征区域剔除。最后使用area_center()算子[16]计算缺陷区域的中心坐标与面积,根据计算出的中心坐标与面积应用gen_circle()算子生成最小外接圆对缺陷部位进行标记,从而实现对散热翅片冲压裂痕缺陷的检测。
图5 冲压裂痕缺陷的灰度直方图
对于冲压间距缺陷的检测,本课题使用的是基于形状的模板匹配方法。首先使用create_shape_model()算子在获取的ROI区域创建匹配模板,然后利用get_shape_model_contours()算子获取匹配模板的轮廓,如图6所示,用于后面的匹配操作,最后使用find_shape_model()算子将匹配模板与待检测图片进行匹配运算,如式(8)、式(9)所示,由此完成对散热翅片冲压间距缺陷的检测。
图6 匹配模板
式(8)中:D(i,j)表示匹配模板T与被测图片S在点(i,j)处的相似度;T(m,n)表示匹配模板在点(m,n)处的像素值;S(m,n)表示被测图片在点(m,n)处的像素值。
将式(8)归一化,得模板匹配的相关系数:
式(9)中:T(m,n)表示匹配模板在点(m,n)处的像素值;S(m,n)表示被测图片在点(m,n)处的像素值;R(i,j)表示匹配模板T与被测图片S在点(i,j)处的相关系数。
对于整体外形缺陷的检测,运用gen_contour_region_xld()算子和fit_rectangle2_contour_xld()算子[17]生成ROI区域的XLD轮廓,如图7所示,并获取其最小外接矩形,随后使用rectangularity()算子对XLD轮廓矩形度进行计算,由此检测散热翅片整体外形的缺陷。
图7 ROI区域的XLD轮廓
对于平面度缺陷的检测,运用area_center()算子计算散热翅片XLD轮廓区域的面积,与合格的散热翅片面积进行对比,从而实现对散热翅片平面度缺陷的检测。
为了检验本课题的汽车散热翅片质量检测系统对散热翅片的冲压裂痕、平面度、整体外形和冲压间距四类缺陷检测的效果,在Windows 10和Halcon 20.11 Steady平台上分别对四种缺陷进行检测试验,如图8所示。
图8 四类缺陷检测图
据试验结果,该检测系统能够准确识别冲压裂痕缺陷并将其标记出来;能够基于面积及矩形度特征精确检测平面度和整体外形缺陷;能够通过创建的匹配模板对散热翅片图像各部分进行逐一检测,从而判断冲压间距是否存在缺陷。
为了测试该汽车散热翅片质量检测系统在实际应用中的检测效率、稳定性和准确率[18],本课题通过CCD图像采集摄像头在某企业采集了100张汽车散热翅片图片,其中,包含无缺陷图片30张、整体外形缺陷图片20张、平面度缺陷图片20张、冲压间距缺陷图片10张和冲压裂痕缺陷图片20张。试验结果如表1所示。
表1 系统性能试验
据表1数据,该汽车散热翅片质量检测系统在试验中的总体准确率达98%,对于整体外形缺陷和冲压裂痕缺陷均能实现零误检率,对于平面度缺陷和冲压间距缺陷的误检率分别为5%和1%,对于四类缺陷的检测总共消耗时长仅为1.657 s,符合实际生产需求,具有较高的检测效率、稳定性和准确率。
本课题基于Halcon开发了汽车散热翅片质量检测系统。该系统将散热翅片图片转化成HSV颜色模式,使得ROI区域与背景的灰度值差异更明显,运用阈值分割、形态学处理和轮廓拟合算法[19],准确识别出冲压裂痕;应用XLD轮廓提取和矩形度检测算子,实现整体外形以及平面度的检测;使用基于形状的模板匹配方法检测冲压间距缺陷。通过对100张汽车散热翅片图片进行检测试验,证明检测系统对散热翅片的冲压裂痕、平面度、整体外形和冲压间距四类缺陷检测的准确率达98%,并且具有较高的检测效率、稳定性和准确率。