韓佳豪,陳小華,姜海斌,李 霖,李 振,張 皓,趙涓涓
(1.太原理工大學 信息與計算機學院,山西 晉中 030600;2.國家管網集團西南管道有限責任公司,成都 610000)
長距離輸送管線的泄漏檢測系統是管道儲運行業的重要課題。截止2020年底, 我國境內已經罕見尚未安裝泄漏監測系統的石油及天然氣長距離管線[1]。若從監測泄漏所依據的數據源分類,相關研究工作大致可分為基于流量數據的方法和基于壓力數據的方法,兩種方法各有其適用范圍及亟待改進的內容[2-3]。
基于流量的泄漏監測方法是歷史最為悠久的方法,其原理為實時地讀取流入與流出管線的流量數據,并根據沿線的溫度、壓力以及高程等推算管線容積的變化。在此基礎上求出流入流量、管容變化量、流出流量三者之間的平衡關系,并由此判斷是否發生了泄漏。流量平衡檢測方法的準確性很大程度上依賴流量計量裝置本身的性能,采用高精度流量計算機通常可以獲得更為滿意的結果;其次取決于計算管道容量的方法。由于長輸管線的壓力與溫度采樣點間隔很大,通常均為幾十公里,中間數值無法直接測量,只能用插值或模擬等方法近似求出,所以管道容量計算的結果往往很難與實際情況完全吻合,制約了流量平衡算法的整體精度。此外,目前所見的流量平衡算法均需要在監測管道的兩端安裝同檔次流量計,而目前我國的部分用戶僅在管道輸出端安裝有流量計,在輸入端一般采用測量儲油罐液位的方式計算輸入管道的物料,其精度相比流量計較低,在使用流量平衡泄漏監測時誤差很大,限制了這一方法的應用。
基于壓力數據的泄漏監測算法是近年來長輸管道泄漏監測的研究熱點[4],其中基于負壓波的方法和基于音波(包括次聲波)的方法構成了研究的主體內容[5-6]。負壓波和音波技術的主要差別在于傳感原件與信號處理電路的不同[7]。在對信號進行分析的基礎上又分為側重于壓力數據基波(時域)特征的方法[8],側重于時、頻域結合的方法[9],以及重點研究低頻諧波[10]的方法等。但各種基于壓力數據的監測算法均以發現平穩狀態下管道流體中突然出現的壓力波變化信號為起點,即以平穩信號中的突然變化點作為監測泄漏的關鍵目標。
基于壓力數據的算法通常在兩種情況下容易發生錯誤:一種是壓力下降過程中沒有特征點。典型的例子為非法盜油時刻意緩慢平穩地打開閥門,在此狀態下泄漏的時段內并不存在明顯的壓力突變,從而使得基于壓力變化的監測算法無法發現泄漏,造成漏報;另一種是壓力變化過程中發生了多個突變點。典型例子如間歇地打開閥門過程中形成的臺階狀遞減壓力形態。由于在泄漏區間內發生了多個近鄰的壓力突變點,監測算法往往難以確定各個突變點與其壓力波之間的時間對應關系,所以很大概率會導致計算錯誤,造成誤報。這兩個問題在基于壓力數據的泄漏監測算法的發展過程中一直未能得到妥善解決。
為了開發新的泄漏監測算法,近年來的研究工作在泄漏信號處理方式與挖掘信號本身特征方面進行了廣泛地嘗試。李傳憲等[9]通過改進小波濾波的閾值函數來提高濾波效果,并使用盲源分離方法,結合頻域特征,在長度為370 m的實驗管道上更為準確地捕獲到了泄漏信號。YU et al[11]運用在圖像處理領域取得了良好成績的雙樹復小波變換和奇異值分解作為主要手段來處理音波信號,在3 km長的實驗管道上穩定地實現了泄漏監測功能。在挖掘信號特征的研究方面,孟令雅等[12]采用相關函數與協方差函數對管道上的常見干擾信號進行分類,通過排除法發現泄漏信號,并在總長度為251 m的實驗管道上證明了該方法的有效性。上述幾種新技術均被證明可以有效地改善泄漏監測過程中漏報與誤報的問題,但目前尚未見到上述成果在長距離工業輸油氣管道上獲得應用的報道。
除了上述幾種新近發表的泄漏檢測技術之外,采用壓力數據進行監測泄漏時還有基于壓力梯度的算法。早在19世紀,達西-魏斯巴赫(Darcy-Weisbach)就推算出了的水頭損失計算公式,并證明了管道中的流量與沿線的壓力梯度之間存在著確定性的關系,這一成果在后來被不斷地完善更新[13]。近期研究的基于該理論的工作無論是將其用于數值模擬的計算基礎[14],或在長度約為200 m的實驗室管道上進行的實驗[15],均再次證明了該理論的正確性。但同樣由于管道沿線的各種參數并不一致,通常也不能密集地逐點測量,因此采用顯式數學方程式的方法。這種“白箱”的方法往往很難在長距離管道上得到壓力梯度與實際流量之間的準確系數。與此同時,近年來在各個領域中大獲成功的深度學習方法,為在管道輸送工業中以“黑箱”方式探索這種對應關系提供了一條新的解決途徑。近期的研究工作包括CAI et al[16]使用通過兩層卷積神經網絡對由麥克風采集的音頻信號進行分類,在長度約為60 m的實驗室管道上進行的實驗,與KAMPELOPOULOS et al[17]發表的研究工作都是將深度學習技術應用于管道泄漏監測的典型案例。
基于上述內容,提出一種基于卷積長短期記憶神經網絡(CNN-LSTM)的流量預測方法。將卷積網絡的空間解析能力與長短期記憶網絡的時序解析能力相結合,采用在現役管道運行過程中獲取的大規模壓力與流量數據訓練出短時段平均壓力梯度-平均瞬時流量的深度學習網絡模型。使用該模型可以實時根據管道上的壓力梯度來預測同一管道中的流量。目前達到的誤差范圍最小0.3%,最大0.7%,平均0.5%(相對管道瞬時輸量),具有一定的實用價值。將其用于泄漏監測可以連續監視預測流量與真實流量的偏差,從而發現泄漏。在此基礎上,可以采用壓力曲線距離算法來進一步確定泄漏位置。在國家管網集團云南某成品油管線上進行的現場實驗表明,相比現有的各種泄漏監測與定位算法,本算法簡單有效,在泄漏量超過0.7%干線流量時均能報警,同時在管線設備操作期間不易產生誤報。此外,新算法的重要意義還在于可以在管道一端安裝了流量計的情況下使用,為尚未在管道兩端,或未在管道的每個分輸點均安裝有流量計的用戶提供了一種通過壓力梯度變化發現流量異常情況的新手段。
卷積長短期記憶網絡(CNN-LSTM)是一種復合型網絡。將深度神經網絡聯合或組合起來使用可以有效地利用各種網絡特有的優勢,近年來在各個領域均有成功案例[18-19]。
CNN網絡[20]是前饋型神經網絡的一種,主要由卷積層與池化層構成。由于采用了稀疏連接與權值共享等優化策略,在保證輸入數據經平移、旋轉、與縮放后特征保持不變的前提下,有效地減少了網絡參數。CNN網絡中的卷積層包括若干個特征面,每個特征面上包含若干個神經元,每個神經元通過卷積核與上一層特征面上的某個區域相連接。一個輸入序列的特征在各個特征面上被分解,通過一系列卷積計算被提取出來。與卷積層相連接的池化層具有相同數目的特征面,可以再次提取特征量并降低相關參數的維度。由于長輸管道的壓力與流量數據均為時間序列數據,因此很適合采用一維卷積神經網絡進行處理。一維卷積運算可以表達為:
(1)


(2)
重復對每個窗口為r的連續向量進行最大池化運算,即可求出最大特征序列。
長短期記憶神經網絡(Long Short-Term Memory,LSTM)[20]是對早期循環神經網絡(Recurrent Neural Network,RNN)做出的重要改進,發表以后在處理時間序列方面取得了令人矚目的成功。LSTM在網絡結構中提出了遺忘門,輸入門與輸出門的概念與操作,從而有效地克服了原RNN網絡容易發生梯度消失或梯度爆炸的弱點。圖1為LSTM單元的邏輯結構圖。當t時刻的數據Xt輸入某個LSTM單元時,與t-1時刻的長期狀態Ct-1以及輸出ht-1共同參與運算,得到該時刻本單元的輸出ht,即所求t時刻的預測數據。LSTM的更新公式可以表達為:
it=σ(Wi·[ht-1,xt]+bi) ,
(3)
ot=σ(Wo·[ht-1,xt]+bo) ,
(4)
ft=σ(Wf·[ht-1,xt]+bf) ,
(5)
Ct=ft?Ct-1+it?tanh(Wc·
[ht-1,xt]+bc) ,
(6)
ht=ot?tanh(Ct) .
(7)

圖1 LSTM單元邏輯結構圖Fig.1 LSTM unit logical structure diagram
式中:ft為遺忘門的輸出信號,其值決定了記憶單元C的遺忘比例;it為輸入門信號,其值決定了當前輸入信息輸入到記憶單元中的信息量;Wi、Wo、Wf分別為輸入門、輸出門、遺忘門的權重函數;bi、bo、bf是偏置矢量,σ(*)為sigmoid激活函數;tanh(*)為雙曲正切函數。由公式(6)、(7)可知,輸入量到達LSTM的隱含層之后,首先經過輸入門進行非線性變換,然后與經遺忘門處理后的記憶單元的狀態相加,形成新的記憶單元狀態。產生系統隱含層的輸出ht前需再執行一次點乘運算,參與運算的項即為經過tanh處理后的新記憶單元的狀態與經過經非線性函數處理后輸入信息的狀態。
由于長輸管道的壓力梯度與管道流量之間存在確定關系,因此可以采用流量與沿線的壓力采樣點的數據作為模型的輸入訓練模型,預測在新壓力條件下的流量。模型可以表示為:
(8)
(9)

(10)
對于不同的管道,數據模型的具體參數需根據該管線的情況而調整,即需要設定壓力梯度變量的數量i、回溯時間的深度j與流量計的個數k.圖2為本項目中用于實驗與驗證的模型結構示意圖,其中i=3,j=6,k=1.

圖2 本項目實驗管段卷積長短時網絡(CNN-LSTM)模型及參數Fig.2 Model and parameters of CNN-LSTM tested in this project
為了提高預測精度,對于參與計算的壓力與流量數據采用了不同的處理方法。
1.4.1壓力數據
現實世界中的長輸管道與試驗室環境下的短距離管道有很多不同,其中最重要的不同為長距離管道上壓力數據中的高頻分量對信號特征值的貢獻很小,通常均為毫不相干的近場噪音。文獻[21]通過實驗證明了在工業長輸管道中最有價值的信號波段集中在0~3 Hz范圍內。因此,對在長輸管道上采集的壓力數據而言,信號中的高頻分量可以作為噪音濾掉,反而有益于提高預測精度。所以壓力數據除了應進行標準化轉換之外,還應先期進行濾波處理。圖3為數據樣本的制作流程, 簡化起見,其中省略了關于處理缺失數據等常規數據清洗的步驟。

圖3 數據樣本制作流程Fig.3 Data sample making process
1.4.2流量數據
與壓力數據不同,流量計算機瞬時流量信號中的高頻分量包含了有價值的特征信息,不宜作為噪音被消除。由于本項目流量數據的變化范圍相對狹窄,因此可以不用進行任何預處理。這樣系統輸出的預測值也無需再作反變換運算。若流量計數據在實際應用中波動范圍較大,可以先進行線性縮小后再輸入網絡,獲得預測結果后再作同比例放大,但通常不需要進行濾波處理。
1.4.3時間片選取
時間片的長度對預測結果準確性具有直接影響。時間片太短會造成數據中的隨機參量得以顯現,導致預測精度下降;時間片太長則會減弱有價值的波動數據,同樣使得預測精度下降;此外時間片太長還將導致用于訓練網絡的樣本數量下降,造成模型的泛化性能不強;經實驗發現在本應用中時間片長度在20~40 s之間為宜,本文模型中時間片長度為30 s.
1.4.4回溯時間深度
選取回溯時間深度時,應考慮將壓力梯度對流量影響的延遲時間包含在內。例如,在管道起點處關閥動作引起的壓力變化出現在相鄰管段上的延遲為1秒以內;但對管道末端流量產生的影響,根據管道的長短不同,要在若干秒到若干分鐘后才會出現。因此在回溯時間深度的選取上,需要根據影響管線壓力設備的位置、設備到流量計之間的距離、以及壓力波傳播速度來計算延遲時間。
1.4.5模型訓練
依照圖3流程生成數據樣本后,即可開始按批量(batch)抽取數據來訓練模型。目前常用的深度學習平臺均集成有模型訓練的函數可供調用,通常僅為一條fit(…)語句。作為普通用戶只需保證樣本數據的正確性與合理性,將存放樣本的數據的數組輸入模型即可開始訓練過程。深度學習是對所見數據間關系的一個解析過程,實踐證明訓練模型的數據樣本越多越好,但同時還應注意讓模型“看到”數據關系之間的各種情景,模型的預測能力在很大程度上取決于訓練樣本的規模和豐富程度。
1.4.6評估模型誤差
對于回歸模型,通常采用平均絕對誤差(Mean Absolute Error,MAE)及其百分比來評價預測的準確性。MAE計算公式為:
(11)
式中:m為評估數據數目;fi為第i個預測值;yi為與預測值所對應的實際值。
基于CNN-LSTM的泄漏監測算法的主要流程如圖4所示。當發現實際流量與預測流量的偏差超過閾值時,可以通過計算各管段壓力波形曲線的距離以確定壓力擾動源的位置,計算時應使用經過濾波且采樣間隔為0.1 s的壓力數據,以提高定位精度。近期發表的文章中介紹了將曲線距離計算應用于泄漏點定位的方法[22]。通過曲線距離求導壓力擾動位置的方法消除了因個別奇異值對整體定位結果的干擾,是一種行之有效的方法。實踐中發現將動態時間彎曲算法(Dynamic Time Warping,DTW)[23]應用于經濾波后的壓力數據具有更好的魯棒性,可以充分發揮DTW算法自動匹配波峰與波谷的能力,為本項目所采用。DTW采用了動態規劃DP(dynamic programming)的方法來進行時間規整的計算,是一個典型的優化問題。主要包括兩個步驟:
1) 計算壓力波形曲線序列各個點之間的距離,形成距離矩陣M(i,j).
2) 尋找一條從矩陣左上角到右下角的路徑,使得路徑上的元素和最小,遞推規則為:
Lmin(i,j)=min{Lmin(i,j-1),Lmin(i-1,j),
Lmin(i-1,j-1)}+M(i,j) .
(12)
式中:Lmin(i,j)表示矩陣左上角(1,1)到任意一點(i,j)的最短路徑長度。

圖4 泄漏監測算法流程Fig.4 Leakage monitoring algorithm flow
課題組在國家管網集團云南某成品油管線上,選擇中間站到末站一段安裝了4個壓力數據采集器,采集點間隔分別為59.8 km、60.0 km和42.9 km.測試段管線沿線高程呈饅頭狀并在末站前約15 km處達到最高點。測試管線最大高程差約為150 m.該成品油管線采用間歇方法運行,每次輸油過程為3~5 d,在中間站有分輸,輸油過程中有頻繁地流量調節、油品切換以及儲油罐變更等操作。這樣使得輸油時沿線壓力變化頻繁且復雜,使其測試環境具有挑戰性。
實驗系統搭建完成后,課題組采集了2021年4至8月之間共5個月的數據,其中4-5月份和7-8月份的數據用于訓練模型,6月份數據被用作模型的驗證使用。圖5為實驗段管線2021年6月期間4個壓力測量點數據變化全貌圖。圖6為同期的流量數據總覽圖,由于汽油流量與柴油流量分別由兩臺流量計算機計量,因此在圖中表現為兩條各自獨立的曲線。

圖5 實驗管段6月份壓力數據Fig.5 Pressure data of experimental pipe section in June

圖6 實驗管段6月份柴油及汽油體積流量Fig.6 Volume flow of diesel and gasoline in the experimental pipe section in June
模型訓練完成后,以不在訓練數據集中的6月份的數據作為測試數據集進行測試,其結果如圖7所示。從測試結果看到,預測數據與實際數據能夠很好地吻合,包括停止輸送、開始輸送、調節流量、切換油品、以及切換末站儲油罐的完整過程。測試集的平均絕對誤差在平穩段為0.3 m3/h,波動段為0.7 m3/h,整體誤差范圍為該管道實時輸量的0.3%~0.7%以內。測試中發現基于組合式深度學習模型的泛化能力良好,表現為在對輸送兩種油品時的預測精度并無差別,包括在管道內存在不同長度的混油段的情況。
將模型用于實際系統之前,將現有的全部監測數據統一用作訓練數據重新訓練模型,最終獲得現場使用的深度模型。結合文中介紹的泄漏監測定位算法,建立了泄漏監測現場實驗平臺。實驗時分別在實驗段管線的8#閥室(距離流量計26 km)與4#閥室(距離流量計133 km)進行了放油測試。測試中使用了渦輪流量計以及數控球閥。采用數控球閥可以對開閥速度、閥門開度、以及閥門運行方式進行精確控制,特別是可以完成諸如緩慢勻速開閥、階梯狀開閥等動作,為測試算法提供了必要的技術保障。

圖7 6月份流量數據真實值與預測值對比Fig.7 Comparison between the real value and predicted value of traffic data in June
測試時的兩種開閥方式為:
1) 緩慢開閥:閥門根據指定開到位時間除以閥門終止角度勻速運行至開到位。
2) 間斷開閥:閥門以0.3 s運行、0.3 s停止的方式運行至開到位。
圖8為其中某次放油時真實流量與預測流量的數據曲線。從圖中可以看出,在測試油閥處于關閉狀態下,本文提出模型的輸出預測值與柴油體積流量實時平均值保持一致,當測試放油閥打開時,模型預測值會有明顯提高,激發系統發出預警。表1為測試結果總結,分別對8#閥室和4#閥室采用緩慢和間斷兩種開閥方式以不同速度進行現場放油測試,兩個閥室報警時間差均低于1 min、泄漏定位誤差均低于1.5%.

圖8 放油實驗時實際流量與模型預測流量曲線Fig.8 Curve of actual flow rate and model predicted flow rate during oil discharge experiment
為了驗證所提組合模型的有效性與優越性,將CNN-LSTM組合模型分別與僅擬合空間特征的CNN和序列網絡中另一典型模型循環神經網絡(Recurrent Neural Network,RNN)[24]進行對比。放油測試實驗環境統一選定在實驗段管線的8#閥室、開閥方式和開到位時間統一選擇緩慢30 s和間斷20 s.表2總結了這些常用模型的方法和測試結果。實驗表明,組合模型CNN-LSTM可以有效擬合時間與空間特征,在緩慢和間斷兩種開閥方式下,監測效果都明顯優于僅擬合空間特征的CNN模型和時序網絡RNN模型,可高效準確監測管道泄漏事件。
1) 通過構建CNN-LSTM深度網絡,在實際的長輸管道上初步實現了用壓力梯度準確預測實時流量的深度模型,并將之應用于管道的泄漏監測。新算法可以有效監測出壓力平穩并緩慢下降過程中的泄漏事件,也可以發現壓力波動過程中流量的異常情況,彌補了現有泄漏監測算法的不足。

表1 現場放油測試結果Table 1 Results of field oil discharge test

表2 不同模型現場放油測試結果Table 2 Field oil discharge test results of different models
2) 由于采用了短時段平均數據,相比其它基于壓力數據的泄漏監測算法,本文算法的泄漏檢測系統在設備操作過程中不易發生誤報。
3) 本算法可以通過壓力梯度預測管道上一個或多個流量輸入或輸出點,為在管道上僅安裝了單個流量計的用戶,或具有多個分輸管道、安裝有多個分輸流量計的用戶提供了一種監測流量異常變化的新手段。