本发明涉及输水隧洞裂缝检测,是一种基于yolov4网络的输水隧洞裂缝检测方法。
背景技术:
1、输水隧洞的衬砌大多是采用钢筋混凝土结构,常年运行中,受到水流冲刷、内部水压、外部地质压力、岩层变化、温度变化等一系列因素的影响,隧洞衬砌会出现脱落、裂缝、变形、露筋、塌方等缺陷。
2、输水隧洞最典型的缺陷就是裂缝,裂缝的存在降低了衬砌的整体性和牢固度,大大缩短了隧洞的使用寿命,如不及时进行检测和维修极易造成重大事故。目前输水隧洞裂缝检测最常用的是仪器检测和人工检测,仪器检测是通过在隧洞中预埋应力计、钢筋计、流量计、倾斜仪等传感器进行隧洞的安全状态监测,但是由于隧洞距离长、直径大,传感器不能对隧洞全覆盖,为了避免遗漏,需要进行不定期的人工巡。首先将输水隧洞断水,把洞内水排空,工作人员进入隧洞进行巡检,巡检过程中若发现裂缝则进行拍照,对重要的裂缝进行标记,绘制裂缝分布图,将数据带回交由专家进行分析。或者是洞内水排空后,工作人员使用超声波探测、探地雷达技术、红外成像技术、三维激光扫描技术等手段进行裂缝的检测。有时专家为了获取更加精确的结果需要进行二次现场勘察,对裂缝进行取样验证,获取更多的检测数据。这种方式需要较长的检测周期,且有些隧洞环境恶劣,工作人员难以抵达,导致检测结果不可靠。另一种人工检测方式是潜水员入水检测,通过派遣专业潜水员携带水下检测设备入水的方式来对输水隧洞进行检测,但是由于专业潜水员对水工工程运行特点不了解,导致此方法具有诸多的局限性。
3、随着信息化的不断发展,基于计算机视觉的缺陷检测方法相较于人工检测方法具有准确性高、实时性强、检测全面、成本低的优点,被广泛应用于现代工业中。深度学习中的卷积神经网络(convolutioal neural networks,cnn)能够通过训练来学习数据特征,对复杂结构有很好的非线性表达能力,可以有效解决输水隧洞裂缝图像特征不明显、目标位置区域随机等问题,使用自主式水下航行器(autonomous underwater vehicle,auv)可以在输水隧洞不断水情况下进行检测,解决人工检测的局限性。因此,开展基于深度学习的输水隧洞裂缝检测研究,实现不断水的高效、快速、准确全面检测具有重要的工程应用意义。
4、传统裂缝检测通常以人工视觉检测为主,这种方法动用资源多、效率低、检测精度差。基于传统图像处理的裂缝检测方法能较好的提取裂缝,但是仅能处理简单环境下的图像,环境一旦变得复杂便不具有适用性,效果不理想。实际工程中裂缝一般具有裂缝与背景之间对比度底、裂缝对象内灰度强度不均、裂缝形式多样性等问题。深度学习模型可以从底层学习裂缝特征,能够很好地解决这些问题。
技术实现思路
1、本发明为克服传统裂缝检测方法能方便快捷地进行各种任务的实时性检测,但是其往往需要人工设置和调整参数,且容易受到光照、噪声等因素干扰,难以一次性达到很好的检测效果。为了满足输水隧洞水下裂缝简单快速检测,本发明提供一种基于yolov4网络的输水隧洞裂缝检测方法。
2、需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
3、本发明提供了一种基于yolov4网络的输水隧洞裂缝检测方法,本发明提供了以下技术方案:
4、一种基于yolov4网络的输水隧洞裂缝检测方法,所述方法包括以下步骤:
5、步骤1:搜集裂缝图像,筛选合并裂缝图像;
6、步骤2:对裂缝图像进行预数理,并采用labelimg进行标注数据集,随机划分训练集合验证集;
7、步骤3:搭建yolov4网络,设置并调节训练参数,根据随机划分的训练集合验证集训练模型;
8、步骤4:根据loss值绘制损失函数衰减曲线,根据曲线是否收敛来测试裂缝图像,统计裂缝检测准确率。
9、优选地,所述步骤1具体为:
10、寻找只包含裂缝的数据集,包括crackdetection、concretecrack、sdnet2018;crackdetection有6069张包括正负样本的大小为224×224的桥梁裂缝图像;concretecrack包含了4万张大小为227×227的各类路面裂缝,其中一半为正样本,一半为负样本;sdnet2018是一个包含了墙面、桥梁、路面等多种分类的大型混凝土裂缝数据集,共有超过56000张大小为256×256的图像;
11、从以上公开数据集中挑选出9300张合适的裂缝图像,加上用手机拍摄的路面以及墙面混凝土裂缝图像500张,大坝水下裂缝图像200张,共计10000张原始数据集;
12、使用cyclegan风格转换模型对地面裂缝数据集和输水隧洞水下风格数据集进行训练,得到大量的输水隧洞水下裂缝图像,从中挑选出3500张符合真实情况的裂缝图像作为原始数据集。
13、优选地,所述步骤2具体为:
14、基于小波变换的输水隧洞水下裂缝图像去噪,使用有限长的并会衰减的小波基替换傅立叶变换中无限长的三角函数基,公式如下:
15、
16、其中,α表示控制小波函数伸缩的尺度;τ表示控制小波函数的平移;
17、采用平均梯度、均方误差和峰值信噪比作为去噪图像评价标准;
18、mg表达的是图像对微小细节变化的速率,体现了图像的细节表达,值越大说明图像对比度越强,计算公式如下:
19、
20、其中,m*n为图像大小,和表示图像水平和垂直方向梯度;
21、mse衡量的是图像灰度变化,值越小说明对噪声的抑制效果越好,计算公式如下:
22、
23、其中,m·n为图像大小,i(i,j)和i'(i,j)表示滤波前后像素点的灰度;
24、psnr评价的是图像滤波前后失真程度,值越大说明图像失真越少,计算公式如下:
25、
26、优选地,输水隧洞水下裂缝图像中选取3500张作为仿真实验数据集,将所有图片分辨率resize为416×416来减少训练时间,为了保证模型泛化性能,将数据集按8:1:1随机划分为训练集、验证集和测试集;
27、使用labelimg标注工具对数据集进行标注,将标注框命名为crack类,然后生成对应的xml文件;由于本发明所用数据集裂缝大多贯穿整幅图片,使用单框标注覆盖面积较大,背景区域占比太高不利于网络学习,采用多个大小适中的标注框交替覆盖裂缝。
28、优选地,所述步骤3具体为:
29、yolov4使用深层网络加强目标特征提取并获取预测结果,特征图在经过spp模块时都要经过一个三次卷积块,panet中每次堆叠之后都连接一个五次卷积块。三次卷积块由2个1×1卷积和1个3×3卷积组成,五次卷积块由3个1×1卷积和2个3×3卷积组成,而yolohead中又包含1个3×3卷积和1个1×1卷积。由此可见,yolov4深层网络中含有大量的3×3标准卷积,网络模型复杂繁琐,计算量大,为了使网络更加轻量化,将深层网络中的三次卷积块、五次卷积块、下采样和yolo head中的3×3标准卷积替换为深度可分离卷积;
30、深度学习中的注意力机制能够让网络将重点放在图像中的目标区域,忽略冗余信息;通过建立特征通道之间的依赖关系对特征图进行权重分配,得到更加多样化的深度特征;senet通过一维特征向量序列,获得一个带有权重的特征序列,以表示通道间的相关信息,将带有权重的特征序列与对应的二维特征图序列相乘,即可生成新的基于权重分配的三维特征向量;
31、在panet模块中的四个五次卷积块后加入senet,提升了裂缝特征信息通道的权重,降低其他通道权重,放大了两次特征金字塔的作用,使网络同时具有轻量化和高检测准确率的特点。
32、优选地,yolov4使用了的mish激活函数来提升整个网络模型的精度上,mish激活函数是在relu激活函数的基础上对relu激活函数的负半轴区间进行优化而来的函数,mish激活函数公式如下:
33、f(x)=xtanh(ln(1+ex))。
34、优选地,所述步骤4具体为:
35、裂缝检测模型采用平均检测精度ap和平均检测时间t作为评价指标,公式如下所示:
36、
37、
38、其中,p表示精确率,r表示召回率,ttotal表示目标检测总时间,n表示检测图片总数;
39、为了减少训练时间,采用迁移学习的思想对模型进行训练,首先在voc数据集上对改进yolov4的主干网络进行预训练得到模型初始权重,使模型具备基础的特征提取能力;整个训练过程为600个epoch,动量参数为0.9;将学习率设为0.0001,batchsize设为16。
40、一种基于yolov4网络的输水隧洞裂缝检测系统,其特征是:所述系统包括:
41、数据采集模块,所述数据采集模块搜集裂缝图像,筛选合并裂缝图像;
42、预处理模块,所述预处理模块对裂缝图像进行预数理,并采用labelimg进行标注数据集,随机划分训练集合验证集;
43、网络搭建模块,所述网络模型搭建模块搭建yolov4网络,设置并调节训练参数,根据随机划分的训练集合验证集训练模型;
44、测试模块,所述测试模块根据loss值绘制损失函数衰减曲线,根据曲线是否收敛来测试裂缝图像,统计裂缝检测准确率。
45、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现一种基于yolov4网络的输水隧洞裂缝检测方法
46、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现一种基于yolov4网络的输水隧洞裂缝检测方法
47、本发明具有以下有益效果:
48、本发明与现有技术相比:
49、本发明提出的一种基于yolov4网络的输水隧洞裂缝检测方法,yolov4的准确率和检测速度均衡,在coco和voc等数据集上都有很好的检测效果,是目前很好的目标检测算法之一。检测对象只有裂缝一种种类,由于裂缝本身特征原因以及输水隧洞环境问题,使得特征提取难度大,训练易出现过拟合。且yolov4网络复杂,参数多,检测时间相对较长,不适合直接用于输水隧洞水下裂缝检测。本发明基于yolov4网络进行改进,使网络轻量化并提高了检测速度。
50、为了满足输水隧洞水下裂缝检测实时性要求,本发明改进yolov4,首先将yolov4中的主干网络cspdarknet53替换为mobilenetv2,使主干特征提取网络轻量化;然后将深层网络中的三次卷积块、五次卷积块、下采样和yolo head中的3×3标准卷积替换为深度可分离卷积进一步使网络轻量化;最后在panet模块中的五次卷积块后加入senet来提高网络的特征提取能力。通过消融实验对比,证明了本发明改进网络同时具有轻量化和高检测准确率的特点。
1.一种基于yolov4网络的输水隧洞裂缝检测方法,其特征是:所述方法包括以下步骤:
2.根据权利要求1所述的方法,其特征是:所述步骤1具体为:
3.根据权利要求2所述的方法,其特征是:所述步骤2具体为:
4.根据权利要求3所述的方法,其特征是:输水隧洞水下裂缝图像中选取3500张作为仿真实验数据集,将所有图片分辨率resize为416×416来减少训练时间,为了保证模型泛化性能,将数据集按8:1:1随机划分为训练集、验证集和测试集;
5.根据权利要求4所述的方法,其特征是:所述步骤3具体为:
6.根据权利要求5所述的方法,其特征是:
7.根据权利要求6所述的方法,其特征是:所述步骤4具体为:
8.一种基于yolov4网络的输水隧洞裂缝检测系统,其特征是:所述系统包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-7的方法。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征是:所述处理器执行所述计算机程序时实现权利要求1-7的方法。