基于Sobel算子的无砟轨道道床板裂缝自动检测算法

2020-12-10 07:22王成凤
唐山学院学报 2020年6期
关键词:床板像素点幅值

王成凤,白 磊

(华北水利水电大学 电力学院,郑州 450000)

0 引言

随着高速铁路建设的快速发展,无砟轨道应用越来越多,但在列车通行、应力冲击和环境影响之下,无砟轨道病害越来越严重,威胁着高速铁路的安全。无砟轨道病害最常见的是道床板裂缝问题,而现有的检测多采用电磁、超声等方法,工作效率较低。高效的无砟轨道表面伤损检测技术的缺乏制约着高速铁路轨道维修技术的发展,因此研究基于图像识别的快速、高效裂缝检测技术具有重要的意义[1-2]。

国内外将图像处理识别算法应用于无砟轨道表面特征识别领域的研究成果较少,本文将采用图像处理识别算法,对摄取的无砟轨道道床板裂缝图像进行预处理、边缘特征提取、边缘标定、长度测量,判断裂缝的方向、长度,从而实现对轨道病害的检测。

1 无砟轨道道床板裂缝自动检测算法

1.1 算法总体流程

基于Sobel算子的无砟轨道道床板裂缝自动检测算法总体流程如图1所示。在现场环境影响下,所摄取的裂缝图像存在大量噪声干扰,为消除干扰,需对摄取的图像进行图像预处理,以保护边缘信息;采用边缘检测算子对裂缝边缘进行提取,获取裂缝边缘像素点图像;对边缘像素点进行标定,得到裂缝边界范围;对标定的范围进行方向及长度判断,获取裂缝实际信息。

图1 算法总体流程

1.2 算法具体实施过程

1.2.1 图像预处理

图像预处理过程中采用白平衡方法处理失真问题,依次计算图像三色通道的平均灰度、增益系数,用原始值乘以增益系数,获取白平衡处理图像[3]。图像灰度处理选用如下公式计算:

Y=0.299*R+0.587*G+0.114*B,

(1)

式中,Y为处理后的图像;R,G,B分别为红、绿、蓝三色通道分量。

采用高斯滤波器对图像ST(x,y)进行去噪,即有:

(2)

式中,*为卷积运算符;SL(x,y)为ST(x,y)经高斯滤波后的图像;标准差σ一般设为2[4]。

1.2.2 边缘特征提取

裂缝图像的边缘分布于目标和背景之间、目标和目标之间以及区域和区域之间,是图像灰度值急剧跳变的部分。经典的边缘提取方法是利用原图像里像素的相邻区域进行边缘检测算子的构造,也就是边缘检测局部算子算法。为取得较好的边缘提取效果,采用Sobel算子提取边缘。对图像中各个像素的上、下、左、右几个相邻区域的灰度值进行加权差运算,利用其在边缘处达到的极值实现边缘的检测[5]。用以下公式计算边缘:

Sx=[f(x-1,y-1)+2f(x+1,y)+f(x+1,y+1)]-[f(x-1,y-1)+2f(x-1,y)+f(x-1,y+1)],

(3)

Sy=[f(x-1,y+1)+2f(x,y+1)+f(x+1,y+1)]-[f(x-1,y-1)+2f(x,y-1)+f(x+1,y-1)],

(4)

其中Sobel算子的卷积模板是:

Sobel算子比较容易实现,进行边缘检测的效果比较好,且其受噪声影响小,可使图像变得平滑。

1.2.3 边缘标定

获取边缘单像素点图像之后,为计算裂缝长度,需对边缘进行标定。标定采用区域分析方法,利用矩形标定方式将边缘计入矩形中,当矩形包围整个裂缝时,只需要计算出矩形包围框对角线的长度,即得到裂缝的长度。利用regionprops函数来获取区域属性参数,并用rectangle函数作包围框标记,采取的是显示最大连通区域,以确保裂缝完全标定。

1.2.4 裂缝测量

裂缝测量主要包括裂缝的方向和长度测量。

经过二值化处理的轨道道床板裂缝图像B用I(i,j)表示,图像B的大小为M×N。①对二值化后的道床板裂缝图像赋值,如果背景像素点I(i,j)的值为0,则目标像素点I(i,j)的值为1,值为1的点也就是道床板裂缝存在的点;②对图像B向两个坐标轴投影,投影后可以得到水平方向和垂直方向的投影曲线;③利用投影之后的特征不同来判断裂缝的方向。

道床板裂缝进行二值化处理后,在X轴的投影幅值为X(i),在Y轴的投影幅值为Y(j),计算公式为:

(5)

(6)

横向裂缝在水平方向的投影幅值差别很大,变化很明显;在垂直方向的投影虽然幅值也有波动,但是变化剧烈程度没有水平方向明显。恰恰相反,纵向裂缝在水平方向的投影幅值有波动,但是变化程度不剧烈,波形较缓;在垂直方向的投影幅值波动很大,可以看到明显的变化,不同地方的幅值差别很大。

因此,可以利用投影法来识别道床板的裂纹图像。在对其进行识别时,裂纹目标识别的特征值也就是图像水平方向和垂直方向投影幅值的最大值和最小值之差,分别将其记为I_X_max,I_Y_max,计算公式分别为:

I_X_max=max(Xi)-min(Xi),(i=1,2,…M)。

(7)

I_Y_max=max(Yj)-min(Yj),(j=1,2,…N)。

(8)

横向裂缝的I_X_max较大,I_Y_max偏小;而纵向裂缝的I_X_max偏小,I_Y_max相对较大。在使用投影法判断裂缝的横、纵方向时,是通过比较横向和纵向投影的裂缝像素点数目最大值来确定的,如果裂缝最大像素列的像素数大于最大像素行的像素数,那么裂缝就是纵向裂缝,反之就为横向裂缝。之后根据I_X_max,I_Y_max验证。

最后通过计算矩形包围框对角线的长度得到裂缝的长度,并输出。

2 实验验证

2.1 功能验证

对算法进行功能验证。通过相机采集图像,将相机固定在移动车上,相机离道床板0.2 m,在光照充足情况下,可拍摄出277*245像素的图像。本文选取的裂缝图像如图2所示。从图2可以看出,图像上裂缝周围的颜色与裂缝的颜色接近,整体像素不高,可以用其检查算法对环境干扰的鲁棒性。图3是算法各步骤的处理结果。

图2 裂缝图像原图

(a)预处理图像

图3(a)为图2的预处理图像,处理后的图像背景与裂缝对比度提高,且噪声较少。图3(b)为图2的边缘检测结果,把裂缝提取出来后做了背景与裂缝二值处理。图3(c)是对图3(b)识别的裂缝进行矩形标记,整个裂缝包含其中。

对图3(b)进行投影处理,结果如图4所示,其中横坐标为图像行数,纵坐标是每一行像素点之和并归一化到(0-1)区间的结果。由图4可知,第108行裂缝像素点之和最小,说明裂缝点最多,且水平方向投影幅值差别很大,变化很明显,由此判断此裂缝为横向裂缝。

图4 裂缝投影结果

对图3(c)中矩形包围框的对角线进行计算,求得裂缝长度为274像素,人工核测长度为271像素,可见此算法计算较准确。

为了测试算法的准确性,选取纵向裂缝进行测量,算法识别和人工核测的结果分别为187像素、185像素,结果同样能够验证算法的准确性。

2.2 性能验证

为了进一步验证算法的准确性,选取无砟轨道道床板无裂缝、横向裂缝、纵向裂缝三种情况,并分别选取不同长度、粗细的裂缝进行识别计算和人工核测。识别算法的性能如表1所示。

表1 识别算法的性能

由表1可知,本算法对裂缝的误识率为0,即对有无裂缝识别无错误;平均识别准确率达到98.6%(长度计算误差在4%内为识别准确)。对图像裂缝为1-4像素且杂乱的裂缝识别效果不好,其他均可正确识别。通过现场环境分析,此算法可以用于图像识别方法,实现快速、准确的裂缝检测。

3 结论

无砟轨道道板床由于其所处环境的特殊性,容易因震动而产生裂缝,且裂缝危害性较大,因此快速、准确地检测出裂缝事关重大。以Sobel算子为核心的图像识别方法,可以准确测量无砟轨道道板床裂缝的方向和长度,从而实现对无砟轨道病害的检测。基于本识别方法的相机可以搭载于自动循迹小车上实现对裂缝的自动监测,相比于传统的裂缝检测装置,会更快速、更准确、更经济,且对金属等装置更具有抗干扰性。

猜你喜欢
床板像素点幅值
基于Duffing系统的微弱超声导波幅值检测方法研究
室温下7050铝合金循环变形研究
VitalBeam加速器四种不同治疗床板的剂量衰减特性测量与分析
浅析铁路箱涵顶进控制滑床板技术
床板被保洁员卖了 女子索赔未果
图像二值化处理硬件加速引擎的设计
基于局部相似性的特征匹配筛选算法
双块式无砟轨道道床板裂缝成因分析及修复技术研究
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密