顧曉瑜,楊 悅
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
一種基于SVM的聲源定位算法
顧曉瑜,楊 悅
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
隨著多媒體技術(shù)的快速發(fā)展,獲取高質(zhì)量的語音成為一種越來越受到廣泛重視的技術(shù)手段,以麥克風(fēng)陣列定位聲源的方法在諸多領(lǐng)域得到了廣泛的應(yīng)用。支持向量機(jī)(Support Vector Machine,SVM)是一種基于統(tǒng)計(jì)學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則的機(jī)器學(xué)習(xí)方法,其諸多參數(shù)的選擇直接影響到SVM的性能,SVM可作為估計(jì)聲源位置的分類器,且可通過選取適當(dāng)?shù)膮?shù)提高算法的抗噪聲能力。為此,提出了一種基于SVM的聲源定位新算法。該算法提取鑒別互相關(guān)函數(shù)的特征,通過選取合適的參數(shù),對(duì)SVM的核函數(shù)進(jìn)行優(yōu)化。基于Matlab對(duì)提出的新算法進(jìn)行了仿真實(shí)驗(yàn)驗(yàn)證。仿真實(shí)驗(yàn)結(jié)果表明,該算法較為顯著地增加了混響和噪聲條件下聲源定位的準(zhǔn)確性,且具有良好的魯棒性。
支持向量機(jī);機(jī)器學(xué)習(xí);聲源定位;核函數(shù)
作為人機(jī)交互的重要媒介,語音是人類最重要的交際工具,具有顯著的優(yōu)勢(shì)。但是,在實(shí)際生活中,常常會(huì)有干擾語音的情況出現(xiàn),比如環(huán)境中的噪聲、其他聲源的干擾等,使得語音質(zhì)量下降。因此,如何獲取高質(zhì)量的語音成為一個(gè)密切關(guān)注的話題。一種基于麥克風(fēng)陣列的語音系統(tǒng)由于其廣泛的應(yīng)用前景,受到了越來越廣泛的關(guān)注。
在基于麥克風(fēng)陣列的語音信號(hào)處理中,聲源定位技術(shù)處在核心位置。除了能夠提供位置信息之外,聲源定位技術(shù)在基于麥克風(fēng)陣列的語音增強(qiáng)中也發(fā)揮著重要作用,對(duì)于如何增強(qiáng)語音信號(hào)處理的性能以及增強(qiáng)聲源定位的性能有很重要的意義[1]。
對(duì)于絕大多數(shù)的定位系統(tǒng)來說,采用的都是麥克風(fēng)陣。從規(guī)模上進(jìn)行劃分,麥克風(fēng)陣系統(tǒng)可分為兩種:一種是大型的麥克風(fēng)陣,主要用來進(jìn)行語音控制,這其中包含了幾十到幾百的陣元;另一種則是小型的麥克風(fēng)陣,主要在一些電子產(chǎn)品(比如手提電腦以及移動(dòng)電話)中使用[2]。聲源定位算法大致可分為三種:基于高分辨率譜估計(jì)的定位算法、基于時(shí)延估計(jì)的定位算法和基于可控波束形成的定位算法[3]。
迄今為止,已經(jīng)提出了很多類時(shí)間差估計(jì)算法,比如基本互相關(guān)法、廣義互相關(guān)法、最小均方自適應(yīng)濾波法、互功率譜相關(guān)法[4]等。在這些算法中,比較經(jīng)典的是由Knapp等提出的GCC-PHAT(相位變換加權(quán)廣義互相關(guān))算法。它的實(shí)用性非常強(qiáng),抑制旁瓣的效果很好,而且通過銳化互相關(guān)函數(shù)主峰的行為,可以使得時(shí)延估計(jì)的精度增強(qiáng)。然而當(dāng)室內(nèi)的混響很嚴(yán)重時(shí),GCC-PHAT這種時(shí)延估計(jì)算法的抗噪能力會(huì)下降。因此提高GCC-PHAT對(duì)噪聲的魯棒性顯得尤為重要。利用SVM作為估計(jì)聲源位置的分類器,并且通過合適參數(shù)的選取提高該模型的抗噪能力。
為此,研究重點(diǎn)集中在兩方面。一方面是鑒別互相關(guān)函數(shù)特征的提取,利用得到的特征結(jié)合SVM分類器得到互相關(guān)函數(shù)的模型;另一方面是在已得到模型的基礎(chǔ)上,調(diào)整SVM的參數(shù),比較不同參數(shù)選擇的定位效果。
支持向量機(jī)(SVM)[5]是這樣的一種機(jī)器學(xué)習(xí)算法:SVM建立在統(tǒng)計(jì)學(xué)習(xí)的VC維度(Vapnik-Chervonenkis Dimension)理論[6]以及結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理的基礎(chǔ)上,可以對(duì)有限的樣本實(shí)現(xiàn)模型復(fù)雜度以及學(xué)習(xí)能力的平衡。支持向量機(jī)利用對(duì)最大間距的超平面的尋找進(jìn)行分類,有著很強(qiáng)的泛化能力,并且對(duì)小樣本的分類尤為適用。SVM主要處理二分類的情況,主要思想是面向線性可分的問題設(shè)計(jì)。在樣本是線性不可分時(shí),SVM通過非線性映射,也就是核函數(shù)[7],使低維空間的樣本映射到高維空間中,這樣就可以使樣本線性可分,從而可以在高維空間線性分類。對(duì)超平面的尋找是建立在結(jié)構(gòu)風(fēng)險(xiǎn)最小理論的基礎(chǔ)上,通過對(duì)兩個(gè)間隔最大的平行超平面的尋找,實(shí)現(xiàn)樣本分類,這就可以讓分類器獲得全局最優(yōu)解,并且在樣本空間中,符合期望風(fēng)險(xiǎn)以某個(gè)概率滿足一定上界的情況。
SVM是按照如下方法實(shí)現(xiàn)的:對(duì)訓(xùn)練集合內(nèi)的樣本(xi,yi),i=1,2,…,N,其中N表示樣本數(shù)量,xi∈Rl,y∈{-1,1},正樣本用+1表示,負(fù)樣本用-1表示,Rl表示樣本空間,xi表示第i個(gè)l維的樣本向量,yi表示此樣本被包含的類的標(biāo)記。在樣本處于線性可分的情況下,可以使用一個(gè)分類平面,使得訓(xùn)練的樣本分離,這個(gè)平面稱作超平面[8-9],可以用下面的函數(shù)來表示:
wT·x+b=0
(1)
其中,w和b分別表示該超平面的法向量和截距。
超平面的作用是劃分樣本空間,使樣本空間變成兩個(gè)區(qū)域。在一側(cè)區(qū)域,與樣本對(duì)應(yīng)的wT·x+b大于零,但是在另一側(cè)區(qū)域,與樣本對(duì)應(yīng)的wT·x+b則小于零。
以上是SVM的分類原理,目的是通過尋找兩個(gè)互相平行的超平面來劃分樣本,并且這兩個(gè)超平面之間的距離也是最大的。通過這種方法定下的超平面可以在最大范圍內(nèi)對(duì)兩類不同的樣本進(jìn)行劃分,要讓兩個(gè)超平面間的距離最大,等價(jià)于使‖w‖2最小,也就是:
(2)
通過引入拉格朗日對(duì)偶的概念,使用拉格朗日系數(shù)α,將式(2)的限制條件與目標(biāo)函數(shù)進(jìn)行融合,得到的拉格朗日函數(shù)如下:
(3)
這樣,w以及b的值就可以通過式(3)求得,也就可以得到兩個(gè)平行的分類超平面,此超平面是支持向量機(jī)分類器中距離最大的一組超平面,同時(shí)可以計(jì)算出支持向量機(jī)的判別函數(shù):
(4)
當(dāng)訓(xùn)練的樣本集合滿足理想的且完全線性可分的情況時(shí),該方法通過計(jì)算支持向量機(jī)的決策函數(shù)達(dá)到很好的效果。然而在實(shí)際情況中,許多的訓(xùn)練樣本集合不是線性可分而是近似線性可分的,因此提出松弛變量和核函數(shù)的思想是很有必要的。
SVM的核函數(shù)有許多類型,包括線性內(nèi)核、多項(xiàng)式內(nèi)核、徑向基內(nèi)核(RBF)、sigmoid核[9-11]。其中,RBF應(yīng)用最廣泛,其適用性表現(xiàn)在對(duì)大小樣本以及高低維都適用。
基于鑒別互相關(guān)函數(shù)的聲源定位算法包括兩種過程,分別是訓(xùn)練過程以及定位過程[12-13]。在訓(xùn)練過程中,計(jì)算互相關(guān)函數(shù)作為特征,利用特征向量,計(jì)算出互相關(guān)函數(shù)SVM模型的參數(shù)。測(cè)試時(shí)通過計(jì)算獲得互相關(guān)函數(shù),并作為特征,利用SVM分類器估計(jì)聲源的位置。
訓(xùn)練過程和定位過程的模型分別見圖1和圖2。
在訓(xùn)練過程中,實(shí)驗(yàn)?zāi)康氖莿?chuàng)建一個(gè)互相關(guān)函數(shù)的SVM模型,步驟如下:
(1)利用麥克風(fēng)陣列,記錄下聲源在不同位置產(chǎn)生的混響信號(hào),此時(shí)假設(shè)每一個(gè)訓(xùn)練的位置為li,i=1,2,…,M;
(2)根據(jù)得到的混響信號(hào),計(jì)算出互相關(guān)函數(shù);
(3)根據(jù)互相關(guān)函數(shù),生成特征向量z;
(4)對(duì)于每一個(gè)訓(xùn)練位置li,利用特征向量計(jì)算出SVM模型的法向量wi和截距bi。
圖1 訓(xùn)練過程
圖2 定位過程
(1)麥克風(fēng)陣列記錄下信號(hào),此信號(hào)包括聲源發(fā)出的信號(hào)(混響信號(hào))以及噪聲。
(2)根據(jù)得到的混響信號(hào),計(jì)算出互相關(guān)函數(shù)。
(3)根據(jù)互相關(guān)函數(shù),生成特征向量z。
(4)利用已經(jīng)訓(xùn)練得到的SVM分類器來估計(jì)聲源的位置。
在利用SVM分類器估計(jì)聲源的位置信息時(shí),能夠使類間距2/‖w‖最小的位置可定義為聲源的位置:
(5)
其中,類間距2/‖w‖由法向量wi和截距bi得到。
3.1特征提取
實(shí)驗(yàn)中采用由兩個(gè)麥克風(fēng)組成的麥克風(fēng)陣,其中,對(duì)于第i個(gè)麥克風(fēng),它接收到的信號(hào)是:
xi(k)=hi(ls,k)*s(k),i=1,2
(6)
其中,s(k)表示聲源,它的位置在ls;hi(ls,k)表示從聲源到第i個(gè)麥克風(fēng)房間的脈沖響應(yīng)。
假設(shè)房間脈沖響應(yīng)的長度為H,則對(duì)第i個(gè)麥克風(fēng),接收到的信號(hào)可以表示為:
(7)
在實(shí)際情況中,由于受到噪聲以及混響的干擾,相關(guān)函數(shù)往往會(huì)受到以下影響:最大峰被弱化,以及出現(xiàn)多個(gè)峰值。廣義互相關(guān)法是對(duì)一對(duì)麥克風(fēng)信號(hào)的互功率譜實(shí)行加權(quán)處理,這樣便可以達(dá)到相關(guān)函數(shù)在時(shí)延的峰值位置更加突出的效果。信號(hào)x1(k)和x2(k)的廣義互相關(guān)函數(shù)可以表示為:
(8)
其中,“*”表示復(fù)共軛;X1(ω)是x1(t)的傅里葉變換;Φ1,2(ω)表示加權(quán)函數(shù)。
為了進(jìn)一步提高互相關(guān)函數(shù)的抗混響的能力,實(shí)驗(yàn)利用了相位變換加權(quán)函數(shù):
(9)
將式(9)代入到式(8),可以得到:
(10)
在實(shí)際環(huán)境下,信號(hào)x1(t)和x2(t)在經(jīng)過預(yù)處理加窗之后,接著通過傅里葉變換便可得到X1(ω)和X2(ω)。由式(7)可知,若房間脈沖響應(yīng)的長度H比窗函數(shù)短很多,那么在頻域內(nèi),S(ω)和Hi(ls,ω)分別為s(k)和hi(ls,k)的傅里葉變換。那么麥克風(fēng)信號(hào)可表示為:
Xi(ω)=Hi(ls,ω)S(ω),i=1,2
(11)
將式(11)代入式(10),可以求得:
(12)
但是,在實(shí)際環(huán)境中,窗函數(shù)的長度會(huì)比房間脈沖響應(yīng)的長度H小很多,于是麥克風(fēng)信號(hào)可在頻域內(nèi)近似表示為:
Xi(ω)≈Hi(ls,ω)*S(ω),i=1,2
(13)
除此之外,信號(hào)x1(k)和x2(k)之間的廣義互相關(guān)函數(shù)約為房間脈沖響應(yīng)h1(ls,k)和h2(ls,k)之間的廣義互相關(guān)函數(shù),也就是:
(14)
3.2SVM定位算法
3.2.1 互相關(guān)函數(shù)的SVM模型
特征向量是通過廣義互相關(guān)函數(shù)Rx1x2(τ)而產(chǎn)生的:
z=[Rx1x2(-τm),Rx1x2(-τm+1),…,Rx1x2(τm)]T? [z1,z2,…,zi,…,z2τm+1]T
(15)
其中,τm=round(αLfs/c),因子α設(shè)置為1.67,L、fs、c分別表示一對(duì)麥克風(fēng)之間的距離、采樣頻率以及聲速,round(·)表示取整函數(shù)。
假設(shè)對(duì)于單個(gè)特征zi,i=1,2,…,2τm+1滿足SVM模型,那么特征zi的幾何間隔為:
(16)
其中,yi、wi、bi分別為第i個(gè)特征zi的法向量、結(jié)果標(biāo)簽以及截距。
當(dāng)處于訓(xùn)練過程時(shí),針對(duì)任意一個(gè)位置li,i=1,2,…,J,可以利用K幀的訓(xùn)練數(shù)據(jù)來估算幾何間隔φj(li)。由于對(duì)于任意一個(gè)超曲面來說,這個(gè)超平面都可以用一個(gè)法向量w和一個(gè)常數(shù)截距b來表示,所以一個(gè)點(diǎn)到這個(gè)超曲面的距離可以表示為:
(17)
3.2.2 SVM分類器的定位實(shí)現(xiàn)
在該實(shí)驗(yàn)中,可以利用一個(gè)特征向量z實(shí)現(xiàn)SVM分類器對(duì)聲源位置的估計(jì)功能。
假設(shè)有這樣一個(gè)前提,對(duì)于任意一個(gè)特征zi,i=1,2,…,2τm+1,它們之間都是統(tǒng)計(jì)獨(dú)立的,那么特征zi的幾何間隔為:
(18)
對(duì)于給定的樣本點(diǎn),可以選出一組(wi,bi)來表示,所以可令w·x+b=1,超平面的距離可以表示為2/‖w‖。使得幾何間隔最小的位置就被認(rèn)為是聲源的位置:
(19)
4.1實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)利用一種改進(jìn)的鏡像法,用來模擬測(cè)量房間脈沖響應(yīng)的實(shí)際系統(tǒng)[14-16]。在房間中,從聲源發(fā)出的聲波能量,在傳播過程中由于不斷被壁面吸收而逐漸衰減,聲波在各個(gè)不同的方向來回反射,而又逐漸衰減的現(xiàn)象稱為室內(nèi)混響。當(dāng)聲源停止后,從初始的聲壓降到60 dB所需的時(shí)間稱為混響時(shí)間,這里用T60表示室內(nèi)聲音的混響時(shí)間[1]。
利用一種仿真的矩形長方體房間,仿真軟件為Roomsim,模擬生成房間脈沖響應(yīng)。得到混響時(shí)間和反射系數(shù)的關(guān)系:
(20)
其中,T60表示混響時(shí)間;ε表示反射系數(shù):a,b,c分別表示矩形房間的長、寬、高;342表示聲速,約為342 m/s。
仿真矩形房間的尺寸為8 m×6 m×4 m,調(diào)整反射系數(shù)ε使得混響時(shí)間T60為0.3 s。仿真的房間平面圖如圖3所示。實(shí)驗(yàn)條件是:假設(shè)加性白噪聲與聲源的信號(hào)以及麥克風(fēng)的噪聲都不相關(guān)。一對(duì)麥克風(fēng)的位置相距0.3 m,并且分別位于矩形房間的(4.25 m,3 m,2 m)和(4.55 m,3 m,2 m)處,聲源到一對(duì)麥克風(fēng)中點(diǎn)的距離為1.5 m。通過采樣率為16 kHz的信號(hào)和房間脈沖響應(yīng)的卷積生成混響信號(hào)。加入噪聲,并取不同的信噪比作對(duì)比。幀長是32 ms,有512個(gè)采樣點(diǎn),給每幀信號(hào)加漢明窗。實(shí)驗(yàn)中訓(xùn)練和測(cè)試的聲源的位置有17種,分別為10,20,…,170度。
圖3 仿真的矩形長方體房間平面圖
實(shí)驗(yàn)是在Matlab R2014a環(huán)境下實(shí)現(xiàn)的,通過安裝由臺(tái)灣大學(xué)林智仁[9]教授開發(fā)的LibSVM工具包進(jìn)行。LibSVM是以源代碼和可執(zhí)行文件這兩種方式設(shè)計(jì)的。它的使用步驟包括:準(zhǔn)備數(shù)據(jù)集、對(duì)數(shù)據(jù)進(jìn)行縮放操作,以及利用獲取的模型進(jìn)行測(cè)試與預(yù)測(cè)。
4.2實(shí)驗(yàn)結(jié)果
計(jì)算得到GCC-PHAT,轉(zhuǎn)換為特征z,得到420幀特征數(shù)據(jù)。將此特征分為訓(xùn)練集和測(cè)試集?;赟VM的定位算法使用了90幀訓(xùn)練數(shù)據(jù),330幀測(cè)試數(shù)據(jù)。然后利用訓(xùn)練集建立分類模型,利用建立的SVM模型觀察其在訓(xùn)練集上的分類效果,得到測(cè)試的結(jié)果準(zhǔn)確度。
實(shí)驗(yàn)中,選取了SVM的不同參數(shù),包括SVM三種類型:C-SVC(C-支持向量分類)、V-SVC(V-支持向量分類)和一類SVM。其中一類SVM是用于一類分類的分類器,在這里不予考慮。SVM核函數(shù)有三種選擇:線性核函數(shù)、多項(xiàng)式核函數(shù)和RBF函數(shù)。為了比較不同情況下SVM的定位性能,分別選擇純凈語音,信噪比為25 dB、15 dB以及5 dB的信號(hào),通過對(duì)SVM不同參數(shù)的選擇而得到不同的抗噪性能。實(shí)驗(yàn)結(jié)果如表1和表2所示。
表1 選擇C-SVC時(shí)的分類準(zhǔn)確率 %
表2 選擇V-SVC時(shí)的分類準(zhǔn)確率 %
從實(shí)驗(yàn)結(jié)果可以看出,基于SVM的聲源定位算法的定位準(zhǔn)確率隨著信噪比的增加而上升。當(dāng)處于相同的信噪比時(shí),選擇核函數(shù)的類型為RBF,都有較高的分類準(zhǔn)確率。在混響時(shí)間T60為0.3 s時(shí),核函數(shù)選擇類型為多項(xiàng)式的定位算法隨著信噪比的降低,定位精度下降幅度較大。當(dāng)選擇C-SVC的SVM類型且核函數(shù)為RBF時(shí),有最高的分類準(zhǔn)確率,定位效果最好。
針對(duì)現(xiàn)有聲源定位算法的定位和魯棒性有所不足的問題,提出了一種新的基于SVM的聲源定位算法,通過Matlab仿真進(jìn)行了實(shí)驗(yàn)驗(yàn)證,同時(shí)還比較了6種不同的SVM參數(shù)的組合情況。結(jié)果表明,該算法提高了定位的魯棒性,在混響和噪聲情況下也有很好的定位效果。在多媒體技術(shù)日益成熟的今天,該算法具有一定的實(shí)用性。
[1] 萬新旺.基于陣列信號(hào)處理與空間聽覺的聲源定位算法研究[D].南京:東南大學(xué),2011.
[2] 郭俊成.基于傳聲器陣列的聲源定位技術(shù)研究[D].南京:南京航空航天大學(xué),2007.
[3] 宗志亞.基于麥克風(fēng)陣列的室內(nèi)聲源定位方法研究[D].重慶:重慶大學(xué),2012.
[4] Wan Xinwang,Liang Juan.Improved sound source localization using classifier in reverberant noisy environment[J].Journal of Applied Sciences,2013,13(21):4897-4901.
[5] 李 瓊,陳 利.一種改進(jìn)的支持向量機(jī)文本分類方法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2015,25(5):78-82.
[6] 平 源.基于支持向量機(jī)的聚類及文本分類研究[D].北京:北京郵電大學(xué),2012.
[7] 常甜甜.支持向量機(jī)學(xué)習(xí)算法若干問題的研究[D].西安:西安電子科技大學(xué),2010.
[8] Laouti N,Othman S,Alamir M,et al.Combination of model-based observer and support vector machines for fault detection of wind turbines[J].International Journal of Automation and Computing,2014,11(3):274-287.
[9] 丁世飛,齊丙娟,譚紅艷.支持向量機(jī)理論與算法研究綜述[J].電子科技大學(xué)學(xué)報(bào),2011,40(1):2-10.
[10] Xue X H,Yang X G,Chen X.Application of a support vector machine for prediction of slope stability[J].Science China Technological Sciences,2014,57(12):2379-2386.
[11] 何 清,李 寧,羅文娟,等.大數(shù)據(jù)下的機(jī)器學(xué)習(xí)算法綜述[J].模式識(shí)別與人工智能,2014,27(4):327-336.
[12] Campbell D.ROOMSIM toolbox[DB/OL].2012-08-08.http://media.paisley.ac.uk/~campbell/Roomsim/(Last viewed.
[13] 柯 昆.聲源定位技術(shù)研究[D].西安:西安電子科技大學(xué),2010.
[14] Wan X,Wu Z.Improved speech source localization in reverberant environments based on correlation dimension[C]//International conference on wireless communications & signal processing.[s.l.]:IEEE,2009:1-4.
[15] Wan X,Wu Z.Sound source localization based on discrimination of cross-correlation functions[J].Applied Acoustics,2013,74(1):28-37.
[16] Dibiase J H.A high-accuracy,low-latency technique for talker localization in reverberant environments using microphone arrays[J].European Journal of Biochemistry,2010,216(1):281-291.
A Sound Source Localization Algorithm with Support Vector Machine
GU Xiao-yu,YANG Yue
(College of Telecommunications and Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
With the rapid development of multimedia technology,the method to obtain high-quality voice has become an increasingly widespread technical means,which has been widely used for microphone array sound source localization in many fields.Support Vector Machine (SVM) is a machine learning method based on statistical learning theory and structural risk minimization principle,and its performance depends on the correct selection of related parameters.SVM can be used as a classifier to estimate the position of the sound source,and it can improve the anti-noise ability of the algorithm by selecting the appropriate parameters.Therefore a new kind of sound source localization based on SVM is proposed.By extracting the features of cross-correlation function and selecting appropriate parameters,the kernel function of SVM is optimized.The simulation has been carried out with the proposed algorithm using Matlab,results of which show that it has increased the accuracy of sound source localization significantly in noisy and reverberant environments,with good robustness.
support vector machine;machine learning;sound source localization;kernel function
2016-06-29
:2016-10-11 < class="emphasis_bold">網(wǎng)絡(luò)出版時(shí)間
時(shí)間:2017-07-11
聲納技術(shù)國防科技重點(diǎn)實(shí)驗(yàn)室開放研究基金(KF201503);江蘇省自然科學(xué)基金(BK20140891)
顧曉瑜(1992-),女,碩士研究生,研究方向?yàn)槁曉炊ㄎ弧C(jī)器學(xué)習(xí)。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170711.1452.018.html
TP301.6
:A
:1673-629X(2017)09-0070-05
10.3969/j.issn.1673-629X.2017.09.015