1. 引言
散热器作为汽车发动机冷却系统的重要零部件之一,其性能的好坏直接影响发动机的散热效果。铝质汽车散热器的各部件经钎焊炉高温钎焊而成,在整体成型的过程中主片钎焊处钎缝往往会遭到破坏,导致散热器出现泄漏 [1],从而降低了散热器的使用性能,严重时可能会产生一定的安全隐患。目前散热器钎焊缺陷检测主要依靠人眼观察,检测人员在散热器底部打光,观察钎缝是否透光,实现缺陷检测。人工检测方法可以满足散热器缺陷检测,但是其中也存在一些不足:首先,人眼在长时间工作状态下效率会明显下降,易造成误判;其次,在高亮度打光状态下,人眼持续工作影响检测人员视力健康。为了解决人眼观察方法的局限性,很多无损检测技术开始用于金属表面缺陷检测,较为常见的方法有超声波检测、X射线检测和机器视觉 [2]。
机器视觉方法首先采集待检测物体的图像,然后采用图像处理算法实现缺陷检测,是目前较为新兴的非接触无损缺陷检测技术 [3]。该技术在工业生产中可以快速地实现产品的分类和质量检测,在散热器生产中,钎缝处的密封性影响散热器的散热效果和使用性能,因此采用视觉方法实现散热器质量检测。视觉检测方法不仅效率高、误判低,而且有效地解决了对人眼伤害的问题。
为了实现散热器钎焊缺陷检验,本文提出了基于机器视觉的散热器钎焊缺陷检测方法。文章着重介绍了图像处理算法部分,通过预处理、图像分割、缺陷提取等检测钎焊缺陷,识别出不合格的产品,降低产品的报废率。
2. 检测系统
系统设计
本系统的检测对象是散热器芯体,如图1所示。检测区域是图中散热器的各个钎缝,其中个别钎缝处会有泄漏。
图2所示为散热器缺陷图像和非缺陷图像。
![](//html.hanspub.org/file/1-2610204x10_hanspub.png)
Figure 2. Defective and non-defective images
图2. 缺陷图像和非缺陷图像
由于散热器体积较大,若要检测到每一个钎缝,对相机的视野范围和分辨率有要求,因此系统选择线扫相机 [4] 在相同视野下获取较高质量的散热器钎缝图像。线扫方案是固定相机位置不变,提前将待测物体固定在一定卡槽内,使卡槽连续移动,这样可以降低相机抖动带来的影响。
整个硬件系统搭建方案固定相机和同轴光源 [5],匀速移动卡槽,实现对高分辨率二维缺陷图像的采集。硬件系统结构图如图3所示。
![](//html.hanspub.org/file/1-2610204x11_hanspub.png)
Figure 3. Radiator hardware system structure diagram
图3. 散热器硬件系统结构图
3. 散热器缺陷检测算法
缺陷图像在线检测算法一般包括图像预处理、图像分割、特征提取、缺陷识别等 [6]。针对散热器缺陷检测具体的算法流程如图4所示。
3.1. 图像预处理
3.1.1. 灰度化
一张图像是由很多像素点组成的,每一个像素点的颜色由RGB三分量表示,三分量的取值范围均为0~255,因此对图像进行灰度处理就是对RGB三个值进行处理。当像素点矩阵中每一个像素点都满足:R = G = B,此值就为灰度值。灰度化处理的方法包括分量法、最大值法、平均值法、加权平均法 [7]。目前较为常用的方法是平均值法和加权平均法。
![](//html.hanspub.org/file/1-2610204x12_hanspub.png)
Figure 4. Radiator defect detection algorithm flow
图4. 散热器缺陷检测算法流程
3.1.2. 滤波算法
图像滤波算法的效果对后续边缘检测起着重要的作用。文章分别使用均值滤波、中值滤波和高斯滤波算法对灰度处理后的图像进行平滑处理,对比平滑图像经边缘检测后的效果显示高斯滤波的效果是最好的 [8]。滤波后经边缘检测效果对比如图5所示。
![](//html.hanspub.org/file/1-2610204x13_hanspub.png)
Figure 5. The effect of edge detection after filtering
图5. 滤波后边缘检测效果图
高斯滤波又称高斯模糊,是一种线性平滑滤波。此过程是对整幅图像进行加权平均,每一个像素点的值都为其邻域内像素灰度值加权平均得到。高斯滤波遵循正态分布,二维高斯函数:
(1)
其中x和y分别是图像横、纵坐标,σ是高斯核。
具体的操作是使用一个掩模扫描图像每一个像素,掩模中心像素点的值是掩模确定的邻域内像素加权平均灰度值。文章使用3 × 3的掩模,得到的滤波效果对边缘检测提供了画质较高的图像。
3.1.3. 边缘检测
文章分别使用Sobel算子和Canny算子实现图像的边缘检测,检测结果如图6所示。从图6边缘检测结果对比显示Canny算子不易受噪声的干扰,缺陷边缘定位较为准确。
Canny算子的检测原理 [9] 首先对原始图像灰度化;再对灰度图像进行高斯滤波处理;接着使用一阶偏导的有限差分计算幅值和方向;然后对梯度幅值进行非极大值抑制;最后使用双阈值检测和连接边缘,双阈值参数的选取在经过多次实验确定为(30, 450),有效地检测出钎缝边缘。
![](//html.hanspub.org/file/1-2610204x15_hanspub.png)
Figure 6. Comparison of Sobel edge detection and Canny edge detection results
图6. Sobel边缘检测和Canny边缘检测结果图对比
3.2. 八邻域连通域分析
轮廓的查找OpenCV提供了findContours函数,实验中函数的输入为Canny边缘检测图像,数据输出得到的轮廓个数比实际轮廓多3个,轮廓查找的结果对后续缺陷特征提取增加了难度。为了更加准确地检测出散热器钎缝缺陷文章提出了基于连通域分析的区域生长算法。
连通域分析常见的邻域关系有4邻域和8邻域,文中采用8邻域连通域分析。区域生长算法基本思想是将具有相似准则的像素合并构成区域 [10]。算法实现的步骤:
1) Canny边缘提取后图像中仅存在0和255两种像素值。对图像进行扫描,扫描过程中找到第一个灰度值为255的轮廓点,记为c_pt,并将c_pt作为种子生长起点,将其压入数据栈seeds和contour中;
2) 将c_pt作为中心点,遍历其8邻域像素,如果8邻域像素的灰度值与中心点的灰度值相等,其像素与中心点属于同一连通域,并将像素压入两数据栈中;
3) 删除seeds数据栈中第一个元素,并从数据栈中取出一个像素作为c_pt,返回步骤2);
4) 当seeds数据栈为空时,返回步骤1),寻找下一个连通域;
5) 重复1)~4),直到图像中每个点都有其归属时,生长结束。
3.3. 散热器缺陷提取
查找完所有的连通域后,确定了所有连通域的坐标。通过多次实验分析发现,除了钎缝区域信息外,其他干扰轮廓都处在图像边界处。为了提取准确的缺陷信息并判别缺陷,需要清除靠近图像边界的干扰。采用的清除算法步骤是:首先建立边界处像素坐标,水平方向横坐标固定不变,纵坐标循环取值;垂直方向纵坐标不变,横坐标循环取值;然后遍历每个轮廓的每一个坐标,如果某一连通域的坐标与边界像素坐标有相等,将这一连通域的所有坐标删除;最终得到钎缝区域3个连通域的坐标。使用边界清除算法得到钎缝区域图像如图7所示。
通过对钎缝区域图像分析,缺陷部分在钎缝区域内连通域的像素个数最小。因此,提取缺陷时,保留连通域像素个数最小的轮廓坐标即可,但是边界清除算法仅仅是将边界连通域像素个数置0,并没有改变图像中连通域的个数,边界处连通域会干扰缺陷提取,所以要从像素个数非零的连通域中找出像素个数最小的连通域并保存其坐标,将其他连通域的坐标清除,即可检测出缺陷。如图8所示为缺陷检测和非缺陷检测结果图。
![](//html.hanspub.org/file/1-2610204x17_hanspub.png)
Figure 8. Defect inspection and non-defect inspection results graph
图8. 缺陷检测和非缺陷检测结果图
实验结果表明,文章的算法有效地清除了其他轮廓的干扰,降低了缺陷提取的算法难度,散热器缺陷的边缘检测结果也更加清晰,对后续进行缺陷判断时,提供了方便。
3.4. 缺陷判别
为了判别待处理的散热器是否为合格产品,文章对70张图像进行实验分析,其中20张缺陷图像和50张非缺陷图像。通过对图8结果图中缺陷像素个数和非缺陷钎缝区域像素个数比较分析得到判别产品是否合格的阈值为106,大于阈值的图像为合格产品,小于阈值的图像为不合格产品。
实验检测结果统计如表1所示。
4. 实验结果及分析
为了验证方法的有效性,本实验采集了正常无缺陷和待检测缺陷图像的多个样本进行检测,实验结果统计检测成功率95%。实验过程中使用不同的方法进行结果对比,其中传统的连通域方法查找所有的边缘轮廓,提取缺陷特征时受其他轮廓影响,很难准确定位缺陷位置。本文的方法在传统方法基础上做了一些改进,通过实验观察分析发现,干扰轮廓基本在图像边界处,使用边界清除算法清除边界处细小轮廓,很好地显示并提取缺陷信息,有效地保留了缺陷区域坐标数据。
本文的算法在缺陷的漏检和误检方面失误较小,基本可以满足生产线上产品质量检测准确性和检测速度要求。
5. 结论
钎缝受到破坏是导致散热器泄露较为常见的缺陷,文章针对这类缺陷检测问题,提出了机器视觉的钎焊缺陷检测方法。该方法首先通过摄像机、光源、图像采集卡和计算机等硬件设备搭建采集缺陷图像,缺陷图像经预处理后采用八邻域连通域分析查找所有连通域,接着使用边界清除算法将边界处连通域干扰剔除,然后在钎缝区域提取出最小目标区域,从而检测出缺陷。通过比较缺陷区域边界像素个数与非缺陷钎缝边界像素个数来设定阈值,判断散热器是否为合格产品。
文章基于VS平台进行多次实验检测。其结果表明,缺陷检测的正确率达到95%,充分验证了算法的可靠性,满足散热器工业现场在线检测要求,且该方法具有一定的实用价值。