欢迎光临小豌豆知识网!
当前位置:首页 > 机械技术 > 气体分配> 一种海底管道及泄漏点检测方法独创技术16461字

一种海底管道及泄漏点检测方法

2021-04-08 21:54:31

一种海底管道及泄漏点检测方法

  技术领域

  本发明涉及一种检测方法,尤其涉及一种海底管道及泄漏点检测方法,属于目标检测与图像分割领域。

  背景技术

  目标识别的目的是寻找给定图像中是否存在提出的类别(如水下海底管道图像中是否存在管道以及泄漏点),在存在的情况下输出确定该类别的具体位置,并且使用包围框框起来。目标识别目前面对的难题仍然是如何提升算法的准确性和识别速度,并且能够适应不断变化的环境。尤其是在水下环境中,复杂的水下环境会让识别算法更难适应,因此,我们需要对目标识别算法进行不断的研究,使其对水下环境的适应性更强,并且寻找能移植到水下机器人上的算法,提高其实用性。

  海底管道及泄漏点的识别检测在维护管道正常运作方面至关重要,目前成熟的解决方案有两种:第一种是通过电磁波等物理信号的形式对管道泄漏进行检测,用一定方式在管道壁附加磁性,依据整个管道磁场是否发生变化来判断管道的泄漏问题。第二种是通过光学图像的方式对管道泄漏进行检测,光学图像较电磁波等物理信号包含较多信息,在管道泄漏检测方面表现更为直观,通过对图像的处理获得泄漏信息较多,因此对于水下光学图像检测的研究日益增多。水下环境较为复杂,光学图像成像会遇到成像不清晰等问题,另外,由于水下环境受到光线和海流因素的干扰,因此,针对海底管道泄漏点检测现阶段还没有比较成熟的方法。

  发明内容

  本发明的目的是为了提供一种能够克服水下复杂环境干扰的海底管道及泄漏点检测方法。

  本发明的目的是这样实现的:

  一种海底管道及泄漏点检测方法,包括如下步骤:

  步骤一:使用水下摄像机拍摄获取水下图像,然后对水下图像进行增强处理,使用高斯滤波法对图像去噪,使用直方图均衡化使图像更加清晰,使用低照度图像增强算法增强图像亮度;

  步骤二:建立水下环境海底管道光学图像检测数据集,使用YOLOv3算法对水下管道图像和视频进行检测实验;

  步骤三:制作水下环境海底管道光学图像分割数据集,对水下管道及泄漏目标进行图像分割,融合改进最新实例分割算法MASK R-CNN算法和YOLACT算法,以实现最优的图像分割效果。

  本发明还包括这样一些特征:

  所述步骤一具体为:

  首先,采集图像中的像素点,将其作为数组运算,让每个像素点乘以不同的权重再与周围的像素点相加,之后取平均;

  其次,进行亮度增强,通过三通道图像中的绿色通道取反后与其他通道的像素值相乘得出新的图像层,之后将原图像与新的图像层做一次滤色混合,计算过程如式:

  f(a,b)=1-(1-a)×(1-b)(1)

  其中a为新图层的像素值,b为原图的像素值;

  最后,直方图均衡化,将像素中灰度值的分别计数,之后算出每个灰度值对应的概率,从而完成新的灰度值的映射,其映射函数为式:

  

  其中m为统计出的像素点总数,mj为像素灰度值等于j的像素总数;Sk为得到的新的灰度级。

  所述步骤二具体为:

  制作海底管道光学图像检测数据集,管道数据集为水下机器人在海底实际采集的图像,包含带有泄漏点的管道,共有2000张720×576的三通道图像,将其按9∶1比例分成训练集和测试集;获取图像后,使用labellmg工具对数据集进行打签,对2000张训练集和验证集图片使用该工具进行手动标框,形成xml文件,然后转换为txt文件,将图片与txt文件对应放到文件夹中;

  使用YOLOv3进行水下管道泄漏点训练与检测,在本次训练实验中,检测目标为管道和泄漏点共2类,所以在YOLOv3训练创建的cfg文件中将classes改为2,将filters改为(classes+5)x3即21;设置输出置信度的阈值为0.6,即预测出结果置信度大于0.6时,输出该预测结果为输出管道和泄漏点,如果小于0.6即认为此时没有泄漏;采用非极大值抑制算法来解决预测结果框重复较多的问题,在预测结果框面积交并比大于0.6的框中选取置信度最高的那一个,去掉其他预测结果框;采用学习率衰减的方式进行训练,每当训练200轮后将学习率设为之前学习率的0.1,从而使训练更易于收敛;在makefile文件中将GPU加速,OpenCV置为1,将训练文件路径进行修改,输入训练指令之后开始训练;

  经过1000轮训练后,YOLOv3得到后缀名为.weights的权重文件;使用对应的权重文件对海底管道图片进行检测,使用YOLOv3网络检测出的图片不同类别在同一张图片中显示;待图片检测实验完成,修改检测程序,使用训练好的权重对水下管道视频进行检测。

  所述步骤三具体为:

  首先,针对分割网络特征提取层进行改进:MASK R-CNN原特征提取网络中高层到低层的传播路径较长,使得特征融合效果不够理想,从而降低了分割的准确性:在原FPN网络进行改进,改进网络在原FPN结构的基础上增加了新的H2到H5特征图,H2特征图为直接复制P2层的特征图,之后通过步长为2的3×3卷积使特征图尺寸降为原来的二分之一,再与P3层的特征图横向连接,此处连接的操作为逐像素相加;连接之后再通过一个卷积核尺寸为3×3的卷积层生成下一层特征图H3,之后几层的形成方式与之相同,其中特征图的通道数均为256,与原FPN保持一致;卷积之后都通过ReLU函数进行非线性激活,这些新特征图通过池化层后进入RPN网络进行之后的处理;

  然后,针对分割与输出层进行改进,对MASK R-CNN中损失函数的分支Lmask做了部分改进,在Mask R-CNN中Lmask为平均二值交叉熵损失函数,该函数在分割任务中的不足是依赖于区域信息,从而忽视了边界的预测,使在最后的分割结果上对边界分割准确度不高;由于是将Mask R-CNN应用到水下海底管道分割任务上,对边界的分割结果比较敏感,所以提出在L中加入边界加权损失函数;在训练过程中,边界加权损失函数利用距离损失对分割的形状、位置和连续性进行正则化,使其更加接近管道及泄漏点边界,其公式如下:

  

  其中t*为经过二值化后预测的分割结果,t为分割真值经过二值化后的结果,M为分割结果的边界,R为整个分割区域,Mdis为对分割真值分割边框的距离变换,可以当作一张距离图;这种损失函数在Lmask增加了边框损失的权重,使图像边缘的分割效果更好,从而使海底管道图像分割更加准确;

  最后,在非极大值抑制方法上使用YOLACT中的Fast NMS方法;将改进后的算法应用到图像分割前,要先制作分割数据集,使用labelme工具对2000张720×576的三通道图打标签,将其按9:1比例分成训练集和测试集,然后形成json文件,在分割训练网络中,分割目标为管道、泄漏点、背景类一共三类,修改分割网络中的代码,在class部分设置为3,与检测实验部分一样,设置输出置信度的阈值为0.6,采用学习率衰减的方式进行训练,每当训练200轮后将学习率设为之前学习率的0.1;将GPU加速置为1,修改训练文件路径,在代码文件夹中打开命令窗口,输入训练代码指令,使网络开始训练,经过1000轮训练后,得到最终的权重文件,将海底管道图像分别送入训练好的分割网络中。

  与现有技术相比,本发明的有益效果是:

  本发明对海底管道及泄漏点图像进行了增强处理,改善了图像的整体素质,将目标检测方法YOLOv3应用到了海底管道泄漏点的检测中,实验结果表明,YOLOv3的准确率及检测时间都满足水下环境的要求。本发明融合改进了MASK R-CNN和YOLACT算法对海底管道及泄漏点进行图像分割。本发明可以满足海底管道泄漏点实时检测的需要,检测准确率较高。

  附图说明

  图1为海底管道泄漏点检测流程图;

  图2为改进海底管道分割网络结构图;

  图3a-b为海底管道及泄漏点图像分割图;

  具体实施方式

  下面结合附图与具体实施方式对本发明作进一步详细描述。

  本发明所使用的软件及硬件配置条件如下,硬件配置为64位Windows 10操作系统,英特尔i5-9400F六核六线程CPU,16G双通道内存,NVIDIA GTX 2060(6G显存),软件环境为OpenCV 3.4.0+Pycharm2019,+CUDA10.0+Pytorch0.4.0+tensorflow1.12.0。

  如图1所示,本发明给出了检测海底管道泄漏的具体流程,对海底管道图像进行增强处理,并建立水下海底管道的数据集,使用YOLOv3对泄漏管道进行检测,如果有泄漏点,对水下管道及泄漏点进行图像分割,如果没有泄漏点,重新更新水下管道的数据集。

  步骤一:使用水下摄像机拍摄获取水下图像,然后对水下图像进行增强处理,使用高斯滤波法对图像去噪,使用直方图均衡化使图像更加清晰,使用低照度图像增强算法增强图像亮度;

  首先,采集图像中的像素点,将其作为数组运算,让每个像素点乘以不同的权重再与周围的像素点相加,之后取平均值。该算法的输出较为平滑,能够有效去除高斯噪声。

  其次,进行亮度增强,通过三通道图像中的绿色通道取反后与其他通道的像素值相乘得出新的图像层,之后将原图像与新的图像层做一次滤色混合,计算过程如式:

  f(a,b)=1-(1-a)×(1-b)(1)

  其中a为新图层的像素值,b为原图的像素值。

  最后,直方图均衡化,将像素中灰度值的分别计数,之后算出每个灰度值对应的概率,从而完成新的灰度值的映射,其映射函数为式:

  

  其中m为统计出的像素点总数,mj为像素灰度值等于j的像素总数。Sk为得到的新的灰度级。

  步骤二:建立水下环境海底管道光学图像检测数据集,使用YOLOv3算法对水下管道图像和视频进行检测实验;

  制作海底管道光学图像检测数据集,本发明管道数据集为水下机器人在海底实际采集的图像,包含带有泄漏点的管道。共有2000张720×576的三通道图像,将其按9∶1比例分成训练集和测试集。获取图像后,使用labellmg工具对数据集进行打签,对2000张训练集和验证集图片使用该工具进行手动标框,形成xml文件,然后转换为txt文件,将图片与txt文件对应放到文件夹中。

  使用YOLOv3进行水下管道泄漏点训练与检测,在本次训练实验中,检测目标为管道和泄漏点共2类,所以在YOLOv3训练创建的cfg文件中将classes改为2,将filters改为(classes+5)x3即21。设置输出置信度的阈值为0.6,即预测出结果置信度大于0.6时,输出该预测结果为输出管道和泄漏点,如果小于0.6即认为此时没有泄漏。采用非极大值抑制算法来解决预测结果框重复较多的问题,在预测结果框面积交并比大于0.6的框中选取置信度最高的那一个,去掉其他预测结果框。采用学习率衰减的方式进行训练,每当训练200轮后将学习率设为之前学习率的0.1,从而使训练更易于收敛。在makefile文件中将GPU加速,OpenCV置为1,将训练文件路径进行修改,输入训练指令之后开始训练。

  经过1000轮训练后,YOLOv3得到后缀名为.weights的权重文件。使用对应的权重文件对海底管道图片进行检测,使用YOLOv3网络检测出的图片不同类别在同一张图片中显示。待图片检测实验完成,修改检测程序,使用训练好的权重对水下管道视频进行检测。

  步骤三:制作水下环境海底管道光学图像分割数据集,对水下管道及泄漏目标进行图像分割,融合改进最新实例分割算法MASK R-CNN算法和YOLACT算法,以实现最优的图像分割效果;

  由于分别使用实例分割算法MASK R-CNN算法和YOLACT算法进行图像分割时,出现了分割不完整,管道分割有缺点等问题。本发明融合改进了这两种算法,以实现更好的分割效果。

  首先,针对分割网络特征提取层进行改进。MASK R-CNN原特征提取网络中高层到低层的传播路径较长,使得特征融合效果不够理想,从而降低了分割的准确性。本发明在原FPN网络进行改进,改进网络在原FPN结构的基础上增加了新的H2到H5特征图,H2特征图为直接复制P2层的特征图,之后通过步长为2的3×3卷积使特征图尺寸降为原来的二分之一,再与P3层的特征图横向连接,此处连接的操作为逐像素相加。连接之后再通过一个卷积核尺寸为3×3的卷积层生成下一层特征图H3,之后几层的形成方式与之相同,其中特征图的通道数均为256,与原FPN保持一致。卷积之后都通过ReLU函数进行非线性激活,这些新特征图通过池化层后进入RPN网络进行之后的处理。改进特征提取网络减短了信息流动的路线,使得高低层特征图之间的信息融合更加有效,从而增加高层到低层之间的语义性,更利于边缘形状特征的提取,使得分类和识别效果更好。

  然后,针对分割与输出层进行改进,本发明对MASK R-CNN中损失函数的分支Lmask做了部分改进,在Mask R-CNN中Lmask为平均二值交叉熵损失函数,该函数在分割任务中的不足是依赖于区域信息,从而忽视了边界的预测,使在最后的分割结果上对边界分割准确度不高。由于本发明是将Mask R-CNN应用到水下海底管道分割任务上,对边界的分割结果比较敏感,所以提出在L中加入BWL(边界加权损失函数)。在训练过程中,边界加权损失函数利用距离损失对分割的形状、位置和连续性进行正则化,使其更加接近管道及泄漏点边界,其公式如下:

  

  其中t*为经过二值化后预测的分割结果,t为分割真值经过二值化后的结果,M为分割结果的边界,R为整个分割区域,Mdis为对分割真值分割边框的距离变换,可以当作一张距离图。这种损失函数在Lmask增加了边框损失的权重,使图像边缘的分割效果更好,从而使海底管道图像分割更加准确。

  最后,在非极大值抑制方法上不采用传统的非极大值抑制方法,使用YOLACT中的Fast NMS方法,提升其运算的快速性,并且保证结果在预期范围之内。综上所述改进方法的总结构图如图2所示。

  将改进后的算法应用到图像分割前,要先制作分割数据集。使用labelme工具对2000张720×576的三通道图打标签,将其按9:1比例分成训练集和测试集,然后形成json文件。在分割训练网络中,分割目标为管道、泄漏点、背景类一共三类,修改分割网络中的代码,在class部分设置为3,与检测实验部分一样,设置输出置信度的阈值为0.6,采用学习率衰减的方式进行训练,每当训练200轮后将学习率设为之前学习率的0.1。将GPU加速置为1,修改训练文件路径,在代码文件夹中打开命令窗口,输入训练代码指令,使网络开始训练。经过1000轮训练后,得到最终的权重文件,将海底管道图像分别送入训练好的分割网络中,使用改进海底管道分割网络的有泄漏点管道分割结果如图3所示。实验表明改进算法可以较准确地分割出管道及其泄漏点,且在分割精度与分割速度上相较前两种算法都有所提升。

《一种海底管道及泄漏点检测方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)