为了实现钎焊工业现场复杂环境下散热器缺陷的在线检测,文章提出了基于机器视觉的散热器钎焊缺陷检测方法。采用灰度化和高斯滤波对图像进行预处理,使用Canny边缘检测算子获取边缘图像;利用八邻域连通域分析方法查找所有边缘连通域,使用边界清除算法剔除边界处边缘轮廓的干扰,进而实现散热器缺陷检测。实验结果表明散热器缺陷检测正确率为95%,可以满足散热器工业现场对准确性和检测速度的要求。 In order to realize the online detection of radiator defects in the complex environment of the brazing industry, this paper proposes a machine vision-based radiator brazing defect detection method. Grayscale and Gaussian filtering are used to preprocess the image, and the Canny edge detection operator is used to obtain the edge image; use the eight neighbors connected domain analysis method to find all the edge connected domains, and use the boundary clearing algorithm to remove the interference of the edge contours at the boundary, thereby achieving accurate iden-tification of defects. Experimental results show that the correct rate of radiator defect detection is 95%, which can meet the accuracy and speed requirements of the radiator industry site.
王姣
天津工业大学电气工程与自动化学院,天津
收稿日期:2020年7月11日;录用日期:2020年7月23日;发布日期:2020年7月30日
为了实现钎焊工业现场复杂环境下散热器缺陷的在线检测,文章提出了基于机器视觉的散热器钎焊缺陷检测方法。采用灰度化和高斯滤波对图像进行预处理,使用Canny边缘检测算子获取边缘图像;利用八邻域连通域分析方法查找所有边缘连通域,使用边界清除算法剔除边界处边缘轮廓的干扰,进而实现散热器缺陷检测。实验结果表明散热器缺陷检测正确率为95%,可以满足散热器工业现场对准确性和检测速度的要求。
关键词 :机器视觉,缺陷检测,八邻域连通域
Copyright © 2020 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
散热器作为汽车发动机冷却系统的重要零部件之一,其性能的好坏直接影响发动机的散热效果。铝质汽车散热器的各部件经钎焊炉高温钎焊而成,在整体成型的过程中主片钎焊处钎缝往往会遭到破坏,导致散热器出现泄漏 [
机器视觉方法首先采集待检测物体的图像,然后采用图像处理算法实现缺陷检测,是目前较为新兴的非接触无损缺陷检测技术 [
为了实现散热器钎焊缺陷检验,本文提出了基于机器视觉的散热器钎焊缺陷检测方法。文章着重介绍了图像处理算法部分,通过预处理、图像分割、缺陷提取等检测钎焊缺陷,识别出不合格的产品,降低产品的报废率。
本系统的检测对象是散热器芯体,如图1所示。检测区域是图中散热器的各个钎缝,其中个别钎缝处会有泄漏。
图1. 散热器芯体
图2所示为散热器缺陷图像和非缺陷图像。
图2. 缺陷图像和非缺陷图像
由于散热器体积较大,若要检测到每一个钎缝,对相机的视野范围和分辨率有要求,因此系统选择线扫相机 [
整个硬件系统搭建方案固定相机和同轴光源 [
图3. 散热器硬件系统结构图
缺陷图像在线检测算法一般包括图像预处理、图像分割、特征提取、缺陷识别等 [
一张图像是由很多像素点组成的,每一个像素点的颜色由RGB三分量表示,三分量的取值范围均为0~255,因此对图像进行灰度处理就是对RGB三个值进行处理。当像素点矩阵中每一个像素点都满足:R = G = B,此值就为灰度值。灰度化处理的方法包括分量法、最大值法、平均值法、加权平均法 [
图4. 散热器缺陷检测算法流程
图像滤波算法的效果对后续边缘检测起着重要的作用。文章分别使用均值滤波、中值滤波和高斯滤波算法对灰度处理后的图像进行平滑处理,对比平滑图像经边缘检测后的效果显示高斯滤波的效果是最好的 [
图5. 滤波后边缘检测效果图
高斯滤波又称高斯模糊,是一种线性平滑滤波。此过程是对整幅图像进行加权平均,每一个像素点的值都为其邻域内像素灰度值加权平均得到。高斯滤波遵循正态分布,二维高斯函数:
其中x和y分别是图像横、纵坐标,σ是高斯核。
具体的操作是使用一个掩模扫描图像每一个像素,掩模中心像素点的值是掩模确定的邻域内像素加权平均灰度值。文章使用3 × 3的掩模,得到的滤波效果对边缘检测提供了画质较高的图像。
文章分别使用Sobel算子和Canny算子实现图像的边缘检测,检测结果如图6所示。从图6边缘检测结果对比显示Canny算子不易受噪声的干扰,缺陷边缘定位较为准确。
Canny算子的检测原理 [
图6. Sobel边缘检测和Canny边缘检测结果图对比
轮廓的查找OpenCV提供了findContours函数,实验中函数的输入为Canny边缘检测图像,数据输出得到的轮廓个数比实际轮廓多3个,轮廓查找的结果对后续缺陷特征提取增加了难度。为了更加准确地检测出散热器钎缝缺陷文章提出了基于连通域分析的区域生长算法。
连通域分析常见的邻域关系有4邻域和8邻域,文中采用8邻域连通域分析。区域生长算法基本思想是将具有相似准则的像素合并构成区域 [
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个连通域的坐标。使用边界清除算法得到钎缝区域图像如图7所示。
图7. 钎缝区域图像
通过对钎缝区域图像分析,缺陷部分在钎缝区域内连通域的像素个数最小。因此,提取缺陷时,保留连通域像素个数最小的轮廓坐标即可,但是边界清除算法仅仅是将边界连通域像素个数置0,并没有改变图像中连通域的个数,边界处连通域会干扰缺陷提取,所以要从像素个数非零的连通域中找出像素个数最小的连通域并保存其坐标,将其他连通域的坐标清除,即可检测出缺陷。如图8所示为缺陷检测和非缺陷检测结果图。
图8. 缺陷检测和非缺陷检测结果图
实验结果表明,文章的算法有效地清除了其他轮廓的干扰,降低了缺陷提取的算法难度,散热器缺陷的边缘检测结果也更加清晰,对后续进行缺陷判断时,提供了方便。
为了判别待处理的散热器是否为合格产品,文章对70张图像进行实验分析,其中20张缺陷图像和50张非缺陷图像。通过对图8结果图中缺陷像素个数和非缺陷钎缝区域像素个数比较分析得到判别产品是否合格的阈值为106,大于阈值的图像为合格产品,小于阈值的图像为不合格产品。
实验检测结果统计如表1所示。
散热器图像 | 检测个数 | 正确判别的个数 | 正确率 |
---|---|---|---|
缺陷图像 | 20 | 19 | 95% |
非缺陷图像 | 50 | 47 | 94% |
表1. 实验检测结果
为了验证方法的有效性,本实验采集了正常无缺陷和待检测缺陷图像的多个样本进行检测,实验结果统计检测成功率95%。实验过程中使用不同的方法进行结果对比,其中传统的连通域方法查找所有的边缘轮廓,提取缺陷特征时受其他轮廓影响,很难准确定位缺陷位置。本文的方法在传统方法基础上做了一些改进,通过实验观察分析发现,干扰轮廓基本在图像边界处,使用边界清除算法清除边界处细小轮廓,很好地显示并提取缺陷信息,有效地保留了缺陷区域坐标数据。
本文的算法在缺陷的漏检和误检方面失误较小,基本可以满足生产线上产品质量检测准确性和检测速度要求。
钎缝受到破坏是导致散热器泄露较为常见的缺陷,文章针对这类缺陷检测问题,提出了机器视觉的钎焊缺陷检测方法。该方法首先通过摄像机、光源、图像采集卡和计算机等硬件设备搭建采集缺陷图像,缺陷图像经预处理后采用八邻域连通域分析查找所有连通域,接着使用边界清除算法将边界处连通域干扰剔除,然后在钎缝区域提取出最小目标区域,从而检测出缺陷。通过比较缺陷区域边界像素个数与非缺陷钎缝边界像素个数来设定阈值,判断散热器是否为合格产品。
文章基于VS平台进行多次实验检测。其结果表明,缺陷检测的正确率达到95%,充分验证了算法的可靠性,满足散热器工业现场在线检测要求,且该方法具有一定的实用价值。
王 姣. 基于机器视觉的散热器钎焊缺陷检测方法研究Research on Detection Method of Radiator Brazing Based on Machine Vision[J]. 人工智能与机器人研究, 2020, 09(03): 163-169. https://doi.org/10.12677/AIRR.2020.93019