基于机器视觉的圆斑状钢轨擦伤检测算法

2023-02-25 04:42张博刘秀波
铁道建筑 2023年1期
关键词:形态学像素点钢轨

张博 刘秀波

中国铁道科学研究院集团有限公司 基础设施检测研究所,北京 100081

钢轨伤损直接影响列车的安全平稳运行,其中钢轨擦伤是主要的钢轨伤损形式,其产生原因是列车在进行启动和制动、经过长大坡道或小半径曲线时,由轮对的空转或轮轨相对滑动在轨面产生的塑性变形或金属相变[1-4]。图1 为典型的钢轨擦伤现场照片。因此,需要及时对钢轨擦伤情况进行检测,指导养护维修,保障列车行车安全。

图1 钢轨擦伤

为了检测钢轨伤损,相关学者相继提出了超声检测、机器视觉检测等[5-7]无损检测方法。超声检测对钢轨内部伤损检测效果较好[8],而机器视觉检测已经广泛应用于钢轨表面伤损的检测[9-11]。针对钢轨擦伤的检测,文献[12]提出了一种实时的钢轨表面擦伤视觉检测方法,计算灰度对比图并基于灰度阈值分割出擦伤区域。文献[13]提出了一种基于空间滤波的钢轨表面擦伤检测改进算法,通过分步灰度均值填充和计算灰度对比图检测钢轨擦伤区域。上述方法基于灰度阈值进行钢轨擦伤的检测,检测性能受光照等外部环境的影响比较大,当光照等因素造成钢轨图像局部灰度变化时,根据预设的灰度阈值容易将图像局部灰度异常区域判定为擦伤区域,从而引起误检,影响钢轨擦伤检测的准确性。

本文提出一种基于机器视觉的圆斑状钢轨擦伤检测算法。首先根据图像垂直方向上的灰度均值曲线提取出钢轨顶面区域;然后运用边缘检测的方法得到擦伤区域边缘的候选像素点;最后运用形态学处理删除不属于擦伤区域的虚假边缘,确定钢轨擦伤区域的位置。

1 算法原理及示例

钢轨擦伤检测算法包括轨面提取、擦伤边缘检测、形态学处理3个子过程。

1.1 轨面区域提取

利用成像设备现场采集的图像如图2(a)所示[14],为了检测钢轨擦伤,需要从现场采集的图像中提取出钢轨的轨面区域。

利用采集的图像中钢轨灰度较高的特点[15-16],根据图像每一列方向上的灰度均值曲线,将钢轨表面区域分割出来。

首先,计算输入图像U每一列的灰度平均值。灰度平均值m(x)的计算式为

式中:x=1,2,…,W,W为输入图像U的宽度;y=1,2,…,H,H为输入 图像U的高 度;I(x,y)为像素(x,y)的灰度。

由于输入图像中钢轨区域的宽度是固定的,对宽度为R的区域求积分P(x),即

然后求P(x)的最大值。P(x)最大值对应的x为钢轨左侧起始点KB,钢轨右侧为KB+R。由此得到钢轨顶面区域的图像,如图2(b)所示。

图2 钢轨轨面区域提取

1.2 擦伤边缘检测

钢轨擦伤所在区域在轨面图像中表现为灰度局部异常。跟正常钢轨背景图像相比,钢轨擦伤区域的灰度较低,与周围非擦伤区域形成灰度差异,检测特征比较明显。通过检测擦伤区域的边缘,就能定位出钢轨擦伤的位置。

确定钢轨位置后,将钢轨区域的图像截取出来,然后在截取的钢轨图像上利用canny 边缘检测方法来检测钢轨擦伤区域的边缘。该方法分为4步。

1)对钢轨图像进行高斯滤波处理。

2)利用Sobel 边缘检测算子,计算滤波后图像的灰度沿着水平和垂直方向的偏导数(Gx和Gy),得到梯度幅值Ga和相位θ。计算式为

3)将像素点的梯度幅值与3 × 3 邻域内沿着水平方向、垂直方向、±45°方向的两个像素比较,如果该像素点的梯度幅值更小,则置为0。

4)设置高阈值T2与低阈值T1。若像素点的梯度幅值大于T2,或像素点的梯度幅值小于T2且大于T1,并且其邻域有像素点的梯度幅值大于T2,则判定该像素点为边缘像素点。

1.3 形态学处理

在实际检测中,受光照等环境因素的影响,边缘检测的识别结果可能包含不属于擦伤区域的虚假边缘。擦伤区域的边缘是封闭的,根据这一特点,利用形态学处理的方法可以删除不属于擦伤区域的虚假边缘。利用形态基础元素提取图像特征,通过膨胀、腐蚀等形态学运算,可以保持图像数据基本的形状特征并除去不相干的结构[17]。

为了删除不属于擦伤区域的虚假边缘,定义形态学收缩运算B,即

式中:XB为对图像U进行收缩运算后的剩余像素点组成的集合;EI为对图像U进行边缘检测得到的属于边缘的像素点组成的集合;Ncon(x)为像素点x的连通数[18]。

收缩运算B对U进行处理的结果就是保留图像中连通数不小于2的边缘像素点。由于擦伤区域的边缘是封闭的,对应的边缘像素点的连通数都不小于2,通过重复对图像U进行收缩运算,直到两次收缩运算得到的结果不再变化,最终保留的边缘像素点的集合即为擦伤区域边缘,从而得到钢轨擦伤区域的位置。

以图2(b)的钢轨图像为检测对象,分别使用文献[12]中方法和本文提出的方法进行检测。

文献[12]的检测结果见图3(a),其中黑色部分为检出的钢轨擦伤区域。由于钢轨图像在左上方存在局部灰度异常区域,该区域的灰度较低且与钢轨擦伤区域的灰度接近,基于灰度阈值进行擦伤检测时可能将该部分区域误判为钢轨擦伤区域。

使用本文提出的方法检测时,首先对图像做边缘检测,得到的结果见图3(b),其中白色部分是检出的边缘。可以看出:钢轨擦伤区域的边缘被准确检出,但也存在不属于擦伤区域的虚假边缘;与不属于擦伤区域的虚假边缘相比,擦伤区域的边缘是封闭的。然后,利用形态学处理的方法删除不属于擦伤区域的虚假边缘。对边缘检测结果重复进行形态学收缩运算,直到两次收缩运算得到的结果不再变化,最终的处理结果见图3(c)。可以看出,经过形态学处理,只有属于擦伤区域的边缘被保留下来,从而准确地检测出了钢轨的擦伤区域。

图3 钢轨擦伤检测方法对比

2 试验结果及分析

对250幅钢轨擦伤图片进行测试试验。采用准确率Acc评估检测算法性能,计算式为

式中:Tp为正确检测出的擦伤个数;Nd为所有检测出的擦伤个数。

用测试数据集对本文算法进行检测性能评测,并与文献[12]中提出的基于灰度阈值检测钢轨擦伤的方法进行比较。结果显示,本文算法的准确率为96.4%,文献[12]算法的准确率为86.8%。本文算法能够有效检测出圆斑状钢轨擦伤,并且在准确率上优于文献[12]算法。文献[12]中的钢轨擦伤检测方法基于灰度阈值,当光照等外部环境因素影响造成钢轨图像局部灰度异常时容易引起误检。本文提出的方法利用形态学处理,将只有属于擦伤区域的边缘保留下来,从而准确地检测钢轨的擦伤区域,对光照不均等情况具有比较强的鲁棒性,能够有效排除局部光照不均的影响。用本文算法得到的部分检测结果如图4所示,擦伤处用红色矩形框出。

图4 钢轨擦伤检测结果示例

3 结语

本文提出了一种基于机器视觉的圆斑状钢轨擦伤检测算法,在利用采集图像在垂直方向的灰度均值曲线提取出钢轨顶面区域后,首先运用边缘检测得到擦伤区域边缘的候选像素点;然后利用形态学收缩运算删除不属于擦伤区域的虚假边缘,从而确定钢轨擦伤区域的位置。经测试试验验证,该方法能够有效地检测圆斑状钢轨擦伤,对测试样本检测的准确率达到96.4%。与现有的基于灰度阈值检测钢轨擦伤的算法相比,该方法在局部灰度异常的钢轨图像上仍能准确地检测钢轨擦伤区域,可有效消除实际检测条件下光照等因素对钢轨擦伤检测的影响。

猜你喜欢
形态学像素点钢轨
基于局部相似性的特征匹配筛选算法
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
钢轨焊后双中频感应加热工艺研究
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
医学微观形态学在教学改革中的应用分析
高速铁路钢轨疲劳过程的超声非线性系数表征
国内外高速铁路钢轨性能对比研究
减缓高速铁路钢轨波磨的仿真分析
数学形态学滤波器在转子失衡识别中的应用