高 磊, 劉振奎, 張昊宇, 魏曉悅, 張 奎
(蘭州交通大學 土木工程學院,蘭州 730070)
隧道襯砌背后空洞是運營鐵路隧道中最常見的病害之一,其存在會使襯砌結構在局部產(chǎn)生內(nèi)力的變化,降低襯砌結構的承載能力,造成襯砌結構的損傷或者破壞,產(chǎn)生巨大安全隱患[1]。因此,如何對鐵路隧道襯砌背后空洞進行智能的識別,為鐵路隧道的安全服役與長期運營提供重要的理論與技術支撐,已經(jīng)成為一個重要的研究方向。Lü等[2]將逆時偏移(reverse-time migration,RTM)算法應用于隧道襯砌空洞的高精度成像,提高隧道襯砌空洞檢測的精度和成功率,為準確劃定隧道襯砌空洞的范圍提供了一種科學有效的方法;覃暉等[3]通過對雷達圖像進行預處理、特征提取獲取機器學習樣本,用支持向量機作為分類模型,建立了一種雷達圖像智能識別模型,準確識別隧道襯砌和圍巖內(nèi)的空洞;Kurahashi等[4]通過一種高強激光收發(fā)設備,分析強激光照射襯砌表面產(chǎn)生的震動,根據(jù)震動特征的不同,判斷襯砌內(nèi)部是否存在空洞等內(nèi)在病害。除此之外,紅外成像、圖像識別等技術也被用于隧道病害檢測。但是先進的檢測技術及裝備在檢測效率、準確度等方面存在不足,與鐵路基礎設施“精準修、狀態(tài)修”的理念存在一定差距,導致其普及性差,無法廣泛地運用于鐵路隧道病害檢查維修。人工抵近接觸性敲擊仍是我國鐵路隧道襯砌內(nèi)部狀態(tài)檢查的主要手段,該方法通過敲擊聲音人為判斷襯砌結構內(nèi)部是否存在空洞等潛在病害[5]。
聲音識別技術被廣泛應用于各個領域,通過對聲音數(shù)據(jù)處理及智能分類,實現(xiàn)對病害和故障的診斷以及對危險進行監(jiān)測。劉思思等[6]用優(yōu)化的梅爾頻率倒譜系數(shù)做為訓練樣本,用人工蜂群算法優(yōu)化支持向量機(support vector machine, SVM)參數(shù),建立改進的SVM車窗電機異常噪聲識別模型,判斷電機是否發(fā)生異響;王培力等[7]運用支持向量機訓練錢塘江潮聲的梅爾頻率倒譜系數(shù)(Mel frequency cepstrum coefficients,MFCC)樣本,建立SVM涌潮檢測模型,判斷錢塘江是否發(fā)生涌潮;薛忠軍等[8]收集大量標準錘敲擊水泥路面的聲音信號,以共振峰頻率、共振峰振幅、功率譜面積等聲音特征參數(shù)構建數(shù)據(jù)集,用Fisher判別分析方法分析,建立判別函數(shù),判斷水泥路面是否存在脫空;黎煊等[9]提取豬連續(xù)咳嗽聲的MFCC特征參數(shù),運用BLSTM(birectional long short-term memory)神經(jīng)網(wǎng)絡訓練特征樣本,用BPTT(back propagation trough time)訓練CTC(connectionist temporal classification)網(wǎng)絡,更新模型參數(shù),實現(xiàn)豬連續(xù)咳嗽聲的識別和疾病的判斷;郝洪濤等[10]提出包含時域檢測、快速傅里葉變換(fast Fourier transform,F(xiàn)FT)峰值檢測、功率譜檢測、小波包分解與重構和希爾伯特(Hilbert)包絡分析結合、經(jīng)驗模態(tài)值分解(empirical mode decomposition,EMD)等方法的聲音診斷系統(tǒng),可實現(xiàn)基于聲音信號的托輥故障診斷。但是,尚未有學者用聲音識別技術,跟據(jù)敲擊檢查聲音對隧道襯砌背后空洞進行智能識別研究。
基于此,本文將采集的鐵路隧道空洞敲擊檢查聲音音頻文件進行預處理,篩選后得到645個聲音樣本,用語音識別領域常用的聲音處理方法,提取MFCC作為聲音特征參數(shù);再將提取得到的聲音特征參數(shù)的均值作為樣本數(shù)據(jù),通過梯度提升決策樹(gradient boosting decision tree,GBDT)算法進行訓練、測試,建立隧道空洞敲擊檢查聲音智能分類模型;最后將該模型應用于實際鐵路隧道,對敲擊檢查聲音進行識別分類。該模型相比于優(yōu)化的支持向量機(cross-validation-support vector machine,CV-SVM)、改進徑向基神經(jīng)網(wǎng)絡(particle swarm optimization algorithm-radial basis function neural network,PSO-RBF)等傳統(tǒng)的分類模型,具有更高的準確率和更強的穩(wěn)定性,分類結果更加可靠。為鐵路隧道襯砌空洞敲擊檢查聲音智能化識別做出新的探索。
研究數(shù)據(jù)來源為:蘭州鐵路局2021年春檢期間隧道敲擊檢查聲音。獲取聲音設備為:采樣頻率48 kHz的錄音筆。音頻文件以wav格式儲存。為保證錄音效果以及得到可靠的聲音數(shù)據(jù),在檢查錘敲擊襯砌時開始錄音,敲擊結束后停止錄音。對錄音筆采集的聲音進行選取,剔除大部分無空洞狀態(tài)下的敲擊檢查聲音,最終保留98段敲擊檢查音頻文件。
音頻文件預處理和特征參數(shù)提取基于MATLAB軟件中的voicebox工具包實現(xiàn),對聲音數(shù)據(jù)進行切割處理,得到645個樣本數(shù)據(jù),其中空洞樣本213個,非空洞樣本432個。1 s內(nèi)兩種狀態(tài)下聲音信號波形圖和短時能量,如圖1~圖4所示,兩種狀態(tài)下聲音信號特征對比,如表1所示。
圖1 無空洞狀態(tài)敲擊聲Fig.1 Percussive sound in non-voids state
圖2 有空洞狀態(tài)敲擊聲Fig.2 Percussive sound in voids state
圖3 無空洞狀態(tài)敲擊聲短時能量Fig.3 Short-time energy of percussive sound in non-voids state
圖4 有空洞狀態(tài)短時能量Fig.4 Short-term energy of percussive sound in voids state
表1 聲音信號特征比較Tab.1 Comparison of voice feature
由于檢查錘敲擊聲在隧道內(nèi)會產(chǎn)生回聲,導致無空洞狀態(tài)下的聲音樣本在0.2~1.0 s的時間區(qū)間和有空洞狀態(tài)下的聲音樣本在0.4 s~1.0 s時間區(qū)間內(nèi),聲音幅值和短時能量不為0。
梅爾頻率倒譜系數(shù)[11]由Davis和Mermelstein在1980年代提出,是基于聲音頻率的非線性梅爾刻度對數(shù)能量頻譜的線性變換。由于其更接近與人耳的聽覺系統(tǒng),在語音識別等多個領域有著廣泛的應用。MFCC特征參數(shù)提取步驟如圖5所示。
圖5 特征參數(shù)提取步驟Fig.5 Flow chart of characteristic parameters extraction
預加重就是在開始處理聲音信號之前,將聲音信號通過一個數(shù)字濾波器,人為增強高頻部分的聲音信號。通過預加重補償檢查錘敲擊高頻部分的聲音信號,使信號頻譜變得平坦。
高通濾波器傳遞函數(shù)如式(1)所示
H(z)=1-ηz-1
(1)
式中:H(z)為時傳輸函數(shù);η為預加重系數(shù),通常取0.9~1.0,本文中聲音信號預加重系數(shù)取0.94。
預處理后結果如式(2)所示
U(n)=u(n)-ηu(n-1)
(2)
式中:U(n)為預加重后的信號;u(n)為n時刻的敲擊聲音樣本值。
聲音信號具有短時平穩(wěn)性,即在短時間內(nèi),聲音信號的特征處于相對穩(wěn)定狀態(tài)。聲音信號的分析和處理就是建立在“短時分析”的基礎之上,分幀就是將聲音信號分為若干個可以進行短時分析的片段。為了使兩幀之間保持連續(xù)、平滑過渡,需要使前后兩幀相互重疊,重疊部分稱為移幀。文中幀長K取值為256,相鄰兩幀之間的重疊區(qū)域為80,約為K的1/3。加窗為漢明窗,如式(3)所示。
(3)
Sj(n)=φ(n)Fj(n), 0≤n≤K-1
(4)
式中,φ(n)為分幀后各幀的語音信號。
(1) 用快速傅里葉變換對分幀加窗后的的樣本數(shù)據(jù)通過式(5)處理后得到音頻頻譜,信號的功率譜由對信號頻譜的模取平方后得到。
(5)
(6)
式中,N為傅里葉變換的點數(shù),取默認值。
(2) 將得到的功率譜通過梅爾三角濾波器式(7),得到梅爾刻度,并提取每個刻度上對數(shù)能量。
(7)
(8)
式中,L為三角濾波器的階數(shù),取值為24。
(3) 最后用離散余弦變換(discrete cosine transform,DCT)最終得到MFCC系數(shù)。
(9)
式中,M為MFCC的階數(shù),通常取值12。
(4) 能量和差分
由以上步驟提取的特征將每一幀單獨考慮,是靜態(tài)的,而實際聲音是連續(xù)的,幀與幀之間是有聯(lián)系的,為了表示這種幀與幀間的動態(tài)變化,取MFCC特征參數(shù)的一階差分,作為這種動態(tài)變化的表示。最終得到MFCC特征參數(shù)為24維,包括12維MFCC特征參數(shù)和12維一階差分。
對于不同聲音樣本,組成聲音信號的幀數(shù)不同,通過MFCC特征提取得到的矩陣大小也不同,且矩陣行數(shù)均在500行以上,需要對數(shù)據(jù)進行降維處理。將各段語音的MFCC特征向量取均值,分別得到1×24維的向量,作為該段語音的特征,同時作為分類模塊的輸入向量。均值能很好地表示空洞聲音和無空洞的敲擊聲的聲音特征,繪制MFCC特征的前12維幅度圖(如圖6、圖7所示)。由于空洞大小不同,敲擊發(fā)出的聲音特征變化明顯,而無空洞情況下,敲擊聲音單一,聲音特征變化不大。
圖6 無空洞狀態(tài)12維MFCC均值Fig.6 Average value of 12D MFCC in non-voids state
圖7 有空洞狀態(tài)12維MFCC均值Fig.7 Average value of 12D MFCC in voids state
集成學習[12]是通過組合多個基礎學習者的預測來解決不同機器學習問題的一種最先進的方法。集成學習又稱為基于委員會的學習或多分類器系統(tǒng)。如圖8所示,一個集成由多個個體學習器組成,可以是決策樹、神經(jīng)網(wǎng)絡、支持向量機等算法,再通過某種結合策略將各個體學習器結合起來。若集成只包含同種類型的個體學習器,此時生成的集成稱為“同質(zhì)集成”。通常,集成學習一般會獲得比單一學習器有更強的泛化能力,可訓練出更準確、更穩(wěn)定的模型。
圖8 集成學習框架Fig.8 Ensemble methods framework
Bagging、Boosting、Stacking是三類常見的集成算法結合策略 。Bagging是一種并行的集成方法,其原理是從整個訓練集中通過有放回的采樣得到若干個訓練子集,用來訓練不同的基學習器,在進行分類時,對基學習器分類的結果進行投票,獲勝者作為分類任務的結果。Boosting是一種串行的集成方法,通過糾正弱分類器犯的錯誤,使弱分類器集成得到一個有著更完美的性能強分類器。Stacking是直接用所有的訓練數(shù)據(jù)對第一層多個模型進行k折交叉驗證,這樣每個模型在訓練集上都有一個預測值,然后將這些預測值做為新特征對第二層的模型進行訓練。
GBDT適用于多種問題,包括回歸,Logistic回歸、多項式分類和生存模型,是一種當下流行的機器學習算法。該算法的基礎是分類回歸樹算法。由于普通的分類回歸樹容易受到訓練數(shù)據(jù)中微小擾動的影響,通過將多棵分類回歸樹用Boosting結合策略集成,弱化微小變動對CART的影響,將一組弱學習器變?yōu)橐粋€強學習器,兼具Boosting算法和CART的優(yōu)點。用原始指標生成的第一棵決策樹,每一次迭代都會使損失函數(shù)沿著其梯度方向下降(每次迭代都使CART的損失值最小),多次迭代后殘差趨近于0。GBDT建模過程如下:
(1) 初始化基學習器
(10)
式中:f0(x)為只有一個根節(jié)點的初始決策樹;L(yi,c)為損失函數(shù);c為使最小損失函數(shù)最小化的常數(shù)值,一般取y的均值。
本文中空洞敲擊檢查聲音識別是一個二分類問題,一般采用對數(shù)似然損失函數(shù)作為損失函數(shù)[13]。即
L[y,f(x)]=ln{1+exp[-yf(x)]}
(11)
(2) 確定迭代輪數(shù)t=1,2,…,T
①求得訓練樣本的負梯度
(12)
②利用所有樣本及負梯度方向(xi,rti)(i=1,2,…,m)擬合一顆分類回歸樹中的回歸樹,得到一顆由J個葉子節(jié)點組成的回歸樹,則第t個葉子節(jié)點區(qū)域為Rtj(j=1,2,…,J),那么各葉子節(jié)點的最佳擬合值為
(13)
③更新學習器
(14)
(3) 經(jīng)過T次迭代后,得到最終的識別分類模型為
(15)
本文分類模型程序設計開發(fā)環(huán)境為Anaconda 3,所用語言為Python 3.8。采用機器學習常用的Scikit-learn模塊實現(xiàn)。
(1) 樣本分割
將提取到的MFCC特征的均值作為訓練和測試的樣本。按照機器學習常用劃分方法,測試集和訓練集按4∶1的比例劃分。訓練集用于模型訓練;測試集用于檢驗模型的準確率,調(diào)整參數(shù),監(jiān)控模型是否發(fā)生過擬合,并在在模型最終訓練完成后,評估其泛化能力,測試其真正的預測準確率。
(2) 模型輸入輸出
在語音識別系統(tǒng)中,通常對MFCC特征進行歸一化后作為模型的輸入數(shù)據(jù)。無量綱化的數(shù)據(jù)不僅可以降低噪聲的影響,還可以加快機器學習的收斂速度。樣本輸出為“0”和“1”,分別表示襯砌背后“無空洞”和“有空洞”。
(3) 模型訓練及參數(shù)選擇
為了充分驗證構建的GBDT集成學習模型的有效性,將樣本用GBDT模型、交叉驗證求最優(yōu)參數(shù)的支持向量機模型[14]和粒子群算法改進的徑向基神經(jīng)網(wǎng)絡模型[15]進行訓練。經(jīng)調(diào)參后的參數(shù)設置如表2所示。
表2 模型參數(shù)設置Tab.2 Model parameter setting
(4) 模型性能對比
在機器學習領域,用來評價分類模型常見的分類性能度量指標有準確率A、查準率P、查全率R、綜合評價指標F1度量(F1-Score)[16],各個指標計算公式為
(16)
(17)
(18)
(19)
式中:TP為實際為“有空洞”類的樣本預測為“有空洞”類的樣本數(shù);TN為實際為“無空洞”類的樣本預測為“無空洞”類的樣本數(shù);FP為實際為“無空洞”類的樣本預測為“有空洞”類的樣本數(shù);FN為實際為“有空洞”類的樣本預測為“無空洞”類的樣本數(shù)。
表3 模型性能對比Tab.3 Model performance comparison
通過交叉驗證調(diào)參后的支持向量機模型可以達到較好的準確率(95.5%),但是耗費大量的時間。PSO-RBF模型的經(jīng)過10次訓練,將訓練結果的準確率取均值,得到的平均準確率為94.26%,但同樣在粒子尋優(yōu)過程中耗時較多。對本文中襯砌空洞敲擊檢查聲音特征參數(shù)組成的數(shù)據(jù)集而言,GBDT模型在準確率(98.76%)和訓練時長兩方面均優(yōu)于CV-SVM和PSO-RBF模型。
某隧道為單線隧道,全長4 373 m,隧道中心里程為DK37+391.5。該隧道進口里程為DK35+205、進口端1 475.726 m位于R=1 600 m的左偏曲線上,出口里程DK39+578,其他2 897.274 m位于直線上。隧道最大埋深674 m。其中Ⅱ、Ⅲ級圍巖3 015延米,占比69%,Ⅳ、Ⅴ圍巖,風積砂段占31%;在隧道施工階段,進口267 m風積砂段采用施做維護結構及水平旋噴樁預支護后暗挖的方式完成,為該隧道的難點工程。DK35+205-300,DK39+566-578段采用明挖法施工,設置明洞襯砌;其余段落均采用暗挖施工,設置復合式襯砌,暗錨噴構筑法施工,鉆爆法開挖。隧道進出口均采用雙耳式洞門,洞口永久邊仰坡均采用骨架空心磚間值低矮灌木防護。
隧道運營期間,DK37+893-DK38+093襯砌出現(xiàn)裂縫,部分裂縫伴有滲水病害。對比該隧道檢測報告,該段隧道空洞情況如表4所示。
表4 實際空洞情況Tab.4 Actual voids situation
對表4中6處隧道空洞所在位置進行敲擊檢查,并錄制6段敲擊聲音樣本(編號為分別為Q-1~Q-6),再取4段無空洞狀態(tài)下的聲音樣本(編號為Q-7~Q-10),共同組成驗證本文模型的樣本集。分別用訓練好的GBDT模型,CV-SVM模型和PSO-RBF模型進行分類,得到分類結果如表5所示。
表5 實例驗證對比Tab.5 Comparison of example verification
在實際應用中,GBDT集成算法模型能夠準確對10個樣本進行分類,CV-SVM模型和PSO-RBF模型在對樣本Q-1識別時均出現(xiàn)錯誤,說明三個模型均能識別無空洞狀態(tài)的襯砌敲擊聲音和較大空洞的敲擊檢查聲音,但在空洞范圍較小時,GBDT模型的分類效果優(yōu)于其他兩種模型。
(1) 通過采集、處理隧道襯砌空洞敲擊檢查聲音,提取聲音樣本的梅爾頻率倒譜系數(shù),作為空洞敲擊檢查的聲音特征。隨著空洞的不同,根據(jù)敲擊聲提取到的特征也表現(xiàn)出不同的變化幅度。
(2) 運用GBDT集成算法建立襯砌空洞敲擊檢查聲音智能識別模型,與普通機器學習模型相比,GBDT具有更高的準確率和更少的運算時間,在面對異常數(shù)據(jù)時具有更強的穩(wěn)定性,能夠根據(jù)鐵路隧道拱部空洞敲擊檢查聲音準確的識別襯砌是否存在空洞。
(3) 針對鐵路運營隧道,我國目前尚缺乏有效的檢測數(shù)據(jù)信息化及管理工具。將聲音識別的相關理論與技術應用到隧道襯砌空洞識別,為隧道空洞智能識別提供一種新的思路。目的是通過結合計算機視覺、軟件開發(fā)等技術達到病害智能識別和檢查的數(shù)據(jù)自動記錄,為病害智能診斷、現(xiàn)場無紙化檢查、多源數(shù)據(jù)3D融合等信息化管理手段做出探索。