本发明涉及一种管道泄漏检测方法,尤其是一种基于分层神经网络的管道泄漏检测方法。
背景技术:
随着世界各国管道建设的快速发展,管道事故也频繁发生,为了能有效的预防管道事故,管道泄漏监测技术也迅速发展起来。为此,国内外进行了大量的研究。
现有的管道泄露检测和定位方法大体上分为基于硬件的方法和基于软件的方法两大类,但是现有的硬件方法通常需要安装很多传感器,安装过程也十分复杂而且费用昂贵、适用范围窄;软件方法则是通过模型计算得出泄露位置,这种方法通常误差较大,准确率低。近年来随着计算机技术的发展,监测技术向以软件为主、硬件相辅的方向发展,目前新型管道泄漏检测方法仍是各国的前沿研究方向。
基于硬件的方法是指对泄漏物进行直接检测的方法,也称直接检漏法,如直接观察法、检漏电缆法、油溶性压力管法、放射性示踪法、光纤检漏法等。基于软件的方法是指借助计算机系统,通过检测管道因泄露造成的影响,如流量、压力、温度等物理参数的变化来判断泄露是否发生及泄露位置,也称为间接检漏法。这类方法有压力流量突变法、质量平衡检漏法、实时模型法、统计检漏法、神经网络法、PPA ( 压力点分析) 法等。
不管是基于硬件的检测方法还是基于软件的检测方法,要想获取整个管道全部管段各种数据比较困难,而且管道数据在收集的过程中可能会受到各种因素的影响,因此,收集到的数据可能会有误差,这就导致管道泄漏检测的准确性不高,针对这个问题,本发明提供一种新的基于分层神经网络的泄漏检测技术。本发明提供的方法以具体管道中全管段的压力数据为基础,能快速有效地判断管线是否出现泄漏,具有较高的预测精度。
技术实现要素:
为解决现有技术的不足,本发明提供一种基于分层神经网络的管道泄漏检测方法。由于获取整个管道全部管段压力数据比较困难,而且管道压力数据在收集的过程中可能会受到各种因素的影响,因此,收集到的压力数据可能会有误差,为提高管道泄漏检测的准确性,本发明提出一种分层神经网络模型对管道压力数据进行分析,对整个管道的压力数据进行建模,能有效地对管道泄漏状况进行分类识别,并且能够适应管道的各种工况,从而快速准确地获得管道的泄漏位置。
本发明的技术方案是:基于分层神经网络的管道泄漏检测方法主要包括以下几个步骤:
1.利用压力传感器对管道压力数据进行采集,获取到整个管道各节点的压力值,为了方便数据处理,防止由于输入值过大引起神经元输出饱和,同时加快网络收敛速度,输入数据需要进行归一化处理,使其范围限制在[0-1]之间;
2.数据集按照比例分为训练数据集和验证数据集,确定分层神经网络的层数,根据训练数据集规模确定每层神经网络的复杂度,并在训练数据集上训练第 k 层神经网络,k 表示某一分层的神经网络;
3.在验证数据集上,设置第 k 层神经网络的正负类样本拒识阈值,进而确定第 k 层神经网络的拒识区间,设置输出层的激活函数为 Sigmoid 函数,输出值在 0-1 之间,代表此管段发生泄漏的概率。针对系统的特点,可以设定当输出值大于等于 a 或输出值小于等于 b 时认为此管段发生泄漏,当输出值在 a 和 b 之间时,无法判断是否泄漏,将样本数据输入到下一层神经网络继续训练,a、b为正负类样本拒识阈值,[a,b]为第 k 层神经网络的拒识区间,满足 0<b<a<1;
4.利用第 k 层神经网络的拒识区间分别在训练数据集上和验证数据集上筛选出拒识训练数据集和拒识验证数据集,作为下一层神经网络的训练数据集和验证数据集,利用筛选出的训练数据集和验证数据集重复执行 3 至 4,直到分层神经网络的层数达到总层数 h,则执行 5;
5.给定一个管段压力数据样本,根据分层神经网络的层次结构判定其是否有泄漏。
本发明的有益效果是,可以有效的判断现有管线是否存在泄漏,并提高管道泄漏检测的准确性,克服了传统的管道泄漏检测方法预测效果不理想等缺陷。
附图说明
图 1 是本发明的模型结构图。
具体实施方式
下面结合附图说明本发明的实施方式。
1. 一种基于分层神经网络的管道泄漏检测方法其特征在于:包括以下步骤:
A.利用压力传感器对管道压力数据进行采集,获取到整个管道各节点的压力值,同时对数据集进行归一化处理,使其范围限制在[0-1]之间;
B.将数据集按照比例分为训练数据集和验证数据集,确定分层神经网络的层数,根据训练数据集规模确定每层神经网络的复杂度,并在训练数据集上训练第 k 层神经网络,k表示某一分层的神经网络;
C.在验证数据集上,设置第 k 层神经网络的正负类样本拒识阈值,进而确定第 k 层神经网络的拒识区间,根据系统的特点,可以设定当输出值大于等于 a或输出值小于等于 b 时认为此管段发生泄漏,当输出值在 a 和 b 之间时,无法判断是否泄漏,将样本数据输入到下一层神经网络继续训练,a、b 为正负类样本拒识阈值,[a,b]为第 k 层神经网络的拒识区间,满足 0<b<a<1;
D.利用第 k 层神经网络的拒识区间分别在训练数据集上和验证数据集上筛选出拒识训练数据集和拒识验证数据集,作为下一层神经网络的训练数据集和验证数据集,利用筛选出的训练数据集和验证数据集重复执行步骤 C 至步骤 D,直到分层神经网络的层数达到总层数 h,则执行步骤 E;
E.给定一个管段压力数据样本,根据分层神经网络的层次结构判定其是否有泄漏。
本发明的泄漏检测方法分为三个阶段,具体包括:
A.数据采集
分别在管道无泄漏和有泄漏的情况下利用管道压力传感器等设备对管道各个节点的压力数据进行采集,对采集到的数据进行标记(有泄漏为 1,无泄漏为0),存入到数据库中作为历史训练数据集和验证数据集。
B.数据处理
对获取到的数据集进行归一化处理,使数据范围限制在[0,1]之间。转换函数如下:
其中 max 为样本数据的最大值,min 为样本数据的最小值。
C.预测模型的建立及训练
确定分层神经网络的层数,根据训练数据集规模确定每层神经网络的复杂度,并在训练数据集上训练第 k 层神经网络,k 表示某一分层的神经网络;
在验证数据集上,设置第 k 层神经网络的正负类样本拒识阈值,进而确定第k 层神经网络的拒识区间;神经网络的输入特征向量为管道节点的压力变化情况,所以输入层神经元数即为管道节点的个数;
将测试样本输入到第 1 层神经网络,如果第 1 层神经网络判定该测试样本的类别则分类过程结束,如果第 1 层神经网络拒识该测试样本则将该测试样本输入到第 2 层神经网络,让第 2 层神经网络判定该测试样本的类别,上述的过程一直持续到该测试样本获得类别标签。
D.实际检测
对待检测的管道获得其管道压力数据,输入训练好的分层神经网络中,神经网络的输出即为是否有泄漏。