一种基于像素级深度学习的混凝土坝表面裂缝检测方法

未命名 07-29 阅读:111 评论:0


1.本发明属于混凝土裂缝检测技术领域,具体涉及一种基于像素级深度学习的混凝土坝表面裂缝检测技术。


背景技术:

2.混凝土坝长期暴露于大气与水环境中,承受水流冲刷、温度变化以及干湿、冻融等外界作用,其表面不可避免会出现缺陷,其中裂缝是威胁坝体安全稳定的最主要因素。裂缝不仅存在于大坝表面,若不及时处理还将延伸至坝体内部,影响大坝的强度和使用寿命,甚至引发渗漏、坍塌等安全事故。因此,及时识别和检测混凝土坝表面裂缝对预示工程险情和保障大坝安全具有重要意义。
3.在现有技术中,基于计算机视觉的裂缝图像检测方法已经得到了相关研究,且可分为传统图像分割方法和深度学习语义分割方法。传统图像分割方法主要是利用图像中裂缝自身像素的灰度值比背景低、图像二值化、图像滤波器和数值图像等低阶视觉信息实现对裂缝的识别分割。与人工直接检测相比,传统图像分割方法具备一定安全性和可行性,但当背景存在大量噪声时精度低,易受外界因素干扰,分割结果不准确。而且该类方法对裂缝进行检测时步骤较多,需要人为不断进行调整参数以适应分割场景,检测效率低,在精度和效率上满足不了实际工程场景应用需要,需要进一步建立精确、高效的裂缝智能分割方法。
4.相较基于低阶视觉信息的传统图像分割方法,深度学习语义分割方法采用的高阶视觉信息具有更高的精度和鲁棒性。经过对现有研究分析,深度学习语义分割算法对裂缝检测具备了可行性,但大部分研究主要是基于公开数据集下的房屋建筑物、路面、桥梁裂缝实验研究,而对混凝土坝裂缝安全检测的研究较少。公开号为cn115731172a的专利公开了一种基于图像增强和纹理提取的裂缝检测方法,通过添加注意力的方式改进unet网络检测裂缝,但没有建立残差网络,不能通过增加网络深度来强化模型的特征提取能,导致特征信息提取有限,检测能力弱。公开号为cn115131664a的专利公开了一种混凝土细小裂缝识别方法,提高混凝土细小裂缝的检测精度,但该方法数据集需要采集大量数据集,且人工标注费时费力。
5.因此,若直接将上述现有技术应用于混凝土坝表面裂缝检测还存在以下问题:
6.1)坝面裂缝图像的采集和数据标注人工成本高,导致坝面裂缝数据集稀缺,数据集不足会严重影响裂缝特征提取和图像分割。由于公开数据集中的裂缝与坝面裂缝特征和分别差异较大,不能直接将公开裂缝数据集扩充到坝面裂缝图像中,混凝土坝裂缝数据集样本量少会导致模型训练不充分,易出现漏检;
7.2)混凝土坝图像中裂缝所占的像素点少,而背景却占了图像绝大部分,导致模型对坝面裂缝特征信息提取不充分,细小裂缝分割能力弱;
8.3)实际工程中的裂缝更具复杂性,现有算法对光照不均、裂缝与周边环境对比度低等情况下的混凝土坝裂缝检测鲁棒性低、像素准确率低,使边缘分割平滑。


技术实现要素:

9.本发明的目的是为了解决现有技术存在的坝面数据图像采集困难、数据标注人工成本高,使大坝裂缝数据集缺乏导致模型训练欠拟合、不充分、检测精度低以及现有方法对微小裂缝所占的像素点少、裂缝与周边环境对比度低,导致模型对坝面裂缝特征信息提取能力弱、细小裂缝分割能力弱、像素准确率低的技术问题,而提供的一种基于像素级深度学习的混凝土坝表面裂缝检测方法。
10.为解决上述技术问题,本发明采用的技术方案为:
11.一种基于像素级深度学习的混凝土坝表面裂缝检测方法,包括以下步骤:
12.步骤1:获取混凝土坝表面裂缝图像和两阶段迁移学习训练方式;
13.步骤2:构建大坝裂缝检测模型;
14.步骤3:采用大坝裂缝检测模型对混凝土坝表面裂缝图像中的每个像素点进行识别,并获取混凝土坝的裂缝形状检测结果。
15.在步骤1中,具体包括以下子步骤:
16.步骤1-1:进行训练模型数据集的采集:
17.(1)本发明用来训练模型的数据集有3部分,分别为pascal voc 2012数据集、第一阶段跨域训练裂缝数据集dataseta和第二阶段目标域混凝土坝表面裂缝图像数据集datasetb;
18.(2)pascal voc 2012为计算机视觉挑战赛数据集,由1464张训练集图像、1449张验证集图像组成,包含20类别和1个背景。
19.(3)第一阶段跨域训练裂缝数据集dataseta通过收集网上公开裂缝数据集crackforest,sdnet2018,aft original crack dataset second组成。
20.(4)第二阶段目标域混凝土坝表面裂缝图像数据集datasetb通过无人机对混凝土坝表面进行采集,无人机依次经过大坝裂缝易形成的关键点位拍摄图像,最后将采集的巡检数据的图片或视频储存在机身内置的ssd卡中并返回到起航点。
21.步骤1-2:进行训练模型数据集的制作:
22.(1)人工采用labelme标注工具手动对第二阶段目标域datasetb进行像素级标注。
23.(2)为保障该数据集能适应不同复杂环境,使得模型具备更强的泛化能力和鲁棒性,对第二阶段目标域datasetb进行了扩充。
24.(3)图像标注后经过图像增强算法retinex、调整图像光度、对比度和空间变化(随机旋转、翻转)对图像进行了扩充。
25.(4)第二阶段目标域datasetb按比例8:2随机划分为训练集和验证集。
26.步骤1-3:进行两阶段迁移学习训练:
27.(1)训练初始,在输入端设置将所有数据集图像重塑其尺寸为512
×
512像素大小;
28.(2)模型训练batch_size为8、epoch为300、优化器为adam、momentum为0.9、初始学习率为0.0001、学习率下降方式为cosineannealinglr、损失函数为cross entropy loss;
[0029][0030]
y为真实值分布;为网络输出分布;n为总类别数;
[0031]
(3)第一阶段是基于跨域的模型知识迁移,即利用源域对目标域共享模型参数。利
用源域pascal voc 2012数据集模型得到的训练结果作为第一阶段目标域dataseta的预训练模型,在源域和目标域中找到两者之间共享的参数信息,使第一阶段目标域dataseta在训练过程中从算法和模型的角度进行参数更新,避免网络从零学习,使第二阶段能获得一个更好的导师模型;
[0032]
(4)第二阶段是基于域内的特征知识迁移,即将源域和目标域的特征从原始特征空间映射到新特征空间中。将第一阶段迁移学习后的dataseta预训练模型作为第二阶段的源域,从相关领域中学习相同信息和知识结构,通过迁移学习方法将源域中存在与目标域相同的特征表示迁移到第二阶段目标域datasetb中,从而在新空间中更好地利用源域中已有的标记数据样本进行分类训练,解决坝面裂缝标注图像稀缺导致精度差的问题;
[0033]
(5)由于第一阶段和第二阶段在图像特征上是相同领域,为加快训练效率和防止权值被破坏,在第二阶段迁移训练中加入了冻结训练步骤。即在训练的前150代冻结了主干网络,仅对解码分类器进行训练,后150代解冻对整个网络进行训练学习。
[0034]
在步骤2中,具体包括以下子步骤:
[0035]
步骤2-1:搭建resnet50网络作为unet模型编码器的特征提取网络,通过residual模块加深网络层数和提取能力充分获取裂缝特征信息,使模型可以有效地学习坝面裂缝的深层特征,提高模型对裂缝分割精度;
[0036]
步骤2-2:将多层并行残差注意力添加到跳跃连接层中,通过获取更多语义信息以增强模型的特征表达能力,以抑制无关区域中的特征响应,提高有效特征信息通道的重要性,使网络专注于裂缝特征信息,补充细节损失,使模型更精确对坝面裂缝图像进行分割。
[0037]
在步骤2中,所建立的大坝裂缝检测模型的结构为:
[0038]
检测图像视频通过一次7
×
7卷积,bn,rulu

maxpool

1282×
64大小的第一编码特征图f1;
[0039]
第一编码特征图f1→
残差模块
×
3,得到1282×
256大小的第二编码特征图f2;第一编码特征图f1→
mprattention,得到第一增强特征图u1;
[0040]
第二编码特征图f2→
残差模块
×
4,得到642×
512大小的第三编码特征图f3;第二编码特征图f2→
mprattention,得到第二增强特征图u2;
[0041]
第三编码特征图f3→
残差模块
×
6,得到322×
1024大小的第四编码特征图f4;第三编码特征图f3→
mprattention,得到第三增强特征图u3;
[0042]
第四编码特征图f4→
残差模块
×
3,得到162×
2048大小的第五编码特征图f5;第四编码特征图f4→
mprattention,得到第四增强特征图u4;
[0043]
第五编码特征图f5→
up-conv层上采样

与第四增强特征图u4融合补充细节损失,得到322×
2048大小的第一解码特征图g1。
[0044]
第一解码特征图g1→
conv 3
×
3层卷积,rulu

conv 3
×
3层卷积,rulu

up-conv层上采样

与第三增强特征图u3融合补充细节损失,得到642×
1024大小的第二解码特征图g2。
[0045]
第二解码特征图g2→
conv 3
×
3层卷积,rulu

conv 3
×
3层卷积,rulu

up-conv层上采样

与第二增强特征图u2融合补充细节损失,得到1282×
512大小的第三解码特征图g3。
[0046]
第三解码特征图g3→
conv 3
×
3层卷积,rulu

conv 3
×
3层卷积,rulu

up-conv
层上采样

与第一增强特征图u1融合补充细节损失,得到2562×
256大小的第四解码特征图g4。
[0047]
第四解码特征图g4→
conv 3
×
3层卷积,rulu

up-conv层上采样

conv 3
×
3层卷积,rulu

conv 1
×
1,sigmoid

裂缝图像。
[0048]
残差模块的结构根据输入的特征图通道数与输出通道数是否一致而变化;
[0049]
情况一:
[0050]
若输入的特征图通道数与输出通道数一致时,大坝裂缝检测模型中残差模块的结构为:
[0051]
输入的特征图为x

conv 1
×
1层卷积,bn,rulu

conv 3
×
3层卷积,bn,rulu

conv 1
×
1层卷积,bn

得到f(x);
[0052]
f(x)

与x残差结构融合防止梯度爆炸

深层次的特征图h(x)。
[0053]
情况二:
[0054]
若输入特征图通道数与输出通道数不一致,大坝裂缝检测模型中残差模块的结构为:
[0055]
输入的特征图为x

conv 1
×
1层卷积,bn,rulu

conv 3
×
3层卷积,bn,rulu

conv 1
×
1层卷积,bn

得到f(x);
[0056]
输入的特征图为x

conv 1
×
1层卷积,bn

得到k(x);
[0057]
f(x)

与k(x)残差结构融合防止梯度爆炸

深层次的特征图h(x)。
[0058]
大坝裂缝检测模型中多层并行残差注意力模块的结构为:
[0059]
输入特征图x

残差结构融合防止梯度爆炸

skip层特征图;
[0060]
输入特征图x

conv 1
×
1层卷积增加模型的非线性能力

f1(x)特征图;
[0061]
输入特征图x

conv 3
×
3层卷积,bn,rulu多尺度卷积下进行特征学习

f2(x)特征图;
[0062]
输入特征图x

atrous conv3
×
3层卷积,dilation rate 3增加模型感受野

f3(x)特征图;
[0063]
多层并行残差注意力模块输出y=skip+f1(x)+f2(x)+f3(x),通过add的方式进行融合。
[0064]
与现有技术相比,本发明具有如下技术效果:
[0065]
本发明采用无人机和rm-unet对混凝土坝表面裂缝进行检测。首先,通过对unet进行了改进增强对细微裂缝的提取效果,从而提升了模型对裂缝边缘形状的分割精度和准确度。其次两阶段迁移学习通过跨域学习和域内学习的方式,将相关领域知识转移到目标领域,使模型在小规模数据集下得到充分训练,使得rm-unet的检测能力和优于目前先进语义分割模型;最后使用无人机对大坝进行巡检,将航拍结果使用rm-unet模型进行处理,可以及时、高效对大坝健康进行诊断,解决人工判别和目前图像识别效率低、识别能力差的情况。综上,本发明方法在混凝土坝面裂缝检测具有更高的效率和精度,具备更强的鲁棒性,可以为大坝安全检测提供更好的替代或补充办法。
附图说明
[0066]
下面结合附图和实施例对本发明作进一步说明:
[0067]
图1是本发明中rm-unet模型的框架结构图;
[0068]
图2是本发明中残差模块a的结构示意图;
[0069]
图3是本发明中残差模块b的结构示意图;
[0070]
图4是本发明中多层并行残差注意力模块的结构示意图;
[0071]
图5是本发明中两阶段迁移学习训练过程示意图;
[0072]
图6是unet和rm-unet损失对比图;
[0073]
图7是混凝土表面隐晦裂缝图;
[0074]
图8是混凝土表面隐晦裂缝像素级检测结果示意图;
[0075]
图9是混凝土表面复杂裂缝图;
[0076]
图10是混凝土表面复杂裂缝像素级检测结果示意图;
具体实施方式
[0077]
一种基于像素级深度学习的混凝土坝表面裂缝检测方法,
[0078]
步骤1:获取混凝土坝表面裂缝图像和两阶段迁移学习训练方式;
[0079]
步骤2:构建大坝裂缝检测模型;
[0080]
步骤3:采用大坝裂缝检测模型对混凝土坝表面裂缝图像中的每个像素点进行识别,并获取混凝土坝的裂缝形状检测结果。
[0081]
在步骤1中,深度学习模型训练需要大量标记的训练数据,而复杂环境下的混凝土坝表面裂缝图像数据获取不易,且采集和数据标注的人工成本高,为解决深度学习训练数据不足的问题,本发明采用两阶段前学习策略,它包括以下子步骤:
[0082]
步骤1-1:训练模型数据集采集
[0083]
(1)本发明用来训练模型的数据集有3部分,分别为pascal voc 2012数据集、第一阶段跨域训练裂缝数据集dataseta和第二阶段目标域混凝土坝表面裂缝图像数据集datasetb。
[0084]
(2)pascal voc 2012为计算机视觉挑战赛数据集,由1464张训练集图像、1449张验证集图像组成,包含20类别和1个背景。
[0085]
(3)第一阶段跨域训练裂缝数据集dataseta通过收集网上公开裂缝数据集crackforest,sdnet2018,aft original crack dataset second组成。
[0086]
(4)第二阶段目标域混凝土坝表面裂缝图像数据集datasetb通过无人机对混凝土坝表面进行采集,无人机依次经过大坝裂缝易形成的关键点位拍摄图像,最后将采集的巡检数据的图片或视频储存在机身内置的ssd卡中并返回到起航点。
[0087]
步骤1-2:训练模型数据集制作
[0088]
(1)人工采用labelme标注工具手动对第二阶段目标域datasetb进行像素级标注。
[0089]
(2)为保障该数据集能适应不同复杂环境,使得模型具备更强的泛化能力和鲁棒性,对第二阶段目标域datasetb进行了扩充。
[0090]
(3)图像标注后经过图像增强算法retinex、调整图像光度、对比度和空间变化(随机旋转、翻转)对图像进行了扩充。
[0091]
(4)第二阶段目标域datasetb按比例8:2随机划分为训练集和验证集。
[0092]
步骤1-3:两阶段迁移学习训练
[0093]
(1)训练初始,在输入端设置将所有数据集图像重塑其尺寸为512
×
512像素大小。
[0094]
(2)模型训练batch_size为8、epoch为300、优化器为adam、momentum为0.9、初始学习率为0.0001、学习率下降方式为cosineannealinglr、损失函数为cross entropy loss。
[0095][0096]
y为真实值分布;为网络输出分布;n为总类别数;
[0097]
(3)第一阶段是基于跨域的模型知识迁移,即利用源域对目标域共享模型参数。利用源域pascal voc 2012数据集模型得到的训练结果作为第一阶段目标域dataseta的预训练模型,在源域和目标域中找到两者之间共享的参数信息,使第一阶段目标域dataseta在训练过程中从算法和模型的角度进行参数更新,避免网络从零学习,使第二阶段能获得一个更好的导师模型。
[0098]
(4)第二阶段是基于域内的特征知识迁移,即将源域和目标域的特征从原始特征空间映射到新特征空间中。将第一阶段迁移学习后的dataseta预训练模型作为第二阶段的源域,从相关领域中学习相同信息和知识结构,通过迁移学习方法将源域中存在与目标域相同的特征表示迁移到第二阶段目标域datasetb中,从而在新空间中更好地利用源域中已有的标记数据样本进行分类训练,解决坝面裂缝标注图像稀缺导致精度差的问题。
[0099]
(5)由于第一阶段和第二阶段在图像特征上是相同领域,为加快训练效率和防止权值被破坏,在第二阶段迁移训练中加入了冻结训练步骤。即在训练的前150代冻结了主干网络,仅对解码分类器进行训练,后150代解冻对整个网络进行训练学习。
[0100]
在步骤2中,为进一步提高unet模型对隐晦、细小裂缝的分割能力和边缘识别精度,使混凝土坝表面裂缝分割得能更精确,对unet模型进行了改进,并取名为rm-unet,它包括以下子步骤:
[0101]
步骤2-1:搭建resnet50网络作为unet模型编码器的特征提取网络,通过residual模块加深网络层数和提取能力充分获取裂缝特征信息,使模型可以有效地学习坝面裂缝的深层特征,提高模型对裂缝分割精度。
[0102]
步骤2-2:设计了一种多层并行残差注意力添加到跳跃连接层中,通过获取更多语义信息以增强模型的特征表达能力,不仅可以抑制无关区域中的特征响应,提高有效特征信息通道的重要性,使网络专注于裂缝特征信息,补充细节损失,使模型更精确对坝面裂缝图像进行分割。
[0103]
如图1所示,在步骤2中,所建立的大坝裂缝检测模型的结构为:resnet50主干提取网络结构、多层并行残差注意力模块(multilayer parallel residual attention,mpr)、unet解码器;具体为:检测图像视频通过一次7
×
7卷积,bn,rulu

maxpool

1282×
64大小的第一编码特征图f1。
[0104]
第一编码特征图f1→
残差模块
×
3,得到1282×
256大小的第二编码特征图f2;第一编码特征图f1→
mprattention,得到第一增强特征图u1;
[0105]
第二编码特征图f2→
残差模块
×
4,得到642×
512大小的第三编码特征图f3;第二编码特征图f2→
mprattention,得到第二增强特征图u2;
[0106]
第三编码特征图f3→
残差模块
×
6,得到322×
1024大小的第四编码特征图f4;第三编码特征图f3→
mprattention,得到第三增强特征图u3;
[0107]
第四编码特征图f4→
残差模块
×
3,得到162×
2048大小的第五编码特征图f5;第四编码特征图f4→
mprattention,得到第四增强特征图u4;
[0108]
第五编码特征图f5→
up-conv层上采样

与第四增强特征图u4融合补充细节损失,得到322×
2048大小的第一解码特征图g1。
[0109]
第一解码特征图g1→
conv 3
×
3层卷积,rulu

conv 3
×
3层卷积,rulu

up-conv层上采样

与第三增强特征图u3融合补充细节损失,得到642×
1024大小的第二解码特征图g2。
[0110]
第二解码特征图g2→
conv 3
×
3层卷积,rulu

conv 3
×
3层卷积,rulu

up-conv层上采样

与第二增强特征图u2融合补充细节损失,得到1282×
512大小的第三解码特征图g3。
[0111]
第三解码特征图g3→
conv 3
×
3层卷积,rulu

conv 3
×
3层卷积,rulu

up-conv层上采样

与第一增强特征图u1融合补充细节损失,得到2562×
256大小的第四解码特征图g4。
[0112]
第四解码特征图g4→
conv 3
×
3层卷积,rulu

up-conv层上采样

conv 3
×
3层卷积,rulu

conv 1
×
1,sigmoid

裂缝图像。
[0113]
如图2所示,若输入的特征图通道数与输出通道数一致时,在图1中的残差模块的结构为:
[0114]
输入的特征图为x

conv 1
×
1层卷积,bn,rulu

conv 3
×
3层卷积,bn,rulu

conv 1
×
1层卷积,bn

得到f(x)。
[0115]
f(x)

与x残差结构融合防止梯度爆炸

深层次的特征图h(x)。
[0116]
如图3所示,若输入特征图通道数与输出通道数不一致,残差结构需要进行1次1
×
1卷积调整通道数,在图1中的残差模块的另一种结构为:
[0117]
输入的特征图为x

conv 1
×
1层卷积,bn,rulu

conv 3
×
3层卷积,bn,rulu

conv 1
×
1层卷积,bn

得到f(x)。
[0118]
输入的特征图为x

conv 1
×
1层卷积,bn

得到k(x)。
[0119]
f(x)

与k(x)残差结构融合防止梯度爆炸

深层次的特征图h(x)。
[0120]
如图4所示,在图1中的多层并行残差注意力模块的结构为:
[0121]
多层并行残差注意力模块由skip、1
×
1卷积层、3
×
3卷积层以及采样率为3的空洞卷积层组成,4个部分在并行状态进行卷积计算。
[0122]
输入特征图x

残差结构融合防止梯度爆炸

skip层特征图。
[0123]
输入特征图x

conv 1
×
1层卷积增加模型的非线性能力

f1(x)特征图。
[0124]
输入特征图x

conv 3
×
3层卷积,bn,rulu多尺度卷积下进行特征学习

f2(x)特征图。
[0125]
输入特征图x

atrous conv3
×
3层卷积,dilation rate 3增加模型感受野

f3(x)特征图。
[0126]
多层并行残差注意力模块输出y=skip+f1(x)+f2(x)+f3(x),通过add的方式进行融合,在不扩大通道数、增加计算量的同时增加特征图每一维度的裂缝信息量,从而降低无关特征信息对后续裂缝识别结果的影响。
[0127]
针对现有注意力机制对微细裂缝检测性能提升不明显,设计了一种多层并行的残
差注意力,以增加模型对裂缝特征信息关注度,减少噪声对裂缝边缘识别的影响,提高模型像素检测准确率。
[0128]
为了便于本领域普通技术人员更好的理解本发明,进一步解释如下:
[0129]
一、混凝土坝表面裂缝数据集制作和两阶段迁移学习训练;
[0130]
语义分割为监督学习中的一种,需要大量标记的训练数据,而复杂环境下的混凝土坝表面裂缝图像数据获取不易,且采集和数据标注的人工成本高,数据集缺乏易导致模型训练不充分、检测精度低。为解决深度学习训练数据不足的问题,本发明采用两阶段前学习策略,因此所用的数据集有3部分,分别为pascal voc 2012数据集、第一阶段跨域训练裂缝数据集(dataseta)和第二阶段目标域混凝土坝表面裂缝图像数据集(datasetb)。pascal voc 2012数据集由1464张训练集图像、1449张验证集图像组成,包含20类别和1个背景。第一阶段跨域训练裂缝数据集dataseta由公开裂缝数据集crackforest,sdnet2018,aft original crack dataset second组成。
[0131]
第二阶段目标域混凝土坝表面裂缝图像数据集datasetb通过无人机对混凝土坝表面进行采集,无人机依次经过大坝裂缝易形成的关键点位拍摄图像,最后将采集的巡检数据的图片或视频储存在机身内置的ssd卡中并返回到起航点。将无人机拍摄数据经过人工校核裂缝图像,去除模糊、畸变和冗余图像,保留符合要求的图像,并对其进行retinex增强、调整图像光度、对比度和空间变化(随机旋转、翻转)扩充,保障该数据集能适应不同复杂环境,使得模型具备更强的泛化能力和鲁棒性。
[0132]
本发明混凝土坝表面裂缝检测方法属于监督学习,为保证数据集质量和目标信息准确性,datasetb均为人工采用labelme标注工具手动进行像素级标注,使裂缝识别效果能够达到预期效果。最后将datasetb按比例8:2随机划分为训练集和验证集。
[0133]
将收集的3种数据集进行学习训练,训练初始,在输入端设置将所有数据集图像重塑其尺寸为512
×
512像素大小。(1)第一阶段是基于跨域的模型知识迁移,利用源域对目标域共享模型参数。将源域pascal voc 2012数据集模型得到的训练结果作为第一阶段目标域(dataseta)的预训练模型,在源域和目标域中找到两者之间共享的参数信息,使dataseta在训练过程中从算法和模型的角度进行参数更新,避免网络从零学习,使第二阶段能获得一个更好的导师模型。(2)第二阶段是基于域内的特征知识迁移,即源域和目标域的特征从原始特征空间映射到新特征空间中。将第一阶段迁移学习后的dataseta预训练模型作为第二阶段的源域,从相关领域中学习相同信息和知识结构,通过迁移学习方法将源域中存在与目标域相同的特征表示迁移到目标域(datasetb)中,从而在新空间中更好地利用源域中已有的标记数据样本进行分类训练,解决坝面裂缝标注图像稀缺导致精度差的问题。
[0134]
两个阶段均训练300代,但由于第一阶段和第二阶段在数据、任务和模型上具有相似性,为加快训练效率和防止权值被破坏,在第二阶段迁移训练中加入了冻结训练步骤。即在训练的前150代冻结了主干网络,仅对解码分类器进行训练,后150代解冻对整个网络进行训练学习。rm-unet使用交叉熵ce损失函数进行训练,交叉熵损失函数能帮助模型从训练样本中评估出最接近目标分布的预测概率密度函数,衡量两个分布之间的距离。通过两阶段迁移学习策略能后可得到一个精度高、鲁棒性强的混凝土坝表面裂缝智能检测模型。
[0135][0136]
y为真实值分布;
[0137]
为网络输出分布;
[0138]
n为总类别数;
[0139]
如图6所示,训练过程中损失曲线是下降的,当损失曲线基本与x轴平行即可结束训练,训练结果良好,训练结束后即可得到该数据集的模型权重,且rm-unet损失值较unet下降到更低的数值,也说明了本发明提出方法的有效性,模型的检测识别能力更优。
[0140]
二、大坝裂缝检测模型构建
[0141]
unet模型整体上可以分为两个部分,分别为编码器和解码器,编码器的作用是用于对输入的图像进行特征提取,以逐步获得图像中高阶语义特征信息,解码器的作用是对输入进来的特征图进行上采样和卷积逐步恢复图像尺寸和特征图通道数,最后预测对图像中像素进行分类。为加强编码器和解码器之间的信息传递,unet模型设计了跳跃连接,使编码器相应阶段的高分辨率浅层信息输出直接输入到解码器,补充因下采样或卷积而丢失的部分特征信息。
[0142]
为进一步提高unet模型对隐晦、细小裂缝的分割能力和边缘识别精度,使混凝土坝表面裂缝分割得能更精确,对unet模型进行了改进,并取名为rm-unet,改进后的模型结构如图1。具体改进措施为:(1)搭建resnet50网络作为unet模型编码器的特征提取网络,通过residual模块加深网络层数和提取能力充分获取裂缝特征信息,使模型可以有效地学习坝面裂缝的深层特征,提高模型对裂缝分割精度;(2)设计了一种多层并行残差注意力添加到跳跃连接层中,通过获取更多语义信息以增强模型的特征表达能力,不仅可以抑制无关区域中的特征响应,提高有效特征信息通道的重要性,使网络专注于裂缝特征信息,补充细节损失,使模型更精确对坝面裂缝图像进行分割。
[0143]
(1)搭建的resnet50特征提取网络
[0144]
为强化unet主干网络对裂缝特征信息的提取,提高裂缝检测精度,搭建resnet50主干网络作为unet编码器,resnet50网络如表1所示。resnet50网络中每个残差模块由1
×
1、3
×
3、1
×
1的3个卷积层串接在一起组成,并添加一个残差结构,保留部分浅层信息,可以防止梯度爆炸带来模型退化的问题。残差模块分为2种,如图2、3所示,若输入的特征图通道数与输出通道数一致时,残差模块为图2,若输入特征图通道数与输出通道数不一致,残差结构需要进行1次1
×
1卷积调整通道数,残差模块则为图3。
[0145]
表1resnet50网络结构
[0146][0147]
(2)设计的多层并行残差注意力(multilayer parallel residual attention)
[0148]
针对裂缝在图像中信息少、像素分割准确率低的问题设计一个多层并行残差注意力(multilayer parallel residual attention,mpr)添加在跳跃连接中,使解码器能获得更多重要的语义信息进行学习,增加边缘分割精度。多层并行残差模块由4部分组成(图4),分别是skip、1
×
1卷积层、3
×
3卷积层以及采样率为3的空洞卷积层,4个部分在并行状态进行卷积计算。skip部分是将输入特征图x直接跳过fi(x)相加到后面的输出部分,将前一层的特征信息保留到后一层的特征图y中,保护信息的完整性。1
×
1卷积和3
×
3卷积部分可以使模型在多尺度卷积下进行特征学习,提取深层次的语义信息,增加模型的非线性能力。空洞卷积层部分使用采样率为3的空洞卷积,在相同参数量和计算量下使模型拥有更大的感受野,有利于改善裂缝边缘识别信息遗漏的问题。最后将4个的输出进行相加,增加特征图每一维度的裂缝信息量,从而降低无关特征信息对后续裂缝识别结果的影响。
[0149]
三、无人机坝面巡检
[0150]
采用御mavic air 2无人机对混凝土坝进行巡检,该御mavic air 2是一种轻量级无人机,性能均衡,可实现4800万像素拍摄、34分钟飞行时间,在apas障碍物感知系统开启的情况下,依然拥有良好的机动性,并能实现10公里全高清图像传输,对裂缝的实时检测提供极大帮助。无人机从设计的启航点出发,根据大坝情况设定航拍路线,对混凝土坝进行拍摄,采集下来的图片或视频储存在机身内置的ssd卡中,并实时传输至地面信号站点上的人工智能服务器中,并通过无人机定位系统记录拍摄的位置信息,巡检航拍结束后返回启航点结束此次巡检任务。
[0151]
六、大坝表面裂缝像素级检测(图像导入深度学习服务器,使用本文模型进行检测)
[0152]
无人机巡检后得到的图像数据传输至人工智能服务器,人工智能服务器启动两阶段迁移学习训练后的rm-unet检测模型对图像中的裂缝进行识别。具体流程为(1)将待识别
图像作为输入端;(2)图像输入后进行编码,即使用resnet50主干网络进行特征提取,主要通过卷积、下采样、池化等操作获取图像上下文特征信息;(3)将编码获得的特征信息使用多层并行残差注意力进行增强,使网络专注于裂缝特征信息;(4)将编码器的特征信息进行解码,即通过上采样将图像恢复到原来的尺寸并与步骤(3)增强后的特征信息进行融合,补充卷积而丢失的部分特征信息;(5)最后为输出层,即通过归一化指数函数softmax对图像每个像素点进行分类,从而对图像中的每个像素点进行识别并将混凝土坝的裂缝形状检测出来。检测效果如图7、图8、图9、图10所示,从图中坝面裂缝分割结果完整度高,边缘细节处理清晰、完整。说明两阶段迁移学习策略和模型改进方法能弥补数据量少导致欠分割、改善因裂缝有效像素点少而产生的漏检情况,在坝面裂缝自动检测上表现出最佳的性能。
[0153][0154]
式中:t为变量;
[0155]
本发明提出的像素级混凝土坝表面裂缝检测方法,能实现对不同尺度裂缝的检测,具备更强的鲁棒性。说明通过两阶段迁移学习策略能弥补数据量少导致欠分割和过拟合现象,能有效改善因裂缝较细、有效像素点少而产生的漏检情况。通过将unet改进为rm-unet能使模型对图像的特征提取能力得到增强,分割精度得到改善,使图像检测后裂缝边缘形状细节处理得更加清晰、细腻完整,对复杂和隐晦细小裂缝分割表现出更强的鲁棒性。本发明方法在混凝土坝面裂缝检测具有更高的精度,具备更强的鲁棒性,可以为大坝安全检测提供更好的替代或补充办法。

技术特征:
1.一种基于像素级深度学习的混凝土坝表面裂缝检测方法,其特征在于,包括以下步骤:步骤1:获取混凝土坝表面裂缝图像和两阶段迁移学习训练方式;步骤2:构建大坝裂缝检测模型;步骤3:采用大坝裂缝检测模型对混凝土坝表面裂缝图像中的每个像素点进行识别,并获取混凝土坝的裂缝形状检测结果。2.根据权利要求1所述的方法,其特征在于,在步骤1中,具体包括以下子步骤:步骤1-1:进行训练模型数据集的采集;步骤1-2:进行训练模型数据集的制作:步骤(1)采用labelme标注工具对第二阶段目标域datasetb进行像素级标注,进入步骤(2);步骤(2)对步骤(1)标注后的第二阶段目标域datasetb经过图像增强算法retinex、调整图像光度、对比度和空间变化进行扩充,进入步骤(3);步骤(3)将步骤(2)第二阶段目标域datasetb按一定比例随机划分为训练集和验证集;步骤1-3:进行两阶段迁移学习训练:步骤(1)训练初始,在输入端设置将所有数据集图像尺寸重塑为统一像素大小,进入步骤(2);步骤(2)调整模型训练参数batch_size、epoch、优化器、初始学习率,学习率下降方式为cosineannealinglr、损失函数为cross entropy loss,进入步骤(3);y为真实值分布;为网络输出分布;n为总类别数;i为变量;步骤(3)利用第一阶段源域数据集模型得到的训练结果作为第一阶段目标域dataseta的预训练模型,进入步骤(4);步骤(4)第一阶段是基于跨域的模型知识迁移,避免网络从零学习,使第二阶段获得一个更好的导师模型,进入步骤(5);步骤(5)第二阶段是基于域内的特征知识迁移,将第一阶段迁移学习后的dataseta预训练模型作为第二阶段的源域,通过迁移学习方法将源域中存在与目标域相同的特征表示迁移到第二阶段目标域datasetb中;步骤(6)第一阶段和第二阶段在图像特征上是相同领域,为加快训练效率和防止权值被破坏,在第二阶段迁移训练中加入了冻结训练步骤,即在训练的前半部分冻结主干网络,仅对解码分类器进行训练,后半部分解冻对整个网络进行训练学习。3.根据权利要求1所述的方法,其特征在于,在步骤2中,具体包括以下子步骤:步骤2-1:搭建resnet50网络作为unet模型编码器的特征提取网络,通过residual模块加深网络层数和提取能力充分获取裂缝特征信息,使模型可以有效地学习坝面裂缝的深层特征,提高模型对裂缝分割精度;步骤2-2:将多层并行残差注意力添加到unet模型跳跃连接层中,通过获取更多语义信息以增强模型的特征表达能力,以抑制无关区域中的特征响应,提高有效特征信息通道的
重要性,使网络专注于裂缝特征信息,补充细节损失,使模型更精确对坝面裂缝图像进行分割。4.根据权利要求1或3所述的方法,其特征在于,在步骤2中,具体的,图像通过resnet50残差网络结构进行特征提取,在unet模型跳跃连接中设置多层并行残差注意力模块mprattention获取更多语义信息以增强模型的特征表达能力,最后通过unet解码器预测对图像裂缝,所建立的大坝裂缝检测模型的具体结构为:检测图像视频通过一次卷积,bn,rulu

maxpool

第一编码特征图f1;第一编码特征图f1→
残差模块,得到第二编码特征图f2;第一编码特征图f1→
mprattention,得到第一增强特征图u1;第二编码特征图f2→
残差模块,得到第三编码特征图f3;第二编码特征图f2→
mprattention,得到第二增强特征图u2;第三编码特征图f3→
残差模块,得到第四编码特征图f4;第三编码特征图f3→
mprattention,得到第三增强特征图u3;第四编码特征图f4→
残差模块,得到第五编码特征图f5;第四编码特征图f4→
mprattention,得到第四增强特征图u4;第五编码特征图f5→
up-conv层上采样

与第四增强特征图u4融合补充细节损失,得到第一解码特征图g1;第一解码特征图g1→
conv层卷积,rulu

conv层卷积,rulu

up-conv层上采样

与第三增强特征图u3融合补充细节损失,得到第二解码特征图g2;第二解码特征图g2→
conv层卷积,rulu

conv层卷积,rulu

up-conv层上采样

与第二增强特征图u2融合补充细节损失,得到第三解码特征图g3;第三解码特征图g3→
conv层卷积,rulu

conv层卷积,rulu

up-conv层上采样

与第一增强特征图u1融合补充细节损失,得到第四解码特征图g4;第四解码特征图g4→
conv层卷积,rulu

up-conv层上采样

conv层卷积,rulu

conv,sigmoid

裂缝图像。5.根据权利要求4所述的方法,其特征在于,残差模块的结构根据输入的特征图通道数与输出通道数是否一致而变化;情况一:若输入的特征图通道数与输出通道数一致时,大坝裂缝检测模型中残差模块的结构为:输入的特征图为x

conv层卷积,bn,rulu

conv层卷积,bn,rulu

conv层卷积,bn

得到f(x);f(x)

与x残差结构融合防止梯度爆炸

深层次的特征图h(x);情况二:若输入特征图通道数与输出通道数不一致,大坝裂缝检测模型中残差模块的结构为:输入的特征图为x

conv层卷积,bn,rulu

conv层卷积,bn,rulu

conv层卷积,bn

得到f(x);输入的特征图为x

conv层卷积,bn

得到k(x);f(x)

与k(x)残差结构融合防止梯度爆炸

深层次的特征图h(x)。
6.根据权利要求4所述的方法,其特征在于,大坝裂缝检测模型中多层并行残差注意力模块的结构为:输入特征图x

残差结构融合防止梯度爆炸

skip层特征图;输入特征图x

conv层卷积增加模型的非线性能力

f1(x)特征图;输入特征图x

conv层卷积,bn,rulu多尺度卷积下进行特征学习

f2(x)特征图;输入特征图x

atrous conv层卷积,通过设置dilation rate增加模型感受野

f3(x)特征图;多层并行残差注意力模块输出y=skip+f1(x)+f2(x)+f3(x),通过add的方式进行融合。

技术总结
一种基于像素级深度学习的混凝土坝表面裂缝检测方法,包括以下步骤:步骤1:获取混凝土坝表面裂缝图像和两阶段迁移学习训练方式;步骤2:构建大坝裂缝检测模型;步骤3:采用大坝裂缝检测模型对混凝土坝表面裂缝图像中的每个像素点进行识别,并获取混凝土坝的裂缝形状检测结果。本发明的目的是为了解决现有技术存在的坝面数据图像采集困难、数据标注人工成本高,使大坝裂缝数据集缺乏导致模型训练欠拟合、不充分、检测精度低以及现有方法对微小裂缝所占的像素点少、裂缝与周边环境对比度低,导致模型对坝面裂缝特征信息提取能力弱、细小裂缝分割能力弱、像素准确率低的技术问题,而提供的一种基于像素级深度学习的混凝土坝表面裂缝检测方法。面裂缝检测方法。面裂缝检测方法。


技术研发人员:李健源 卢晓春 张萍 陈博夫 熊勃勃 李青泉 陈雷 刘晓 双宁 李玉钦
受保护的技术使用者:三峡大学
技术研发日:2023.03.09
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐