本发明属于大坝安全检测和深度学习、水下机器人领域,具体涉及一种基于水下机器人和改进yolov8的大坝水下缺陷自动检测方法。
背景技术:
1、大坝作为重要的水利基础设施,在促进经济社会发展中发挥着重要作用。它们具有多种功能,包括供水、发电和防洪。然而,大坝溃坝可能会导致下游的生命和财产遭受灾难性损失。随着时间推移和环境侵蚀等因素的复杂相互作用,内部化学反应和结构荷载会逐渐导致混凝土坝的恶化,产生各种破坏,如裂缝、剥落和露筋,会严重影响结构的强度、耐久性和整体稳定性。因此,确保及时发现、监测和修复这些缺陷对维护大坝的安全运行至关重要。
2、大坝的缺陷往往产生或出现在结构表面,不仅威胁混凝土大坝的运行,而且还会造成大坝的其他损害。针对大坝水上部分的表观缺陷检测,已经发展了基于摄像头、无人机和计算机视觉等技术的先进检测方法,提高了检测效率。然而,大坝水下部分的缺陷检测依旧是一个难以解决的问题。xu等应用探地雷达技术对水工建筑物水下缺陷进行探测,可以高精度地探测防渗地毯式或围裙式水底不均匀沉降和裂缝等隐患;venkatesh等操控搭载了超声波设备的缆控水下机器人(remote operated vehicle,rov)对水下缺陷进行检测,证明了超声脉冲法在水下检测的可行性;ma等基于rov搭载双目相机对水下裂缝进行图像增强和分割,将计算得到的视差图和分割图结合,可以确定裂缝的宽度。利用rov对水下坝面检测是目前的重要趋势,但是水下坝面范围广、面积大,视频数据量大,人工目视检测耗时耗力;并且水下环境相比与水上更加复杂,由于光线在水中传播时被介质吸收并被悬浮粒子散射,水下机器人捕获的大坝水下图像经常面临各种挑战,包括颜色失真、运动模糊、对比度低、光照不均匀等。因此,大坝水下缺陷图像的检测识别是一个难题,目前尚未出现一种系统、高效和精确的大坝水下缺陷图像检测方法。
技术实现思路
1、鉴于此,本发明的目的是提出一种基于水下机器人和改进yolov8的大坝水下缺陷自动检测方法,用于检测多种大坝水下缺陷,保证高效、精确和实时的检测效果。
2、本发明的技术方案:
3、一种基于水下机器人和改进yolov8的大坝水下缺陷自动检测方法,包括以下步骤:
4、s1:采集数据
5、操作水下机器人在大坝上游,针对大坝水下缺陷进行数据采集,由于光在水中传播时的散射及衰弱问题,在深水环境下需要打开照明灯,距离坝面20-50厘米的距离,从不同的角度对大坝水下缺陷进行多样的数据采集。对拍摄得到的水下视频进行数据处理,通过vlc视频播放器人工截取缺陷图像帧,最终得到训练改进yolov8的图像数据集,包括裂缝、剥落和露筋缺陷;
6、s2:数据处理
7、针对大坝水下缺陷中裂缝、剥落和露筋的特征,缺陷标注符合标准:裂缝和露筋多为细长特征,因此标注裂缝和露筋选用长宽比例范围为3:1-5:1的标注框;剥落多为块状特征,因此标注剥落时选用长宽比例范围为2:1-1:1的标注框。标注时应当确保标注框里包括缺陷的所有特征,同时标注框应当贴合缺陷的边缘并且不能含有太多背景特征;
8、基于上述标注标准,应用labelimg软件对改进yolov8的图像数据集的大坝水下缺陷图像进行人工标注,通过矩形框表示缺陷的类别以及坐标信息,具体包括标注框的中心点坐标、长度、宽度和类别,与图像一一对应保存在.xml文件中;
9、进一步的,所述大坝水下缺陷目标检测数据集为voc格式数据集,包含大坝水下缺陷图像以及一一对应的.xml文件,为方便改进的yolov8模型的数据读取,将.xml文件转换为.txt文件;按照7:2:1的比例将大坝水下缺陷目标检测数据集随机划分为训练集、测试集和验证集,分别用于改进的yolov8模型的训练、训练时的验证以及最终的性能测试,得到最终的大坝水下缺陷目标检测数据集;
10、s3:网络结构改进
11、(1)模型搭建
12、搭建yolov8模型,主要由主干网络(backbone)、颈部网络(neck)和检测头(head)组成。首先,水下缺陷图像输入主干网络,经过主干网络提取的特征,输入颈部网络,最后在检测头中对缺陷类别进行识别和标记。考虑检测效率、检测精度和模型参数大小,设置模型的深度depth,宽度width和最大频道数max_channels分别为:0.33,0.25和1024,即设置yolov8n作为大坝水下缺陷检测方法的基础模型;
13、(2)模型改进
14、针对水下缺陷图像模糊、特征不明显,导致模型检测性能较差的问题,对yolov8网络结构进行改进,提高其检测水下裂缝、剥落以及露筋缺陷的能力;
15、所述yolov8模型的改进,具体为:
16、大坝水下缺陷形状不规则,特征模糊,导致检测难度增大,基础模型的检测性能难以满足实际大坝水下缺陷的检测要求。为提高检测精度,提高检测效率,采用可变形卷积(deformable convolutional networks,dcn)将主干网络的最后一个c2f模块和颈部网络的所有c2f模块改为c2f-dcn模块,提高网络适应大坝水下缺陷尺度、比例的几何变化或模型几何变换的能力;在基础模型主干网络后添加可变形大核注意力机制层(deformablelarge kernel attention,dlka),提高对可变尺寸缺陷特征的关注度,提高模型对水下缺陷的识别能力,最终得到改进的yolov8模型;
17、s4:模型训练
18、基于步骤s2制作的大坝水下缺陷目标检测数据集,训练优化步骤s3搭建的改进的yolov8模型,根据训练集和测试集上的结果优化超参数,获得检测精度、检测效率和模型大小综合最优的模型。模型训练的主要步骤如下:
19、(1)设置训练网络的超参数,如训练(epoch),批大小(batch size),初始学习率lr,关闭mosaic训练的迭代轮次(close_mosaic),调整超参数确保网络训练至收敛且不会过拟合,模型训练完成后模型参数文件best.pt保存在weights文件夹中。
20、(2)加载best.pt初始化模型,基于测试集对训练好的yolov8模型进行检测性能测试。采用包括准确率(precision,p)、召回率(recall,r)、各类缺陷的检测精度(averageprecision,ap)、平均检测精度(mean ap,map)和检测帧率(frame per second,fps)的评价指标来评估模型的检测性能,其中,p、r、f1-score、ap和map的范围为[0,1],值越接近1,表明模型的检测性能越好,为满足实时检测的需要,fps应该大于30。据评价指标设置不同的超参数,训练得到不同的模型,将各项指标综合最佳的模型用于大坝水下缺陷的实时检测;
21、s5:模型部署
22、将训练得到的yolov8检测模型权重部署在移动工作站上,基于pyqt5框架构建人机交互界面,并结合水下机器人搭建大坝水下缺陷实时检测系统,水下机器人搭载的高清摄像头实时拍摄大坝水下场景并传输至地面工作站进行即时检测,同时在工作站上显示缺陷检测结果并储存在本地;
23、进一步的,为保证缺陷检测的各项要求,大坝水下缺陷实时检测系统软件界面分为三大模块:操作区、主窗口以及结果统计区。操作区用于加载模型、初始化参数、功能选择等;主窗口用于展示输入图像、视频以及检测后的图像数据;结果统计区用于显示实时检测结果,包括缺陷类型、置信度和位置。
24、s6:操作水下机器人在水库内对水工建筑物水下部分进行检测,根据实际场地设计机器人巡检方案,包括机器人的速度、距离建筑物的距离、照明灯的亮度等,由大坝水下缺陷检测系统生成检测结果及报告。
25、与现有的技术相比,本发明的有益效果在于:
26、(1)本发明基于改进的yolov8深度学习目标检测网络对大坝水下缺陷进行实时高效检测,能够减少人工水下检测的成本和危险性,提高水工建筑物水下缺陷检测的效率。
27、(2)本发明对yolov8网络结构进行改进,使其适用于水下缺陷图像的检测,提高了大坝水下缺陷的检测精度,增强了网络的鲁棒性,能够有效降低颜色失真、运动模糊、对比度低、光照不均匀等的干扰。
28、(3)本发明将水下机器人、地面移动工作站和深度学习技术结合,实现软硬件结合,搭建了一种大坝水下缺陷自动检测系统,实现操作水下机器人检测大坝表面的同时获取坝面缺陷的检测结果,为大坝安全检测提供科学依据。
1.一种基于水下机器人和改进yolov8的大坝水下缺陷自动检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于水下机器人和改进yolov8的大坝水下缺陷自动检测方法,其特征在于,步骤s4中,模型训练的步骤如下: