基于改进Canny算法的车轮踏面边缘检测

2024-11-02 00:00孙宝民王冬林含潇杨钰鑫
科技创新与应用 2024年31期

摘 要:近年来,列车检修逐渐由人检转换为机检,针对在踏面损伤检测图像处理过程中,由于环境光照、背景区域复杂等因素影响,导致图像踏面目标区域边缘检测效果差、细节信息丢失等问题,提出一种基于引导滤波改进Canny算子的边缘检测算法。首先,利用中值滤波和引导滤波组成的混合滤波进行图像去噪处理,在滤除噪声的同时具有良好的保边特性;接着,扩展梯度模板的计算方向来获得梯度幅值;最后,利用边缘信息改进全局阈值的方法自适应获得高低阈值。基于引导滤波改进Canny算子的边缘检测算法能够有效滤除图像噪声,同时检测出更多的踏面损伤边缘信息。

关键词:列车;车轮踏面;损伤;边缘检测;引导滤波

中图分类号:U292.9 文献标志码:A 文章编号:2095-2945(2024)31-0017-07

Abstract: In recent years, train maintenance has gradually shifted from human inspection to machine inspection. In view of the problem of poor edge detection in the image processing process of tread damage detection, due to factors such as environmental lighting and complex background areas, the edge detection effect of the image tread target area is poor and the detail information is lost, an edge detection algorithm based on guided filtering to improve the canny operator is proposed. First, a hybrid filter composed of median filter and guided filter is used to denoise the image, which filters out noise and has good edge preservation characteristics; then, the calculation direction of the gradient template is expanded to obtain the gradient amplitude; finally, edge information is used to improve the global threshold method adaptively obtains high and low thresholds. The edge detection algorithm based on guided filtering and improved canny operator can effectively filter out image noise and detect more edge information of tread damage.

Keywords: train; wheel tread; damage; edge detection; guided filtering

列车车轮是走行部的关键零部件,经过长时间的使用,轮对踏面容易产生擦伤、剥离等缺陷,给车辆安全运行带来隐患。自20世纪70年代开始,国内外学者就对车轮踏面损伤检测技术进行了研究,并取得了不错的成果[1]。国内学者葛林富等[2]在损伤检测方面,采用振动加速度法计算出擦伤深度和位置;Krummenacher等[3]提出了2种自动检测车轮缺陷的机器学习方法,该检测方法比较完整,但采集装置稳定性不能保证,存在干扰噪声。此外,超声检测法[4]、机械检测法等也被广泛应用于踏面损伤检测。上述方法检测速度快、精度高,但同时检测步骤也比较复杂,存在检测效率低等问题,并未能完全投入现场正常使用。

随着机器视觉技术的高速发展,其优越性越发突出,基于图像处理的轮对踏面损伤检测逐渐成为了一种行之有效的方法。边缘检测技术是列车轮对踏面损伤检测图像处理方法中的重要一环,通过边缘检测,既能将复杂背景和踏面区域分开,又能提取出损伤区域边缘信息,为后续进一步损伤类型识别提供基础[5]。经典的边缘检测算子有Prewitt算子、Sobel算子、Canny算子和拉普拉斯算子等[6]。Canny算子因具有高精度、高信噪比、单一边缘点响应等优点,相比之下检测效果较优,被广泛应用。但在实际运用过程中,随着图像复杂程度增加、成像质量高低不一等情况出现,传统的Canny检测算法在实际检测轮对踏面和损伤区域边缘时,存在边缘信息丢失等问题。本文针对上述问题,利用真实现场采集的轮对踏面图像,提出一种改进的Canny边缘检测算法,该算法能有效抑制虚假边缘,保留更多轮对边缘信息,有效反映踏面表面损伤真实情况,提升列车轮对检修效率和精度,同时,有助于建立高效实用的轮对踏面损伤检测系统。

1 传统Canny边缘检测算法

1.1 检测流程

传统的Canny算法是一种多级边缘检测算法,由John F.Canny于1986年首次提出,该算法主要由4个步骤组成[7]。

高斯滤波平滑图像。由于在成像过程中,受元器件和电路结构、信号传输过程等因素影响,不可避免地会产生图像噪声,这些噪声会降低图像质量,干扰边缘检测效果,导致伪边缘结果增多。传统Canny边缘检测算法在去除灰度图像f(x,y)中的噪声时采用高斯滤波方法,滤波后图像为g(x,y)。二维高斯函数为

式中:?滓为标准差。

计算梯度幅值和方向。若要进行边缘检测,则需得到图像梯度信息,传统Canny算法采用一阶差分算子计算像素点的梯度方向和幅值。偏导矩阵在水平和竖直2个方向上的数学表达式为

利用式(2)、式(3)计算像素梯度幅值M(x,y)和梯度方向?兹的计算分别如式(4)、式(5)所示

非极大值抑制。在获得图像各像素点的梯度方向和幅值后,对像素梯度幅值进行非极大值抑制操作,寻找图像中可能的边缘点。具体方法为,判断某像素点梯度幅值是否是周围具有相同梯度方向中最大的,若不是,则将该点灰度值置零,反之则保留该点作为候选边缘点。

滞后阈值检测。经过上述步骤,图像大部分实际边缘可以被比较准确检测,但此时可能错误保留了部分伪边缘,若要进一步确定真正的边界,需通过高低双阈值对伪边缘等情况进行滤除。具体操作:当图像的灰度梯度高于高阈值时认为是真的边缘,若低于低阈值的点则会被舍弃;如果介于两者之间,需进一步判断其8领域内的像素点情况,若其8领域内存在真正的边缘点,则保留该点,否则删除。

1.2 存在的不足

传统Canny算法计算过程相对简单,检测效果较好,作为一种标准算法,广泛应用于各项研究,但在使用过程中却仍存在部分问题。

第一,Canny算子中使用的高斯滤波是一种线性的平滑滤波,适用于消除高斯噪声,对于椒盐噪声过滤效果不是很好;同时式(1)中的标准差参数?滓取值是根据经验选取的[8],对于不同的处理图像并不统一适用。

第二,传统Canny算子在计算梯度幅值和方向时,只考虑了水平和竖直2个方向的检测,利用梯度信息较少,易出现边缘断裂或产生伪边缘等情况。

第三,Canny算子中阈值滞后检测的高低阈值往往依靠人为经验预先确定,没有固定的选取标准且自适应性低[9]。若选取的阈值与图像本身特征不适配,则容易导致图像边缘信息丢失严重,结果不理想。

2 改进Canny边缘检测算法

受安装位置空间限制,在现场采集的图像除了轮对踏面区域,还包含轮对周围区域。在进行踏面损伤缺陷识别处理时,研究对象主要是踏面区域,不仅需要通过边缘检测把踏面的区域与背景区域进行分割,同时尽可能多地检测到损伤边缘信息。直接利用传统Canny算子寻找踏面及损伤边缘,存在细节缺失,边缘不完整等情况,因此针对上述不足,提出一种改进的Canny边缘检测算法,具体改进如下。

2.1 改进滤波方法

2.1.1 中值滤波

中值滤波算法是基于统计排序原理的非线性平滑滤波技术[10],其可以很好地滤除图像中含有的非线性噪声,尤其是椒盐噪声。中值滤波是用某种尺寸的二维滑动模板,将模板内像素点按像素值大小排序,用排序后的中值替代当前像素点的值,由此可消除孤立的噪声点。

例如以图1中灰色方框像素点为例,其搜索邻域为5×5大小,对该邻域内像素点的像素值进行升序/降序排序,以图1为例按升序排序后得到序列值:[35,35,36,36,36,38,38,40,46,46,46,46,47,49,51,52,55,56,56,58,58,63,69,69,75],在该序列中,处于中值点的值是47,因此,用该值替换原来的像素值56,作为当前点的新像素值。

2.1.2 引导滤波

引导滤波器是一种能够在平滑图像的同时起到较好保持边界作用的线性滤波器,其被广泛应用于边缘感知平滑、细节增强、图像抠图和图像去雾等各种计算机视觉和图形处理方面[11]。现定义输入图像为P,引导图像为I,输出图像为Q,引导滤波器的关键假设前提是引导图像I和滤波输出图像Q之间存在局部线性关系[12]。假设输出图像Q是I在以像素m为中心的滤波窗口中的线性变换表达为

, (6)

式中:i、m为像素点索引;am、bm为窗口化后的常数型线性系数;wm为滤波窗口。

8U5xIkT0G4LFvdbUjwgI3+3mXs+UlQWDxxEPYBplEWo=对式(6)两边取梯度,可得

。 (7)

由式(7)可知,只有当引导图像I中有梯度时,输出图像Q也有类似的梯度,这也是引导滤波具有保边特性的原因,即引导图像存在边缘,输出图像中也会保留该边缘信息。

考虑输入图像与输出图像之间的关系,输出图像可认为是由输入图像过滤掉部分信息所得到

Qi=Pi-ni , (8)

式中:ni为需要去除的噪声或者纹理信息。

为计算求出am、bm的值,构造最小化代价约束函数使得输入图像P和输出图像Q之间的差异最小,该代价函数定义为

线性系数am、bm的值决定梯度信息和平滑信息的权重大小,与引导滤波最终保边特性效果具有高度的关联性,且由式(10)、式(11)可知,am、bm的值由引导图像和输入图像共同决定。在实际应用过程中,引导图像和输入图像往往是同一张图像,当二者相等时,假设?着的取值为大于0的正数,可得如下结论:当窗口区域内图像相对连续、比较平滑时,则am≈0、bm≈m,此时滤波器滤波效果较强,保边效果较弱;当窗口区域内图像相对变化剧烈,存在边缘信息时,则am≈1、bm≈0,此时滤波器保边效果较强,滤波效果较弱。

综合考虑滤波效果和边缘保持要求,本文采用中值滤波与引导滤波组合的混合滤波方法对图像进行降噪。首先,采用中值滤波方法去除图像中的噪声,尤其是椒盐噪声;然后,将中值滤波后的图像作为引导滤波器的输入图像和引导图像;最后,通过参数调节,得到具有良好保边效果的图像。

2.2 梯度幅值计算改进

考虑只从水平和竖直2个方向计算信息较少,无法完整准确地反映出图像的轮廓特征,本文提出增加45°和135°多方向获取图像边缘梯度信息。同时,借鉴Sobel算子的思想对计算模板进行进一步的改进[13],改进后的梯度计算模板大小为3×3。各方向计算模板如图2所示。

将滤波后的图像与上述4个方向的计算模板分别进行卷积运算,得到梯度分量Nx、Ny、N45°和N135°。将上述梯度分量按式(12)、式(13)可求得合成后的水平和垂直2个方向上的梯度幅值NX、NY

2.3 自适应计算阈值

在实际应用场所中,同一阈值对不同图像的边缘检测效果千差万别,人为设定固定阈值不具有普遍适用性,在以往的改进算法中常采用Ostu法来自适应地选取阈值[14],提高Canny检测算法的自适应性和边缘检测的准确性,在大多数情况下,该方法能提取到较理想的分割阈值。但由于拍摄的初始图像除了车轮踏面区域外,还含有背景区域,当背景区域与踏面区域灰度值分布相近时,直接采用全局直方图进行阈值处理,很可能因为同一类型像素高度集中导致阈值选择失败,且受环境光照不均匀、车轮踏面局部反光等因素影响,会进一步加大检测难度,易丢失损伤区域边缘信息。针对上述问题,为提高Canny算法检测的自适应性和准确性,文章采用利用边缘信息改进全局阈值的方法自适应求取阈值代替人为的设定高低阈值,利用图像的可能边缘迹象信息,获得更利于分割的阈值,提高算法整体边缘检测准确性,其具体操作如下。

1)计算图像f(x,y)的梯度算子,得到梯度图像。

2)指定一个阈值T。

3)用步骤2)中的阈值对梯度图像进行二值处理,产生二值图像gT(x,y)作为遮罩模板,以排除无效背景像素的影响。

4)当gT(x,y)中像素值为1时,在f(x,y)中找到对应位置的像素作为有效像素,进行直方图统计计算。

5)用步骤4)中基于遮罩模板的直方图分布,采用Otsu算法计算阈值T1。

6)使用Otsu算法得到的阈值T1为滞后阈值检测的高阈值,高阈值的一半T2为滞后阈值检测的低阈值。

上述步骤2)中初始阈值T的设置值若小于边缘图像的最小值的任何值,则求得的gT(x,y)将全部都是1,即步骤5)中用于计算的有效像素值将会是f(x,y)中的全部像素。考虑上述情况,一般不直接指定T为某一固定值,而是通过百分比的形式来初始化T,且一般选取较高的百分比,本次实验选择为90%,即以原图像直方图0.9分位的灰度值作为T值。

3 实验结果与分析

为检验所提算法的可行性和有效性,本文实验从某检修车间实地采集部分含损伤的车轮踏面图像,在Windows10下采用Python3.9编程实现。lmnlX4ZETzko8PH8uZfvwyNhxo+bujBLsUmR6WHHvU0=首先对提出的混合滤波方法的有效性进行验证,选择高斯滤波算法、中值滤波算法、双边滤波算法、引导滤波算法和本文提出的混合滤波方法进行比较;然后将传统Canny算法、文献[15]所提的改进算法[15]与本文的改进算法对比提取同一图像的边缘效果进行验证。

首先,为验证不同滤波方法的效果,本文选取了一张实地拍摄的含损伤车轮踏面图像,向图片中加入15%的椒盐噪声,分别用高斯滤波、中值滤波、双边滤波、引导滤波和混合滤波实验效果如图3所示。

从上述结果对比可知,高斯滤波、双边滤波及引导滤波在正则化参数?着较小时对于椒盐噪声的抑制效果均较差,几乎无法实现滤波效果。中值滤波对椒盐噪声的去噪效果较好,能够有效滤除绝大多数的椒盐噪声,但滤波效果和选取的模板大小有一定的关系,模板选择较小时,滤波效果仍可能并不理想,无法滤除所有噪声,当模板选择较大时,滤波效果较为明显,但是图像也会随之模糊严重,从而无法完整保留图像原有边缘信息。本文采用的混合滤波方法能有效滤除绝大多数的椒盐噪声,并且由于在中值滤波后加入了引导滤波,混合滤波后图像相较于单一的中值滤波图像结果更平滑,边缘信息相对更突出、明显。

为了验证本文算法整体改进在边缘检测方面的性能,将传统的Canny算法、文献[15]所提改进算法以及本文改进的算法进行比较。本文选取了4张实地拍摄的车轮踏面图像进行对比分析。实验时,传统Canny算法处理的高低阈值为同一组数据,Th=225,Tl=150,仿真实验结果分别如图4所示。

从上述图像的对比结果来看,当传统Canny算法选择的初始阈值较为合适时,算法能够保留大部分踏面与损伤边缘,但仍存在边缘断裂、不完整等情况,且阈值选择不具有自适应性,对于不同场景下拍摄到的图像无法精准具体地进行边缘检测。文献[15]改进的边缘检测算法能较完整保留踏面边缘信息,但对于损伤区域附近的边缘检测干扰信息抑制效果不强,损伤边界不明显。本文改进的Canny边缘检测算法相较于上述2种算法,既能较为完整地保留边缘信息,又能抑制边缘线附近的干扰信息,具有良好的边缘检测效果。

4 结论

本文针对传统Canny算法检测轮对踏面及损伤区域边缘时存在的不足,提出了一种基于引导滤波的改进Canny边缘检测算法。

1)针对传统Canny算法对椒盐噪声抑制能力较弱问题,提出采用中值滤波与引导滤波组合的混合滤波方法代替原高斯滤波进行图像去噪处理,改进后的方法抑制噪声的能力较好,且具有良好的保边效果。

2)借鉴Sobel算子思想,扩大梯度算子计算模板,同时增加45°和135°两个方向计算梯度幅值,能获取更多的边缘信息。

3)针对传统Canny算法阈值选取依赖人工经验,且自适应性较低问题,利用边缘信息改进全局阈值的方法自适应求取阈值,增强了算法的自适应性,同时也能保留更多的真实边缘,减少断裂边缘产生。

本文提出的改进Canny边缘检测算法在一定程度上提高了边缘检测的准确率,相较于传统边缘算法能提取到更多的边缘信息,抑制虚假边缘的出现,但同时算法运行时间也增加了,实时性较低,下一步的工作应该是在现有算法基础上,尽可能地优化算法,降低运行时间。

参考文献:

[1] 肖乾,姜雄峰,刘海涛,等.铁道车轮踏面损伤实时监测方法研究综述[J].华东交通大学学报,2021,38(4):99-112,126.

[2] 葛林富,尹治本,朱怀芳.机车踏面擦伤计算机智能检测原理及实现[J].铁道学报,1993,15(2):35-39.

[3] KRUMMENACHER G, ONG C S, KOLLER S, et al. Wheel defect detection with machine learning[J]. IEEE Transactions on Intelligent Transportation Systems, 2018, 19(4):1176-1187.

[4] SALZBURGER H J, SCHUPPMANN M, WANG L, et al. In-motion ultrasonic testing of the tread of high-speed railway wheels using the inspection system AUROPA III[J]. INSIGHT, 2009, 51(7):370-372.

[5] DHIVYA R, PRAKASH R. Edge detection of satellite image using fuzzy logic[J].Cluster Computing,2019,22(5):11891-11898.

[6] 窦蕾萍,吴君钦.基于改进Canny算法的图像边缘检测[J].软件导刊,2023,22(8):216-220.

[7] 潘尚涛,张林贝子,农卫航,等.基于Canny-Hough算法的锅具轮廓缺陷检测[J].广西大学学报(自然科学版),2023,48(2):362-372.

[8] 倪大民,周星源,齐晶晶.基于数学形态学改进Canny算法的红外图像边缘检测[J].轻工科技,2023,39(4):111-113.

[9] 杜春洋,郭俊杰,李昌非.基于改进Canny算子的焊缝图像边缘提取研究[J].激光杂志,2023,44(4):74-79.

[10] 尉佳,岳龙,杨睿,等.开关非局部中值滤波在海洋浅地层剖面随机噪音处理中的应用[J].中国海洋大学学报(自然科学版),2023,53(7):104-110.

[11] 丁贵鹏,陶钢,李英超,等.基于非下采样轮廓波变换与引导滤波器的红外及可见光图像融合[J].兵工学报,2021,42(9):1911-1922.

[12] ZHOU B, LUO Y, YANG M, et al. An improved adaptive detail enhancement algorithm for infrared images based on guided image filter[J]. Journal of Modern Optics, 2018, 66(1):33-46.

[13] TIAN R, SUN G L, LIU X C, et al. Sobel edge detection based on weighted nuclear norm minimization image denoising[J]. Electronics, 2021,10(6):655.

[14] 余波,吴静,周琦宾.一种基于改进Canny算子的边缘检测算法[J].制造业自动化,2022,44(8):24-26,43.

[15] 刘成刚,刘二林,姜香菊.改进Canny算子的列车轮对踏面边缘检测算法[J].铁道机车车辆,2021,41(1):22-25.