蘇 鵬,程 健
中國科學技術(shù)大學 自動化系,合肥 230027
隨著自動化、計算機、通信技術(shù)的發(fā)展,監(jiān)控行業(yè)近年來技術(shù)不斷更新,應用領(lǐng)域逐漸擴展。傳統(tǒng)監(jiān)控方式主要以視頻信號作為信息的載體,輔以音頻等多媒體信號作為補充。然而,對于機械設備而言,基于視頻的監(jiān)控存在固有的缺點,表現(xiàn)在:(1)視頻監(jiān)控易受到監(jiān)控環(huán)境的光照條件的影響。(2)視頻監(jiān)控需要安裝攝像機,對于很多機械設備,攝像機無法拍攝機器內(nèi)部的運轉(zhuǎn)情況。(3)基于視頻的監(jiān)控系統(tǒng)一般離不開人腦的主觀判斷而分析現(xiàn)場信息,很難做到高度的自動化和智能化。針對視頻監(jiān)控的不足,以音頻信號作為信號載體,可以克服環(huán)境光照等因素的影響,反應現(xiàn)場設備工作時內(nèi)部運轉(zhuǎn)情況,從而大大提高設備控制的自動化、智能化。音頻監(jiān)控主要有三種用途:一是可以遠程監(jiān)控現(xiàn)場設備運行狀態(tài);二是可以用于遠程故障診斷;三是可以用于特定區(qū)域的目標識別。
隱Markov模型(Hidden Markov Models,HMM)作為一種統(tǒng)計模型,廣泛應用于語音處理的各個方面,它的理論基礎(chǔ)是在1970年前后由Baum等人建立起來的[1-2],隨后由CMU的Baker和IBM的Jelinek等人將它應用于語音識別中[3]。由于Bell實驗室Rabiner等人在80年代中期對HMM的深入淺出的介紹[4-5],才逐漸使HMM為世界各國語音研究人員所熟悉。隨后,HMM的應用領(lǐng)域不斷擴大,在手寫字識別[6]、手勢識別[7]、旋轉(zhuǎn)機械啟動故障診斷[8-9]、電源監(jiān)控[10]等應用場合,都取得了比較滿意的效果。機械設備音頻信號是非平穩(wěn)信號,HMM是一種模擬非平穩(wěn)動態(tài)模式的多元統(tǒng)計工具[8]。本文采集音頻的特征參數(shù)矢量,用VQ算法將矢量序列轉(zhuǎn)化成觀察序列,用觀察序列建立音頻的DHMM模型進行分類識別,提出機械設備音頻DHMM分析方法。
離散隱Markov模型(Discrete Hidden Markov Model,DHMM)是用來描述隨機過程的統(tǒng)計模型。DHMM模型中有若干個狀態(tài),每個狀態(tài)都有狀態(tài)轉(zhuǎn)移概率,表示從該狀態(tài)轉(zhuǎn)移到其他狀態(tài)的概率。在某時刻事件必處于某一個狀態(tài),t時刻的狀態(tài)只前一個時刻t-1的影響。每個狀態(tài)同時還會產(chǎn)生一個觀察值,一個狀態(tài)的觀察值是隨機的,因此,每個狀態(tài)的觀察值都有相應的概率分布。
可以用參數(shù)集λ=(π,A,B)描述DHMM模型。設qt,t≥1是取值于有限狀態(tài)空間?={1,2,…,N}的齊次Markov鏈,Ot,t≥1是觀察序列,取值范圍為集合V={v1,v2,…,vm}。模型參數(shù)定義如下所示。
初始分布π:
狀態(tài)轉(zhuǎn)移概率矩陣A=(aij):
觀察值概率矩陣B=(bi(vj)):
DHMM需要解決的重要問題之一是給定觀察序列O,如何調(diào)整模型參數(shù)λ,使概率P(O|λ)最大,這就是參數(shù)重估問題。在實現(xiàn)時,不僅需要通過標定方法解決前向后向變量的溢出問題,同時需要多個觀察樣本參與重估運算。
多觀察序列的Baum-Welch的重估公式為[4-5]:
由于不同的觀察序列對應的Pk=P(Ok|λ)不同,因此分子分母中的Pk不能像單個觀察序列重估公式中那樣消去。實際計算中的關(guān)鍵是對前向后向變量、進行標定及消去Pk。因為,所以
同理可得多觀察序列觀察值概率重估公式的標定形式為:
δt(i)為沿某條路徑q1,q2,…,qt,t時刻的狀態(tài)qt=i且產(chǎn)生觀察序列o1,o2,…,ot的最大概率:
可以通過歸納法計算δt(i),遞推公式為:
計算機上實現(xiàn)時,由于δt(i)的值很容易超出雙精度浮點數(shù)的范圍而出現(xiàn)溢出,因此實際計算δt(i)的對數(shù)值,Viterbi算法步驟如下所示。
初始化:
對(5)取對數(shù)得遞推公式:
則最佳狀態(tài)的概率對數(shù)值為:
而最佳狀態(tài),,…,由遞推得到:
DHMM模型應用于音頻識別中的結(jié)構(gòu)如圖1所示,系統(tǒng)主要由模型訓練和識別過程組成。訓練音頻和識別音頻經(jīng)過采樣量化后,經(jīng)過濾波、預加重等預處理后再分幀,對每一幀提取特征參數(shù)。這里提取的是音頻的倒譜域參數(shù),主要有MFCC(Mel Frequency Cepstrum Coefficient)參數(shù)和 LPCC(Linear Predictive Cepstrum Coefficient)參數(shù),都是多維矢量,分別求出了24維的MFCC參數(shù)和LPCC參數(shù)。隱馬爾科夫模型的輸入觀察序列是標量序列,因此需要將特征參數(shù)的矢量序列轉(zhuǎn)化為標量序列,矢量量化正好可以完成這樣的任務。矢量量化的關(guān)鍵是碼書設計,經(jīng)典的碼書設計方法是LBG算法[11]。訓練碼書時,先將所有不同種類的訓練音頻連接到一起組成一段長音頻,經(jīng)過預處理和特征參數(shù)提取后,通過LBG算法計算出碼書。這里設計碼書的大小為64,碼書的碼字維數(shù)是24,與特征參數(shù)的維數(shù)相同。在模型訓練和音頻識別過程中,分別計算訓練音頻和識別音頻的特征參數(shù)矢量與碼書中各個碼字的歐式距離,取距離最小的碼字的序號作為幀的觀察值,這樣就把輸入音頻轉(zhuǎn)化成了觀察序列,用于隱馬爾科夫模型的訓練和識別。
圖1 音頻識別系統(tǒng)框圖
MFCC參數(shù)是基于人耳聽覺特性而提出的一種參數(shù),而LPCC參數(shù)是基于音頻產(chǎn)生模型提出的。MFCC參數(shù)提取過程如圖2所示。
圖2 MFCC特征參數(shù)提取圖
音頻首先經(jīng)過預加重、分幀及加窗等處理,然后對每幀信號做快速傅里葉(FFT)變換,得到幀的短時頻譜,再將頻譜通過24個Mel頻率三角濾波器過濾。三角濾波器不僅可以對頻譜進行平滑,同時也可以濾除諧波。此處三角濾波器組在Mel頻率上是均勻分布的,Mel頻率和頻率的關(guān)系為:
對每一個濾波器輸出的能量取對數(shù)得到對數(shù)能量,用x(k),k=1,2,…,24表示 24個濾波器輸出的對數(shù)能量譜,對數(shù)能量譜進行反離散余弦變換,得到L(取L=12)個MFCC參數(shù):
為了反映MFCC參數(shù)的動態(tài)變化情況,求MFCC參數(shù)的微分參數(shù):
取一階微分,得到12維的微分參數(shù),與原MFCC參數(shù)一起構(gòu)成24維的MFCC參數(shù):
訓練DHMM時,首先將用于訓練的同一種類音頻分段,一般使每段音頻長度為10幀到500幀。訓練過程是一個迭代過程,如圖3所示。由于觀察值概率矩陣B的初始值對訓練模型有較大影響[4],因此需要首先估計出B的初值。相對于B,狀態(tài)轉(zhuǎn)移矩陣A和初始狀態(tài)π的初值對訓練模型的影響很小,因此A和π可根據(jù)模型的特點手動設定。估計B的初值時,先由隨意設定的π、A、B初值根據(jù)Viterbi算法計算音頻的隱狀態(tài),然后根據(jù)估計出的隱狀態(tài)和觀察值計算每個狀態(tài)出現(xiàn)各個觀察值的概率,從而得到B的初值。
圖3 DHMM訓練流程圖
參數(shù)π決定起始狀態(tài),語音信號的字或者音素都是從發(fā)音開始作為起始狀態(tài),發(fā)音結(jié)束作為結(jié)束狀態(tài),其起始和結(jié)束狀態(tài)很固定,可把發(fā)音開始狀態(tài)強制定為狀態(tài)1,因此它的初始概率設為:
π=(1,0,…,0)
而對于機器設備信號,起始狀態(tài)與對信號分割有關(guān),而分割是隨機的,因此起始狀態(tài)不確定,本文的模型的狀態(tài)數(shù)為5,則它的初始狀態(tài)設為等概率初始狀態(tài):
π=(0.2,0.2,0.2,0.2,0.2)
模型參數(shù)的參數(shù)A決定了DHMM的形式。語音的HMM模型一般采用圖4的類型1,特點是起始狀態(tài)和結(jié)束狀態(tài)都固定,最后一個狀態(tài)只能轉(zhuǎn)移到本身。由于機械設備音頻信號的起始狀態(tài)和結(jié)束狀態(tài)不確定,且它們的地位和其他狀態(tài)是平等的,因此圖4的類型2和類型3更適合于機械設備信號。類型2和類型3對應的狀態(tài)轉(zhuǎn)移概率矩陣初值可設為:
圖4 DHMM的類型
實驗分別采集了真空泵、風扇、機床、數(shù)控切割機、洗衣機、手磨機、空調(diào)、抽油煙機等機械設備不同狀態(tài)共22種音頻進行實驗。每種音頻10個樣本用于訓練DHMM模型,另外10個樣本用于識別,HMM訓練循環(huán)次數(shù)為100次。音頻采樣頻率為8 000 Hz,經(jīng)過截止頻率為4 000 Hz的FIR低通濾波器后分幀,每幀長度為256個采樣點,幀移為80個采樣點,每一幀在處理前乘以漢明窗進行平滑。訓練出的模型中真空泵閥門打開時的狀態(tài)轉(zhuǎn)移概率矩陣為:
圖5分別是風扇3檔、真空泵閥門打開、三相異步電機的波形圖;圖6是一段真空泵音頻VQ輸出的觀察序列。表1給出該段音頻在各個模型下的概率對數(shù)值。從表中看出,概率最大值出現(xiàn)在真空泵2的HMM模型下,值為-171.5,因此識別結(jié)果為真空泵2,即真空泵閥門打開音頻;從表1還可以看出,第二大概率值在真空泵1的HMM下取得,值為-389.9。說明真空泵1和真空泵2音頻相似,與實際情況一致,實時上,人耳很難分別兩種音頻。
圖5 三種機械音頻的波形圖
圖6 VQ輸出的真空泵閥門打開時觀察值序列
表1 一段真空泵音在各HMM下的概率對數(shù)值
音頻識別的實時性主要體現(xiàn)在識別程序的執(zhí)行時間,識別程序主要的算法是Viterbi算法,由于該算法主要是隨著觀察序列的遞歸計算,所以執(zhí)行時間和觀察序列的長度近似成正比關(guān)系。在Windows系統(tǒng)下的Matlab7仿真程序中,20幀長度的音頻所需的執(zhí)行時間是0.1 s左右。
幀數(shù)還與識別準確率有關(guān),因此分割時,幀數(shù)不能太大也不能太小。圖7是幀數(shù)和識別準確率的關(guān)系曲線。幀數(shù)為20幀到50幀時的識別準確率較高;幀數(shù)小于4時識別準確率急劇變小,幀數(shù)增大后準確率也略有下降。
圖7 音頻段的幀數(shù)和識別準確率的關(guān)系
表2給出不同HMM類型采用MFCC、LPCC參數(shù)在沒有噪音環(huán)境時的識別率。由表2看出,最適合機械設備音頻的HMM模型為圖4中的類型2,且MFCC參數(shù)比LPCC參數(shù)更適合于機械設備音頻識別,識別準確率高達97%以上。另外,識別準確率與訓練的HMM庫的個數(shù)及VQ輸出的碼書大小有很大關(guān)系。當碼書都為64時,將22種音頻減少到10種時,識別準確率都接近100%。HMM個數(shù)越少,識別率越高;碼書尺寸越大,識別率越高,但是計算量增加很多。通過實驗發(fā)現(xiàn)在噪音環(huán)境下識別準確率有所下降,噪音對識別準確率的影響比較復雜,不同頻率和能量的噪音對識別的影響不同。在噪音能量相對信號的能量小于1個數(shù)量級時,識別準確率能夠滿足一般需要。
表2 不同參數(shù)及不同類型HMM的識別率 (%)
針對機械設備音頻,采用MFCC作為特征參數(shù),應用矢量量化和隱Markov模型進行建模分析和識別,準確率可達到97%以上,可以應用于機械設備的遠程監(jiān)控及故障分析。對于音頻特征本身相近的同種機械設備不同工作狀態(tài),識別準確率有所下降,可以采用后級方法處理。另外,需要解決噪音環(huán)境下識別問題和不同音頻同時存在時的處理方法,對于未知音頻,要能夠給出拒絕判決標準,這些都需要進一步的研究。
[1]Baum L E.An inequality and associated maximization technique in statistical estimation for probabilistic functions of markov process[J].Inequalities,1972,3:1-8.
[2]Baum L E,Egon J A.An inequality with applications to statistical estimation for probabilistic functions of a markov process and to a model for ecology[J].Bull Amer Math Soc,1967,73:360-363.
[3]Jelinek F.Continuous speech recognition by statistical methods[J].Proc of the IEEE,1976,64(4):532-536.
[4]Rabiner L R.A tutorial on hidden markov models and selected applications in speech recognition[J].Proc of the IEEE,1989,77(2):257-285.
[5]Rabiner L R,Juang B H.fundamentals of speech recognition[M].New Jersey:Prentice Hall PTR,1993:321-371.
[6]肖明,賈振紅.基于輪廓特征的HMM手寫數(shù)字識別[J].計算機工程與應用,2010,46(33):172-174.
[7]嚴焰,劉蓉,黃璐等.基于HMM的手勢識別研究[J].華中師范大學學報:自然科學版,2012,46(5):555-559.
[8]邵強,馮長建,管麗娜,等.混合密度連續(xù)HMM在旋轉(zhuǎn)機械啟動過程故障診斷中的應用[J].機械科學與技術(shù),2009,28(11):1439-1443.
[9]丁啟全,馮長建,李志農(nóng),等.旋轉(zhuǎn)機械啟動全過程DHMM故障診斷方法研究[J].振動工程學報,2003,16(1):41-45.
[10]程延偉,謝永成,李光升,等.基于加權(quán)HMM的車輛電源系統(tǒng)狀態(tài)預測[J].計算機應用,2011,31(6):1696-1698.
[11]韓紀慶,徐希利.一種基于矢量量化的音頻場景分析方法[J].電聲技術(shù),2002(3):8-10.
[12]竺樂慶,王鴻斌,張真,等.基于Mel倒譜系數(shù)和矢量量化的昆蟲聲音自動鑒別[J].昆蟲學報,2010,53(8):901-907.
[13]Smith W S.The scientist and engineer’s guide to digital signal processing[M].2nd ed.California:California Technical Publishing,1999:87-260.
[14]Rabiner L R,Levinson S E,Sondhi M M.On the application of vector quantization and hidden Markov models to speaker independent,isolated word recognition[J].Bell System Technical Journal,1983,62(4):1075-1105.