一种基于深度神经网络的供水管网爆管管道精确识别方法与流程

文档序号:23343967发布日期:2020-12-18 16:42阅读:392来源:国知局
一种基于深度神经网络的供水管网爆管管道精确识别方法与流程

本发明涉及一种供水管网爆管定位方法,尤其是涉及一种基于深度神经网络的供水管网爆管管道精确识别方法。



背景技术:

漏损控制是供水管网运营管理过程中重点关注的问题之一。尽管近年来我国管网平均漏损率出现下降趋势,但仍高达15%左右,每年漏损量达到70亿m3以上。爆管是漏损的重要组成部分及表现形式。除了造成水量漏失外,爆管还会造成污染物吸入、供水压力不足、供水中断等负面影响。因此,爆管发生后,及时定位爆管所在位置、对爆管管道进行修复可以有效降低漏损水量,提高供水服务质量。目前,供水部门定位爆管仍主要依赖于用户投诉、人工巡检等手段。然而,发生在夜间、偏远地区或深埋地下的管道的爆管无法有效通过用户投诉进行定位;另一方面,对大范围的管网进行巡检的人力、资金投入高,并且对突发爆管的定位时效性难以保证。因此,采用合适的算法,通过分析管网实时监测数据自动定位爆管,可以显著提升爆管定位及修复效率,提高供水管网的安全性、经济性。

国内外已有研究关注于供水管网爆管定位方法的研究。现有研究根据所使用的数据类型可分为基于声学信号的方法、基于瞬变流信号的方法和基于压力流量数据的方法等。以下为一些代表性的研究:

1)基于声学信号的方法

如文献:

[1]kangj.,parky.,leej.,wangs.,eomd.novelleakagedetectionbyensemblecnn-svmandgraph-basedlocalizationinwaterdistributionsystems.ieeetransactionsonindustrialelectronics,2018,vol.65(5):4279-4289.

该类方法采用的主要技术措施:通过分析爆管时管道破口处产生的声学信号进行定位,目前常用的方法是人工通过听漏棒、相关仪等设备收集声学信号并分析其特征,借助经验判断管道破口位置;近年来,也有研究开始尝试使用算法自动分析声学信号特征进行定位识别。

优缺点:这类方法理论基础较为简单,容易操作,精确度高,因此是目前供水部门最为广泛采用的方法。然而,这类方法的使用需要人工根据经验逐步排查,人力成本高,时效性较差,难以从大范围内经济、快速地确定爆管位置;尽管已有研究开始尝试使用算法自动从声学信号特征中判断爆管位置,但由于声学信号传播范围有限,容易受到干扰,因此也限制了这类方法的适用范围。

2)基于瞬变流信号的方法

如文献:

[2]becks.b.,currenm.d.,simsn.d.,stanwayr.pipelinenetworkfeaturesandleakdetectionbycross-correlationanalysisofreflectedwaves.journalofhydraulicengineering,2005,vol.131(8):715-723.

[3]wangx.,lambertm.f.,simpsona.r.,liggettj.a.,j.p.leakdetectioninpipelinesusingthedampingoffluidtransients.journalofhydraulicengineering,2002,vol.128(7):697-711.

[4]liggettj.a.,chenl.c.inversetransientanalysisinpipenetworks.journalofhydraulicengineering,1994,vol.120(8):934-955.

该类方法采用的主要技术措施:通过分析管网爆管时产生的瞬变流信号在管网中的传播、反射、衰减等特征进行爆管定位;也有研究使用其他手段产生的瞬变流信号后,分析其通过管道破口时产生的变化进行定位。

优缺点:基于瞬变流信号的方法通常定位较为准确,然而由于瞬变流在管网中的传播过程复杂,因此瞬变流模拟的计算要求较高;另一方面,瞬变流传播一定范围后发生衰减、反射、被其他信号干扰,因此当范围较大时难以使用;此外,瞬变流对信号采集器的精度、传输、采集等要求均较高。因此,目前已有的瞬变流方法仅适用于单根管道或小型管网上的爆管定位。

3)基于压力流量数据的方法

如文献:

[5]wuy.,lius.areviewofdata-drivenapproachesforburstdetectioninwaterdistributionsystems.urbanwaterjournal,2017,vol.14(9):972-983.

[6]mounces.r.,khana.,wooda.s.,daya.j.,widdopp.d.,machellj.sensor-fusionofhydraulicdataforburstdetectionandlocationinatreatedwaterdistributionsystem.informationfusion,2003,vol.4(3):217-229.

[7]romanom.,kapelanz.,savicd.a.geostatisticaltechniquesforapproximatelocationofpipebursteventsinwaterdistributionsystems.journalofhydroinformatics,2013,vol.15(3):634-651.

该类方法采用的主要技术措施:通过分析管网数据采集与监控系统(scada)中的压力、流量监测数据在爆管时的时间和/或空间变化特征进行爆管定位;也有研究借助管网水力模型分析爆管时监测数据中的水力特征进行定位。

优缺点:基于压力流量数据的方法所需的数据更易于采集,成本较低,工程应用潜力大。但目前这类方法还存在以下不足之处:(1)定位精度较低,只能大概确定爆管发生的区域,无法精确定位;(2)容易受管网监测数据误差或正常用水量波动的影响,监测数据中爆管造成的水力波动被掩盖、混淆,难以提取数据特征,造成定位失败;(3)部分定位方法依赖于管网独立计量区域(dma)建设,在我国多数管网中难以直接应用。如何应用低成本的压力流量数据实现高精度的爆管定位,仍是研究中有待于解决的问题。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于深度神经网络的供水管网爆管管道精确识别方法。

本发明的目的可以通过以下技术方案来实现:

一种基于深度神经网络的供水管网爆管管道精确识别方法,该方法包括如下步骤:

(1)搭建深度神经网络,确定爆管发生的可能区域并选择压力监测点位置;

(2)模拟不同位置的爆管,采集压力监测点压力数据作为训练数据,训练深度神经网络;

(3)在现场爆管发生的可能区域选择压力监测点位置并采集压力监测点压力数据,将其输入到训练好的深度神经网络中进行识别;

(4)输出爆管管道识别结果。

优选地,步骤(1)中深度神经网络由输入层、一系列密连接块和输出层组成,每个密连接块中包含一系列密连接层,密连接层的每一层隐藏层与其后的所有层都直接相连,表示为:

li=ci([l0,l1,…,li-1])

其中,li为第i层密连接层的输出;[l0,l1,…,li-1]为第i层之前的所有密连接层的集合;ci()是为复合函数,复合函数由批正规化、线性整流函数、线性连接组成。

优选地,步骤(1)和(3)选择压力监测点位置的具体方法为:

使用遗传算法,根据以下目标函数求解管网中压力监测点的布置位置:

约束条件为:

其中,np为爆管发生的可能区域中的节点数;s为所选压力监测点的集合,集合中的元素j表示安装在节点j上的压力监测点;|s|为集合s的势,即集合中的元素个数;χ为实数域上的映射函数,定义为:若a≥0,则χ(a)=1,否则χ(a)=0,其中,a为未知的输入参数;cl、cn、cr为常数;为管网灵敏度矩阵的第i行第j列元素,表示节点i上的压力对节点j上的流量变化的灵敏度。

优选地,步骤(2)具体为:

(21)使用epanet3程序包模拟可能爆管区域内的爆管工况,重复执行多次,得到多种爆管位置、爆管大小、管网模型参数下的压力监测点的压力模拟结果;

(22)对压力模拟结果进行预处理;

(23)使用预处理后的模拟数据训练深度神经网络。

优选地,步骤(21)具体为:

(211)指定可能爆管区域内的第一根管道为本次模拟的爆管管道;

(212)对水力模型中每根管道的粗糙系数,分别添加服从高斯分布n(0,σc2)的噪声;对每一时刻、每个节点的需水量,分别添加服从高斯分布n(0,σq2)的噪声;σc、σq为常数;

(213)随机从均匀分布u(γmin,γmax)中选择爆管强度系数γ,其中γmin、γmax分别为爆管强度最小值和最大值,同时确定爆管流量:

其中,下标ij表示起始节点为i、末端节点为j的管道,为爆管流量,hij为管道压力,aij为管道横截面积,g为重力加速度,cd为孔口出流系数;

(214)使用epanet3程序包,根据上述步骤中定义的参数执行水力模拟,记录压力监测点处对应的压力模拟结果;

(215)重复执行步骤(212)至步骤(214)一定次数,每次模拟时都重新随机生成噪声和爆管强度系数;

(216)指定可能爆管区域内的下一根管道为爆管管道,重复执行步骤(212)至步骤(215),直到所有管道都分别执行过爆管模拟。

优选地,步骤(3)在现场采集压力监测点压力数据后需要先对压力监测点压力数据采用步骤(22)的方法进行预处理,然后输入到训练好的深度神经网络中进行识别。

优选地,步骤(22)和步骤(3)中的预处理具体为:

(a)将任意一个压力监测点j记录的压力数据表示为如下向量形式:

hj=[hj1,hj2,…,hjn]′

其中,hji为节点j按时间顺序排列的第i个压力监测值,i=1,2……,n,j=1,2……,m,m为压力监测点总个数,n为每个压力监测点的压力监测值总个数,进而将所有压力监测点的监测值表示为如下矩阵形式:

(222)添加多项式特征,具体为:

sj2=diag(hj)·hj

sj3=diag(hj)·diag(hj)·hj

s2=[s12,s22,…,sm2]

s3=[s13,s23,…,sm3]

其中,diag为运算符,表示将向量转化为对角矩阵,其对角线上的元素为原始向量,其余元素为0;

(223)通过时域-频域分析进行低通滤波降噪,具体为:

l=[l1,l2,…,lm]

其中,fj为hj的频域信号;f′j为fj中的低频组分;lj为低通滤波后的数据;ε为低通滤波中保留的低频组分的频率阈值;[fj]p表示向量fj的第p个元素;[hj]q表示向量hj的第q个元素;[lj]q表示向量lj的第q个元素;

(224)对h、s2、s3、l进行归一化处理,得到最终输入到深度神经网络中的数据为

优选地,步骤(23)具体为:

(231)加载数据,将数据分为训练集和测试集;

(232)确定损失函数;

(233)使用随机梯度下降法进行网络训练,根据损失函数更新深度神经网络的参数,反复迭代一定次数后训练完成。

优选地,损失函数采用均方差损失函数,表示为:

其中,为训练数据的期望输出,x为深度神经网络的实际输出。

优选地,步骤(3)中现场爆管发生的可能区域的压力监测点压力数据通过压力监测计获取,所述的压力监测计可在爆管发生前预先布置,也可在爆管发生后临时安装。

与现有技术相比,本发明具有如下优点:

(1)本发明借助深度神经网络技术自动提取压力监测数据中的关键信息,可以更高效、更充分地提取数据中的爆管特征;

(2)本发明可以综合分析爆管后多个时刻的数据特征,令不同时刻的数据特征相互补足,因此受监测数据误差的干扰更小;

(3)本发明通过分析管网中易于获取的压力监测数据精确识别发生爆管的管道,具有成本低、实用性高、定位精度高的特点。

附图说明

图1为本发明基于深度神经网络的供水管网爆管管道精确识别方法的流程框图;

图2为实施例管网及可能爆管区域结构示意图;

图3为从可能爆管区域内收集压力数据、精确识别爆管管道的过程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。

实施例

如图1所示,一种基于深度神经网络的供水管网爆管管道精确识别方法,该方法包括如下步骤:

(1)搭建深度神经网络fl-densenet,确定爆管发生的可能区域并选择压力监测点位置;

(2)模拟不同位置的爆管,采集压力监测点压力数据作为训练数据,训练深度神经网络;

(3)在现场爆管发生的可能区域选择压力监测点位置并采集压力监测点压力数据,将其输入到训练好的深度神经网络中进行识别;

(4)输出爆管管道识别结果。

步骤(1)中深度神经网络由输入层、一系列密连接块(denseblock)和输出层组成,每个密连接块中包含一系列密连接层(denseblock),密连接层的每一层隐藏层与其后的所有层都直接相连,表示为:

li=ci([l0,l1,…,li-1])

其中,li为第i层密连接层的输出;[l0,l1,…,li-1]为第i层之前的所有密连接层(即第0层、第1层、……第i-1层)的集合;ci()是为复合函数,由批正规化(batchnormalization)、线性整流函数(rectifiedlinearunit)以及线性全连接层(fullyconnectedlinearlayer)组成。

深度神经网络fl-densenet的输入层用于接收输入值,在本发明中即为处理后的管网压力监测值;输入数据通过一系列密连接块后,数据中的关键特征不断被提取、抽象化,最终通过输出层输出目标区域内不同管道的爆管概率值。

步骤(1)以及步骤(3)中确定爆管发生的可能区域,如某个独立计量区域(districtmeteringarea)的范围;爆管发生的可能区域一般为一个dma或数十、数百根管道的范围内,可通过分析dma进出口流量数据、绘制压力监测值趋势面等方法初步确定,本步骤的详细实现方法不在本发明的关注范围内。

步骤(1)和(3)选择压力监测点位置的具体方法为:

使用遗传算法,根据以下目标函数求解管网中压力监测点的布置位置:

约束条件为:

其中,np为爆管发生的可能区域中的节点数;s为所选压力监测点的集合,集合中的元素j表示安装在节点j上的压力监测点;|s|为集合s的势,即集合中的元素个数;χ为实数域上的映射函数,定义为:若a≥0,则χ(a)=1,否则χ(a)=0,其中a为未知的输入参数;cl、cn、cr为常数,cl、cn、cr为评估压力监测点有效性的参数,cl决定了压力监测点所应该达到的最小灵敏度,当灵敏度大于cl时称节点被压力监测点覆盖;cn表示一个节点应该同时被覆盖的压力监测点个数,大于cn时称该节点被充分覆盖;cr表示被充分覆盖的用水节点占可能爆管区域内总用水节点的比例;为管网灵敏度矩阵的第i行第j列元素,表示节点i上的压力对节点j上的流量变化的灵敏度。

步骤(2)具体为:

(21)使用epanet3程序包模拟可能爆管区域内的爆管工况,重复执行多次,得到多种爆管位置、爆管大小、管网模型参数下的压力监测点的压力模拟结果;

(22)对压力模拟结果进行预处理;

(23)使用预处理后的模拟数据训练深度神经网络。

步骤(21)具体为:

(211)指定可能爆管区域内的第一根管道为本次模拟的爆管管道;

(212)对水力模型中每根管道的粗糙系数,分别添加服从高斯分布n(0,σc2)的噪声;对每一时刻、每个节点的需水量,分别添加服从高斯分布n(0,σq2)的噪声;σc、σq为常数;

(213)随机从均匀分布u(γmin,γmax)中选择爆管强度系数γ,其中γmin、γmax分别为爆管强度最小值和最大值,同时确定爆管流量:

其中,下标ij表示起始节点为i、末端节点为j的管道,为爆管流量,hij为管道压力,aij为管道横截面积,g为重力加速度,cd为孔口出流系数,一般为0.5~0.7;

(214)使用epanet3程序包,根据上述步骤中定义的参数执行水力模拟,记录压力监测点处对应的压力模拟结果;

(215)重复执行步骤(212)至步骤(214)一定次数,每次模拟时都重新随机生成噪声和爆管强度系数;

(216)指定可能爆管区域内的下一根管道为爆管管道,重复执行步骤(212)至步骤(215),直到所有管道都分别执行过爆管模拟。

步骤(3)在现场采集压力监测点压力数据后需要先对压力监测点压力数据采用步骤(22)的方法进行预处理,然后输入到训练好的深度神经网络中进行识别。

对模拟数据和现场收集的爆管数据,均需要首先进行数据预处理,以降低数据中随机误差的影响、强化数据中的关键特征、增强不同纬度的数据的可比性,因此,步骤(22)和步骤(3)中的预处理具体为:

(a)将任意一个压力监测点j记录的压力数据表示为如下向量形式:

hj=[hj1,hj2,…,hjn]′

其中,hji为节点j按时间顺序排列的第i个压力监测值,i=1,2……,n,j=1,2……,m,m为压力监测点总个数,n为每个压力监测点的压力监测值总个数,进而将所有压力监测点的监测值表示为如下矩阵形式:

(222)添加多项式特征,具体为:

sj2=diag(hj)·hj

sj3=diag(hj)·diag(hj)·hj

s2=[s12,s22,…,sm2]

s3=[s13,s23,…,sm3]

其中,diag为运算符,表示将向量转化为对角矩阵,其对角线上的元素为原始向量,其余元素为0;

(223)通过时域-频域分析进行低通滤波降噪,具体为:

l=[l1,l2,…,lm]

其中,fj为hj的频域信号;f′j为fj中的低频组分;lj为低通滤波后的数据;ε为低通滤波中保留的低频组分的频率阈值;[fj]p表示向量fj的第p个元素;[hj]q表示向量hj的第q个元素;[lj]q表示向量lj的第q个元素;

(224)对h、s2、s3、l进行归一化处理,得到最终输入到深度神经网络中的数据为这里以h为例说明归一化处理的具体方式:

其中,为归一化之后的监测值向量;μm为向量hm中所有元素的均值;σm为向量hm中所有元素的标准差;

步骤(23)具体为:

(231)加载数据,将数据分为训练集和测试集;

(232)确定损失函数;

(233)使用随机梯度下降法进行网络训练,根据损失函数更新深度神经网络的参数,反复迭代一定次数后训练完成。

损失函数采用均方差损失函数,表示为:

其中,为训练数据的期望输出,x为深度神经网络的实际输出。

步骤(3)中现场爆管发生的可能区域的压力监测点压力数据通过压力监测计获取,所述的压力监测计可在爆管发生前预先布置,也可在爆管发生后临时安装。

实施例使用的管网如图2所示。该管网包含567根管道、480个节点,总管长为147km,每天通过4个水库供给约57000m3自来水。爆管发生后,初步确定爆管发生的可能区域为图2左侧b所指区域,该区域内共包含58根管道,管道直径从100mm到400mm不等。本发明的目的即为从可能爆管区域内进一步精确识别发生爆管的管道。

(1)搭建深度神经网络fl-densenet;

本实施例中使用的fl-densenet由输入层、4个密连接块以及输出层组成,每个密连接块中分别包含8、16、16、12层密连接层;密连接层中使用的激活函数为relu函数,不同层之间通过线性全连接的方式相连,训练时采用的学习率为0.1。

(2)确定爆管发生的可能区域并选择压力监测点位置;

在预先确定的可能爆管区域内,分别设置cl、cn、cr为0.03、2、0.9,使用遗传算法求解得该区域内总共需要安装4个压力监测点,位置分别如图3左侧三角形标注所示。

(3)使用epanet3模拟不同位置、不同参数的爆管,使用模拟结果训练fl-densenet;

本实施例中采用以下参数进行爆管模拟:管网水力模型参数误差σc=10,σq=10%;爆管强度系数取值范围(γmin,γmax)=(10%,30%);可能爆管区域内共有58根管道,每根管道上分别模拟1800次爆管,水力模拟的时间间隔为15分钟,记录爆管后24小时内压力监测点对应位置的压力数据;将记录的数据进行添加多项式特征、低通滤波降噪、归一化等预处理后,使用随机梯度下降法训练fl-densenet,将整个训练集反复训练120次后完成训练。

(4)收集现场数据后输入fl-densenet中进行识别,输出识别结果;

在所选的四个压力监测点处收集爆管后的监测数据,所得结果如图3中“压力监测值”所示。将监测数据预处理后输入到训练好的fl-densenet中进行识别,输出结果如图3最右侧“识别爆管管道”所示,其中g1、g2管道表示fl-densenet识别该管道为爆管管道的概率高。与预设的爆管位置相对比发现,fl-densenet识别结果中,爆管概率最高的两根管道中即包括了正确的爆管管道,有效、准确地定位了实施例中的爆管。

上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1