王志強(qiáng), 王 濤, 金志文
(1. 上海大學(xué)通信與信息工程學(xué)院, 上海 200444;2. 中國人民解放軍 93216 部隊(duì), 北京 100085)
盲源分離是一種在信源以及傳輸模型未知的情況下, 僅通過傳感器采集到的混合信號來估計(jì)源信號的技術(shù). 該技術(shù)在語音信號處理、生物醫(yī)學(xué)、圖像處理、機(jī)械故障診斷等方面的應(yīng)用都發(fā)揮了重要作用. 尤其在語音信號處理中, 盲源分離技術(shù)為諸如語音識別等提供盡量“干凈”的單一聲源信號, 從而提升后端技術(shù)的性能.
盲源分離問題首次在1986 年由Jutten 等[1]提出, 在1994 年Comon[2]提出了獨(dú)立成分分析(independent component analysis, ICA)的概念, 同時(shí)指出ICA 的本質(zhì)和盲源分離是一樣的, 由此將盲源分離的研究轉(zhuǎn)化成了對ICA 代價(jià)函數(shù)的研究, 之后的大部分研究都是基于這種ICA 理論框架進(jìn)行的. 早期的ICA 已經(jīng)很好地解決了線性混合信號的分離, 但實(shí)際情況下語音的混合是卷積混合, 既有幅度的衰減又有時(shí)延, 而早期的線性混合ICA 不再適用于卷積混合模型, 分離性能也大大降低.
針對卷積混合信號的分離, 常見的做法是通過短時(shí)傅里葉變換將卷積問題轉(zhuǎn)變?yōu)轭l域的乘積問題, 然后在每個(gè)頻點(diǎn)上應(yīng)用ICA 算法, 得到相應(yīng)的解混矩陣對混合信號進(jìn)行分離. 頻域ICA 需要對每個(gè)頻點(diǎn)單獨(dú)進(jìn)行ICA, 因此每個(gè)頻點(diǎn)輸出的分離信號的幅度和次序具有不確定性. 對于幅度不確定性問題, 只要能夠控制每個(gè)頻點(diǎn)的信號能量大小, 則一方面使得算法不會(huì)因?yàn)樾盘柎笮〔皇芸刂贫鵁o法收斂, 另一方面也使得各個(gè)頻點(diǎn)的分離矩陣的數(shù)值差異較小.在這種情況下, 信號的分離性能也不會(huì)受到明顯的影響[3]. 相比之下, 對分離性能影響更大的次序不確定性問題是本工作研究的重點(diǎn).
目前, 針對頻域ICA 的次序不確定性問題的解決算法大致可分為3 類: ①以某一聲源的方位信息作為先驗(yàn)信息, 約束整個(gè)迭代過程[4-6]; ②根據(jù)相鄰頻點(diǎn)包絡(luò)的相關(guān)性解決ICA 的次序不確定性問題[7-8]; ③根據(jù)解混矩陣的相位特征修正次序問題[9-11].
但上述算法有各自的局限, 因此本工作提出了一種新的解決次序不確定性問題的方法. 針對眾多數(shù)據(jù)集、仿真混響環(huán)境和實(shí)際環(huán)境中的混合信號進(jìn)行分離實(shí)驗(yàn), 得到的結(jié)果均優(yōu)于已有算法.
在盲源分離系統(tǒng)中,N個(gè)聲源和M個(gè)麥克風(fēng)放置在房間的不同位置, 麥克風(fēng)采集到的信號為源信號以不同方式混合后得到的信號. 在實(shí)際環(huán)境中, 源信號si(t)為語音信號或噪聲信號, 觀測信號xj(t)則為采集到的麥克風(fēng)信號. 在本工作中, 聲源數(shù)和麥克風(fēng)數(shù)均設(shè)置為2,即N=M=2. 此時(shí), 源信號和觀測信號可以表示為
式中:hji(l)是第i個(gè)源信號到達(dá)第j個(gè)麥克風(fēng)的傳輸函數(shù). 此系統(tǒng)中, 在si(t)和hji(l)未知的情況下, 估計(jì)長為L的解混濾波器wji(l), 使得信號間盡可能獨(dú)立, 從而得到分離信號yi(t),
混合系統(tǒng)如圖1 所示.
圖1 混合系統(tǒng)Fig.1 Hybrid system
對式(3)的左右兩端同時(shí)進(jìn)行短時(shí)傅里葉變換, 可以得到其頻域形式為
式中:f和τ分別為頻率和幀的序號;s(f,τ)和x(f,τ)分別為源信號和觀測信號經(jīng)過傅里葉變換的結(jié)果; 而H(f)為在f頻點(diǎn)上的混合矩陣, 可以表示為
對式(4)的左右兩端進(jìn)行短時(shí)傅里葉變換, 可以得到其頻域形式,
采用信息最大化[12]和自然梯度下降[13]的方式迭代估計(jì)解混矩陣W(f), 迭代公式為
式中:η為迭代的步長;I為單位矩陣; H 表示共軛轉(zhuǎn)置;〈·〉l表示對l幀求平均;φ(·)是非線性激活函數(shù)[4,6],
在信號的每個(gè)頻點(diǎn)均進(jìn)行迭代, 得到每個(gè)頻點(diǎn)的W(f), 根據(jù)式(7)恢復(fù)得到分離信號. 由于分離是在各頻點(diǎn)中獨(dú)立進(jìn)行的, 每一個(gè)頻點(diǎn)迭代出來的W(f)可能是在該頻點(diǎn)最優(yōu)的, 但沒有充分考慮到頻點(diǎn)內(nèi)部間的關(guān)系, 即相鄰頻點(diǎn)迭代得到的結(jié)果在包絡(luò)上或在相位特征上不應(yīng)有很明顯的跳變.
在頻域ICA 的實(shí)現(xiàn)過程中, 由于其每個(gè)頻點(diǎn)獨(dú)立進(jìn)行迭代的特點(diǎn), 不可避免地存在次序不確定性和幅度不確定性問題. 本工作采用Nesta 等[5]的算法來解決幅度不確定性問題, 著重討論了已有的解決次序不確定性問題的算法, 并給出了新算法.
將式(7)展開可以得到
由于各頻點(diǎn)獨(dú)立迭代的特點(diǎn), 會(huì)發(fā)生以下情況[9]: 當(dāng)頻點(diǎn)f=f1時(shí), 有Y1(f1) = ^S1(f1)和Y2(f1) = ^S2(f1); 而當(dāng)頻點(diǎn)f=f2時(shí), 有Y1(f2) = ^S2(f2)和Y2(f2) = ^S1(f2). 也就是說, 以信息最大化為準(zhǔn)則的迭代, 對觀測信號進(jìn)行了有效的分離, 但是分離結(jié)果間的次序無法始終滿足S1、S2這一次序, 這就導(dǎo)致了分離后的結(jié)果在逆傅里葉變換后, 在時(shí)域上依舊表現(xiàn)為未分離的情況. 如果對不同頻點(diǎn)的ICA 之間不建立一定的聯(lián)系, 那么ICA 在頻率上無法保證輸出的次序始終保持一致. 因此, 需要通過一定的后驗(yàn)信息[14]來對歸屬于相同源的頻點(diǎn)進(jìn)行分組, 以改善語音分離的性能.
基于頻域ICA 實(shí)現(xiàn)語音信號盲分離的整體框圖如圖2 所示.
圖2 基于頻域ICA 的語音信號盲分離系統(tǒng)框圖Fig.2 Diagram of speech signal blind separation system based on frequency domain ICA
通過方向信息來解決次序問題是最為常見的對分離后的頻點(diǎn)進(jìn)行聚類的方法. 式(6)中混合矩陣H(f)可以看作是若干個(gè)聲源-麥克風(fēng)的沖激響應(yīng), 因此可以寫作
式中:|hij(f)|為第i個(gè)聲源到第j個(gè)麥克風(fēng)的幅頻響應(yīng);fk表示真實(shí)頻率;τij(f)表示對于頻點(diǎn)f從第i個(gè)聲源到第j個(gè)麥克風(fēng)的時(shí)間. 觀察H(f)的第一列, 可以計(jì)算出第一個(gè)聲源到2 個(gè)不同麥克風(fēng)的到達(dá)時(shí)間差(time difference of arrival, TDOA)信息. 對于第i個(gè)聲源, 到達(dá)2 個(gè)麥克風(fēng)的時(shí)延可以表示為
根據(jù)TDOA 信息可以很容易地將分離結(jié)果進(jìn)行聚類, 調(diào)整后使其分離輸出的順序始終保持一致. 但同時(shí)需要設(shè)定ε=ε0, 以保證將誤差在±ε之間的時(shí)延歸于同一類. 但是, 該方法需要估計(jì)的TDOA 信息足夠準(zhǔn)確, 因此在分離兩個(gè)同向聲源或聲源角度差距較小的情況下表現(xiàn)較差.同時(shí), 在信號的低頻成分中, 相位的差異性很小, 從而使得估計(jì)出的時(shí)延值不準(zhǔn)確; 而在高頻成分中估計(jì)TDOA 時(shí), 會(huì)出現(xiàn)空間混疊問題, 這也是該方法的局限性.
本工作針對某些特殊情景中, 時(shí)延估計(jì)不準(zhǔn)而導(dǎo)致次序不確定性問題無法解決的情況, 引入語音信號能量比的信息, 對次序問題進(jìn)行進(jìn)一步修正, 具體見第3 章.
利用相鄰頻點(diǎn)包絡(luò)相關(guān)性的算法, 是根據(jù)分離后的信號中屬于相同源的相鄰頻點(diǎn)間具有非常強(qiáng)的相關(guān)性這一特性提出的, 具體實(shí)現(xiàn)方式如下.
定義分離信號的包絡(luò)為
圖3 不同頻點(diǎn)上的包絡(luò)線Fig.3 Envelopes at different frequencies
由于無法保證信號的每個(gè)頻點(diǎn)包絡(luò)始終滿足強(qiáng)相關(guān)性, 因此通過遞歸的方式來對頻點(diǎn)的次序進(jìn)行修正會(huì)產(chǎn)生錯(cuò)誤, 甚至降低分離性能.
上述兩種算法都有著各自的局限性. 首先, 利用相關(guān)性方法是不魯棒的, 由于需要逐一對相鄰頻點(diǎn)的次序進(jìn)行判斷, 當(dāng)在某一處頻點(diǎn)進(jìn)行誤判時(shí), 該方法會(huì)連帶影響之后的所有頻點(diǎn),進(jìn)而導(dǎo)致更多的頻點(diǎn)發(fā)生誤判. 其次, 利用方向信息的方法不夠準(zhǔn)確, 存在固有的無法解決同向干擾的缺陷, 同時(shí), 其精度受到TDOA 算法的影響較大, 在低信噪比以及信號的低頻和高頻處, 會(huì)存在誤判的情況[16-17].
本工作提出的算法是一種基于語音能量比來計(jì)算時(shí)頻掩模的算法, 同時(shí)利用空間和能量的信息來對次序進(jìn)行修正. 算法實(shí)現(xiàn)流程如圖4 所示.
圖4 次序問題修正算法框圖Fig.4 Algorithm block diagram of solving permutation problem
經(jīng)過ICA 算法迭代后, 可以得到分離后的信號Y1和Y2. 假設(shè)矩陣A為最小化均方誤差E((X-AY)2)的結(jié)果, 可得
二值掩模pi(f,τ)便可以通過A計(jì)算得到
能量信息的引入有效解決了由于空間信息不準(zhǔn)確而對次序發(fā)生誤判的問題. 本工作利用空間信息對次序問題進(jìn)行修正, 利用了混合矩陣H(f)的第i列應(yīng)始終指向源i這一特性[6],
式中:h1(f)為H(f)的第一列;d1(f)為源1 的導(dǎo)向矢量;M為麥克風(fēng)數(shù),M= 2. 通過計(jì)算得到的pn和導(dǎo)向矢量dn, 定義次序問題的置信度為
式中:α為0~1 之間的常數(shù), 是控制方向信息和能量信息重要程度的系數(shù). 在一般情況下,α=0.5. 當(dāng)遇到同向干擾, 存在較大的混響時(shí),α的值要適當(dāng)減小.
本工作提出的算法綜合能量以及方向信息對次序進(jìn)行判斷, 能夠很好地避免連帶效應(yīng); 同時(shí)又針對強(qiáng)混響、聲源同向下方向信息不準(zhǔn)確、差異不明顯的情況, 利用能量化的掩模對次序進(jìn)行修正.
可以發(fā)現(xiàn), 計(jì)算置信度時(shí)僅使用了H(f), 即只通過方向信息對分離信號的次序進(jìn)行修正,雖然避免了連帶效應(yīng)的產(chǎn)生, 但準(zhǔn)確性依舊受到TDOA 估計(jì)算法精度的影響, 并不能像本工作提出的算法一樣, 在方向信息不準(zhǔn)確時(shí), 依靠語音的能量比來對次序進(jìn)行準(zhǔn)確的修正.
式(24)中通過比較|[hi(f)]HX(f,τ)|的大小來計(jì)算二值掩模, 存在一定的局限性, 即比較的是^S1和^S2的大小, 只有在聲源與麥克風(fēng)的距離保持不變(^X= ^S)的前提下, Nesta 等[6]的算法才是合理的. 當(dāng)聲源與麥克風(fēng)的距離不同, 聲源處幅度的比較結(jié)果并不能替代麥克風(fēng)處幅度的比較結(jié)果. 在本工作提出的算法中, 使用aTi Y的比較結(jié)果來計(jì)算二值掩模更為合理, 因?yàn)榫仃嘇為最小化均方誤差E((X-AY)2)的結(jié)果, 所以aTi Y計(jì)算的是幅度修正后麥克風(fēng)處^X的結(jié)果. 通過比較麥克風(fēng)處^X的大小, 才能更好地對每個(gè)頻點(diǎn)的源歸屬進(jìn)行判斷, 這也是本工作的創(chuàng)新之處.
為了驗(yàn)證本工作所提出的算法的性能, 通過Vincent 等[18]定義的BSS EVAL 標(biāo)準(zhǔn)來評估算法的分離性能, 通過語音質(zhì)量感知評估(perceptual evaluation of speech quality, PESQ)來評估分離后的語音質(zhì)量[19].
根據(jù)BSS EVAL 標(biāo)準(zhǔn), 分離后的信號^s可以看作
式中:s代表真實(shí)的源信號;espat、einterf、eartif分別代表空間、干擾和人為因素所帶來的誤差. 衡量分離性能的指標(biāo)有信號偏差比(source-to-distortion ratio, SDR)、信號干擾比(source-to-interferences ratio, SDR)、系統(tǒng)誤差比(source-to-artifacts ratio, SDR)等. 本工作使用SDR 和SIR 作為客觀定量評估指標(biāo),
PESQ 是國際電信聯(lián)盟推薦的評價(jià)語音質(zhì)量的指標(biāo), 其將時(shí)域的語音信號轉(zhuǎn)換為響度譜, 然后比較“干凈”語音與估計(jì)語音之間的響度譜, 并給出估計(jì)信號的質(zhì)量評分, 評分范圍為-0.5~4.5 分.
對SiSEC2011 數(shù)據(jù)集上的語音進(jìn)行分離,表1 展示了數(shù)據(jù)集中信噪比分布為-6~9 dB 數(shù)據(jù)分離后的SDR, 依次為Ozerov、Nesta 以及本工作提出算法的結(jié)果.
表1 SiSEC 數(shù)據(jù)集上的分離結(jié)果Table 1 Separation results in SiSEC dataset
由表1 可見: 本工作提出的算法在3~9 dB 情況下, SDR 顯著優(yōu)于另外兩種算法; 而在-6~0 dB 情況下, SDR 與另外兩種算法接近. 這是因?yàn)樵趷毫拥男旁氡认?p1(f,τ)根據(jù)能量關(guān)系指向噪聲源, 次序判決出錯(cuò). 當(dāng)信噪比良好時(shí),p1(f,τ)與h1(f)共同指向主聲源, 次序判決正確, 可見本工作提出的算法在分離性能的表現(xiàn)上更為突出.
在本實(shí)驗(yàn)中, 頻域ICA 迭代算法保持相同, 僅改變次序修正算法, 來比較不同的次序修正算法對分離性能帶來的提升. 數(shù)據(jù)來自CHiME1 數(shù)據(jù)集. 如圖5 所示, 4 條折線分別為利用方向信息、頻點(diǎn)包絡(luò)相關(guān)性、Nesta 等[6]提出的次序修正的算法和本工作提出的算法在不同信噪比下計(jì)算得到的SIR. 圖6 顯示了已有算法與本工作提出的算法的PESQ 得分.α取值均為0.5.
圖5 4 種算法的SIRFig.5 SIR of four algorithms
圖6 4 種算法的PESQFig.6 PESQ of four algorithms
從整體上看, 本工作提出的算法優(yōu)于利用方向信息或相鄰頻點(diǎn)包絡(luò)相關(guān)性的算法.從SIR 表現(xiàn)來看, 本工作提出的算法僅在0 dB 時(shí)低于使用相鄰頻點(diǎn)包絡(luò)相關(guān)性的方法;從PESQ 得分來看, 本工作提出的算法僅在0 和-6 dB 時(shí)略低于相鄰頻點(diǎn)包絡(luò)相關(guān)性的方法和Nesta 等[6]的算法. 本工作提出的算法同時(shí)利用了方向和能量信息, 因此對于各個(gè)信噪比下的次序問題的判斷會(huì)更加準(zhǔn)確. 而使用相鄰頻點(diǎn)包絡(luò)相關(guān)性的算法得到的SIR 變化快速是其魯棒性不強(qiáng)導(dǎo)致的. 在0 dB 處, 相鄰頻點(diǎn)間頻譜的相關(guān)性穩(wěn)定, 不容易發(fā)生誤判, 所以分離后的結(jié)果最優(yōu); 而在其他信噪比下, 當(dāng)有一處頻點(diǎn)發(fā)生誤判, 就會(huì)連帶影響到其他頻點(diǎn), 導(dǎo)致SIR 陡然下降. 從圖5 可以看出, 本工作提出的算法在確保魯棒性的前提下, 保證了次序問題判斷的精度, 相比于其他算法, 顯著提升了分離性能.
對比Nesta 等[6]的次序置信度公式(24), 可以發(fā)現(xiàn)本工作提出算法的分離性能整體上優(yōu)于Nesta 算法, 可見加入能量比可顯著改善分離性能. 同時(shí)在-6~0 dB 的低信噪比的情況下,Nesta 算法在分離能力上都與利用方向信息的方法保持一致; 而在高信噪比下, 性能優(yōu)于利用方向信息的算法. 這是因?yàn)樵诟咝旁氡认? 迭代過程中的H(f)所指示的方向與TDOA 估計(jì)的導(dǎo)向矢量d(f)保持一致, 均為主聲源方向; 在低信噪比下, TDOA 估計(jì)的導(dǎo)向矢量d(f)可能會(huì)指向噪聲源方向, 與H(f)所指示的方向有較大的偏差, 影響了次序的判斷, 從而分離性能下降明顯.
如2.3 節(jié)所述,α是一個(gè)控制方向信息和能量信息重要程度的系數(shù), 而α在混響情況下會(huì)極大地影響算法的分離性能. 文獻(xiàn)[20]通過仿真的方式, 得到了聲源、麥克風(fēng)位置保持一致,混響時(shí)間(RT60)為0.4、0.8、1.2 s 的混合信號, 具體麥克風(fēng)及聲源擺放位置如圖7 所示. 針對這3 個(gè)不同混響時(shí)間的混合信號, 使用不同的α進(jìn)行分離, 結(jié)果如圖8 所示.
圖7 麥克風(fēng)及聲源擺放位置Fig.7 Location of microphones and sources
圖8 不同混響時(shí)間和α 得到的SDRFig.8 SDR comparing with different RT60 and α
由圖8 可見, 隨著混響時(shí)間的增加, 分離的SDR 總體呈下降趨勢. 在強(qiáng)混響的環(huán)境中, 多徑效應(yīng)使得估計(jì)得到的方向與真實(shí)方向有一定誤差, 從而導(dǎo)致算法在分離性能上有一定的下降. 但正如式(20)中顯示, 適當(dāng)?shù)販p小α, 在次序判決中降低方向信息所占的比重, 更多地依賴能量的信息, 會(huì)使分離性能有一定提升; 但當(dāng)α過小時(shí), 只依賴能量信息對次序進(jìn)行判決, 在低信噪比的情況下, 會(huì)帶來分離性能的下降. 因此, 對存在強(qiáng)混響以及空間混疊的混合信號進(jìn)行分離時(shí), 要降低α的取值.
為了進(jìn)一步檢驗(yàn)本工作所提算法的分離性能, 對實(shí)際環(huán)境中錄制的混合音頻進(jìn)行了實(shí)驗(yàn).實(shí)驗(yàn)設(shè)置如圖5 所示. 房間大小為8 m×7 m×5 m, RT60=0.8 s, 2 個(gè)麥克風(fēng)間距為8 cm, 聲源到麥克風(fēng)的距離控制在2.4 m, 且分別位于90°和135°方向. 聲源2 播放“干凈”的人聲數(shù)據(jù), 聲源1 播放干擾聲, 麥克風(fēng)以16 kHz 的采樣頻率得到含噪語音信號. 圖9 為混合信號以及分離信號的時(shí)域波形和頻譜圖, SDR=10.4.
圖9 混合信號以及分離信號的時(shí)域波形和頻譜圖Fig.9 Waveforms and spectrograms of mixed and separated signals
本工作提出了一種解決頻域ICA 次序不確定性問題的算法, 對于SiSEC 與CHiME 數(shù)據(jù)集, 在分離性能上均比已有算法有所提升. 對已有的解決次序不確定性的若干種算法與本工作提出的算法進(jìn)行了比較, 分析了各算法的優(yōu)劣, 并通過實(shí)驗(yàn)進(jìn)行了相應(yīng)的說明. 同時(shí), 在實(shí)際環(huán)境中進(jìn)行了數(shù)據(jù)的采集與處理, 驗(yàn)證了本工作提出的算法對實(shí)際環(huán)境中的混合信號依然有著優(yōu)異的分離能力. 實(shí)驗(yàn)結(jié)果表明, 本工作提出的基于語音信號能量比和方向性的算法有效解決了頻域獨(dú)立成分分析中的次序不確定性問題, 有效保護(hù)了目標(biāo)語音信號, 而對干擾信號進(jìn)行了有效抑制.