一种基于语义分割和直线拟合的探头状态检测方法及系统
文献发布时间:2023-06-19 18:27:32
技术领域
本发明属于目标检测技术领域,具体涉及一种基于语义分割和直线拟合的探头状态检测方法及系统。
背景技术
伴随着中国城市建设的脚步,交通运输行业的基本设施的建设和发展突飞猛进,中国铁路轨道的建设和维护是基建的重要一环,因此如何确保列车运行的安全性和稳定性成为研究的重要方向。列车车轮作为列车安全运行的关键部件,需要定期对其进行安全检测。
现有技术中,对铁路轨道行列中主流的检测方法依靠超声波探伤探头阵列装置,该装置将大量的超声波探头组合在轨道平面上,进行车轮探伤。而探头阵列在检测时可能会被车轮和异物损伤,从正常状态转变为凹陷或凸起的形态。为了保持铁轨系统的安全运行,需要对探头体的状态进行检查。由于探头阵列装置具有大量的探头体,且位于铁轨上,对其进行人工筛查时具有较高的作业风险,因此人工筛查检测方式难以实施。利用图像处理和深度学习技术,对摄像机拍摄的图像进行分析和检测,能较好地去解决探头探伤装置的检测难题。
现有使用基于faster-RCNN的两阶段式的目标检测深度学习方法来对超声波探头装置探头进行倾斜检测,并提出使用新的形变建议框来更好地表示旋转角度不同的探头位置。由于探头的倾斜状态和正常状态相似度非常高,基于目标检测的方法不能很好地预测探头的正确状态,基于检测的方法也无法细粒度地定位探头位置。
或是使用基于U-net网络的语义分割的方式来检测零件的缺陷,在大多数分割方法的应用场景中,缺陷部分和正常部分在色泽和纹理上存在明显的不同。若直接使用此类方法去区别局部特征相似或相同的探头状态,将会的得到不理想的模型推测结果。因此,此类方法不能直接用于识别探头凹凸状态的检测。
发明内容
针对上述现有技术中存在的问题,本发明提出了一种基于语义分割和直线拟合的探头状态检测方法及系统,其目的为:利用图像处理和深度学习技术,检测探头探伤装置的每个探头部件的是否存在凹陷、凸起和缺失等异常状态,替代人工筛查的方式,并实现高精度、高召回的检出率。
为实现上述目的本发明所采用的技术方案是:提供一种基于语义分割和直线拟合的探头状态检测方法,包括:
S1:获取拍摄的探头图像,分类模型对探头图像进行分类判断,若探头图像正常,则进行探头状态的检测,若探头图像1异常,则控制相机延时重新拍摄探头图像;
S2:对正常的探头图像进行预处理,并使用分割模型进行探头表面区域的预测,得到探头的初级轮廓图,包括探头的初级轮廓和质心点;
S3:然后对所述初级轮廓图进行膨胀腐蚀以及面积阈值处理,得到探头的精细化轮廓图,包括探头的轮廓和质心点;
S4:对两列探头进行中线拟合,然后基于质心点相对于中线的方位将轮廓分为上下两行,并对两行轮廓的质心点分别进行直线拟合,得到上下两条直线;
S5:根据探头每个质心点到所属直线的距离,判断探头的凹凸状态,根据探头轮廓投影的间距判断探头的缺失状态。
较优的,本发明S1中分类模型的训练流程具体为:
S1.1:获取拍摄的探头图像,将探头图像缩放成224*224,并人工分类成4个类别,具体为:正常图像、模糊图像、喷水图像和异物图像;
S1.2:分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:水平翻转、随机裁剪、调整亮度和Gamma;
S1.3:构建MobileNetV3网络,基本架构采用MobileNetV3-small,将MobileNetV3网络最后一层的分类器,增强为双层全连接层,并且中间层采用Hardswish激活单元和Dropout技术;
S1.4:将数据增强后的探头图像,分批次输入构建好的MobileNetV3网络,然后用Adam优化器和交叉熵损失函数优化MobileNetV3网络的模型参数。
较优的,本发明S2中分割模型的训练流程具体为:
S2.1:将输入的探头图像缩放成480*480,并人工分类对探头表面进行标注;
S2.2:然后分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:高斯模糊、限制对比度自适应直方图、均衡化水平翻转、随机裁剪、随便调整亮度和Gamma;
S2.3:构建U-net分割网络,骨架网络采用Resnet18,损失函数采用DiceLoss损失函数;
S2.4:将经过S2.2数据增强后的探头图像分批输入U-net分割网络,然后用Adam优化器和DiceLoss损失函数优化网络的模型参数。
较优的,本发明S3具体为:
S3.1:对得到的初级轮廓图进行腐蚀和膨胀,过滤掉轮廓面积小于最小面积阈值的初级轮廓,然后通过连通域的方式来抽取每个初级轮廓,存储这些初级轮廓的信息和质心点;
S3.2:判断存储的轮廓面积是否大于预设的最大面积阈值,将大于最大面积阈值的初级轮廓过滤掉,并将质心点处于ROI区域外的初级轮廓也过滤掉;
S3.3:将轮廓形状转换为最小外接矩形,形成精细化轮廓图,得到探头的轮廓,用于防止模型预测出不规则的表面对后续的状态预测产生影响。
较优的,本发明S4具体为:
S4.1:通过二次直线拟合算法得到所有质心点的中线,二次直线拟合算法的定义为:预设置一个异常点距离阈值,对所有的质心点使用最小二乘法进行直线拟合得到中线,当一些质心点到中线距离大于异常点距离阈值时,将这些异常轮廓过滤,然后用过滤后的质心点重新进行直线拟合,直到所有质心点到中线距离小于等于异常点距离阈值时,得到最终的中线;
S4.2:预设探头数量差阈值,根据质心点和相对于中线的方位将轮廓分为上下两行,若两行分配的探头数量差异大于设置的探头数量差阈值,则进行报警,再分别对两行轮廓进行如步骤S4.1所述的二次直线拟合算法,拟合出上下两条直线。
较优的,本发明S5中判断探头的凹凸状态具体为:
计算探头轮廓的平均面积,将探头表面作为正方形,根据平均面积计算探头表面平均边长,预先设定异常状态阈值为探头表面平均边长的1/4,计算每个轮廓的质心点到所属直线的距离,如果该距离大于异常状态阈值,则该探头处于凹凸状态,并根据质心点相对于所属直线的方位来判断该探头为凸起或凹陷,如果距离不大于异常状态阈值,则将该探头视为正常探头。
较优的,本发明S5中判断探头的缺失状态具体为:
将所有探头的轮廓投射到所属直线上,计算每个轮廓的在直线上的投射线段之间的距离,并计算其均值,若相邻探头的投射线段之间的距离大于均值的1.3倍,则将这两个探头之间的区域预测为探头缺失;再判断两侧探头到ROI边界的距离是否大于均值的1.3倍数,来判断两侧是否存在探头缺失。
本发明还提出了一种基于语义分割和直线拟合的探头状态检测系统,包括:
图像检测模块:获取拍摄的探头图像,通过分类模型对探头图像进行分类判断,若探头图像正常,则进行探头状态的检测,若探头图像1异常,则控制相机延时重新拍摄探头图像;
图像预处理模块:对正常的探头图像进行预处理,并使用分割模型进行探头表面区域的预测,得到探头的初级轮廓图,包括探头的初级轮廓和质心点;
图像精细化模块:然后对所述初级轮廓图进行膨胀腐蚀以及面积阈值处理,得到探头的精细化轮廓图,包括探头的轮廓和质心点;
直线拟合模块:对两列探头进行中线拟合,然后基于质心点相对于中线的方位将轮廓分为上下两行,并对两行轮廓的质心点分别进行直线拟合,得到上下两条直线;
探头状态判断模块:根据探头每个质心点到所属直线的距离,判断探头的凹凸状态,根据探头轮廓投影到所属直线形成的线段之间的间距判断探头的缺失状态。
较优的,本发明图像检测模块中分类模型的训练流程具体为:
步骤1.1:获取拍摄的探头图像,将探头图像缩放成224*224,并人工分类成4个类别,具体为:正常图像、模糊图像、喷水图像和异物图像;
步骤1.2:分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:水平翻转、随机裁剪、调整亮度和Gamma;
步骤1.3:构建MobileNetV3网络,基本架构采用MobileNetV3-small,将MobileNetV3网络最后一层的分类器,增强为双层全连接层,并且中间层采用Hardswish激活单元和Dropout技术;
步骤1.4:将数据增强后的探头图像,分批次输入构建好的MobileNetV3网络,然后用Adam优化器和交叉熵损失函数优化MobileNetV3网络的模型参数。
较优的,本发明图像预处理模块中分割模型的训练流程具体为:
步骤2.1:将输入的探头图像缩放成480*480,并人工分类对探头表面进行标注;
步骤2.2:然后分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:高斯模糊、限制对比度自适应直方图、均衡化水平翻转、随机裁剪、随便调整亮度和Gamma;
步骤2.3:构建U-net分割网络,骨架网络采用Resnet18,损失函数采用DiceLoss损失函数;
步骤2.4:将经过S2.2数据增强后的探头图像分批输入U-net分割网络,然后用Adam优化器和DiceLoss损失函数优化网络的模型参数。
相比现有技术,本发明的技术方案具有如下优点/有益效果:
1.本发明通过使用基于U-net分割的方式来定位和表示探头上表面,使探头轮廓的表示精度大大提高,致使探头的检测结果更加准确无误。
2.本发明利用二次直线拟合算法来拟合探头间的质心点,能高效并精确地判断探头是否处于同一水平线上,并利用轮廓投影法来精确地判断探头间是否存在缺失,提升了探头状态预测的准确率。
3.本发明针对探头的位置分布,通过拟合上下两条直线,能更好地在应用场景预测探头状态。
4.本发明通过设置多个硬性参数阈值,如最小最大面积阈值、ROI区域、异常点距离阈值等,有效提高了一些异常情况的检测效果,并且可以通过调节参数来适应不同的场景,如有不同的探头型号。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明一种基于语义分割和直线拟合的探头状态检测方法的流程示意图。
图2是本发明实施例1的探头的轮廓示意图。
图3是本发明实施例1的拟合得到上下两条直线示意图。
图4是本发明实施例1的探头轮廓投影到所属直线形成的线段示意图。
图5是本发明实施例1的预测结果示意图。
具体实施方式
为使本发明目的、技术方案和优点更加清楚,下面对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明的一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。
实施例1:
本实施例1提出了一种基于语义分割和直线拟合的探头状态检测方法,包括:
S1:获取拍摄的探头图像,分类模型对探头图像进行分类判断,若探头图像正常,则进行探头状态的检测,若探头图像1异常,则控制相机延时重新拍摄探头图像;S1中分类模型的训练流程具体为:
S1.1:获取拍摄的探头图像,将探头图像缩放成224*224,并人工分类成4个类别,具体为:正常图像、模糊图像、喷水图像和异物图像;
S1.2:分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:水平翻转、随机裁剪、调整亮度和Gamma;
S1.3:构建MobileNetV3网络,基本架构采用MobileNetV3-small,将MobileNetV3网络最后一层的分类器,增强为双层全连接层,并且中间层采用Hardswish激活单元和Dropout技术;
S1.4:将数据增强后的探头图像,分批次输入构建好的MobileNetV3网络,然后用Adam优化器和交叉熵损失函数优化MobileNetV3网络的模型参数。
S2:对正常的探头图像进行预处理,并使用分割模型进行探头表面区域的预测,得到探头的初级轮廓图,包括探头的初级轮廓和质心点;如图2所示。
S2中分割模型的训练流程具体为:
S2.1:将输入的探头图像缩放成480*480,并人工分类对探头表面进行标注;
S2.2:然后分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:高斯模糊、限制对比度自适应直方图、均衡化水平翻转、随机裁剪、随便调整亮度和Gamma;
S2.3:构建U-net分割网络,骨架网络采用Resnet18,损失函数采用DiceLoss损失函数;
S2.4:将经过S2.2数据增强后的探头图像分批输入U-net分割网络,然后用Adam优化器和DiceLoss损失函数优化网络的模型参数。
S3:然后对所述初级轮廓图进行膨胀腐蚀以及面积阈值处理,得到探头的精细化轮廓图,包括探头的轮廓和质心点;S3具体为:
S3.1:对得到的初级轮廓图进行腐蚀和膨胀,过滤掉轮廓面积小于最小面积阈值的初级轮廓,然后通过连通域的方式来抽取每个初级轮廓,存储这些初级轮廓的信息和质心点;
S3.2:判断存储的轮廓面积是否大于预设的最大面积阈值,将大于最大面积阈值的初级轮廓过滤掉,并将质心点处于ROI区域外的初级轮廓也过滤掉;
S3.3:将轮廓形状转换为最小外接矩形,形成精细化轮廓图,得到探头的轮廓,用于防止模型预测出不规则的表面对后续的状态预测产生影响。
S4:对两列探头进行中线拟合,然后基于质心点相对于中线的方位将轮廓分为上下两行,并对两行轮廓的质心点分别进行直线拟合,得到上下两条直线;如图3所示。
S4具体为:
S4.1:通过二次直线拟合算法得到所有质心点的中线,二次直线拟合算法的定义为:预设置一个异常点距离阈值,对所有的质心点使用最小二乘法进行直线拟合得到中线,当一些质心点到中线距离大于异常点距离阈值时,将这些异常轮廓过滤,然后用过滤后的质心点重新进行直线拟合,直到所有质心点到中线距离小于等于异常点距离阈值时,得到最终的中线;
S4.2:预设探头数量差阈值,根据质心点和相对于中线的方位将轮廓分为上下两行,若两行分配的探头数量差异大于设置的探头数量差阈值,则进行报警,再分别对两行轮廓进行如步骤S4.1所述的二次直线拟合算法,拟合出上下两条直线。此时的二次直线拟合算法中,由于要拟合出上下两条直线,所以出现的所有质心点为该列探头的所有质心点而不是两列探头的质心点。
S5:根据探头每个质心点到所属直线的距离,判断探头的凹凸状态,根据探头轮廓投影的间距判断探头的缺失状态。如图5所述,预测结果中,黑色的探头轮廓为正常的探头轮廓,灰色的为异常探头,此处灰色在实际应用中为明显区别于黑色的其他颜色。
S5中判断探头的凹凸状态具体为:
计算探头轮廓的平均面积,将探头表面作为正方形,根据平均面积计算探头表面平均边长,预先设定异常状态阈值为探头表面平均边长的1/4,计算每个轮廓的质心点到所属直线的距离,如果该距离大于异常状态阈值,则该探头处于凹凸状态,并根据质心点相对于所属直线的方位来判断该探头为凸起或凹陷,如果距离不大于异常状态阈值,则将该探头视为正常探头。
S5中判断探头的缺失状态具体为:
如图4所示,将所有探头的轮廓投射到所属直线上,计算每个轮廓的在直线上的投射线段之间的距离,并计算其均值,若相邻探头的投射线段之间的距离大于均值的1.3倍,则将这两个探头之间的区域预测为探头缺失;再判断两侧探头到ROI边界的距离是否大于均值的1.3倍数,来判断两侧是否存在探头缺失。
本实施例1还提出了一种基于语义分割和直线拟合的探头状态检测系统,包括:
图像检测模块:获取拍摄的探头图像,通过分类模型对探头图像进行分类判断,若探头图像正常,则进行探头状态的检测,若探头图像1异常,则控制相机延时重新拍摄探头图像;分类模型的训练流程具体为:
步骤1.1:获取拍摄的探头图像,将探头图像缩放成224*224,并人工分类成4个类别,具体为:正常图像、模糊图像、喷水图像和异物图像;
步骤1.2:分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:水平翻转、随机裁剪、调整亮度和Gamma;
步骤1.3:构建MobileNetV3网络,基本架构采用MobileNetV3-smal,将MobileNetV3网络最后一层的分类器,增强为双层全连接层,并且中间层采用Hardswish激活单元和Dropout技术;
步骤1.4:将数据增强后的探头图像,分批次输入构建好的MobileNetV3网络,然后用Adam优化器和交叉熵损失函数优化MobileNetV3网络的模型参数。
图像预处理模块:对正常的探头图像进行预处理,并使用分割模型进行探头表面区域的预测,得到探头的初级轮廓图,包括探头的初级轮廓和质心点;分割模型的训练流程具体为:
步骤2.1:将输入的探头图像缩放成480*480,并人工分类对探头表面进行标注;
步骤2.2:然后分批读取探头图像,并对探头图像进行数据增强,所述数据增强包括:高斯模糊、限制对比度自适应直方图、均衡化水平翻转、随机裁剪、随便调整亮度和Gamma;
步骤2.3:构建U-net分割网络,骨架网络采用Resnet18,损失函数采用DiceLoss损失函数;
步骤2.4:将经过S2.2数据增强后的探头图像分批输入U-net分割网络,然后用Adam优化器和DiceLoss损失函数优化网络的模型参数。
图像精细化模块:然后对所述初级轮廓图进行膨胀腐蚀以及面积阈值处理,得到探头的精细化轮廓图,包括探头的轮廓和质心点;
直线拟合模块:对两列探头进行中线拟合,然后基于质心点相对于中线的方位将轮廓分为上下两行,并对两行轮廓的质心点分别进行直线拟合,得到上下两条直线;
探头状态判断模块:根据探头每个质心点到所属直线的距离,判断探头的凹凸状态,根据探头轮廓投影到所属直线形成的线段之间的间距判断探头的缺失状态。
以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
- 一种基于图像语义分割的门开关状态检测方法及系统
- 一种基于图像语义分割的门开关状态检测方法及系统