一种基于ConcreteCrackSegNet模型的混凝土裂缝检测方法

文档序号:30348916发布日期:2022-06-08 10:13阅读:270来源:国知局
一种基于ConcreteCrackSegNet模型的混凝土裂缝检测方法
一种基于concretecracksegnet模型的混凝土裂缝检测方法
技术领域
1.本发明属于工程检测技术领域,具体涉及一种基于concretecracksegnet模型的混凝土裂缝检测方法。


背景技术:

2.裂缝是确保结构的安全性、耐用性和可使用性的主要关注点,其原因是,当裂缝发展和扩展时,它们往往会导致有效载荷区域的减少,导致应力增加,从而导致混凝土或其他结构的破坏。混凝土结构随着时间的推移而老化,裂缝似乎不可避免,并且出现在所有类型的结构中,例如混凝土墙、梁、板和砖墙,以及桥梁、路面结构等,特别是对于混凝土构件,裂缝会产生接触到有害和腐蚀性化学物质以渗透到结构中,从而损害其完整性和美观性。
3.实际上,对于所有类型的结构,表面裂缝都是结构损坏和耐久性的关键指标,表面裂缝检测是监测混凝土结构健康的一项重要任务。目视检查建筑构件以检测开裂和评估物理和功能状况至关重要。然而,建筑物中的裂缝检测任务,特别是在发展中国家,通常是手动执行的。因此,需要更多的时间和精力来获得裂缝的测量值并编译或处理相关数据。此外,人工目视检查在成本和准确性方面效率低下,因为它涉及检查员的主观判断。裂纹检测的人工过程费时费力,且受检验人员主观判断的影响。在高层建筑和桥梁的情况下,手动检查也可能难以执行。


技术实现要素:

4.针对现有技术中存在的缺陷,本发明提供一种基于concretecracksegnet模型的混凝土裂缝检测方法,包括如下步骤:
5.(1)照片拍摄;
6.拍摄的混凝土照片,并将图片尺寸转化为(3,512,512),其中3为通道数,(512,512)为宽度和高度;
7.(2)标注后的照片输入到concretecracksegnet模型进行检测;
8.所述concretecracksegnet模型用于接收输入的图片,然后通过预测,输出预测到的分割的混凝土裂缝图像;
9.具体的,图片输入后,分两道,一道为空间路径模块,另一道为resnet特征提取通道;
10.图片经过经过一个空间路径模块,大小为(256,64,64),记为b;
11.图片经过resnet特征提取通道后,在全连接层前的倒数三层输出,大小分别为c(1024,32,32),d(2048,16,16)和e(2048,1,1);
12.特征c通过瓶颈注意力模块,大小还是(1024,32,32),记为f;f然后输入到注意力改进模块,大小还是(1024,32,32),记为h;然后h经过一个上采样模块1,大小变为(1024,64,64),记为j;
13.特征d通过卷积块注意力模块,大小还是(2048,16,16),即为g;
14.特征e大小为(2048,1,1);将g和e相乘,结果的大小为(2048,16,16),记作i;i经过一个上采样模块2,大小变为(2048,64,64),记作k;
15.j和k在通道维度上进行向量拼接,得到的结果为(3072,64,64),拼接结果记作l,l紧跟着一个归一化注意力模块,输出大小还是(3072,64,64),记作m;
16.上述b和m通过一个特征融合模块,输出大小为(2,64,64),记为n;
17.输出n经过一个上采样模块,大小为(2,512,512),记为o;后面接着一个卷积模块,输出大小还是(2,512,512);记为p;然后通过预测,输出预测到的分割的混凝土裂缝图像。
18.在上述方案的基础上,所述的concretecrack segnet模型由以下方法训练:
19.(1)采集桥梁混凝土结构和高速公路的混凝土照片,其中有部分照片包含有裂缝病害;
20.(2)使用labelme标注裂缝病害的包围框多边形,保存以后,就可以生成一个json文件;
21.(3)标注好的图像数据集共计5000张,按照6:2:2的比例,把图像数据集划分为训练集、验证集和测试集,所以得到训练集3000张,验证集1000张,测试集1000张;
22.(4)将图片输入到concretecracksegnet模型,通过模型和损失函数,进行模型训练;
23.(5)模型训练的过程中,会读取验证集的数据,进行模型的参数调整;
24.(6)我们设定1000个代(epoch)作为最大训练代,当训练未到达最大训练代时,继续训练,直到完成1000个代;
25.(7)训练中性能最好的模型被保存,作为最佳模型。
26.本发明还提供一种一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的混凝土裂缝的检测方法的步骤。
27.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的混凝土裂缝的检测方法的步骤。
28.本发明的concretecracksegnet模型是根据混凝土裂缝分割的具体特点结合试验提出,混凝土裂缝颜色分界不明显,而且裂缝有一定的连续性的特点,本发明采集了实际的混凝土裂缝照片,图片集包括了各种分别不明显的裂缝,试验充分考虑了裂缝的不易分辨性以及连续性。本发明的方法对图片的分割精度高,能够检测出混凝土结构的裂缝损坏,从而可早期监测到混凝土结构裂缝的衍生,为养护部门提供预养护决策提供支持,同时可节省大量的人力物力。
附图说明
29.通过阅读下文的具体实施方式的详细描述,本发明的优点和益处对于本领域普通技术人员将变得清楚明了。附图是说明性的,并不认为是对本发明的限制。在附图中:
30.图1为本发明的流程图;
31.图2为concretecracksegnet模型网络结构示意图;
32.图3为模型中空间路径模块结构示意图;
33.图4为模型中注意力改进模块结构示意图;
34.图5为模型中归一化注意力模块结构示意图;
35.图6为模型中特征融合某块结构示意图;
36.图7为本发明的方法实际的检测效果图。
具体实施方式
37.为了便于理解本技术,下面将参照相关附图对本技术进行更全面的描述。附图中给出了本技术的较佳实施方式。但是,本技术可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本技术的公开内容理解的更加透彻全面。
38.如图1所示,基于concretecracksegnet的混凝土裂缝检测方法包括以下步骤:
39.1.通过无人机拍照、工业相机等方式,采集桥梁混凝土结构和高速公路的混凝土照片,其中有部分照片包含有裂缝病害;
40.2.使用labelme软件来标注照片,labelme是一款用来标注图像的软件,使用labelme标注裂缝病害的包围框多边形,保存以后,就可以生成一个json文件。如果该照片包含裂缝病害,那么其中包含了裂缝病害多边形的各个顶点的坐标位置;如果该照片没有包含裂缝病害,那么该json文件则没有多边形数据;
41.3.标注好的图像数据集共计5000张,按照6:2:2的比例,把图像数据集划分为训练集、验证集和测试集,所以得到训练集3000张,验证集1000张,测试集1000张;
42.4.然后构建本发明提出的concretecracksegnet混凝土裂缝检测网络模型,本试验使用gpu为nvidia geforce rtx 2080,软件环境为操作系统ubuntu,深度学习使用pytorch 1.10框架。
43.5.模型构造后,还需要设定损失函数,本发明使用的主损失函数softmax,外加辅助损失函数。
44.6.输入训练数据,通过模型和损失函数,进行模型训练。
45.7.模型训练的过程中,会读取验证集的数据,进行模型的参数调整。
46.8.我们设定1000个代(epoch)作为最大训练代,当训练未到达最大训练代时,继续训练,直到完成1000个代。
47.9.训练中性能最好的模型被保存,作为最佳模型。
48.10.最佳模型还会通过测试集来进一步测试训练的效果,来证明训练好的最佳模型的有效性。
49.11.实际应用中,检测新的混凝土结构时,首先通过无人机或者工业相机采集照片,之后将采集的照片转化为标准的输入尺寸(标准的输入尺寸指的是与训练模型时输入的图片的尺寸),本专利中的标准的输入尺寸是(3,512,512),其中3为通道数,(512,512)为宽度和高度。
50.12.然后加载9中训练的最佳模型,输入11中采集的图片。
51.13.通过模型进行预测,实现图像的裂缝分割。
52.14.于是可以得到分割好裂缝的图片。
53.15.将这些分割好裂缝的混凝土结构图片提交养护部门,进行相应的裂缝病害处理。
54.上述步骤4中所使用的concretecracksegnet是根据混凝土裂缝分割的具体特点结合试验提出,混凝土裂缝颜色分界不明显,而且裂缝有一定的连续性的特点,本发明采集了实际的混凝土裂缝照片,图片集包括了各种分别不明显的裂缝,试验充分考虑了裂缝的不易分辨性以及连续性,其网络结构如图2所示。输入图像为rgb三通道图像,尺寸大小为(3,512,512),其中3为通道数,(512,512)为宽度和高度。输入图像分两道,一道为空间路径模块,另一道为resnet特征提取通道。
55.resnet(https://arxiv.org/abs/1512.03385v1)提出残差学习的思想,通过直接将输入信息绕道传到输出,保护信息的完整性,整个网络只需要学习输入、输出差别的那一部分,简化学习目标和难度。resnet有很多的旁路将输入直接连接到后面的层,这种结构也被称为shortcut或者skip connections。预训练好的resnet模型会被用来做图像的特征提取,本发明正是采用了预训练的resnet101,并使用全连接层前的倒数三层输出,大小分别为c(1024,32,32),d(2048,16,16)和e(2048,1,1)。通过预训练的resnet来为混凝土裂缝图片来提取三个层次的特征,能够在已有的模型上充分提取混凝土裂缝图片的多个分辨率的特征,这些特征能充分保留已有的裂缝信息。
56.原输入图像a同时也经过一个空间路径模块,大小为(256,64,64),记为b。
57.resnet提取的特征c通过瓶颈注意力模块,大小还是(1024,32,32),记为f;f然后输入到注意力改进模块,大小还是(1024,32,32),记为h;然后h经过一个上采样模块1,大小变为(1024,64,64),记为j。
58.resnet提取的特征d通过卷积块注意力模块,大小还是(2048,16,16),即为g。
59.resnet提取的特征e大小为(2048,1,1);将g和e相乘,结果的大小为(2048,16,16),记作i。i经过一个上采样模块2,大小变为(2048,64,64),记作k。
60.j和k的通道数不同,尺寸大小一样,均为(64,64),于是在通道维度上进行向量拼接,得到的结果为(3072,64,64),拼接结果记作l,其中3072为j的通道数1024和k的通道数2048相加的结果。l紧跟着一个归一化注意力模块,输出大小还是(3072,64,64),记作m。
61.上述b和m通道数不一样,但是宽度和高度一样,为(64,64),此时通过一个特征融合模块,输出大小为(2,64,64),记为n。
62.输出n经过一个上采样模块,大小为(2,512,512),记为o;后面接着一个卷积模块,输出大小还是(2,512,512);记为p。然后通过预测,输出预测到的分割的混凝土裂缝图像,其中裂缝部分为白色,非裂缝部分为黑色。
63.上述空间路径模块的结构如图3所示,空间路径模块包含三个卷积单元,每个卷积单元都由一个卷积核为3、步长为2的卷积函数,后面接着一个批归一化和激活函数组成。所以,输入尺寸每经过一个卷积单元,都会除以2,最后的输出特征图尺寸大小是原来的1/8。在混凝土裂缝图像分割中,传统的图像分割方法很难对输入图像保留足够的高分辨率,同时保留足够的空间信息。然而,使用了空间路径模块,能够在特征提取的另外一条路径上,既保留了足够的空间信息,又让感受野足够大,使得输出的特征图有全局空间信息,更精确地分辨出裂缝的位置和精确像素信息。
64.上述瓶颈注意力(bam)模块采用自论文bam:bottleneck attention module,对于一个3维的特征图,如本发明中的混凝土裂缝图片的特征提取c(1024,32,32),瓶颈注意力(bam)模块能输出一个同样尺寸大小输出的特征图,但是该输出特征图更加强调裂缝图片
上的重要元素。在瓶颈注意力(bam)模块中,输入特征图的处理被分为两个分支,一个为空间,另一个为通道,两个分支分别关注于”哪里看”和”看什么”方面的信息。对于一个输入的特征图,如瓶颈注意力(bam)模块产生的特征图为,优化的特征图输出为:
[0065][0066]
代表元素级别的乘法。
[0067]
m(f)的计算公式为:
[0068]
其中,是通道的注意力,是空间注意力,二者构成两个处理分支。σ是sigmoid函数。在相加前,二者都被尺寸会被变形为
[0069]
上述卷积块注意力(cbam)模块采用自论文convolutional block attention module,对于一个三维的输入图卷积块注意力模块会顺序地产生一个一维的通道注意力图和一个两维的空间注意力计算公式如下:
[0070][0071][0072]
那么f

就是优化的最终输出特征图。应用到本发明中的混凝土裂缝图片的特征提取图d(2048,16,16),因为这是裂缝图片的高维特征图,分辨率已经不是很高,使用一维的通道注意力和两维的空间注意力顺序连接,能把”哪里看”和”看什么”方面的信息的关注点得到最大程度的保留,使得后续的裂缝分割精度更高。
[0073]
上述注意力改进模块的结构如图4所示,输入s1首先经过一个平均池化层,这可以用来捕捉全局的上下文信息,尺寸大小变为原来的1/32,记为s2,然后经过一个1
×
1的卷积层,大小不变,输出记作s3。最后,将原来的输入s1和s3相乘,结果大小还是和s1一样,保持和原来的输入大小一样。注意力改进模块用于混凝土裂缝图像分割,能更好地捕捉全局图片信息,继而算出一个注意力向量来指导特征的学习,从而不需要采用上采样就可以将全局信息集成到网络上去。
[0074]
上述归一化注意力模块的结构如图5所示,对于输入特征图f1,首先经过一个归一化(bn)函数,结果和一个权重向量w
γ
相乘,最后经过一个sigmoid函数,得到输出。其公式为:mc=sigmoid(w
γ
(bn(f1)))。
[0075]
其中,归一化的计算如下公式所示:
[0076][0077]
其中,b
in
代表输入向量,代表输入向量的均值,代表输入向量的标准差,γ代表缩放因子,是可训练的参数,β代表偏移值,也是可训练的参数。∈是为了防止标准差
为0产生的无效除法计算,是一个很小的常量值,本发明中其值为0.00001。
[0078]
权重的计算公式为w
γ
=γi/∑
j=0
γj,其中j代表通道数。
[0079]
归一化注意力模块使用在混凝土裂缝分割图片上,能把resnet提取并处理和拼接的多道图片特征进行按照权重的注意力计算,更加突出关键元素的特点,如裂缝以及边缘元素等,使得后续的分割更加精准。
[0080]
上述特征融合模块的结构如图6所示,对于多道输入,如这里的输入1,来自图2中的b,输入2,来自图2中的m,分别来自不同的路径,在特征的分辨率和提取精度上也不一样,不能简单地通过相加来融合,b主要捕获的是空间的信息,而m捕获的是上下文的信息。所以,特征融合模块首先对b和m进行向量拼接,得到一个向量,然后经过一个卷积单元,得到输出记作p1。p1会经过平均池化,后面接着卷积单元2和卷积单元3,得到p2。下一步则为p1和p2相乘,得到结果为p3。p3再和p1进行向量相加,得到输出p4。这里的p2充当一个权重向量,对特征p1进行特征各个维度的权重分配,实现了特征选择和特征融合的效果。对于混凝土裂缝图片来说,来自多道的特征处理输入,包括了高分辨率的和低分辨率的,有效的特征融合能让各个特征得到充分的权重分配,突出裂缝特点,便于精确的分割。
[0081]
上述concretecracksegnet的损失函数采用了主辅损失函数,主损失函数用来衡量整个concretecracksegnet网络的输出,同时,也加了辅助损失函数来衡量上下文通道的输出,所有的损失函数都采用softmax计算,同时,使用参数α来平衡主损失函数和辅助损失函数的比重。损失函数公式为:
[0082][0083]
其中l
p
是主损失函数的损失,xi为输出特征,li则为辅助损失函数在第i阶段的损失,k在本发明中为3。
[0084]
在上述实施例的基础上,本发明通过采集的烟台高速公路桥梁混凝土裂缝图片试验数据评估concretecracksegnet模型的性能。
[0085]
所有的试验都在以下规格的计算机上进行:软件环境基于ubuntu操作系统,python3.8为主要编程语言,试验是在pytorch深度学习框架上进行的。对于每种类型的试验,除了concretecracksegnet之外,本发明将运行典型的图像分割模型,包括enet、fcn、linknet、segnet和unet等。
[0086]
enet(effificient neural network)分割网络尤其擅长低延迟的操作因为它具有更少的参数;fcn(fully convolutional networks)使用全卷积而不是全连接层,是第一个取得重大突破的分割模型;linknet分割模型也是基于编码器解码器架构,通过较少的参数个数,取得较好的准确度;segnet分割模型专为高效的语义分割设计;unet是一个对称的编码器-解码器架构,就像字母u形状,一开始用于医学图像分割。
[0087]
对于本发明中的裂缝分割任务,使用以下评价指标:准确度、平均iou、精确度(p)、召回率(r)和f1。f1分数是准确度和召回率的调和平均值,裂纹像素(图像中的白色像素)被定义为正样本,根据标记的结果和预测的结果的组合,将像素分为四种类型:真阳性(tp)、假阳性(fp)、真阴性(tn)和假阴性(fn)。
[0088]
准确度(precision)定义为所有预测像素上正确识别的像素数;精度定义为正确预测的裂纹像素相对于所有预测为裂纹的像素的比率;召回(recall)定义为正确预测的裂
纹像素相对于所有真实裂纹像素的比率;f1分数是准确度和召回率的调和平均值,其中准确度(precision)为公式(9),召回(recall)为公式(10),f1分数为公式:
[0089][0090][0091][0092]
交并集(iou)反映了两个对象之间的重叠程度。在发明中,iou在“裂缝”类别上进行评估,以提供混凝土真实裂缝与预测裂缝之间重叠的一种度量,为公式:
[0093][0094]
采用不同的分割模型,利用建立的混凝土裂缝损坏图像数据集进行的试验结果如表1所示:
[0095]
表1不同的分割模型试验结果
[0096]
分割模型精确度/%平均iou召回率/%f1/%enet83.3980.0482.6884.5fcn87.2579.8589.1989.77linknet87.0579.4985.3688.85segnet84.4670.2573.4582.09unet90.0180.5170.0473.09concretecracksegnet91.6382.1494.5291.54
[0097]
从表1的试验结果可知,concretecracksegnet在精确度(91.63%)和f1(91.54%)上都明显优于其他分割模型,在混凝土裂缝分割上取得非常好的效果。
[0098]
图7显示了concretecracksegnet对混凝土裂缝的分割效果图,左边为原图,右边部分为分割效果图。从图中可以看出,concretecracksegnet对图像的分割非常精确,能够检测出混凝土结构的裂缝损坏,从而可早期监测到混凝土结构裂缝,为养护部门提供预养护决策提供支持,同时可节省大量的人力物力。
[0099]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1