钢桥螺栓锈蚀率的预测方法与流程
未命名
08-12
阅读:115
评论:0
1.本发明涉及机器学习领域,特别是涉及一种基于weka和随机森林实现钢桥螺栓锈蚀率的预测方法。
背景技术:
2.螺栓作为钢桥中的重要组成部分,其安全性的保障一直都是桥梁健康监测的重点内容之一。高强螺栓作为钢桁架桥节点连接的关键零件,其锈蚀、脱落对节点的受力的改变一直以来都是研究的难点内容。
3.现有的方案是利用锈蚀电流或者质量法来实现对锈蚀程度的评判工作,且锈蚀的重点更多的关注于钢板部分,针对上亿的螺栓的锈蚀评价,并未出现针对性的方案,并不适用于采取锈蚀电流的方法,螺栓的锈蚀具有更复杂的桥梁自然环境和更大的随机性与非线性。
技术实现要素:
4.有鉴于此,本发明的目的在于提供一种钢桥螺栓锈蚀率的预测方法,该方法适应复杂的自然环境,能够为钢桥螺栓锈蚀提供一种可预测的评价方法。
5.本发明提供一种钢桥螺栓锈蚀率的预测方法,包括:
6.步骤s1:利用相机采集钢桥螺栓锈蚀的数据集;
7.步骤s2:对所述数据集的每张照片进行去背景处理,以得到形成仅剩目标螺栓的各张图像;
8.步骤s3:在仅剩目标螺栓的各张图像中,获取同时具有螺栓的轻度锈蚀、中度锈蚀和重度锈蚀的单张图像,对获取到的每张图像的螺栓的轻度、中度和重度锈蚀区域分别添加对应锈蚀程度分类的标注信息;
9.步骤s4:将含有锈蚀程度分类的标注信息的图像送入图像分割算法中,以对含有锈蚀程度分类的标注信息的图像中不同锈蚀程度区域的识别,训练出适合图像锈蚀程度分类的机器学习训练模型,并将图像中的锈蚀区域按照不同锈蚀程度分别用不同的颜色区分开,以得到rgb三色图;
10.步骤s5:将所述rgb三色图转换成对应的灰度图;
11.步骤s6:将所述灰度图的a类区域、b类区域和c类区域分别转换为对应的二值化图像,以得到三张a类区域、b类区域和c类区域的二值化图像;
12.步骤s7:基于数据集中每张照片对应的三张a类区域、b类区域和c类区域的二值化图像,得到每张照片对应的整体锈蚀率,将整体锈蚀率作为因变量;将各个自然环境因素作为自变量;
13.步骤s8:将自变量作为输入,并将因变量作为样本集,输入到随机森林算法中,构建随机森林模型,通过训练随机森林模型,给出各个自然环境因素的权重值;
14.步骤s9:根据各个自然环境因素的权重值的大小,去掉权重值较小的自然环境因
素,修正剩余的自然环境因素的权重值,以更正后的随机森林模型;
15.步骤s10:向更正后的随机森林模型输入实际的自然环境因素数据,从随机森林模型获取预测出的螺栓对应的锈蚀率。
16.进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s2,包括:
17.利用opencv库中的grabcut算法,将数据集的每张照片分为前景和后景,对后景进行移除,形成仅剩目标螺栓的各张图像。
18.进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s3:对获取到的每张图像的螺栓的轻度、中度和重度锈蚀区域分别添加对应锈蚀程度分类的标注信息,包括:
19.将rgb值为(105,105,105)及其周边预设范围波动值的区域或(255,235,181)及其周边预设范围波动值的区域,设置对应的标注信息为c类区域;
20.将rgb值为(150,75,0)及其周边预设范围波动值的区域或(230,190,20)及其周边预设范围波动值的区域,设置对应的标注信息为b类区域;
21.将rgb值为(165,42,42)及其周边预设范围波动值的区域或(210,180,140)及其周边预设范围波动值的区域,设置对应的标注信息为a类区域。
22.进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s4,包括:
23.步骤s41,将含有锈蚀程度分类的标注信息的图像送入tws图像分割算法中,以对含有锈蚀程度分类的标注信息的图像中不同锈蚀程度区域的识别,训练出适合图像锈蚀程度分类的机器学习模型,并将图像中的锈蚀区域按照不同锈蚀程度分别用红、绿和蓝三种不同的颜色区分开,以得到rgb三色图,其中,红色代表a类区域、绿色代表b类区域、蓝色代表c类区域。
24.进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s41,将含有锈蚀程度分类的标注信息的图像送入tws图像分割算法中,包括:
25.取含有锈蚀程度分类的标注信息单张图像中的高斯噪声,使同一锈蚀锈蚀程度的像素值更加平滑,其二维高斯公式如下式(2):
[0026][0027]
式中:
[0028]gσ
——图像高斯模糊的权重值;
[0029]
(x,y)——像素点的位置;
[0030]
σ——方差;
[0031]
高斯模糊时采用不同的σ参数,σ等于σ
min
,2σ
min
,4σ
min
,
…
,2
n-1
σ
min
,其中,2
n-1
σ
min
≤σ
max
,使用高斯核执行5个单独的卷积,形成5张具有不同σ值的图像f;
[0032]
将5张具有不同σ值的图像f,利用sobel算子进一步做边缘检测,sobel算子通过计算每个像素点处图像强度梯度的近似值,其公式如下式(3):
[0033][0034]
ph=kh*p,pv=kv*p
ꢀꢀꢀꢀꢀꢀꢀ
(4)
[0035][0036]
式中:
[0037]
kh、kv——sobel水平边缘检测矩阵与垂直边缘检测矩阵;
[0038]
ph、pv——水平方向与垂直方向梯度幅值;
[0039]
pm——计算出的图像强度梯度的近似值;
[0040]
通过上述操作,得到5张具有边缘特征的图像g;
[0041]
同时,对图像f进行一个高斯差分处理,其中m在图像f中,用任意一个减去另一个,如式(6):
[0042][0043]
式中:
[0044]
dog——像素点的高斯差分后的像素值;
[0045]
f(x,y)——原图像的像素点的像素值;
[0046]
g(x,y)——高斯模糊后的像素值。
[0047]
经过高斯差分处理后产生10张具有特征的图像h;
[0048]
将5张图像f、5张图像g和10张图像,全部送入tws图像分割算法中训练。
[0049]
进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s5,包括:
[0050]
将8bit下的rgb三色图转化为8bit下的灰度图,rgb三色图中每个像素点的转换公式参照如式(1):
[0051]
p=gray=r*0.299+g*0.587+b*0.114
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0052]
式中:
[0053]
p——表示转化后的灰度值;
[0054]
r、g、b——分别表示8bit下的红、绿、蓝、单通的像素值。
[0055]
进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s6,包括:
[0056]
根据灰度图,利用imagej中的threshold()函数模块设置交互式阈值上限与下限中的,以灰度阈值区间(0,30)作为c类区域的二值化条件、以灰度阈值区间(30,77)作为a类区域的二值化条件和以灰度阈值区间(77,151)作为b类区域的二值化条件,在各自区域的灰度阈值区间的部分设置为白色,灰度值为0,剩余部分设置为黑色,灰度值为255,得到三张a类区域、b类区域和c类区域的二值化图像。
[0057]
进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s7,包括:
[0058]
拾取上述三张a类区域、b类区域和c类区域的二值化图像中的白色锈蚀区域的面积,计算锈蚀率ia、ib、ic,得到不同锈蚀程度的锈蚀率,锈蚀率ia、ib、ic之和即为整体锈蚀率i,利用所述机器学习训练模型,将整体锈蚀率作为因变量;
[0059]
通过前期环境监测站记录,采集一年内钢桥螺栓周围的自然环境中的降雨量状态、温度、相对湿度、no2、co、so2、o3、cl离子和pm2.5的自然环境数据,将自然环境数据作为自变量;
[0060]
采集三张a类区域、b类区域和c类区域的二值化图像对应的钢桥螺栓周围的自然环境中的降雨量状态、温度、相对湿度、no2、co、so2、o3、cl-离子和pm2.5的自然环境因素,将
自然环境因素作为自变量。
[0061]
进一步的,上述钢桥螺栓锈蚀率的预测方法中,步骤s8,训练随机森林模型,包括:
[0062]
首先,随机森林算法模型的输入是以自然环境因素为自变量,整体锈蚀率为因变量的数组作为样本集,即d={(x1,y1),(x2,y2),...(xm,ym)},其中,d代表样本集,xm表示自然环境因素数据,是一个多维的数据,ym代表整体锈蚀率i,通过弱分类器迭代t次,输出为最终的强分类器f(x)。
[0063]
其次,对于t=1,2...,t,取t=100次,对所述样本集按照训练集:验证集=8:2设置,对训练集进行第100次随机采样,共采集100次,得到包含样本的采样集d
100
;
[0064]
然后,用采样集d
100
训练100个决策树模型gm(x),在训练决策树模型的节点的时候,在节点上所有的样本特征中选择一部分样本特征,在这些随机选择的一部分样本特征中选择一个最优的特征来做决策树的左右子树划分;由这100个分类和决策树子空间构成随机森林模型,在每个决策树子空间中平均训练数据的输出的锈蚀率i
pre
;
[0065]
最后,输入验证集进行随机验证,预测出的锈蚀率i
pre
,对训练样本和预测样本的准确性的评价方法采取r2计算,如式(7)所示,或按照rmse评估,如式(8)所示;基于r2计算或rmse评估,得到评估较好的随机森林模型:
[0066][0067][0068]
其中:
[0069]
n——数据集的总数;
[0070]
和yn——分别表示第n个样本的预测出的锈蚀率i
pre
和真实值;
[0071]
——所有样本的真实值的平均值;
[0072]
rmse——均方根误差;
[0073]
r——标准误差。
[0074]
本发明的有益效果是:
[0075]
传统的方法是利用锈蚀电流或锈蚀前后的质量差异来表征锈蚀程度,且桥梁领域集中于钢板或者钢筋,本发明突破了传统的锈蚀评价方法和领域,对钢桥的高强螺栓锈蚀评价方法中,首次采用锈蚀率来评价其锈蚀程度,创新性的提出了利用锈蚀程度rgb值的差异性,基于java环境下,使用像素点进行颜色阈值分割的学习分类,拾取锈蚀率,并创新性的将锈蚀率首次作为因变量与自变量(自然环境中的降雨量状态、温度、相对湿度、no2、co、so2、o3、pm2.5数据)送入随机森林算法中,构建rf模型,建立起锈蚀率与自然环境之间的非线性关系,通过随机森林模型,给定环境条件,预测出螺栓锈蚀的的速率,达到钢桥螺栓锈蚀率的评价目的,本发明具有更好的泛用性和鲁棒性。
附图说明
[0076]
图1为本发明一实施例的整体流程示意图;
[0077]
图2为本发明一实施例的trainable weka segmentation的原理步骤图;
[0078]
图3为本发明一实施例的rf模型图;
[0079]
图4为本发明一实施例的cart决策树弱模型训练图。
具体实施方式
[0080]
如何防止螺栓的锈蚀病害,使得钢桁架桥保持原有的力学性能是目前本领域的研究重点,了解自然环境下的钢桥螺栓锈蚀规律及其评价方法有助于桥梁工程师对更加准确地对桥梁节点力学性能的评估,在结构健康监测中,有助于更加准确的掌握桥梁的健康状况及其全寿命周期的节点特性。开发研究螺栓锈蚀的评价方法,填补国内螺栓锈蚀病害评价指标方向的空白,推动计算机视觉、智能化方法在桥梁结构健康监测方向的发展,实现学科之间的行业交叉,助推产业升级,监测模式的智能化升级,从病后诊治到病前预估,实现提早预测、提前发现、提前更换的最终目标。
[0081]
有鉴于此,本发明的目的在于提供一种钢桥螺栓锈蚀率的预测方法,该方法适应复杂的自然环境,能够为钢桥螺栓锈蚀提供一种可预测的评价方法。
[0082]
随机森林(rf),是机器学习领域中的一种有监督式学习方式。
[0083]
rgb是图片的颜色通道,任何图片都可以看做由红、绿、蓝三种颜色的叠加。
[0084]
trainable weka segmentation,是一种基于java环境下的,通过基于像素点进行机器学习的方法。
[0085]
本发明包括:对拍摄的图像进行预处理,主要有背景分割、均值滤波、图像均衡化,消除噪点及光照对图像的影响,提取需要的螺栓部分;将处理后的图像送入trainable weka segmentation中,通过不同的锈蚀程度的rgb值的差异,融合机器学习算法,实现对锈蚀的颜色阈值分割,识别出轻微锈蚀、中度锈蚀、严重锈蚀区域;对识别后的图像采取8bit转换,使相应锈蚀区与其他区域二值化处理,将分别计算出相应区域的面积比,之和即为整体锈蚀率;将自然锈蚀过程中的环境参数,即降雨量状态、温度、相对湿度、no2、co、so2、o3、cl-离子、pm2.5等数据作为自变量,轻微锈蚀率、中度锈蚀率、严重锈蚀率、整体锈蚀率分别作为因变量输入到随机森林算法中,构建随机森林模型,拟合各种因素与锈蚀率之间的曲线关系,得出锈蚀的评价模型并部署,输入影响因素的含量,即可预测各阶段的锈蚀率。本发明首次利用rgb阈值分割筛分螺栓相近的锈蚀颜色,提取锈蚀区域,并首次利用随机森林将钢桥螺栓锈蚀率与自然环境建立相关性,填补国内在螺栓锈蚀评价方法与指标领域的空白,解决国内钢桁架桥节点螺栓难检测、难评价的困顿,给予桥梁工程人员适时判断螺使用状态的新的思路,并进一步为评价桥梁结构健康状况提供参考。
[0086]
如图1所示,本发明的一种钢桥螺栓锈蚀率的预测方法,包括以下步骤:
[0087]
步骤s1:数据采集。利用相机采集钢桥螺栓锈蚀的数据集;
[0088]
优选的,可以采用时间跨度可以为1年,以7天为采集间断点,对螺栓锈蚀照片进行拍摄采集,形成具有时间序列的周期数据作为所述钢桥螺栓锈蚀的数据集,本方案中所用照片可以均为4608
×
3456彩色图像,对图片数据集进行整理编号,形成使用数据集。
[0089]
步骤s2:对所述数据集的每张照片进行去背景处理,以消除背景对机器学习过程的影响;
[0090]
具体为,利用opencv库中的grabcut算法,将数据集的每张照片分为前景和后景,
对后景进行移除,形成仅剩目标螺栓的各张图像。
[0091]
步骤s3:在仅剩目标螺栓的各张图像中,获取单张图像中同时具有螺栓的轻度锈蚀、中度锈蚀和重度锈蚀的图像,对获取到的每张图像的螺栓的轻度、中度和重度锈蚀区域分别添加对应锈蚀程度分类的标注信息;
[0092]
在此,该标注信息是基于彩色图像像素点的标注,标注时,对锈蚀程度分类的划分来源如下:
[0093]
根据ds/en iso 8501-1-2007中对锈蚀的等级划分,并查询相关rgb值,得出:
[0094]
钢桥高强螺栓的轻度锈蚀表现为暗灰色或者淡黄色,其rgb值(105,105,105)与(255,235,181);
[0095]
中度锈蚀表现为褐色或者棕黄色,其rgb值(150,75,0)与(230,190,20);
[0096]
重度锈蚀表现为棕色或者棕褐色,其rgb值为(165,42,42)与(210,180,140);
[0097]
考虑到同种锈蚀颜色的正常波动范围,标注锈蚀区域时,在暗灰色、褐色或者棕黄色、棕色或者棕褐色各自周边预设范围波动的值均视为各自所属的锈蚀分类;
[0098]
标注时,标注类别具体分为a、b、c三种,其中:
[0099]
c:轻度锈蚀。表现为暗灰色或者淡黄色,属于锈蚀刚发生初期,仅有少量颜色较浅的锈蚀。
[0100]
b:中度锈蚀。表现为棕黄色或者褐色,并且伴有少量的点蚀情况,属于锈蚀发展的中期,表面大部分被锈蚀覆盖。
[0101]
a:重度锈蚀。表现为棕色或者棕褐色,且伴有大量的点蚀情况,表面基本上锈蚀,向深色转化,氧化层全面剥离。
[0102]
标注完成后,得到在单张图像上含有不同类别的锈蚀区域的标注信息。
[0103]
步骤s4:将含有锈蚀程度分类的标注信息的图像送入图像分割算法如tws算法(trainable weka segmentation)中,以对含有锈蚀程度分类的标注信息的图像中不同锈蚀程度区域的识别,训练出适合图像锈蚀程度分类的机器学习训练模型,并将图像中的锈蚀区域按照不同锈蚀程度分别用红、绿和蓝三种不同的颜色区分开,以得到rgb三色图,其中,红色代表a类区域、绿色代表b类区域、蓝色代表c类区域;
[0104]
在此,trainable weka segmentation是在基于java环境下,利用机器学习实现基于颜色阈值的图像分割,通过对像素点的学习,实现对不同锈蚀程度区域的识别,训练出适合图像锈蚀程度分类的机器学习模型,并将该图片的锈蚀区域按照不同的锈蚀程度用不同的颜色区分开,以红色代表a类区域、绿色代表b类区域、蓝色代表c类区域,保存该训练结果。
[0105]
步骤s5:将所述rgb三色图转换成对应的灰度图;
[0106]
具体的上述训练结果呈现的是8bit下的rgb三色图,为了便于对单一锈蚀程度进行二值化处理,需将其转化为8bit下的灰度图,rgb三色图中每个像素点的转换公式参照如式(1):
[0107]
p=gray = r*0.299 + g*0.587 + b*0.114 (1)
[0108]
式中:
[0109]
p——表示转化后的灰度值;
[0110]
r、g、b——分别表示8bit下的红、绿、蓝、单通的像素值;
[0111]
按照公式计算,转换后的a区域的每个像素点的灰度值为76,b区域的每个像素点的灰度值为150,c区域的每个像素点的灰度值为29,形成一张具有目标区域的灰度图片。
[0112]
步骤s6:将所述灰度图的a类区域、b类区域和c类区域分别转换为对应的二值化图像;
[0113]
具体的,根据灰度图,利用imagej中的threshold()函数模块设置交互式阈值上限与下限中的,以灰度阈值区间(0,30)作为c类区域的二值化条件、以灰度阈值区间(30,77)作为a类区域的二值化条件和以灰度阈值区间(77,151)作为b类区域的二值化条件,在各自区域的灰度阈值区间的部分设置为白色,灰度值为0,剩余部分设置为黑色,灰度值为255,得到三张a类区域、b类区域和c类区域的二值化图像。
[0114]
步骤s7:分别拾取上述三张a类区域、b类区域和c类区域的二值化图像中的白色锈蚀区域的面积,计算锈蚀率ia、ib、ic,得到不同锈蚀程度的锈蚀率,锈蚀率ia、ib、ic之和即为整体锈蚀率i,利用s4中的机器学习训练模型,处理数据集的所有图片,重复s5、s6步骤得到数据集每张图片的整体锈蚀率,将整体锈蚀率作为因变量;并且通过前期环境监测站记录,采集三张a类区域、b类区域和c类区域的二值化图像对应的钢桥螺栓周围的自然环境中的降雨量状态、温度、相对湿度、no2、co、so2、o3、cl-离子和pm2.5的自然环境数据,将自然环境数据作为自变量。形成以环境数据为自变量的输入,以锈蚀率为因变量的输出数据。
[0115]
步骤s8:将自变量作为输入,并将因变量作为样本集,输入到随机森林算法中,构建随机森林模型,通过训练随机森林模型,给出各个自然环境因素的权重,即重要性系数。
[0116]
在此,随机森林算法是一种机器学习算法,对非线性数据集具有很好的拟合能力,可以通过训练,找出自然环境因素与锈蚀之间的非线性关系。通过训练随机森林模型,给出所有自然环境因素的权重值,即重要性系数。
[0117]
步骤s9:根据重要性系数可知,温度、湿度、降雨量状态与离子浓度是影响最大的,去掉影响系数最小的pm2.5、o3的值,修正其他权重值,得到全年螺栓受各种自然因素影响的规律,形成更正后的随机森林模型。
[0118]
步骤s10:向更正厚度随机森林模型输入实际的自然环境因素数据,从随机森林模型获取预测出的螺栓对应的锈蚀率。
[0119]
进一步地,在步骤s4中,trainable weka segmentation是基于java环境下,将一系列机器学习算法与一组选定的图像特征相结合,以产生基于像素分割的方法,具体见附图2所示,在送入算法训练之前,需要对标注的图像进行一定的处理,以产生具有明显特征的图像,每一次处理均会产生一个图像,最终形成不同处理的图像堆栈,图像处理的主要方法有高斯模糊处理、sobel滤波器、高斯差异处理特征。
[0120]
首先取含有锈蚀程度分类的标注信息单张图像中的高斯噪声,使同一锈蚀锈蚀程度的像素值更加平滑,其二维高斯公式如下式(2):
[0121][0122]
式中:
[0123]gσ
——图像高斯模糊的权重值;
[0124]
(x,y)——像素点的位置;
[0125]
σ——方差;
[0126]
高斯模糊时采用不同的σ参数。σ通常等于σ
min
,2σ
min
,4σ
min
,
…
,2
n-1
σ
min
,其中2
n-1
σ
min
≤σ
max
。默认情况下σ
min
=1,σ
max
=16,因此n=5。半径越大,图像变得越模糊,直到像素都是均匀的。使用高斯核执行5个单独的卷积,形成5张具有不同σ值的图像f。
[0127]
其次,将前述处理的图利用sobel算子进一步做边缘检测,其目的是使得各种锈蚀程度之间的边缘更加界限分明,sobel算子通过计算每个像素点处图像强度梯度的近似值,其公式如下式(3):
[0128][0129]
ph=kh*p,pv=kv*p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0130][0131]
式中:
[0132]
kh、kv——sobel水平边缘检测矩阵与垂直边缘检测矩阵;
[0133]
ph、pv——水平方向与垂直方向梯度幅值;
[0134]
pm——计算出的图像强度梯度的近似值。
[0135]
通过上述操作,得到5张具有边缘特征的图像g;
[0136]
同时,对高斯模糊后的图像f进行一个高斯差分处理,其目的是检测图像多尺度下的细节结构,使得锈蚀特征更加准确突出,其原理是在高斯模糊后的图像中,用任意一个减去另一个,具体如式(6):
[0137][0138]
式中:
[0139]
dog——像素点的高斯差分后的像素值;
[0140]
f(x,y)——原图像的像素点的像素值;
[0141]
g(x,y)——高斯模糊后的像素值。
[0142]
因σ值通常是变化的,因此经过高斯差分后产生n(n-1)/2个图像,即产生10个具有特征的图像h,将前述处理的具有图像特征的20张图片/(图像f共5张、图像g共5张、图像h共10张)全部送入图像分割算法中训练。
[0143]
进一步地,在步骤s8中,进行随机森林算法模型训练的步骤是:
[0144]
首先,随机森林算法模型的输入是以自然环境因素为自变量,螺栓的整体锈蚀率为因变量的数组作为样本集,即d={(x1,y1),(x2,y2),...(xm,ym)},其中d代表样本集,xm表示自然环境影响因素数据,是一个多维的数据,ym代表整体锈蚀率i,通过弱分类器迭代t次,输出为最终的强分类器f(x)。
[0145]
其次,对于t=1,2...,t,具体次数由训练效果确定,在本项目中,取t=100次,对上述输入的样本集按照训练集:验证集=8:2设置,对训练集进行第100次随机采样,共采集100次,得到包含样本的采样集d
100
;
[0146]
然后,用采样集d
100
训练100个决策树模型gm(x),在训练决策树模型的节点的时候,在节点上所有的样本特征中选择一部分样本特征,在这些随机选择的部分样本特征中
选择一个最优的特征来做决策树的左右子树划分。rf模型由这100个分类和决策树(cart)子空间构成,在每个子空间中平均训练数据的输出的锈蚀率i
pre
,对输出的锈蚀率求取平均值来避免单个决策树模型过拟合或者不稳定的影响,形成由多个弱模型组成的一个强训练模型。
[0147]
最后,输入验证集数据的x进行随机验证,预测出的锈蚀率i
pre
,我们对训练样本和预测样本的准确性的评价方法采取r2计算,如式(7)所示,也可按照rmse评估,如式(8)所示,评估较好的模型,即可得出不同输入对整体锈蚀率i的影响:
[0148][0149][0150]
其中:
[0151]
n——数据集的总数;
[0152]
和yn——分别表示第n个样本的预测出的锈蚀率i
pre
和真实值;
[0153]
——所有样本的真实值的平均值;
[0154]
rmse——均方根误差;
[0155]
r——标准误差。
[0156]
通过验证,r2接近为1,rmse较小,预测的i
pre
与实际的yn基本吻合,说明随机森林模型的拟合能力较好,可作为评价钢桥螺栓锈蚀率的预测模型,部署该随机森林模型,作为钢桥螺栓锈蚀率的评价方法,随机森林具体原理见图3、图4所示。
[0157]
本发明的有益效果是:
[0158]
传统的方法是利用锈蚀电流或锈蚀前后的质量差异来表征锈蚀程度,且桥梁领域集中于钢板或者钢筋,本发明突破了传统的锈蚀评价方法和领域,对钢桥的高强螺栓锈蚀评价方法中,首次采用锈蚀率来评价其锈蚀程度,创新性的提出了利用锈蚀程度rgb值的差异性,基于java环境下,使用像素点进行颜色阈值分割的学习分类,拾取锈蚀率,并创新性的将锈蚀率首次作为因变量与自变量(自然环境中的降雨量状态、温度、相对湿度、no2、co、so2、o3、pm2.5数据)送入随机森林算法中,构建rf模型,建立起锈蚀率与自然环境之间的非线性关系,通过随机森林模型,给定环境条件,预测出螺栓锈蚀的的速率,达到钢桥螺栓锈蚀率的评价目的,本发明具有更好的泛用性和鲁棒性。
[0159]
本发明未详述之处,均为本领域技术人员的公知技术。
[0160]
以上详细描述了本发明的具体实施过程。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
技术特征:
1.一种钢桥螺栓锈蚀率的预测方法,其特征在于,包括:步骤s1:利用相机采集钢桥螺栓锈蚀的数据集;步骤s2:对所述数据集的每张照片进行去背景处理,以得到形成仅剩目标螺栓的各张图像;步骤s3:在仅剩目标螺栓的各张图像中,获取同时具有螺栓的轻度锈蚀、中度锈蚀和重度锈蚀的单张图像,对获取到的每张图像的螺栓的轻度、中度和重度锈蚀区域分别添加对应锈蚀程度分类的标注信息;步骤s4:将含有锈蚀程度分类的标注信息的图像送入图像分割算法中,以对含有锈蚀程度分类的标注信息的图像中不同锈蚀程度区域的识别,训练出适合图像锈蚀程度分类的机器学习训练模型,并将图像中的锈蚀区域按照不同锈蚀程度分别用不同的颜色区分开,以得到rgb三色图;步骤s5:将所述rgb三色图转换成对应的灰度图;步骤s6:将所述灰度图的a类区域、b类区域和c类区域分别转换为对应的二值化图像,以分别得到a类区域、b类区域和c类区域的共三张二值化图像;步骤s7:基于数据集中每张照片对应的a类区域、b类区域和c类区域的二值化图像,得到每张照片对应的整体锈蚀率,将整体锈蚀率作为因变量;将各个自然环境因素作为自变量;步骤s8:将自变量和因变量作为样本集,输入到随机森林算法中,构建随机森林模型,通过训练随机森林模型,给出各个自然环境因素的权重值;步骤s9:根据各个自然环境因素的权重值的大小,去掉权重值较小的自然环境因素,修正剩余的自然环境因素的权重值,以更正后的随机森林模型;步骤s10:向更正后的随机森林模型输入实际的自然环境因素数据,从随机森林模型获取预测出的螺栓对应的锈蚀率。2.如权利要求1所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s2,包括:利用opencv库中的grabcut算法,将数据集的每张照片分为前景和后景,对后景进行移除,形成仅剩目标螺栓的各张图像。3.如权利要求1所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s3:对获取到的每张图像的螺栓的轻度、中度和重度锈蚀区域分别添加对应锈蚀程度分类的标注信息,包括:将rgb值为(105,105,105)及其周边预设范围波动值的区域,或rgb值为(255,235,181)及其周边预设范围波动值的区域,设置对应的标注信息为c类区域;将rgb值为(150,75,0)及其周边预设范围波动值的区域,或rgb值为(230,190,20)及其周边预设范围波动值的区域,设置对应的标注信息为b类区域;将rgb值为(165,42,42)及其周边预设范围波动值的区域,或rgb值为(210,180,140)及其周边预设范围波动值的区域,设置对应的标注信息为a类区域。4.如权利要求3所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s4,包括:步骤s41,将含有锈蚀程度分类的标注信息的图像送入tws图像分割算法中,以对含有锈蚀程度分类的标注信息的图像中不同锈蚀程度区域的识别,训练出适合图像锈蚀程度分类的机器学习模型,并将图像中的锈蚀区域按照不同锈蚀程度分别用红、绿和蓝三种不同
的颜色区分开,以得到rgb三色图,其中,红色代表a类区域、绿色代表b类区域、蓝色代表c类区域。5.如权利要求4所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s41,将含有锈蚀程度分类的标注信息的图像送入tws图像分割算法中,包括:取含有锈蚀程度分类的标注信息单张图像中的高斯噪声,使同一锈蚀锈蚀程度的像素值更加平滑,其二维高斯公式如下式(2):式中:g
σ
表示图像高斯模糊的权重值;(x,y)表示像素点的位置;σ表示方差;高斯模糊时采用不同的σ参数,σ等于σ
min
,2σ
min
,4σ
min
,
…
,2
n-1
σ
min
,其中,2
n-1
σ
min
≤σ
max
,使用高斯核执行5个单独的卷积,形成5张具有不同σ值的图像f;将5张具有不同σ值的图像f,利用sobel算子进一步做边缘检测,sobel算子通过计算每个像素点处图像强度梯度的近似值,其公式如下式(3):p
h
=k
h
*p,p
v
=k
v
*p
ꢀꢀꢀꢀꢀꢀꢀ
(4)式中:k
h
、k
v
表示sobel水平边缘检测矩阵与垂直边缘检测矩阵;p
h
、p
v
表示水平方向与垂直方向梯度幅值;p
m
表示计算出的图像强度梯度的近似值;通过上述操作,得到5张具有边缘特征的图像g;同时,对图像f进行一个高斯差分处理,其中m在图像f中,用任意一个减去另一个,如式(6):式中:dog表示像素点的高斯差分后的像素值;f(x,y)表示原图像的像素点的像素值;g(x,y)表示高斯模糊后的像素值;经过高斯差分处理后产生10张具有特征的图像h;将5张图像f、5张图像g和10张图像,全部送入tws图像分割算法中训练。6.如权利要求5所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s5,包括:将8bit下的rgb三色图转化为8bit下的灰度图,rgb三色图中每个像素点的转换公式参
照如式(1):p=gray=r*0.299+g*0.587+b*0.114
ꢀꢀꢀꢀ
(1)式中:p表示转化后的灰度值;r、g、b分别表示8bit下的红、绿、蓝、单通的像素值。7.如权利要求6所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s6,包括:根据灰度图,利用imagej中的threshold()函数模块设置交互式阈值上限与下限中的,以灰度阈值区间(0,30)作为c类区域的二值化条件、以灰度阈值区间(30,77)作为a类区域的二值化条件和以灰度阈值区间(77,151)作为b类区域的二值化条件,在各自区域的灰度阈值区间的部分设置为白色,灰度值为0,剩余部分设置为黑色,灰度值为255,得到三张a类区域、b类区域和c类区域的二值化图像。8.如权利要求7所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s7,包括:拾取所述a类区域、b类区域和c类区域的二值化图像中的白色锈蚀区域的面积,计算锈蚀率i
a
、i
b
、i
c
,得到不同锈蚀程度的锈蚀率,锈蚀率i
a
、i
b
、i
c
之和即为整体锈蚀率i,利用所述机器学习训练模型,将整体锈蚀率作为因变量;通过前期环境监测站记录,采集一年内钢桥螺栓周围的自然环境中的降雨量状态、温度、相对湿度、no2、co、so2、o3、cl离子和pm2.5的自然环境数据,将自然环境数据作为自变量;采集a类区域、b类区域和c类区域的二值化图像对应的钢桥螺栓周围的自然环境中的降雨量状态、温度、相对湿度、no2、co、so2、o3、cl-离子和pm2.5的自然环境因素,将自然环境因素作为自变量。9.如权利要求7所述的钢桥螺栓锈蚀率的预测方法,其特征在于,步骤s8,训练随机森林模型,包括:首先,随机森林算法模型的输入是以自然环境因素为自变量,整体锈蚀率为因变量的数组作为样本集,即d={(x1,y1),(x2,y2),...(x
m
,y
m
)},其中,d代表样本集,x
m
表示自然环境因素数据,是一个多维的数据,y
m
代表整体锈蚀率i,通过弱分类器迭代t次,输出为最终的强分类器f(x);其次,对于t=1,2...,t,取t=100次,对所述样本集按照训练集:验证集=8:2设置,对训练集进行第100次随机采样,共采集100次,得到包含样本的采样集d
100
;然后,用采样集d
100
训练100个决策树模型gm(x),在训练决策树模型的节点的时候,在节点上所有的样本特征中选择一部分样本特征,在这些随机选择的一部分样本特征中选择一个最优的特征来做决策树的左右子树划分;由这100个分类和决策树子空间构成随机森林模型,在每个决策树子空间中平均训练数据的输出的锈蚀率i
pre
;最后,输入验证集进行随机验证,预测出的锈蚀率i
pre
,对训练样本和预测样本的准确性的评价方法采取r2计算,如式(7)所示,或按照rmse评估,如式(8)所示;基于r2计算或rmse评估,得到评估较好的随机森林模型:
其中:n表示数据集的总数;和y
n
分别表示第n个样本的预测出的锈蚀率i
pre
和真实值;表示所有样本的真实值的平均值;rmse表示均方根误差;r表示标准误差。
技术总结
本发明公开一种钢桥螺栓锈蚀率的预测方法,包括:对拍摄的图像进行预处理;将处理后的图像送入TWS算法中,通过不同的锈蚀程度的RGB值的差异,融合机器学习算法,实现对锈蚀颜色阈值分割,识别出轻微、中度、严重锈蚀区域;对识别后的图像的相应锈蚀区与其他区域二值化处理,计算整体锈蚀率;将自然锈蚀过程中的环境参数数据作为自变量,轻微锈蚀率、中度锈蚀率、严重锈蚀率、整体锈蚀率作为因变量输入到随机森林算法中,构建随机森林模型,输入影响因素的含量,预测各阶段的锈蚀率。本发明利用RGB阈值分割筛分螺栓相近的锈蚀颜色,提取锈蚀区域,并利用随机森林将钢桥螺栓锈蚀率与自然环境建立相关性,解决钢桁架桥节点螺栓难检测、难评价的困顿。难评价的困顿。难评价的困顿。
技术研发人员:李枝军 邵鹏 严锴 徐秀丽 李雪红
受保护的技术使用者:苏州市港航事业发展中心 南京工大交通科技有限公司
技术研发日:2023.05.06
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
