曹 潔, 吳堯帥, 李 偉2,, 王進花
(1.蘭州理工大學 計算機與通信學院,甘肅 蘭州 730050; 2.甘肅省制造業信息化工程研究中心,甘肅 蘭州 730050;3蘭州理工大學 電氣工程與信息工程學院,甘肅 蘭州 730050)
基于麥克風陣列的聲源跟蹤技術,一直是聲學領域重要的研究課題,可廣泛應用在電視電話會議[1]、海洋偵察[2]、智能機器人[3]等領域。傳統的聲源跟蹤方法是連續的聲源定位,但受不定因素的影響,聲源位置的估計存在較大誤差[4],致使跟蹤算法精度較低。近些年,建立狀態空間的跟蹤方法被提出,比傳統的連續聲源定位方法跟蹤效果更穩健。
聲源狀態空間相當于一個動態非線性系統,基于貝葉斯框架的濾波算法是解決聲源跟蹤的最常用方法。Dvorkind T G等人[5]利用擴展卡爾曼濾波(extended Kalman filtering,EKF)進行聲源跟蹤,改善了跟蹤效果。但擴展卡爾曼濾波是利用一階泰勒級數對非線性系統線性化,均值與方差的遞推估計誤差較大,致使跟蹤誤差較大。胡振濤等人[6]在容積卡曼濾波(cubature Kalman filtering,CKF)框架下實現對動態聲源波達方向(direction of arrival,DOA)的自動跟蹤,效果較好,但需要依靠矢量傳感器本身固有的方向敏感性。Kawanishi M等人[7]將粒子濾波(particle filtering,PF)應用到三維空間的聲源跟蹤中,取得了一定效果。Zhong X等人[8]提出了基于擴展卡爾曼粒子濾波(extended Kalman PF,EKPF)的聲源跟蹤算法,減輕了混響對跟蹤效果的影響。文獻[5~8]均是將改進的貝葉斯濾波跟蹤算法引入到聲源跟蹤中,在聲源持續移動情況下,運動軌跡估計效果較好,但在有靜音期出現的交互式聲源[9]運動場景時,跟蹤系統的魯棒性較差。Lehmann E A等人[10]將靜音檢測(voice activity detector,VAD)融合到粒子濾波聲源跟蹤算法中,有效減小了靜音造成的跟蹤誤差,但當靜音期較長時,極易跟丟目標。
基于上述分析,本文提出了一種基于容積粒子濾波的交互式聲源跟蹤方法,并通過仿真實驗驗證了本文方法的有效性。
當目標聲源在空間中運動時,其狀態信息可由多種狀態模型表示,其中,Vermaak J等人[11]提出的郎之萬(Langevin)模型結構簡單,易于實現,在實際應用效果較好。在郎之萬模型中,構建一個關于聲源的笛卡爾坐標系,沿x方向、y方向以及z方向是獨立同分布的。

(1)
令rk=[xk,yk,zk]T表示k時刻聲源的位置信息,則
(2)
聲源的狀態信息可以由以下的離散方程來描述[12]
(3)

麥克風陣列接收的音頻信號不僅包含時頻信息,也包含聲源的空間信息。以麥克風陣列中心為坐標原點構建笛卡爾坐標系,利用各路音頻信號得到麥克風之間的到達時間差(time difference of arrival,TDOA),再采用最小二乘算法得到當前時刻的坐標[13]。此坐標便可作為目標聲源的量測信息,郎之萬模型描述聲源的運動特征,選擇先驗概率密度作為重要密度函數,將重采樣[14]加入到框架中以減輕粒子退化對狀態估計的影響,最終可得到一個基于粒子濾波的聲源跟蹤框架。其基本步驟如下:

2)迭代:k=1,2,3…
a.利用聲源定位算法得到量測信息zk;
c.利用粒子濾波算法更新權重,并歸一化權重;



設置基本容積點
(4)
式中j=1,2,3…,2ξ,ξ為系統的狀態維數,E為單位矩陣。
(5)

k時刻的狀態誤差協方差矩陣
(6)
(7)

k時刻的量測誤差協方差矩陣
(8)
k時刻的互相關協方差矩陣
(9)

在交互式聲源跟蹤中,如果目標聲源在靜音期移動位置,當目標聲源重新出現時,再將靜音期之前的先驗信息融合到狀態空間中,會影響跟蹤精度,甚至估計出的運動軌跡嚴重偏離目標。因此,長時間的靜音期之后,舍棄之前的先驗信息,重置跟蹤算法參數,將會有效改善這一現象。
本文將位置移動判定因子ψ加入到交互式聲源跟蹤框架中,判斷聲源位置在靜音期前后是否移動
ψ=Sgn(‖xp-xq‖2-ε)
(10)
式中 Sgn(·)為符號函數,xp為靜音期之前狀態的估計值,xq為靜音期之后聲源定位結果,ε為判定閾值。若ψ=1,則判定目標聲源已經移動,將當前幀的聲源定位結果作為初始狀態,p(xq)粒子采樣。然后跟新迭代;若ψ≠1,則判定目標聲源未移動,狀態更新繼續按照靜音期之前迭代。本文基于容積粒子濾波的交互式聲源跟蹤流程如圖1所示。其中,N(·)為高斯函數,km為所選取的音頻信號的總幀數,若要進行實時跟蹤,則令km=+∞。

圖1 交互式聲源跟蹤流程


圖2 八元圓形麥克風陣列
本文采用均方根誤差(root mean square error,RMSE)度量跟蹤效果,定義為
(11)

為驗證本文提出方法的有效性,分別在動態聲源與交互式聲源環境下,與文獻[7]中基于粒子濾波算法的聲源跟蹤方法,文獻[8]提出的基于擴展卡爾曼粒子濾波的聲源跟蹤方法作對比。在不同的信噪比下,對比3種跟蹤算法的跟蹤效果。其中,信噪比以5 dB為步長從5 dB到30 dB,3種方法分別進行50次蒙特卡洛實驗。
實驗1動態聲源。如圖3所示為實驗中目標聲源的路徑軌跡。沿曲線x2+y2+z2=1,y=2z,y≥0移動,以坐標(-1,0,0)m為起點,坐標(1,0,0)m點結束。圖4為不同信噪比下3種跟蹤方法的RMSE值,圖5為SNR=30時3種跟蹤方法對動態聲源跟蹤效果。

圖3 聲源運動軌跡

圖4 不同信噪比下3種跟蹤方法的RMSE值

圖5 SNR=30時3種跟蹤方法對動態聲源跟蹤效果
從圖4中可以觀察到,在不同的信噪比環境下,本文算法的RMSE均比文獻[7]方法的RMSE減小50 %左右,均比文獻[8]方法的RMSE減小10 %以上。而且隨著信噪比的提高,3種方法的RMSE均在減小,文獻[7]方法在SNR=30 dB環境下的RMSE比SNR=5 dB下的減小了58.2 %,文獻[8]方法在SNR=30 dB環境下的RMSE比SNR=5 dB下的減小了53.4 %,本文方法在SNR=30 dB環境下的RMSE比SNR=5 dB下的減小了63.6 %。由于本文方法選取了更加合適的重要密度函數,粒子狀態更加接近真實目標,收斂速度明顯高于文獻[7]方法、文獻[8]方法,如圖5所示。綜合圖4和圖5可知,在不同的背景噪聲環境下動態聲源跟蹤中,本文跟蹤方法均優于文獻[7]方法、文獻[8]方法;且隨著信噪比的提高,本文方法跟蹤效果提升速率也高于其他兩種跟蹤算法。
實驗2交互式聲源。如圖6所示為實驗中目標聲源的路徑軌跡表達式同圖3。

圖6 交互式聲源運動軌跡
其中,0 圖7 不同信噪比下3種跟蹤方法的RMSE值 從圖7中可知,在不同的信噪比環境下,本文算法的RMSE均比文獻[7]方法的RMSE減小55 %以上,均比文獻[8]方法的RMSE減小50 %以上。而隨著信噪比的提高,只有本文方法的RMSE一直在減小。由于文獻[7]方法與文獻[8]方法融合了靜音期之前的先驗信息,致使兩種方法在靜音期結束后的跟蹤誤差變大,而本文方法舍棄了錯誤的先驗信息,因此仍能保持較好的跟蹤效果,如圖8所示。綜合圖7和圖8可知,本實驗驗證了在不同的背景噪聲環境下交互式聲源跟蹤中,本文跟蹤方法優于文獻[7,8]方法。 圖8 SNR=30時3種跟蹤方法對交互式聲源跟蹤效果 本文提出了一種基于容積卡爾曼粒子濾波的交互式聲源跟蹤方法。相對于基于粒子濾波的聲源跟蹤方法,該方法通過容積卡爾曼處理粒子,得到對應的重要密度函數,增強了最新量測信息對粒子的修正作用;同時,通過引入移動判定因子,構建了交互式聲源跟蹤框架,有效減輕了靜音期對聲源跟蹤系統的影響。理論分析和實驗結果均證明了本文提出的方法的優越性。下一步的工作將研究如何將本文定位方法與定向語音增強技術相結合,跟蹤特定目標聲源。

4 結 論