基于Canny的自适应换热器板片边缘检测方法
2021-11-22苑玮琦赵佩瑶
苑玮琦,赵佩瑶
(1.沈阳工业大学 视觉检测技术研究所 辽宁省机器视觉重点实验室,辽宁 沈阳 110870;2.沈阳工业大学 信息科学与工程学院,辽宁 沈阳 110870)
0 引 言
板式换热器是由一系列波纹形状的金属板片堆叠组成用来进行热交换的换热装置[1],在冶金、石油、造纸、船舶等方面都有着广泛的应用。板式换热器板片是专门用于板式换热器中用来隔离介质和进行热交换的板片,是板式换热器的重要组成部分,它的主要材质有不锈钢、钛及钛钯等。波纹板作为板式换热器的关键部件,其质量保证了板式换热器的正常运行,当波纹板片表面产生缺陷时会造成换热器的外漏与串液,不仅损失了换热的效果,严重开裂的板片甚至会造成安全事故。换热板片作为换热器的核心零件在生产过程中必然有着严要求与高标准,其中中华人民共和国能源行业标准NB/T47004.1-2017板式热交换器第1部分:可拆卸板式热交换器中第八节制造第一小节板片加工指出了板片的深度要求及其表面的缺陷指标。因此波纹板的缺陷检测具有重要的工程实际应用价值[2-3]。
板片的板型设计应用CAD技术,配合先进的压制工艺,使得板片能够采用极度精密的模具一次冲压成型。在板片的生产压制过程中会因重力冲压导致波纹的顶面与侧面交界区域产生缺陷,影响板片的使用。国内外板式换热器常见型号的板片外型尺寸在1 206*386*0.8 mm及以上,而缺陷的面积在几百平方毫米的数量级且缺陷发生在固定的位置。对波纹板做边缘检测提取感兴趣区域,能够有效缩短检测的面积,提高检测的精度,减少计算机运算时间。
波纹板的缺陷具有显著的位置特性,因此在不损失图像质量的前提下,可通过优化程序性能,定位感兴趣区域(region of interest,ROI),最终达到降级运算的不必要性和减少存储空间的目的。检索文献发现国内外许多学者对定位区域的应用进行了详细的研究,其中边缘检测的方法效果更佳。长春工业大学的吴翔等人[4]提出一种改进的Canny边缘检测算法,解决了检测过程中需要预先设定高低阈值的缺点,并提高了检测的精度;中国农业大学的张超等人[5]在Canny算子边缘检测的基础上设计连接断点算法,通过判定欧氏距离识别疑似目标边缘,高低长度阈值相配合求取真正的边缘;北京邮电大学的吴国华等人[6]发现在目标没有先验知识的情况下,高斯滤波器的最佳窗口大小与样本中自相关函数的最大半宽度成正比。采用合适的高斯滤波器,重构后的二值图像能够以最小的误码率接近原始二值对象,从而得到最优的边缘检测结果。香港大学的D. Sangeetha等人[7]在Canny算子的基础上引入Sobel,使用近似的方法来计算梯度大小和方向,以替代复杂的操作和降低硬件成本,对现有的非最大抑制和迟滞阈值有很好的改善,有效地提高了边缘检测算法的性能。
目前检索到的大部分研究都是对Canny算法的某一部分进行优化和提升检测精度的方法,但由于Canny边缘检测的方法在自适应方面的欠缺,因此很多优化和改进对波纹板定位的效果具有一定的局限性。针对以上情况,文中提出了一种基于Canny的自适应板式换热器边缘检测方法,通过剖析Canny算法的平滑、非最大值抑制和高低阈值等关键步骤,将其改进成能够对多种版型与材质的波纹板提取边缘的算法。
1 特征分析
1.1 板片结构特征分析
如图1所示,板式换热器板片主要由角孔区、导流区、波纹区三部分构成[8]。其型式主要分为可拆卸式和纤焊式两类,其中可拆卸式板式换热器是由堆叠具有波纹形状的金属片组成,板片上有四个角孔及波纹流道,板片两端有固定紧压板和活动紧压板,并通过导杆连接。冷、热流体分别在对应的波纹流道流通,在板片间完成热的交换。文中主要研究在波纹区域的边缘检测方法。
图1 板式换热器波纹板
以U10B、02CG两种型号的波纹板为例,图2为U10B部分波纹板图片的灰度分布,图3为02CG部分波纹板图片的灰度分布。两种板片的材质不同,灰度值随着板片的亮度升高,两种图像的灰度分布可以看出,单一且固定的灰度阈值不能直接将区域分割。并且不同型号的板片区域分布也不尽相同,边缘过渡区域深浅与角度不同导致边缘图像走势大不相同,单一且固定的边缘检测参数亦不能直接将区域分割。
图2 U10B波纹板特征
图3 02CG波纹板特征
1.2 边缘与非边缘特征分析
波纹的上下表面有多个边缘,但是其中只有两条是真正的边缘,为了避免多处边缘带来的干扰,对采集到的大量波纹板图像波纹边缘进行观察,分析可知由于斜面坡度不均匀而产生的伪边缘是造成误检的主要原因,且波纹具有一定的宽度且高度要高于周围的伪边缘。经典的Canny边缘检测算子能有效检测出波纹板中的所有边缘,合理的高低阈值以及平滑系数可将真实的边缘与伪边缘分开。但受光照、板片材质、成像角度等方面的影响,固定阈值的边缘检测参数不能适应千变万化的波纹边缘,对此文中提出一种基于Canny的自适应边缘检测方法。
2 自适应边缘检测
Canny边缘检测算法[9-11]于1986年开发至今仍作为边缘检测的标准算法在研究中被广泛使用,在定位以及单响应等方面均有良好的效果。Canny边缘检测算法可以分为5个步骤,高斯滤波器平滑图像、梯度强度与方向的计算、非极大值抑制、双阈值判定、抑制弱边缘。应用非最大值抑制,图像梯度幅值矩阵中的元素值越大,说明图像中该点的梯度值越大,但这不能说明该点就是边缘(这仅仅是属于图像增强的过程)。
在Canny算法中,非极大值抑制是进行边缘检测的重要步骤,通俗意义上是指寻找像素点局部最大值,将非极大值点所对应的灰度值置为0,这样可以剔除掉一大部分非边缘的点。通过分析经典Canny边缘检测算子之后,结合实际项目需要,对边缘检测的高斯滤波标准差以及高低阈值参数进行研究。
2.1 高斯滤波标准差σ的设计
为了有效地平滑图像,降低伪边缘的识别,使用高斯滤波器[12]来抑制噪声。
(1)
其中,x,y是图像的坐标,σ是关联概率分布的高斯滤波标准差。
抑制噪声和边缘精确定位是无法同时兼顾的,选取合适的高斯滤波标准差是高效检测出边缘的先决条件之一,当高斯滤波标准差偏小时,边缘的灰度局部变化位置不清晰且易受噪声的影响;当高斯滤波标准差偏大时,降低噪声的平滑能力过强,边界强度的损失导致阈值的牺牲;所以,合适的高斯滤波标准差对于边缘检测的效果来说非常重要。
由公式(1)可知,高斯滤波标准差σ决定高斯模板的形状,当检测的边缘的剖面灰度分布与高斯滤波模型的分布越相似时,滤波的效果越好,反之,不理想的高斯滤波模型,会对效果造成影响。
通过单一变量原则,验证了边缘检测的高斯滤波标准差σ仅与边缘灰度剖面图像中峰谷之间的宽度有关。经过测试统计,边缘峰谷之间的宽度是高斯滤波标准差数值的三倍,这与Marr-Hildreth算法[13]决定高斯滤波标准差的方法一致。通过上述分析,高斯滤波标准差σ的设计只需得到边缘上下沿之间的宽度。
2.2 高低阈值的设计
以单一阈值的方式来判定边缘是武断的,Canny设置两个阈值,分别为maxVal和minVal,其中大于maxVal的都被检测为边缘,而低于minVal的都被检测为非边缘。对于中间的像素点,如果与确定为边缘的像素点邻接,则判定为边缘;否则为非边缘。
求出波纹板图像中每个像素点的梯度值,每个像素点的梯度值为相邻两点的灰度差与距离差之比,生成梯度图像,并按梯度值的大小顺序排列。实验结果表明排序后出现两种情况,一种为边界清晰的波纹板图像,如图4存在突变点Th将边缘分割为两部分,大于Th的为真正的边缘,小于Th的是伪边缘,中间有很长一段距离的过渡,这种情况的边缘足够清晰;另一类为缓慢过渡的梯度图像,这种情况没有明确的阈值分界点,这时观察梯度阈值情况,将梯度值分成两类,依然得到理想的高阈值。边缘检测的高低阈值只与边缘峰谷之间的高度有关。在一个波形梯度近似的且横向宽度较小时,边缘检测的高度近似波形最低点与波形最高点灰度值差值的0.8。在一个波形明显两个梯度时,边缘检测的宽度和高度应各自独立,阈值依然近似0.8倍。
于是,只需要知道待测边缘两侧的灰度差或者梯度分布图的分界点,即可知道边缘检测的阈值,检测的目的是尽可能地保留完整边缘,达到不漏检的效果,那么低阈值的选取要能满足最弱的缺陷也被连接上,高阈值的选取要保证所有缺陷的轮廓都提取出来,经过多次试验给出低阈值为高阈值的一半。
图4 高阈值为56
2.3 梯度极大值
通过上述研究可知,只需得到边缘上下沿的宽度以及高度即可推算出Canny边缘检测的参数,经多次实验,梯度算子均可得到粗略的边缘。梯度算子众多且发展成熟,Sobel算子[14-16]在波纹上的效果最为突出,于是选取Sobel算法作为自适应提取过程的梯度算法。
用一阶偏导的有限差分来计算梯度的幅值,Gx和Gy分别为水平和垂直方向的差分,G为像素点的梯度模。
梯度幅度为:
(2)
钢板材质在光照不均匀的情况下会产生异常值。经过多次实验和数据统计得知,此类异常值存在共性,异常发生在波纹区下凸台的其中一侧。于是采用9×9的滤波窗口进行均值滤波,此窗口大于存在异常值区域的宽度能有效抑制异常值,并且很好地平缓了表面的波动。
当卷积模板与图像卷积之后的图像灰度值为0时,说明此处像素的4邻域为平坦的区域,灰度值越大的区域说明其4邻域为发生急剧变化的区域。对图像做Sobel算子的操作,操作后的图像中每一个像素点的灰度值代表原图像在这一点的梯度。
2.4 检测流程
在Sobel的帮助下顺利找到了边缘的边界点,通过定位边缘联测的信息点可以快速有效地得到边缘灰度剖面线上每一个边缘点的峰谷坐标H(x1,y1)、峰顶坐标H(x2,y2)与对应的峰谷灰度值G1、峰顶灰度值G2,是Canny边缘检测参数确定的关键。在人为参与测试的过程中,边缘检测的实现是对边缘做灰度剖面线,得到边缘的边界点信息,并且剖面线的方向垂直于边缘,板片的摆放位置固定且图像采集时长轴置于水平方向上,在自动化检测的过程中算法生成四条直线代替剖面线与Sobel后的边界去取交集。实验发现直线与剖面线带来的差别只与波纹板的波纹角度存在线性关系,在波纹角度已知的情况下,可通过波纹走势得到波纹与水平长轴的角度,波纹的剖面线上所测量到的结果与水平方向划线的结果在高度差上近似,在宽度上成正弦关系,由此解决剖面线带来的问题。文中自适应Canny边缘检测主要分四步进行:
(1)去噪声,用一个高斯滤波器平滑输入图像;
(2)计算梯度幅值图像与方向角图像;
(3)对梯度幅值图像应用非最大值抑制;
(4)用双阈值处理和连接分析检测并连接边缘。
利用Sobel算子得到波纹板图像的梯度图像,如图5所示。从Sobel图像与直线段的交集图像中可以看到277,292处为零点位置,对应的正是边缘的两端,于是获得Sobel中为零的坐标点,即可得到边缘两端的坐标,从而获得此点在原图中的灰度值。横坐标差值与平滑系数成线性关系,纵坐标的差值与阈值成倍数关系,即可得到边缘检测的参数。
图5 Sobel图像灰度分布
3 实验结果及分析
3.1 实验数据库的建立
笔者自行建立一个板式换热器板片的图像数据库用于算法验证[17],其中包括8种版型共90张图片,图像于吉林四平波纹板生产车间采集,是真实的生产环境。将型号为LA-CM-16K05A-00-R的DALSA线阵相机和专用于16 K相机的Xenon-Sapphire 4.5-95-0.07镜头安装在检测承重平台上方的龙门架上,并将隧道光源KW-DL1500F-HW作为相机的照明。板片放置在设备的移动平台上,通过滚筒输送的过程中触发相机并采集图片,图6即为系统实物图。
图6 图像采集装置
3.2 实验测试结果与对比分析
为了体现文中算法的优越性,将改进后的自适应边缘检测方法与经典的Canny边缘检测方法进行对比。以P10B同型号的两张板片为例,图7(a)在图库中编号为P10B191104-12222,简称例1,自适应的边缘检测给出的结果:高斯平滑系数为6、高阈值为31、低阈值为15。图7(b)在图库中编号为P10B191113-12212,简称例2,自适应的边缘检测给出的结果:高斯平滑系数为4、高阈值为50、低阈值为25。可以看到两张板片的边缘均被检出,效果理想,两张图片自适应参数相差20个数量级。
(a)例1边缘检测效果
(b)例2边缘检测效果
经典的Canny边缘检测方法需要手动设置,观察灰度剖面图和梯度分布图像可以看出,P10B12212的整体亮度高于P10B12222,且梯度分布的分界点高出20个单位,这种情况下试图用一个值来检测两张图像,则取梯度相交的中间值40来进行检测,由于不是理想参数造成结果出现误检与漏检的情况,并且对每一种版型手动设置是不现实的。
在确定了自适应边缘检测算法后,对8种版型90张板片的图片进行测试,测试结果理想,如图8所示,但在测试过程中发现三种情况,现对三类情况做出误检说明。
情况一为板式换热器板片上由于存储不当使得波纹板表面存在脏污干扰导致的误检,图8为通过自适应边缘检测算法得到的边缘图像,图像中除了真正的边缘外,检测到的均为脏污的边缘,脏污使得2个边缘变为4个边缘,脏污的梯度值在自适应边缘检测的阈值之上,导致在梯度值的排序中,部分脏污边缘的梯度值排列在了边缘的行列中,造成误检。但此误检与实际边缘不相连且为小短线,可将提取到的区域做连通域,互不相连的线段可以通过长度剔除,并且冲压后立即采集的板片不会出现此种情况。
图8 边缘检测误检效果
第二种情况为波纹板的部分型号板片在斜面处存在误检,由于斜面过渡不均匀造成斜面间产生类似边缘的过渡。分析误检产生的原因,斜面处的误检数值不大但数值在高低阈值之间,并且与高阈值相连,双阈值的优势在这种情况下具有双面性,所以被作为边缘检出。
第三种情况为板片变形和严重脏污位置存在漏检,此种情况在生产环境是不存在的,是采集图像中的意外情况。采集过程中被拉伸的板片在采集过程中被拉伸导致边缘变化趋势与周围边缘相比较为缓慢,拉伸处的梯度值比周围的梯度值10个单位以上,造成自适应的边缘检测在此位置漏检。若为了迎合此位置降低边缘检测的参数会造成不必要的误检,背离检测的初衷。油污导致此位置的对比度较周围区域要低,自适应的边缘检测过程中边缘的上下沿之间的对比度是非常重要的检测因素,而此处位置的对比度远低于板片的整体对比度,造成漏检。新生产的板片上是不会存在油污的,不会有这种情况的发生。
4 结束语
针对当前的研究对板式换热器不同型号的边缘检测不适用的问题,提出一种基于Canny的自适应板式换热器边缘检测方法。该方法主要是对经典Canny的解读以及更贴近钢材自动化检测的一种改进方法。详细阐述了算法原理和实现流程,与经典的Canny边缘检测方法相比检测结果有一定的改善,具有一定的实际应用价值。