基于机器视觉的枕轨生产质量检测方法转让专利

申请号 : CN202310201725.6

文献号 : CN116071387B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 樊磊孔令新颜成峰许玉贤

申请人 : 曲阜市巨力铁路轨道工程股份有限公司

摘要 :

本发明涉及图像数据处理技术领域,具体涉及一种基于机器视觉的枕轨生产质量检测方法,该方法包括:获取枕轨表面的灰度图像并初步分割得到疑似裂纹区域;标记每个疑似裂纹区域的中心线,获取疑似裂纹区域中每个像素点与中心线之间的最短距离,从而得到疑似裂纹区域的裂纹宽度以及疑似裂纹区域中每个像素点的影响程度;基于疑似裂纹区域的裂纹宽度、疑似裂纹区域中像素点对应的灰度信息以及影响程度得到对应像素点自适应的局部窗口尺寸;基于自适应局部窗口尺寸的Niblack算法对疑似裂纹区域分割得到裂纹区域,并根据裂纹区域得到枕轨生产质量。本发明能够提高对裂纹区域检测的准确性,进而保证了对枕轨生产质量判断的准确性。

权利要求 :

1.一种基于机器视觉的枕轨生产质量检测方法,其特征在于,该方法包括以下步骤:获取枕轨表面的灰度图像,对所述灰度图像初步分割得到疑似裂纹区域;

标记每个所述疑似裂纹区域的中心线,获取所述疑似裂纹区域中每个像素点与所述中心线之间的最短距离,基于所述最短距离获取所述疑似裂纹区域的裂纹宽度以及所述疑似裂纹区域中每个像素点的影响程度;

获取所述疑似裂纹区域中每个像素点对应邻域范围的灰度信息,基于所述疑似裂纹区域的裂纹宽度、所述疑似裂纹区域中像素点的影响程度以及对应邻域范围的灰度信息得到对应像素点自适应的局部窗口尺寸;

基于自适应局部窗口尺寸的Niblack算法获取所述疑似裂纹区域中的异常像素点,根据所有所述异常像素点得到枕轨生产质量;

所述基于所述最短距离获取所述疑似裂纹区域的裂纹宽度以及所述疑似裂纹区域中每个像素点的影响程度的步骤,包括:计算所述疑似裂纹区域的所有边缘像素点与所述疑似裂纹区域的中心线之间的最短距离的平均值,将所述平均值的二倍作为所述疑似裂纹区域的裂纹宽度;

获取所述疑似裂纹区域中每个像素点对应的拟合直线,并获取所述拟合直线的斜率绝对值;对于所述疑似裂纹区域中任一像素点,计算像素点对应的最短距离与拟合直线的斜率绝对值的乘积,以所述乘积的负数作为自然常数的指数,得到的结果作为对应像素点的影响程度;

所述获取所述疑似裂纹区域中每个像素点对应邻域范围的灰度信息的步骤,包括:所述疑似裂纹区域中每个像素点的邻域范围是以像素点为中心的八邻域范围;

获取所述疑似裂纹区域中每个像素点对应邻域范围内所有像素点的平均灰度值、邻域范围内所有像素点的灰度值的最大值以及灰度值的最小值;

所述平均灰度值、灰度值的最大值以及灰度值的最小值为像素点对应邻域范围内的灰度信息;

所述像素点自适应的局部窗口尺寸的获取公式为:

其中, 表示疑似裂纹区域中第 个像素点自适应的局部窗口尺寸; 表示疑似裂纹区域中第 个像素点的灰度值; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的平均灰度值; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的灰度值的最大值; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的灰度值的最小值; 表示疑似裂纹区域中第 个像素点对应的影响程度;

表示疑似裂纹区域的裂纹宽度;表示绝对值计算。

2.根据权利要求1所述的一种基于机器视觉的枕轨生产质量检测方法,其特征在于,所述获取所述疑似裂纹区域中每个像素点对应的拟合直线的步骤,包括:以所述疑似裂纹区域中任意一个像素点为目标点,将所述目标点与所述疑似裂纹区域的中心线之间最短距离对应的线段作为基础线;以所述疑似裂纹区域的边缘像素点为起点作直线与所述疑似裂纹区域的中心线相交,交点为所述直线的终点,且所述直线过所述目标点并与所述基础线重合;

对所述直线上所有像素点的灰度值进行直线拟合得到所述目标点对应的拟合直线。

3.根据权利要求1所述的一种基于机器视觉的枕轨生产质量检测方法,其特征在于,所述基于自适应局部窗口尺寸的Niblack算法获取所述疑似裂纹区域中的异常像素点的步骤,包括:以所述疑似裂纹区域中任意一个像素点为待分析点,基于所述待分析点自适应的局部窗口尺寸得到所述待分析点的局部窗口,获取所述局部窗口中所有像素点的灰度均值以及灰度值的标准差;

以预设的修正系数与灰度值的标准差进行相乘,将相乘的结果与灰度均值相加得到所述待分析点的局部阈值;若所述待分析点的灰度值小于对应的局部阈值,所述待分析点为异常像素点。

4.根据权利要求1所述的一种基于机器视觉的枕轨生产质量检测方法,其特征在于,所述根据所有所述异常像素点得到枕轨生产质量的步骤,包括:将所述灰度图像中所有所述异常像素点的数量作为裂纹区域的面积,计算裂纹区域的面积在所述灰度图像中的占比,所述占比为枕轨生产质量损失,枕轨生产质量损失越大,枕轨生产质量越差。

5.根据权利要求1所述的一种基于机器视觉的枕轨生产质量检测方法,其特征在于,所述标记每个所述疑似裂纹区域的中心线的步骤,包括:对所述疑似裂纹区域进行形态学细化操作,得到所述疑似裂纹区域对应的一条单像素的线段,所述线段为所述疑似裂纹区域的中心线。

说明书 :

基于机器视觉的枕轨生产质量检测方法

技术领域

[0001] 本发明涉及图像数据处理技术领域,具体涉及一种基于机器视觉的枕轨生产质量检测方法。

背景技术

[0002] 铁路枕轨是用于铁路线路铺设的基础材料,其作用是固定铁路轨道轨距、承载钢轨以及通过车辆的重量荷载,使轨道压力荷载均匀分散传递至路基,保持线路稳定畅通;因此枕轨的生产质量严重影响列车的高速运行安全,其中枕轨是否出现裂纹是表征枕轨结构安全最重要的指标,对其进行精准检测具有重要意义。
[0003] 传统的枕轨表面裂纹检测技术主要依托超声平测法和激光扫描法,然而这两种方法要求枕轨表面结构较为平整,需要专门的传感器接收反射信号,并且都存在检测速度慢、检测精度低、误差大的问题。
[0004] 近年来,随着计算机视觉技术的发展,基于机器视觉的裂纹自动化检测系统逐渐被应用于轨枕生产质量检测中,例如Niblack算法,但传统的Niblack算法自适应性较低,对局部窗口大小和修正系数的选取难以把控,当局部窗口选择过大,则失去了“局部阈值”的含义,且影响Niblack算法的速度;当局部窗口选择过小,则得到的样本数量太少,获取不到足够的信息判断窗口中心像素是属于目标区域还是背景区域,因此分割效果会产生较大的不确定性;并且通常情况下每个像素点对应的局部窗口的大小不变,但实际场景中不同裂纹的粗细可能会存在较大的差异,图像分割效果较差。

发明内容

[0005] 为了解决Niblack算法中像素点局部窗口选择不合适导致图像分割效果差的问题,本发明的目的在于提供一种基于机器视觉的枕轨生产质量检测方法,所采用的技术方案具体如下:
[0006] 本发明一个实施例提供了一种基于机器视觉的枕轨生产质量检测方法,该方法包括以下步骤:
[0007] 获取枕轨表面的灰度图像,对所述灰度图像初步分割得到疑似裂纹区域;
[0008] 标记每个所述疑似裂纹区域的中心线,获取所述疑似裂纹区域中每个像素点与所述中心线之间的最短距离,基于所述最短距离获取所述疑似裂纹区域的裂纹宽度以及所述疑似裂纹区域中每个像素点的影响程度;
[0009] 获取所述疑似裂纹区域中每个像素点对应邻域范围的灰度信息,基于所述疑似裂纹区域的裂纹宽度、所述疑似裂纹区域中像素点的影响程度以及对应邻域范围的灰度信息得到对应像素点自适应的局部窗口尺寸;
[0010] 基于自适应局部窗口尺寸的Niblack算法获取所述疑似裂纹区域中的异常像素点,根据所有所述异常像素点得到枕轨生产质量。
[0011] 优选的,所述基于所述最短距离获取所述疑似裂纹区域的裂纹宽度以及所述疑似裂纹区域中每个像素点的影响程度的步骤,包括:
[0012] 计算所述疑似裂纹区域的所有边缘像素点与所述疑似裂纹区域的中心线之间的最短距离的平均值,将所述平均值的二倍作为所述疑似裂纹区域的裂纹宽度;
[0013] 获取所述疑似裂纹区域中每个像素点对应的拟合直线,并获取所述拟合直线的斜率绝对值;对于所述疑似裂纹区域中任一像素点,计算像素点对应的最短距离与拟合直线的斜率绝对值的乘积,以所述乘积的负数作为自然常数的指数,得到的结果作为对应像素点的影响程度。
[0014] 优选的,所述获取所述疑似裂纹区域中每个像素点对应的拟合直线的步骤,包括:
[0015] 以所述疑似裂纹区域中任意一个像素点为目标点,将所述目标点与所述疑似裂纹区域的中心线之间最短距离对应的线段作为基础线;以所述疑似裂纹区域的边缘像素点为起点作直线与所述疑似裂纹区域的中心线相交,交点为所述直线的终点,且所述直线过所述目标点并与所述基础线重合;
[0016] 对所述直线上所有像素点的灰度值进行直线拟合得到所述目标点对应的拟合直线。
[0017] 优选的,所述获取所述疑似裂纹区域中每个像素点对应邻域范围的灰度信息的步骤,包括:
[0018] 所述疑似裂纹区域中每个像素点的邻域范围是以像素点为中心的八邻域范围;
[0019] 获取所述疑似裂纹区域中每个像素点对应邻域范围内所有像素点的平均灰度值、邻域范围内所有像素点的灰度值的最大值以及灰度值的最小值;
[0020] 所述平均灰度值、灰度值的最大值以及灰度值的最小值为像素点对应邻域范围内的灰度信息。
[0021] 优选的,所述像素点自适应的局部窗口尺寸的获取公式为:
[0022]
[0023] 其中, 表示疑似裂纹区域中第 个像素点自适应的局部窗口尺寸; 表示疑似裂纹区域中第 个像素点的灰度值; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的平均灰度值; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的灰度值的最大值; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的灰度值的最小值;表示疑似裂纹区域中第 个像素点对应的影响程度;表示疑似裂纹区域的裂纹宽度;表示绝对值计算。
[0024] 优选的,所述基于自适应局部窗口尺寸的Niblack算法获取所述疑似裂纹区域中的异常像素点的步骤,包括:
[0025] 以所述疑似裂纹区域中任意一个像素点为待分析点,基于所述待分析点自适应的局部窗口尺寸得到所述待分析点的局部窗口,获取所述局部窗口中所有像素点的灰度均值以及灰度值的标准差;
[0026] 以预设的修正系数与灰度值的标准差进行相乘,将相乘的结果与灰度均值相加得到所述待分析点的局部阈值;若所述待分析点的灰度值小于对应的局部阈值,所述待分析点为异常像素点。
[0027] 优选的,所述根据所有所述异常像素点得到枕轨生产质量的步骤,包括:
[0028] 将所述灰度图像中所有所述异常像素点的数量作为裂纹区域的面积,计算裂纹区域的面积在所述灰度图像中的占比,所述占比为枕轨生产质量损失,枕轨生产质量损失越大,枕轨生产质量越差。
[0029] 优选的,所述标记每个所述疑似裂纹区域的中心线的步骤,包括:
[0030] 对所述疑似裂纹区域进行形态学细化操作,得到所述疑似裂纹区域对应的一条单像素的线段,所述线段为所述疑似裂纹区域的中心线。
[0031] 本发明具有如下有益效果:为了解决现有Niblack算法进行分割效果不好的问题,本发明实施例中通过对每个像素点的局部窗口进行自适应获取,以适应性更强的局部窗口进行Niblack算法分割,使得分割得到的异常像素点更加准确,进而保证了对枕轨生产质量检测的准确性;在对每个像素点的局部窗口进行获取时,首先对灰度图像进行初步分割得到其中的疑似裂纹区域,后续仅对疑似裂纹区域中的像素点进行分析,减少了整体分析的计算量,提高了对异常像素点进行分割的效率;其次,在对每个疑似裂纹区域进行分析时,结合裂纹的特征表现获取疑似裂纹区域的中心线,根据疑似裂纹区域中每个像素点与该中心线之间的最短距离获取裂纹宽度和每个像素点的影响程度,以疑似裂纹区域的裂纹宽度作为其中每个像素点局部窗口的最大的局部窗口尺寸,避免局部窗口过大失去局部信息,同时利用像素点的影响程度来减少极端值的影响,为局部窗口尺寸的获取提供依据;进一步的,除了考虑到像素点本身的影响程度之外,结合像素点对应邻域范围内的灰度信息进行局部窗口尺寸的计算,提高局部窗口尺寸获取的可靠性,防止算法的抗干扰能力下降;最终基于疑似裂纹区域中每个像素点对应的自适应窗口尺寸进行异常像素点的获取,也即是在利用Niblack算法进行分割时,通过局部窗口尺寸的自适应变化来提高异常像素点判定的准确度,基于更加准确可靠的异常像素点对枕轨生产质量进行获取,使得枕轨生产质量的获取更加准确。

附图说明

[0032] 为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0033] 图1为本发明一个实施例所提供的一种基于机器视觉的枕轨生产质量检测方法流程图。

具体实施方式

[0034] 为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于机器视觉的枕轨生产质量检测方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
[0035] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0036] 下面结合附图具体的说明本发明所提供的一种基于机器视觉的枕轨生产质量检测方法的具体方案。
[0037] 请参阅图1,其示出了本发明一个实施例提供的一种基于机器视觉的枕轨生产质量检测方法流程图,该方法包括以下步骤:
[0038] 步骤S100,获取枕轨表面的灰度图像,对灰度图像初步分割得到疑似裂纹区域。
[0039] 裂纹是表征枕轨结构安全最重要的指标,因此对枕轨表面的裂纹进行精准检测具有很重要的意义;本发明实施例中裂纹检测是基于枕轨表面图像进行的,首先需要采集生产线上的枕轨图像,为了更加针对性的对枕轨表面进行分析,将采集到的枕轨图像与提前获取的生产线的背景图像进行差分处理,以得到去除背景影响的枕轨差分图像,对图像进行差分处理的方法为公知技术,不再赘述。
[0040] 进一步的,为了去除冗余颜色信息的影响,对枕轨差分图像进行灰度化处理得到对应的灰度图像;然后获取该灰度图像对应的灰度直方图,利用大津分割算法求取最佳分割阈值,由于枕轨表面裂纹区域的像素点灰度值较小,且裂纹区域的面积较小,导致大津分割算法的最佳分割阈值会偏向于非裂纹区域,因此将灰度图像中灰度值小于最佳分割阈值的像素点记为疑似异常点,将灰度图像中灰度值不小于最佳分割阈值的像素点记为正常像素点,由所有的疑似异常点进行连通域分析可构成多个疑似裂纹区域,且疑似裂纹区域中可能包含部分正常像素点,因此需要对每个疑似裂纹区域进一步分析;大津分割算法以及灰度化处理的方法为现有公知手段,本实施例中不再详细说明。
[0041] 步骤S200,标记每个疑似裂纹区域的中心线,获取疑似裂纹区域中每个像素点与中心线之间的最短距离,基于最短距离获取疑似裂纹区域的裂纹宽度以及疑似裂纹区域中每个像素点的影响程度。
[0042] 由步骤S100中得到枕轨表面的灰度图像以及灰度图像中的多个疑似裂纹区域,疑似裂纹区域中除了包括裂纹像素点之外还存在部分正常像素点,因此需要对疑似裂纹区域再次进行分割,传统的Niblack算法对局部窗口大小的选取依赖于人工经验,且像素点对应的局部窗口大小的选择直接影响到图像分割的效果,固定的局部窗口会导致图像整体的分割效果较差,因此本发明实施例在利用Niblack算法对疑似异常区域进行分割处理时,首先对每个像素点自适应的局部窗口尺寸进行获取。
[0043] 以任意一个疑似裂纹区域为例,由于裂纹具有一定的线性特征,因此对疑似裂纹区域进行形态学细化操作,得到疑似裂纹区域对应的一条单像素的线段,将该线段作为该疑似裂纹区域的中心线,形态学细化操作也即是对疑似裂纹区域的轮廓边缘逐渐去除,最终得到一条宽度为一个像素点的骨架,也即是疑似裂纹区域的中心线,具体方法为公知手段,不再赘述;然后获取该疑似裂纹区域的所有边缘像素点,并获取该疑似裂纹区域中每个边缘像素点与该疑似裂纹区域对应的中心线之间的最短距离,由疑似裂纹区域上每个边缘像素点对应的最短距离构建出边缘像素点距离集合为: ,其中, 表示第个疑似裂纹区域对应的边缘像素点距离集合, 表示疑似裂纹区域中第1个边缘像素点与该疑似边缘区域对应的中心线之间的最短距离, 表示疑似裂纹区域中第2个边缘像素点与该疑似边缘区域对应的中心线之间的最短距离, 表示疑似裂纹区域中第 个边缘像素点与该疑似边缘区域对应的中心线之间的最短距离,为疑似裂纹区域中所有边缘像素点的数量。
[0044] 计算疑似裂纹区域的所有边缘像素点与疑似裂纹区域的中心线之间的最短距离的平均值,将平均值的二倍作为疑似裂纹区域的裂纹宽度;获取疑似裂纹区域中每个像素点对应的拟合直线,并获取拟合直线的斜率绝对值;对于疑似裂纹区域中任一像素点,计算像素点对应的最短距离与拟合直线的斜率绝对值的乘积,以乘积的负数作为自然常数的指数,得到的结果作为对应像素点的影响程度;其中,拟合直线的获取为:以疑似裂纹区域中任意一个像素点为目标点,将目标点与疑似裂纹区域的中心线之间最短距离对应的线段作为基础线;以疑似裂纹区域的边缘像素点为起点作直线与疑似裂纹区域的中心线相交,交点为直线的终点,且直线过目标点并与基础线重合;对直线上所有像素点的灰度值进行直线拟合得到目标点对应的拟合直线。
[0045] 具体的,为了便于后续对局部窗口大小的选取,避免局部窗口大小不合适造成后续分割效果不好,获取每个疑似裂纹区域对应的裂纹宽度作为最大局部窗口尺寸,疑似裂纹区域的裂纹宽度的获取方法为:计算疑似裂纹区域对应的边缘像素点距离集合的平均值记为 ,本发明实施例中以 作为该疑似裂纹区域的裂纹宽度,也即是以 作为该疑似裂纹区域中各个像素点的最大局部窗口尺寸,以最大局部窗口尺寸作为参考对该疑似裂纹区域中每个像素点对应的局部窗口尺寸进行自适应获取。
[0046] 进一步的,获取疑似裂纹区域中每个像素点与该疑似裂纹区域的中心线之间的最短距离,由于裂纹的特征可知,裂纹区域的像素点灰度值是由裂纹边缘向裂纹中心线处逐渐变小,因此如果疑似裂纹区域中存在裂纹像素点,则该像素点与疑似裂纹区域的中心线之间的最短距离越小,该像素点对裂纹像素点分析的影响越大,需要利用较大的局部窗口尺寸来减少对该像素点的影响,因此基于每个像素点对应的最短距离自适应获取每个像素点对应的影响程度,以疑似裂纹区域中第个像素点作为目标点进行分析,疑似裂纹区域中第个像素点的影响程度的计算公式为:
[0047]
[0048] 其中, 表示疑似裂纹区域中第 个像素点对应的影响程度;表示疑似裂纹区域中第 个像素点与该疑似裂纹区域的中心线之间的最短距离; 表示疑似裂纹区域中第 个像素点对应拟合直线的斜率;表示自然常数;表示绝对值计算。
[0049] 其中,第 个像素点对应的拟合直线的获取方法为:将第个像素点与中心线之间最短距离对应的线段记为基础线,以疑似裂纹区域的边缘像素点为起点作直线,该直线与疑似裂纹区域的中心线交于一点,交点为该直线的终点,并且该直线经过第 个像素点且与基础线重合;统计该直线上所有的像素点集合,对该像素点集合中所有像素点的灰度值进行直线拟合得到第个像素点对应的拟合直线。
[0050] 本实施例中采用Niblack算法的修正系数固定,局部阈值一般是根据局部窗口内像素点的灰度均值和标准差获取;当第 个像素点对应拟合直线的斜率绝对值 的取值越大,说明第 个像素点所在拟合直线上像素点灰度值的变化越快,出现极端值的概率越大,对局部窗口内的灰度均值以及标准差的影响越大,会降低算法的抗干扰能力,导致分割后会出现严重的噪声点,因此需要较小的局部窗口尺寸,尽可能减少局部窗口内的标准差;当第个像素点与疑似裂纹区域的中心线之间的最短距离 越小时,其越容易对裂纹像素点的识别产生影响,需要较大的局部窗口尺寸减弱该影响;由此可知,当第 个像素点对应的最短距离 和斜率绝对值 的乘积越大时,该像素点越需要较小的局部窗口尺寸,因此对该乘积结果进行负相关映射,以使得局部窗口尺寸与该乘积结果呈现负相关关系,并减少极端值对局部窗口像素点的灰度均值和标准差的影响,确保局部阈值获取的准确性。
[0051] 同理,基于上述获取第 个像素点的影响程度相同的方法,获取疑似裂纹区域中每个像素点对应的影响程度;若仅仅依靠像素点的影响程度决定该像素点的局部窗口尺寸,得到的局部窗口尺寸不够准确,因此在得到每个像素点的影响程度之后,对每个像素点继续分析。
[0052] 步骤S300,获取疑似裂纹区域中每个像素点对应邻域范围的灰度信息,基于疑似裂纹区域的裂纹宽度、疑似裂纹区域中像素点的影响程度以及对应邻域范围的灰度信息得到对应像素点自适应的局部窗口尺寸。
[0053] 由步骤S200中获取疑似裂纹区域中每个像素点对应的影响程度,基于每个像素点对应的影响程度自适应获取每个像素点对应的局部窗口尺寸;由于大津分割算法可能存在误分割,因此在对每个像素点进行局部窗口尺寸获取时,需要进一步考虑到每个像素点邻域范围内像素点的灰度信息;疑似裂纹区域中每个像素点的邻域范围是以像素点为中心的八邻域范围;获取疑似裂纹区域中每个像素点对应邻域范围内所有像素点的平均灰度值、邻域范围内所有像素点的灰度值的最大值以及灰度值的最小值;平均灰度值、灰度值的最大值以及灰度值的最小值为像素点对应邻域范围内的灰度信息。
[0054] 基于邻域范围内像素点的灰度信息并结合该像素点自身的影响程度获取像素点对应的局部窗口尺寸,以疑似裂纹区域中的第 个像素点为例,第 个像素点的局部窗口尺寸的具体计算为:
[0055]
[0056] 其中, 表示疑似裂纹区域中第 个像素点的局部窗口尺寸; 表示疑似裂纹区域中第 个像素点的灰度值; 表示疑似裂纹区域中第个像素点对应邻域范围内所有像素点的平均灰度值,邻域范围是以第个像素点为中心的八邻域范围,且对所有像素点的平均灰度值的计算时包括第 个像素点; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的灰度值的最大值; 表示疑似裂纹区域中第 个像素点对应邻域范围内所有像素点的灰度值的最小值; 表示疑似裂纹区域中第 个像素点对应的影响程度; 表示该疑似裂纹区域的裂纹宽度;表示绝对值计算。
[0057] 由于大津分割算法可能会存在误差,也即是有可能疑似裂纹区域中并不存在裂纹,因此仅根据像素点的影响程度进行局部窗口的获取可能会出现偏差,故结合像素点邻域范围内的灰度信息对影响程度 进行校正,影响程度 取值越大,疑似裂纹区域中第 个像素点所需要的局部窗口尺寸越大; 反映了疑似裂纹区域中第 个像素点的灰度值与该像素点对应邻域范围内平均灰度值之间的差异,该差异越大,说明疑似裂纹区域中第 个像素点越可能出现极端值影响,则疑似裂纹区域中第个像素点为裂纹像素点的可能越大,因此对应的局部窗口尺寸越大;分母项 用于归一
化处理,使得 的取值处于0‑1之间,且分母项常数0.01的作用是为了避
免分母项为0,常数取值为0.01也避免了对整体结果的影响过大;通过疑似裂纹区域中第个像素点的影响程度以及第 个像素点邻域范围内的灰度信息结合分析,将的结果作为局部窗口尺寸的调节因子,将该调节因子与该疑似
裂纹区域的裂纹宽度 的乘积作为该疑似裂纹区域中第个像素点的局部窗口尺寸。
[0058] 在获取到疑似裂纹区域中第 个像素点对应的局部窗口尺寸之后,可对应得到疑似裂纹区域中第 个像素点对应的局部窗口的大小为 ;同理,与获取疑似裂纹区域中第 个像素点的局部窗口尺寸相同的方法,获取疑似裂纹区域中每个像素点的局部窗口尺寸,也即是得到枕轨表面所有疑似裂纹区域中像素点对应的局部窗口,进而根据疑似裂纹区域中像素点对应的局部窗口进行后续的分析。
[0059] 步骤S400,基于自适应局部窗口尺寸的Niblack算法获取疑似裂纹区域中的异常像素点,根据所有异常像素点得到枕轨生产质量。
[0060] 由上述步骤S300得到疑似裂纹区域中每个像素点对应的自适应局部窗口尺寸,因此可根据疑似裂纹区域中每个像素点的自适应局部窗口尺寸得到对应像素点的局部窗口,然后基于Niblack算法对所有疑似裂纹区域再次进行分割,每个疑似裂纹区域中的像素点实际是步骤S100中得到的疑似异常点,Niblack算法获取异常像素点是基于对应的局部阈值得到的,因此在对所有的疑似裂纹区域进行二次分割时,首先获取每个疑似异常点的局部阈值。
[0061] 以疑似裂纹区域中任意一个像素点为待分析点,基于待分析点的自适应局部窗口尺寸得到待分析点的局部窗口,获取局部窗口中所有像素点的灰度均值以及灰度值的标准差;以预设的修正系数与灰度值的标准差进行相乘,将相乘的结果与灰度均值相加得到待分析点的局部阈值;若待分析点的灰度值小于对应的局部阈值,待分析点为异常像素点。
[0062] 具体的,根据枕轨表面的灰度图像中每个疑似异常点对应的局部窗口中的其他像素点获取该像素点对应的局部阈值,以第 个疑似异常点为例,灰度图像中第 个疑似异常点的局部阈值为:
[0063]
[0064] 其中,表示第 个疑似异常点对应的局部阈值; 表示第 个疑似异常点对应的局部窗口中所有像素点的灰度均值; 表示第 个疑似异常点对应的局部窗口中所有像素点灰度值的标准差;表示修正系数,Niblack算法中修正系数的常用取值范围为[‑1,1],本发明实施例中设置修正系数取值为‑0.2,在其他实施例中,实施者可根据实际需求自行设定。
[0065] 局部阈值的计算为Niblack算法过程中的公知手段,不再详细说明;根据每个疑似异常点对应的局部阈值对该疑似异常点是否为异常像素点进行判断,当疑似异常点的灰度值小于该疑似异常点对应的局部阈值时,疑似异常点为异常像素点,并将该疑似异常点的灰度值置为1;反之,若疑似异常点的灰度值不小于该疑似异常点对应的局部阈值,则该疑似异常点为正常像素点,并将该疑似异常点的灰度值置为0;以此类推,对枕轨表面的灰度图像中所有的疑似异常点进行判断,将其中所有被判定为异常像素点的灰度值置为1,其他非异常像素点的灰度值置为0,也即是得到了灰度图像中所有的异常像素点,以及由异常像素点构成的裂纹区域。
[0066] 进一步的,基于枕轨的灰度图像中所有的裂纹区域对该枕轨的生产质量进行评价,首先统计该枕轨的灰度图像中所有异常像素点的数量,也即是此时灰度图像中灰度值为1的像素点数量,将异常像素点的数量作为该枕轨表面裂纹区域的面积,然后获取枕轨的灰度图像的面积,基于裂纹区域的面积在灰度图像中的占比得到枕轨的生产质量损失,因此枕轨生产质量损失的计算为:
[0067]
[0068] 其中,表示枕轨的生产质量损失; 表示枕轨表面的灰度图像中裂纹区域的面积;表示枕轨表面对应的灰度图像的面积。
[0069] 此处枕轨生产质量损失实际为枕轨的缺陷程度,裂纹区域的面积越大,说明枕轨表面存在的缺陷越严重,缺陷程度越大,对应枕轨的生产质量越差,也即是生产质量损失的取值越大,表明枕轨的质量越不好,以预设质量阈值对枕轨质量是否合格进行判断,当枕轨的生产质量损失大于预设质量阈值时,表明该枕轨的质量越差,也即是枕轨的生产质量不合格。
[0070] 作为优选,考虑到枕轨表面出现裂纹区域的实际面积一般较小,本发明实施例中预设质量阈值的设定为0.5%,也即是当枕轨的生产质量损失 大于0.5%时,枕轨生产不合格。
[0071] 综上所述,本发明实施例中通过获取枕轨表面的灰度图像,对灰度图像初步分割得到疑似裂纹区域;标记每个疑似裂纹区域的中心线,获取疑似裂纹区域中每个像素点与中心线之间的最短距离,基于最短距离获取疑似裂纹区域的裂纹宽度以及疑似裂纹区域中每个像素点的影响程度;获取疑似裂纹区域中每个像素点的邻域范围的灰度信息,基于疑似裂纹区域的裂纹宽度、疑似裂纹区域中像素点对应的灰度信息以及影响程度得到对应像素点自适应的局部窗口尺寸;基于自适应局部窗口尺寸的Niblack算法对疑似裂纹区域分割得到裂纹区域;根据所有裂纹区域的面积得到枕轨生产质量;通过更加合适的局部窗口对每个像素点进行分析,得到的裂纹区域更加准确,提高了枕轨生产质量检测的准确性。
[0072] 需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0073] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0074] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。