韓鵬程 燕 群 彭 濤 寧方立
(1 中國飛機強度研究所 西安 710065)
(2 西北工業大學機電學院 西安 710072)
由于腐蝕、老化、地質變形或施工失敗等原因,天然氣管道泄漏事故頻發。針對管道氣體泄漏問題,國內外學者開展了相關研究。目前已有許多針對管道氣體泄漏檢測的方法[1-2],根據不同的檢測物理量可分為聲學檢測法和非聲學檢測法。非聲學檢測方法中光纖檢漏法[3]、質量平衡法[4]、壓力點分析法[5]等檢測方法原理簡單,但是靈敏度低,對緩慢增加的泄漏或微小的滲漏反應弱,甚至無效。氣體示蹤法[6]、紅外熱成像法[7]等檢測方法在定位精度以及實時性方面有所提高,但其設備復雜,成本昂貴,在實際工程應用中受限于氣體類型、氣體濃度。聲學檢測法中Mostafapour等[8]利用聲發射技術,提出一種結合小波變換、濾波和互相關技術的泄漏檢測算法。該方法可用于城市燃氣管道泄漏源的定位,但存在對材料敏感、安裝要求高、易受噪聲干擾、信號辨識困難等問題。Xiao 等[9]提出了一種基于小波變換和支持向量機的聲信號泄漏檢測方法。該方法對燃氣管道泄漏嚴重程度進行識別,但是需要人工提取特征,需要相當充裕的經驗知識。
深度學習是一種特征學習,即通過學習數據的更高層次抽象表示,能對具有復雜分布特征的圖像、視頻、聲音等信號進行特征提取、分類和識別[10],被廣泛應用于語聲識別[11]、圖像處理[12]等領域。卷積神經網絡(Convolutional neural networks,CNN)[13]是一種有監督的深度學習算法,其對深層特征的學習能力很強。CNN 通過對原始數據的特征提取、選擇和模式識別統一到一個框架下,避免了信息丟失,減少了人工工作量,在實際工程中應用更為方便。寧方立等[14]通過對卷積核進行改進,提取閥門泄漏信號的窄帶線譜特征。該方法將CNN 引入到閥門泄漏檢測領域,但是基于“泄漏”和“背景”的分類模型較為單一。
綜上所述,目前管道氣體泄漏檢測方法受限于技術特點,不具備通用性,且識別準確率較低。CNN可以對氣體泄漏聲信號特點進行提取,但是需要進一步模擬實際管道泄漏形式,建立多分類模型。本文針對輸氣管道氣體泄漏檢測問題,在實驗室搭建輸氣管道,模擬常見的閥門泄漏和墊片泄漏,采集泄漏聲信號通過短時傅里葉變換(Short time Fourier transform,STFT)構建輸氣管道氣體泄漏數據集。在設計CNN網絡結構時,添加Inception模塊,建立基于CNN 的二分類模型和不同泄漏類型的三分類模型。結果表明這種設計可以有效提高三分類模型的性能。
STFT 既保留了原始信號的時頻域信息,也不受信號頻帶范圍的制約,是一種常用的時頻聯合分析技術,具體運算為

式(1)中:z(t)為原始信號,g(t-τ)為中心位于τ時刻的窗函數。
將管道氣體泄漏時域信號經過STFT 處理的結果在時域排開,得到保留時頻域信息的二維譜圖。在STFT 過程中,窗函數的長度決定時頻域分辨率,具體運算為

其中:T為時間分辨率,F為頻率分辨率,表示向下取整運算,Nx為參與STFT的樣本長度,Nw為窗函數長度,N0為窗口重疊寬度。將時頻圖分辨率P定義為

氣體泄漏產生的超聲信號具有不同于環境背景聲的特征,本文在構造時頻圖時,首先進行超聲截斷,只對20~40 kHz超聲頻率段進行表征。同時,根據式(4),通過調整窗口重疊寬度,對時頻圖分辨率大小,即CNN分類模型輸入時頻圖尺寸進行分析。
CNN 可以對氣體泄漏超聲信號表征的時頻圖特征進行自適應提取。CNN 分類模型的訓練過程包括前向傳播和反向傳播兩個部分。前向傳播經過卷積層、池化層對輸入時頻圖進行特征提取和降維,在全連接層進行分類,預測時頻圖的類別。假設第l層為卷積層,第l-1層為池化層或輸入層,則:

式(5)中,為第l層輸出的n個特征圖為第l層輸入的m個特征圖,k為卷積核,b為偏置項,?表示卷積操作,f(·)為激活函數。
反向傳播以特征圖預測類別概率值和真實類別標簽的損失函數作為誤差,通過誤差反向傳播和優化算法進行模型參數更新。首先對前向傳播全連接層輸出值進行Softmax 函數處理,使其變成一個概率值。Softmax函數[15]定義為

式(6)中:yi代表全連接層的原始輸出,i= 1,···,N,N代表分類的類別。
選擇交叉熵函數[16]作為損失函數,其定義為

式(7)中:N為某批次樣本數,yi為真實的類別標簽,為預測的類別概率值。
在設計CNN 網絡結構時,對如何確定網絡層數、卷積層和池化層中的核尺寸和數目、全連接層的神經元數目沒有嚴格的規定,一般是通過驗證集結果不斷調整參數,確定最終網絡結構,而如果在訓練初始就設定較為合理的數值,就可以節省大量的調參時間,提高效率。大部分經典CNN模型希望通過把卷積層堆疊得越來越多,提高模型性能,但是層數太深會造成參數太多,計算復雜度加大。
本文利用Inception 模塊平衡網絡的寬度和深度,防止過擬合的同時提高網絡對尺度的適應性。由于不同支路的感受野是不同的,所以輸出特征圖有多尺度的信息在里面。選擇小尺寸卷積核可以減少卷積參數總數,增加模型容量和模型復雜度。卷積核尺寸通常為奇數,方便以卷積核中心為標準進行滑動卷積,避免位置信息發生偏移,同時保證在進行padding時,圖像的兩邊依然相互對稱。
對模型超參數調整,通過多次預訓練確定CNN網絡結構。3 個卷積層中卷積核尺寸均為3×3,Conv-1 層卷積核滑動步長和卷積核尺寸保持一致,有效減小輸出特征圖尺寸。卷積核個數分別為16、32、64,均為2 的次冪,方便硬件字節級存儲管理,有利于顯卡硬件計算過程中劃分參數矩陣。為了更多地保留特征圖紋理信息,采用最大池化進行池化操作。3 個池化層中,池化核尺寸均為3×3,池化核滑動步長和尺寸保持一致,因此輸出特征圖尺寸為原來的1/3。卷積層和池化層搭配SAME 方式的Padding 操作,即0 值填充,可充分利用和處理輸入特征圖的邊緣信息。設計兩個全連接層,第一個全連接層把局部特征通過權值矩陣重新組合,第二個全連接層輸出預測的類別。
上述網絡結構為本文建立的基本網絡結構,同時在基本網絡結構中添加Inception模塊,設計改進的CNN 結構,如表1 所示,用于提升三分類模型性能。Inception 模塊前3 個通道為卷積操作,第4 個通道為池化操作,卷積核大小分別為1×1、3×3和5×5,每個通道的核個數均為32,通過SAME 方式的Padding 操作可以得到相同緯度的特征,然后將這些特征直接拼接得到維度為128維的輸出特征圖,如圖1所示。

表1 改進的CNN 結構Table 1 Improved convolutional neural network structure

圖1 Inception 模塊Fig.1 Inception module
搭建輸氣管道氣體泄漏平臺,如圖2所示,利用法蘭球閥和墊片小孔模擬實際輸氣管道中最容易產生的閥門泄漏和墊片泄漏。

圖2 輸氣管道氣體泄漏平臺Fig.2 Gas pipeline gas leakage platform
3.1.1 時頻圖表征
圖3(a)為典型閥門泄漏時頻圖。分析可知,閥門泄漏超聲信號在頻域上主要包括寬帶連續譜和窄帶線譜,寬帶連續譜聲壓級幅值會隨著不同泄漏條件發生變化,窄帶線譜具有時域連續性和頻域穩定性特點。圖3(b)為典型墊片泄漏時頻圖。分析可知,相比閥門泄漏,墊片泄漏在頻域上主要包括寬帶連續譜,其窄帶線譜成分能量較小,反映在時頻圖上并不明顯。圖3(c)為典型實驗室環境背景時頻圖。分析可知,在超聲頻率段內,由于電路噪聲和其他環境中超聲信號的影響,在時頻圖上會存在窄帶線譜噪聲。這些噪聲具有時變性和不穩定性,對模型的抗干擾能力有了更高要求。

圖3 超聲信號時頻圖Fig.3 Time-frequency diagram of ultrasound signal
3.1.2 數據集樣本構成
分別采集4 個法蘭球閥在閥門開度為15°、30°、45°,管道壓力為0.7 MPa 和0.9 MPa 下的氣體泄漏信號。做時長為1 s 的截斷,通過時頻圖表征作為“閥門泄漏”類樣本,共包括4992 個樣本,如表2所示。

表2 “閥門泄漏”樣本構成Table 2 Sample composition of “valve leakage”
在進行墊片泄漏和背景實驗時,采集和“閥門泄漏”類同樣多的樣本,同時保證閥門泄漏和墊片泄漏的聲壓級在同一區間內。分別采集不同孔徑的墊片在無擋板、6 mm 擋板、12 mm 擋板環境,管道壓力在0.2~0.5 MPa 下的氣體泄漏信號。通過時頻圖表征作為“墊片泄漏”類樣本,共包括4992 個樣本,如表3所示。

表3 “墊片泄漏”樣本構成Table 3 Sample composition of “gasket leakage”
“閥門泄漏”、“墊片泄漏”和“背景”類樣本構成輸氣管道氣體泄漏數據集。
在實際工程中,只需要判斷出管道中是否有泄漏,因此首先建立基于“泄漏”和“背景”的CNN 二分類模型,其中,“泄漏”類樣本包括“閥門泄漏”和“墊片泄漏”類樣本。在劃分數據集時,通常將大約2/3~4/5的樣本數據用于訓練,剩余樣本用于驗證集和測試集,保證訓練集、驗證集和測試集處理的為非同批次數據集樣本,具體劃分如表4所示。

表4 二分類氣體泄漏數據集劃分Table 4 Division of the two-class gas leakage data set
以ReLU 函數作為激活函數,交叉熵作為損失函數,采用Adam算法為優化算法更新網絡參數,最小化損失函數訓練模型。計算機軟件環境為windows10+Python,CPU為Intel Core i7-8700,GPU為GTX 1080Ti。
在進行時頻圖表征時,選擇窗長為1024個采樣點,窗口重疊寬度通常為半窗長512 個采樣點,根據式(4)得到186×513 分辨率的“長方形”時頻圖。通過調整窗口重疊寬度為838 個采樣點,使時頻圖的長寬一致,得到513×513 分辨率的“正方形”時頻圖。
將這兩種時頻圖輸入到CNN 中進行訓練和測試其性能,以整體性能更好的一組作為輸入時頻圖尺寸。采用基本網絡結構訓練基于CNN 的二分類氣體泄漏分類模型。圖4 分別為訓練集損失函數和準確率隨訓練步數變化的情況。
由圖4 可知,513×513 分辨率時頻圖作為輸入時,訓練步數增加到4743步,模型收斂;513×186分辨率時頻圖作為輸入時,訓練步數增加到3534 步,模型收斂。此時兩個模型的損失函數穩定在0.05 左右,準確率穩定在98%左右。

圖4 二分類模型收斂特性Fig.4 Convergence characteristics of the two-class model
計算兩個模型在測試集上的性能,如表5所示。

表5 不同輸入時頻圖尺寸模型性能對比Table 5 Performance comparison of models with different input time-frequency diagram sizes
分析可知,相比186×513 分辨率時頻圖作為輸入,513×513 分辨率時頻圖作為輸入的情況下,精度由0.889 提高到1.000,召回率由1.000 下降到0.928,而精度和召回率的調和平均數F1-score 由0.941 提高到0.962,模型性能有了很大提高。CNN分類模型虛警率由0.125 下降到0,漏警率由0 上升到0.072。除此之外,測試集識別準確率由93.53%提高到96.90%。
綜上所述,確定以513×513 分辨率作為輸入時頻圖的尺寸。
通過進一步細分泄漏類型,研究基于“閥門泄漏”、“墊片泄漏”和“背景”的CNN三分類模型判斷泄漏屬于哪一類。按照二分類氣體泄漏數據集劃分思想,三分類氣體泄漏數據集劃分如表6所示。

表6 三分類氣體泄漏數據集劃分Table 6 Classification of three-class gas leakage data set
分別在基本網絡結構的每一層卷積層后添加Inception 模塊,計算測試集在模型上的識別準確率,確定添加位置,如表7所示。

表7 不同位置Inception 模塊對模型的影響Table 7 The influence of Inception modules in different positions on the model
由表7 可知,Inception模塊隨著添加位置后移,總體識別準確率逐漸提高,但是在第一層和第二層后,其總體識別準確率相比未添加時反而降低,尤其在第一層后只有80.80%。
分析可知,第二個卷積層維度為32,第三個卷積層維度為64,而文中所使用的Inception 模塊維度為128。因此,當Inception 模塊添加在前兩個卷積層后時,維度的壓縮都造成底層通用特征的丟失,進而造成深層網絡難以提取到更精細的特征。
因此,確定Inception模塊添加位置在第3 個卷積層后,并和訓練集作用于基本網絡結構時訓練情況進行對比。圖5(a)和圖5(b)分別為損失函數和準確率隨訓練步數變化的情況。
由圖5可知,作用于基本網絡結構時,訓練步數增加到9424 步,模型收斂;作用于改進網絡結構時,訓練步數增加到8370 步,模型收斂。此時兩個模型的損失函數穩定在0.1 左右,準確率穩定在96%左右,添加Inception模塊加速模型收斂。

圖5 三分類模型收斂特性Fig.5 Convergence characteristics of the threecategory model
計算兩個模型在測試集上的性能,如表8所示。

表8 三分類模型測試集識別性能Table 8 Recognition performance of threeclass model test set
分析可知,添加Inception 模塊后,有效提高了模型性能,各項指標相比未添加Inception模塊時均有提高。其中,總體識別準確率由原來的91.05%提高到93.12%,而且每一類的識別準確率沒有出現失衡的現象。
和二分類模型進行對比,三分類模型總體識別準確率和F1-score 均有所降低。這是因為在進行“泄漏”和“背景”的二分類時,在超聲頻率段內無論是閥門泄漏還是墊片泄漏,“ 泄漏”類頻譜的聲壓級都大于“背景”類的聲壓級,導致在進行分類時,通過聲壓級信息就可以判斷出是否有泄漏,分類相對簡單。在三分類模型中,通過細分泄漏類型,訓練集樣本增加了一類。其中閥門泄漏和墊片泄漏的聲壓級都在20 dB 和70 dB 之間,此時在訓練過程中會充分利用時頻圖上的特征信息進行判斷,分類情況更為復雜。
通過模擬管道氣體泄漏中常見的閥門泄漏和墊片泄漏,采集對應超聲信號進行時頻圖表征,建立基于“泄漏”和“背景”的二分類模型判斷是否有泄漏發生,并對輸入時頻圖尺寸進行了探討。建立基于“閥門泄漏”、“墊片泄漏”和“背景”的三分類模型判斷泄漏屬于哪一類。對比發現,二分類模型數據類型比較單一,而且進行超聲截斷,導致在進行分類時,通過聲壓級信息就可以判斷出是否有泄漏。而在三分類模型中,閥門泄漏和墊片泄漏頻譜聲壓級在同一區間內,但是其頻譜特點不一樣,基本消除了絕對聲壓級對分類的影響。在設計CNN 網絡結構時,添加Inception模塊可以平衡網絡的寬度和深度,在加速模型收斂的同時提高三分類模型整體性能。