基于机器视觉的微通道换热器表面缺陷检测方法
2022-02-06徐志鹏曹松晓
杨 晨,徐志鹏,曹松晓,宋 涛,蒋 庆
(中国计量大学计量测试工程学院,浙江杭州 310018)
0 引言
微通道换热器是一种借助特殊微加工技术以固定基质制造的可用于进行热传递的三维结构。在换热器生产过程中需要对其成品进行规格和质量检测,目前主要通过人工来完成缺陷检测环节[1]。工人通过对比工样来判断换热器是否符合标准。这种方法要求工人拥有一定的经验,而且精确度和可靠性存疑,效率也有待提高。机器视觉技术具有高精度、重复性、非接触性、成本低等特点。将机器视觉运用到换热器焊后缺陷检测中能实现检测的自动化、减少人力成本、提高生产效率。陈家智等[2]设计了基于机器视觉的锂电池正负极冗余度缺陷检测方法,该算法能够很好且快速地将锂电池正负极冗余度等不满足技术要求的锂电池识别检测出来;周静等[3]设计了基于多尺度边缘拟合的陶瓷过滤网质量检测方法,该方法能够准确、快速的检测陶瓷过滤网外形缺陷和尺寸;肖佳全等[4]设计了基于机器视觉的异形弹簧快速缺陷检测方法,实现了异形弹簧的尺寸和变形缺陷无接触、快速且较为准确的在线检测;黄梦涛等[5]设计了基于改进的Canny算子的锂电池极片表面缺陷检测方法,针对锂电池表面电极片表面存在低对比度微小缺陷难以检测的问题,提出解决方法,此算法能够有效突出目标缺陷区域的同时,且有效减少同色度背景噪声;荀康迪等[6]提出了一种基于机器视觉的手机石墨散热片缺陷检测方法,采用的滤波方法和二次匹配法适用于手机石墨散热片缺陷检测,满足企业品控要求;张福虔等[7]为解决印刷辊筒表面缺陷检测困难,提出了改进的CLAHE图像增强算法和改进的视觉显著性辊筒表面缺陷算法,实现了辊筒表面缺陷的有效检测;贾坡等[8]提出了基于机器视觉的滚抛磨块缺陷检测方法,该方法能对烧结型球状磨块的圆度和黑心缺陷进行数字化检测;郑魁敬等[9]提出了基于机器视觉的手机电池表面缺陷检测,针对手机电池表面质量人工检测情况,开发了电池表面缺陷无损检测系统软件;李书华等[10]设计了一种基于机器视觉的PVC管材表面缺陷检测算法,解决了人眼检测聚氯乙烯管材表面缺陷效果差、效率低下等问题,并将其用于工业生产。
为了提高微通道换热器缺陷检测的检测速度以及效率,故将机器视觉应用到微通道换热器缺陷检测过程中。通过图像处理等技术完成对换热器关键缺陷区域的在线检测,判断换热器是否符合生产标准,从而实现检测的自动化,显著提高生产效率。
1 换热器结构及缺陷特征分析
微通道换热器图像如图1所示。其主要由制冷剂进出口、集流管、隔板、扁管和翅片组成。扁管内有数十条细微流道,在扁平管的两端与集流管相连,翅片在两根扁管之间,起到强化换热器的换热性能的作用。集管内设置隔板,将换热器流道分隔成数个流程。各种板片之间形成薄矩形通道,通过板片进行热量交换。
图1 微通道换热器
换热器可能存在缺陷的区域有边板区域、端板区域、隔板区域、支架区域、转接座区域、集流管区域、接管区域、扁管区域、翅片区域等。从表1换热器缺陷种类排布图可以看出,翅片不良占比最高。而换热器翅片缺陷主要有翅片虚焊和翅片损伤,不同的缺陷形成的原因各不相同。翅片虚焊是翅片与扁管接触面有明显缝隙,翅片损伤就是翅片部分有明显的损坏痕迹。这两大缺陷会影响换热器的热传导性能,使翅片无法与流体之间产生对流换热从而达到换热的效果。翅片虚焊、翅片损伤与正常图的对比图如图2所示。
表1 换热器缺陷种类排布图 %
(a)翅片虚焊
(b)翅片损伤
(c)正常换热器图2 翅片虚焊、翅片损伤与无缺陷图对比图
由此,本文对换热器图像进行一系列的图像处理操作,针对翅片虚焊,保留扁管附近图像,过滤干扰图像,并截取扁管附近区域,再进行缺陷检测。针对翅片损伤,可以根据扁管拟合出多条直线,再根据直线将图像分割为若干含有翅片的区域,分别对这些区域进行缺陷检测[11]。该检测方法能显著提高检测的效率和速度。
2 微通道换热器缺陷检测算法
本文提出一种基于机器视觉的微通道换热器缺陷检测算法。算法主要分为3个步骤。
第一步:图像采集和图像预处理。对采集到的图像进行双边滤波去除噪声,再使用y方向一阶Sobel边缘检测算子提取轮廓,然后使用形态学开运算操作和二值化过滤干扰斑点,使缺陷区域更易于提取及显现。
第二步:缺陷区域的提取和分割。使用Hough直线检测、差分法和横轴像素点累积投影法对预处理后的缺陷样本进行多区域的分割提取,不同的缺陷需要检测的区域有所不同,这样更易于后续缺陷的检测。
第三步:缺陷识别。首先是翅片虚焊,有缺陷区域能够检测到3条及3条以上的直线,正常无缺陷区域只能检测到2条直线。其次是翅片损伤,使用轮廓检测和轮廓面积限定法,满足翅片损伤的斑点面积在规定阈值内,从而判定该区域是否有缺陷。换热器缺陷检测流程图如图3所示。
图3 换热器缺陷检测流程图
2.1 图像预处理
2.1.1 图像的滤波处理
在采集图像的过程中,采集设备可能会受到各种噪声的干扰,并且在图像信号的传输过程中也可能产生噪声,因此采集到的图像可能会具有噪声。由此可见去除图像噪声在图像的预处理中是至关重要的步骤。图像滤波分为线性滤波和非线性滤波。常见的线性滤波有均值滤波和高斯滤波等;非线性滤波有中值滤波和双边滤波。
实验结果表明,在最初阶段视觉系统表现的是非线性特征[12]。因此在利用机器视觉滤波处理图像时,非线性滤波的滤波效果最佳。其中双边滤波是有效且常用的能保留图像边缘信息的滤波算法。双边滤波是空域和值域滤波器的结合,所以在对边缘附近的像素进行滤波的同时,距离边缘较远的像素值不会对边缘上的像素值影响太大,进而保留边缘的清晰性。双边滤波的数学表达式如式(1)所示:
(1)
式中:f(k,l)为输入图像;g(i,j)为输出图像;w(i,j,k,l)为双边滤波器的系数,其值取决于空域滤波器和值域滤波器的乘积。
滤波后的效果图如图4(a)所示,可以看出图像有明显平滑,且保留了边缘的信息。
(a)双边滤波
(b)Sobel算子y方向一阶边缘
(c)二值化
(d)形态学开运算图4 样本预处理图
2.1.2 图像的边缘检测
图像中物体的边缘含有重要信息,提取图像中的边缘信息对于分析换热器的缺陷、提取缺陷区域和定位缺陷等具有非常重要的作用[13]。常见的边缘检测算法有:Sobel算子,Scharr算子,Laplacian算子和Canny算子。通过对翅片虚焊和翅片损伤缺陷的特征分析,发现翅片虚焊一般出现在扁管附近,因此我们需要将扁管附近以外的翅片区域进行弱化或消除。从采集到的缺陷样本可以看出,扁管是横向边缘,因此尝试使用Sobel算子y方向的一阶边缘和Scharr算子y方向一阶边缘对滤波处理后的图像进行处理对比,发现Sobel算子y方向一阶边缘提取能较好过滤扁管周围以外的翅片区域。边缘提取后的效果图如图4(b)所示,可以看出,扁管区域轮廓变得更加明显清晰,而扁管外的翅片区域较为模糊。
2.1.3 图像的二值化和形态学操作
经过上述边缘检测后的缺陷样本,可观察到翅片的轮廓线并没有完全过滤掉,仍然存在干扰[14]。为了使扁管附近区域的轮廓更加明显,弱化翅片轮廓,进一步使用图像的二值化和形态学操作,图4(c)是二值化后的结果,图4(d)是形态学开运算操作后的结果。可以看出,经过二值化和形态学开运算后的效果图,已基本排除了翅片轮廓的干扰,可以明显观察出所需要的扁管附近区域轮廓。
2.2 缺陷区域提取算法
2.2.1 翅片虚焊缺陷区域提取
从预处理结果图中可以看出,扁管轮廓在水平方向上,并且经过二值化后的图像的像素值为0或者255。因此将图像(w×h=2448 pixel×2048 pixel)的宽作为横坐标,水平方向的像素点值为255的个数累积值作为纵坐标,数学表达式如式(2)所示,其中g(y)表示对应横轴像素点为255的个数,f(x,y)表示图中坐标为(x,y)点的像素值,然后对其进行归一化可以画出横轴上的像素点纵向投影折线图,如图5所示。
图5 像素点累加纵向投影折线图
(2)
从折线图中可以看出扁管所在区域的值明显要大于其他区域,因此只需要将每个峰值附近区域所代表的扁管区域截取出来,便可以得到需要检测的缺陷区域。具体算法步骤:首先根据设定像素个数累积阈值,从而找到几个峰值大致的一个对应横坐标图像宽的范围值,计算出中间值,再根据中间值从预处理后的图中截取可能出现缺陷的扁管区域,如图6所示为截取后的图像。
图6 翅片虚焊缺陷区域截取
2.2.2 翅片损伤缺陷区域提取
针对采集到的翅片损伤样本,对其进行图像预处理,如图7所示,不难看出缺陷区域主要集中在翅片区域,以扁管作为分割线将预处理后的图像划分成若干个缺陷样本。
图7 翅片损伤图像预处理
主要步骤:首先对翅片损伤样本用预处理方法进行处理,再对整张图使用Hough直线检测[15],可以检测到k根直线,针对这k根直线会有2k个端点,对这2k个端点按纵坐标从小到大排序,并将其分为m份。正常同层端点的纵坐标差值会很小,所以将纵坐标差值小的点划分为一组,这里用到了差分法。将每组点的均值作为纵坐标,并找出每组点所对应横坐标的最大值和最小值作为直线的横坐标,根据坐标点画出直线。每个扁管可以检测出2条直线。
根据找到的直线,可以从缺陷预处理图中截取若干个缺陷区域如图8所示。
图8 翅片损伤缺陷区域截取
2.3 缺陷检测识别算法
2.3.1 翅片虚焊缺陷检测
从翅片虚焊缺陷区域提取得到的图像可以看出,有翅片虚焊缺陷部分不只有扁管的轮廓,还有由于翅片虚焊缺陷造成的翅片部分轮廓,因此,这里用到了在上面翅片损伤缺陷区域提取用到的直线检测方法,对得到的每张翅片虚焊缺陷区域进行检测,在有翅片虚焊缺陷的图像中,可以检测到3条或3条以上的直线,而对于正常没有翅片虚焊的图像,只检测出2条直线,如图9为缺陷检测的结果。其中图9(a)为有缺陷情况下检测出3条直线,图9(b)为正常情况下只检测出2条直线。
(a)翅片虚焊
(b)正常情况图9 翅片虚焊检测结果
2.3.2 翅片损伤缺陷检测
在翅片损伤缺陷区域分割图中能够明显发现,有缺陷图像中翅片损伤造成的大面积斑点,由此,可以根据这个特征进行缺陷识别检测。首先对有缺陷样本进行轮廓检测[16],可以得到每个斑点轮廓的面积大小,从而找到最小斑点和最大斑点面积的均值,将其设置为阈值。再对样本中缺陷斑点的大小面积进行阈值限定,得到想要的缺陷斑点的轮廓,从而检测出翅片损伤缺陷。图10是翅片损伤缺陷检测结果。
(a)翅片损伤
(b)正常图10 翅片损伤检测结果
3 实验结果及分析
本实验代码使用PyCharm 2021集成开发环境,利用 python编程语言和Opencv-python 4.5.4 机器视觉库实现。硬件系统主要由工业相机MV-CA050-10GM、焦距为12 mm的FA镜头、LED环形白光源等构成,图11为硬件系统图。
图11 硬件系统
本实验对翅片虚焊和翅片损伤缺陷各采集50张图像,图像的原始大小为2448 pixel×2048 pixel,可以通过上述的缺陷区域提取的方法得到多张待检测图像。翅片虚焊总待检样本总量为250张,其中有缺陷样本为47张,正常样本为203张。翅片损伤待检测样本总量为300张,其中有翅片损伤的样本为163张,无缺陷样本为137张。翅片虚焊检测结果如表2所示,翅片损伤检测结果如表3所示。
表2 翅片虚焊检测结果数据表
表3 翅片损伤检测结果数据表
从表中检测数据分析得出,翅片虚焊缺陷检测合格样本识别率97.5%,缺陷样本检测识别率为91.4%。翅片损伤缺陷检测合格样本识别率为93.4%,缺陷样本检测识别率为90.8%。在翅片虚焊缺陷检测中,识别错误的主要原因是有些虚焊的翅片部分与扁管过于接近,经过图像处理后再进行直线检测,并不能检测出单独的一条直线,而是会和扁管轮廓近似融为一体,这对直线检测中使用到的差分法用到的参数有较高的要求。而翅片损伤中识别错误的主要原因是在缺陷区域提取的时候,有些扁管区域并不能完全过滤掉,以及在扁管损伤部分在图像预处理后会形成连通的大面积斑点,造成阈值不能很好的限制检测斑点面积。在检测过程中,检测系统运行流畅,没有异常和卡顿的出现。说明此系统能够满足工业现场的应用需求。
4 结束语
本文针对微通道换热器翅片虚焊和翅片损伤缺陷的特点,基于机器视觉技术,提出了一种在线检测的算法。该算法通过一些图像预处理,使缺陷轮廓特征更加明显,利用图像像素点纵向累积投影和对扁管进行直线检测分别对采集到的翅片虚焊和翅片损伤的缺陷样本进行缺陷区域提取分割,最后再针对翅片虚焊缺陷使用直线检测,翅片损伤使用斑点轮廓检测并对斑点进行轮廓面积的限定,从而检测出各自的缺陷。实验表明,该算法缺陷识别率最高可达97%,稳定性好、运行速度快、准确性高。利用本文提出的视觉检测方法,大大缩短了检测时间,符合工业检测上的应用需求。