李 洋, 楊 濤
(1.西南科技大學 信息工程學院,四川 綿陽 621000;2.特殊環境機器人技術四川省重點實驗室,四川 綿陽 621000)
異物檢測是檢測電能表內部是否存在焊渣殘留、松脂殘留、脫落元器件、膠沫等異物或雜物。異物自動檢測利用聲音識別技術,通過電氣控制模擬的人工搖表裝置搖晃電能表,完成聲音信號的采集、訓練與識別。在靜音比較多的情況下,基于閾值的雙門限法有很好的性能,但實際的電能表內異物檢測環境采集的聲音信號可能不存在靜音段或者靜音段較短,那么傳統的基于閾值的端點檢測算法將會失效。
文獻[1]針對公共場所異常聲音的特點,提出了一種綜合短時優化過零率和短時TEO對數能量的端點檢測方法,優化的過零率避免了低信噪比下過零率易受噪聲影響的不足,但仍然會受到噪聲影響;文獻[2]針對基于短時能量和短時過零率在低信噪比時性能較差問題提出了一種低信噪比下基于譜熵的端點檢測算法,在不同的噪聲環境下具有很好的性能;文獻[3]提出了一種改進的K—均值聚類算法來實現對光發射信號的端點檢測,實時性較好,適合大規模生產程中端點檢測;文獻[4]基于模糊C—均值(fuzzy C-means,FCM)、融合過零率和Lempel-Ziv復雜性等特征的語音信號端點檢測方法,提高了語音識別和編碼等處理的性能。文獻[1]、文獻[2]中的方法在采集的聲音起始段存在足夠長度的靜音段時性能都比較好,然而當采集的聲音起始段不存在靜音段時性能較差甚至失效,此情況下文獻[3]、文獻[4]中基于聚類的方法更具穩定性。
聲音信號比較有代表性的特征包括短時能量和短時過零率[5]、倒譜特征[6]、小波包能量譜[7]、小波包能量特征[8]等。小波包分析不僅能夠分析出信號的低頻信息和高頻信息,且小波包能量特征受噪聲影響較小。文獻[9]利用小波包能量特征向量對結構損傷進行識別,小波包能量特征不易受噪聲的影響,識別效果較好。
本文結合電能表內異物聲音特點,提出一種綜合小波包能量特征、TEO對數能量和FCM的端點檢測算法,比較同文獻[2]中端點檢測算法的檢測準確率。
實際采集的異物聲音信號,由于受諸多環境因素影響,信號的頻率和振幅特性復雜多變,采樣值也隨時間變化劇烈波動,因此采集的電能表內異物聲音信號具有時變性,為使聲音能用傳統的方法進行分析,可假定聲音信號在短時范圍(10~30 ms)內的特性基本保持不變。由于異物聲音變化的突然性,本文選擇較大的幀長(40 ms一幀)對輸入的聲音信號進行分幀以獲取短時較為平穩的特征描述。
本文選擇小波包能量作為特征參數。圖1是有異物的聲音信號和無異物的聲音信號經三層小波包分解后不同節點的能量比,可以看出有異物的聲音信號同無異物的聲音信號的不同頻帶能量比區別明顯。

圖1 小波包分解后不同節點能量百分比
小波包能量特征提取步驟如下:
1)小波包變換。根據采集的電能表內異物聲音信號特點、信號處理的具體要求選擇小波基函數以及分解層數m,將信號分解到互不相交的2m個頻段上。本文選擇‘db4’作為小波基函數,分解層數為3。
2)小波包能量計算。根據Parseval能量積分等式,選擇小波包分解后各個頻段內信號的平方和作為小波包能量,則任意頻段對應的能量為
(1)

(2)
3)提取特征向量V。計算各個頻段的能量與總能量的相對比值,將其組成一個特征向量。即
V=[E1/Etotal,E2/Etotal,…,E2m/Etotal]
(3)
TEO對數能量可以表征信號的共振峰信息,且能很好地抑制背景噪聲的,從而起到信號增強作用。圖2為采集的聲音信號波形及對應的TEO對數能量圖。本文使用提取的TEO對數能量對FCM聚類以后的數據作非靜音段和靜音段的判別。

圖2 實際信號波形及TEO對數能量
設聲音信號時域波形為x(n),加窗分幀處理后得到的第i幀聲音信號為xi(m),幀長為N。則每一幀的能量為
(4)
在這里引入TEO對數能量,定義為式(5)
LEi=lg(1+AMPi/a)
(5)
式中a為一個常數,由于有a的存在,當a取較大值時,AMPi幅值有劇烈變化時能夠得到緩和,所以,適當選擇有助于減小突發性的干擾聲音的影響。文中選擇a=2。
FCM算法[10]本質為運用隸屬度確定每個數據點屬于某個聚類的程度的一種聚類算法。FCM聚類算法目標函數
(6)

(7)
在式(7)的約束下,欲求式(6)的最小值,令Jm對參數Vi和uj(xi)的偏導數為0,即可得到
(8)
(9)
FCM端點檢測算法如下:
1)設置幀長和幀間重疊,加窗分幀。將采集的聲音信號分為較短的幀,每一幀可以看作平穩信號,使用短時平穩信號的處理方法,同時為了使幀與幀之間平滑過渡,在相鄰兩幀之間設置重疊部分。
2)計算每一幀的小波包能量特征H,得到H(i),表示第i幀特征參數。
3)分別計算每一幀的對數能量LEi。
4)采用FCM對采集的異物聲音信號進行端點檢測,具體步驟:
a.將步驟(2)中計算得到的特征參數作為FCM的輸入參數,使得目標函數
(10)


(11)
(12)

b.選擇模糊系數m,m∈(1,∞),聚類數c,2≤c和ε,ε為一很小的正常數,文中選擇c=2;
c.設l為迭代次數,由公式Ul-1可以得到Vl,其中,UL-1為U的第l-1次迭代值,Vl為V的第l次迭代值;
d.采用式(11)、式(12)更新隸屬度矩陣Ul;

f.計算步驟e中每類的對數能量,并標記出非靜音段和靜音段,TEO對數能量較大的是非靜音音段,TEO對數能量較小的是靜音段。
支持向量機(support vector machine,SVM)[11]是基于將數據從低維空間映射到高維空間的思想,由支持向量來決定最優分割線,SVM首先找出對分類有較好區分能力的向量,然后構造最大化類與類之間間隔的分類器。考慮到SVM可以較好地解決小樣本、非線性、高維數等實際問題,本實驗異物檢測采用SVM分類器來完成。同時可檢驗基于FCM聚類的端點檢測同傳統端點檢測處理數據后的分類精度。
實驗數據來源于工廠實際采集的電能表內異物聲音信號,實驗選用100個有異物的聲音樣本和100個無異物的聲音樣本組成樣本集。采用留出法將樣本數據集隨機劃分為兩個互斥的部分,訓練集占樣本數據集的80 %,測試集數據占樣本數據集的20 %,分別計算不同實驗次數下的平均識別率(即表1的識別率為相應實驗次數下的平均識別率)。比較采用本文提出的端點檢測方法下的識別率同文獻[2]中基于短時優化過零率和短時TEO對數能量的端點檢測方法下不同試驗次數的識別率(圖中基于能零比的識別率代表文獻[2]中端點檢測算法的識別率,基于聚類的識別率代表本文算法的識別率)。

表1 實驗不同次數時的識別率

圖3 不同實驗次數下兩種方法的識別率
通過比較可知,隨著實驗次數的增加,兩種方法各自的識別率都沒有較大的變化,但采用FCM聚類的方法處理數據以后識別率明顯高于文獻[2]中的數據處理方法,文獻[2]中端點檢測方法雖然針對傳統的過零率做了優化,但它仍然是傳統的基于閾值的端點檢測算法,避免不了需要假設聲音數據起始段為靜音段,并由該靜音段來設置閾值,當聲音數據起始段不是靜音段時或聲音數據起始段靜音部分較短時,這種檢測方法將會失去作用,而本文中的端點檢測算法無需假設聲音數據存在靜音段,也不需要設置閾值,在實際處理時效果更加穩定,針對電能表內的異物檢測準確率也較高。
結合SVM比較了采用本文中的端點檢測方法同文獻[2]中端點檢測算法在電能表內異物檢測中的異物識別率,其結果是明顯較優,識別率達到了95 %左右。在電能表內異物檢測方面具有更好的表現。