昂 晨,王 玫,羅麗燕,宋浠瑜,熊璐琦
(1.認知無線電與信息處理省部共建教育部重點實驗室,廣西 桂林 541004; 2.桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
由于GPS信號在室內(nèi)環(huán)境下的定位效果不盡理想,因此急需一種高效、便捷和準確的室內(nèi)定位技術(shù)來填補空白。近年來,隨著嵌入式和移動終端的快速發(fā)展,智能手機等移動平臺的CPU計算能力得到顯著提高。同時,多種傳感器內(nèi)嵌其中,極大地豐富了智能手機的功能,使得音頻的采集和處理成為可能[1]。智能手機的普及讓智能手機獲取代價降低,使它成為人們生活中不可缺少的一部分。利用智能手機能夠在無需其他基礎(chǔ)設(shè)備的條件下實現(xiàn)低代價、高響應速度的定位系統(tǒng),達到符合使用要求的定位效果。
當前較成熟的有基于Wifi、藍牙、紅外線和超聲波等室內(nèi)定位技術(shù)?;赪iFi的定位技術(shù)基礎(chǔ)設(shè)備易于安裝,但易受其他信號干擾、功耗較高;基于藍牙的定位技術(shù)功耗低、易集成,但定位距離短、穩(wěn)定性較差、易受噪聲干擾;基于紅外的定位技術(shù)精度高,但不能穿越障礙,同時造價高、功耗較大;基于超聲波的室內(nèi)定位技術(shù)整體精度高、結(jié)構(gòu)簡單,但存在多徑效應、衰減明顯、易受溫度影響、成本高[2]。基于背景聲的室內(nèi)定位技術(shù)無需其他基礎(chǔ)設(shè)施,僅需手機錄音,成本較低。同時背景聲極易被獲取,其識別率也不受多徑效應的影響。背景聲定位是基于指紋的定位技術(shù),為了達到較高的識別率,需要提取魯棒性高、穩(wěn)定性好的特征。對于語音和音樂,特征提取的方式已經(jīng)比較成熟。時域中有過零率[3]和短時能量[4]等;頻域中常用傅里葉變換法和線性預測分析方法(LPC)[5]等;梅爾頻率倒譜系數(shù)(MFCC)[6]作為倒譜域的特征使用最為廣泛。由于室內(nèi)背景聲與語音在結(jié)構(gòu)與特性上存在很大區(qū)別,因此用傳統(tǒng)方法對背景聲進行特征提取和識別會存在不足[7]。此外,建筑聲學領(lǐng)域提出:房間的持續(xù)聲音和房間的沖擊響應相結(jié)合形成了每一間房間的獨特背景聲[8]。即使是人耳聽覺相近的2個房間,由于房間結(jié)構(gòu)所產(chǎn)生的持久化聲音仍能較精確地區(qū)分2個不同的房間。
文獻[9]結(jié)合智能手機的多傳感器優(yōu)勢,采集WiFi、聲音、視覺圖像和加速度計數(shù)據(jù)作為指紋,其中聲音指紋通過提取時域上聲音的幅度得出。實驗結(jié)果顯示,此方法在51個不同房間中的匹配率達到87%。文獻[10]提出了一種提取背景聲頻譜的方法,采用KNN學習算法,依靠背景聲實現(xiàn)了房間級的室內(nèi)定位系統(tǒng),識別率達到69%。文獻[11]提出了聲音地標定位器(ALL),取功率譜的5幀移動平均作為聲音指紋,學習算法采用RPROP后向神經(jīng)網(wǎng)絡,實現(xiàn)智能手機室內(nèi)定位功能。
由此可見,對于聲學背景聲定位,如何對其特征指紋與學習算法進行深入學習并加以改進,實現(xiàn)更高的房間識別率成為研究熱點和難點。因此,本文深入研究背景聲譜(ABS)及其特征,利用RBF神經(jīng)網(wǎng)絡進行特征學習,系統(tǒng)性能得到進一步改進。
本文通過智能手機采集房間背景聲作為訓練樣本,定位系統(tǒng)設(shè)計分為線下采集與線上定位2個階段。
線下采集階段需要采集足量的房間背景聲數(shù)據(jù),以此訓練出房間背景聲識別模型。由于聲音序列整體非平穩(wěn),但局部平穩(wěn)[12]。采集足夠長時間的背景聲,對這些聲音序列進行特征提取,得到背景聲指紋;另外,需要為每一個背景聲指紋添加標記,背景聲指紋與標記一起構(gòu)成了背景聲指紋庫。
構(gòu)建聲音指紋庫之后,通過學習算法訓練出適用于背景聲室內(nèi)定位場景下的定位模型。此模型需要有較高的泛化能力,能較好地反映整個樣本空間的特性。線下采集與訓練過程如圖1所示。
圖1 背景聲線下采集與訓練過程
線上階段同樣用智能手機采集背景聲,對背景聲序列進行特征提取,提取出的數(shù)據(jù)作為測試集輸入到訓練的房間背景聲定位模型中。將得到的輸出與房間標記信息進行匹配,計算房間識別率。線上定位過程如圖2所示。
圖2 背景聲線上定位過程
高精度識別背景聲序列,特征的提取十分重要。提取出的特征在不同房間之間需要有較高的區(qū)分度;另外,在同一個場景下,不同時間的特征應該具有時間平穩(wěn)性,對環(huán)境的改變具有魯棒性和一般性。本文使用了室內(nèi)環(huán)境聲學特征——室內(nèi)背景聲譜(ABS)。
預處理過程首先將采集的背景聲序列進行分幀操作,通過分幀得到短時平穩(wěn)的背景聲信號。幀長是進行分幀需要考慮的一個重要參數(shù),長度越長特征越容易捕捉,長度越小音頻失真度越小[13]。因此需要進行折中考慮,在分幀過程中要進行加窗,若不進行加窗操作,會忽略背景聲信號的連續(xù)性和前后影響。常用的窗函數(shù)有漢明窗和矩形窗等。
漢明窗(Hamming Window)在主瓣寬度與矩形窗相同的情況下,旁瓣較窄,防頻譜泄露能力更強。漢明窗函數(shù)為:
(1)
矩形窗加窗計算簡單,窗函數(shù)為:
(2)
式中,N為窗口長度,即幀長。
將采集的背景聲序列進行預處理,計算每幀的功率譜,步驟如下:① 將一系列聲音信號做FFT變換;② 經(jīng)過FFT變換之后,保留前一半的數(shù)據(jù);③ 乘以留下元素的共軛復數(shù),得到功率譜;④ 提取功率的第五百分列并取對數(shù),即ABS。
ABS提取流程如圖3所示。
圖3 ABS提取流程
提取了背景聲的特征指紋(ABS)之后,需要對特征指紋進行訓練。不同的學習算法得出的定位模型會較大地影響房間識別精度。典型的幾種學習算法包括貝葉斯決策論[14]、決策樹[15]、神經(jīng)網(wǎng)絡和KNN等。本文采用KNN[16]、BP[17]神經(jīng)網(wǎng)絡以及RBF[18]神經(jīng)網(wǎng)絡進行仿真。
RBF神經(jīng)網(wǎng)絡是一種局部逼近的神經(jīng)網(wǎng)絡,其優(yōu)化過程實質(zhì)是高維空間中的曲面擬合過程[19]。RBF神經(jīng)網(wǎng)絡模擬了生物神經(jīng)元互相覆蓋、局部調(diào)整的特性,其學習過程就是在高維空間中擬合訓練數(shù)據(jù)來尋找一個最佳曲面,可在構(gòu)建好的模型中對測試數(shù)據(jù)進行插值以提高其泛化能力。RBF神經(jīng)網(wǎng)絡結(jié)構(gòu)如圖4所示。
圖4 RBF神經(jīng)網(wǎng)絡結(jié)構(gòu)
(3)
式中,網(wǎng)絡第j個節(jié)點的中心向量為cj=[cj1,cj2,cj3,…,cjn]T,j=1,2,3…,n。設(shè)網(wǎng)絡的基寬向量為:B=[b1,b2,b3,…,bn]T,bj為節(jié)點j的基寬參數(shù),且為大于零的數(shù)。
RBF網(wǎng)絡的權(quán)向量為:
W=[w1,w2,w3,…,wn]T。
(4)
RBF網(wǎng)絡的輸出為:
ym(k)=w1h1+w2h2+…+wnhn。
(5)
RBF網(wǎng)絡的性能指標函數(shù)為:
(6)
式中,y(k)為測試數(shù)據(jù)的期望輸出。由于本文采用監(jiān)督學習算法對網(wǎng)絡所有的參數(shù)進行訓練。根據(jù)梯度下降法,輸出權(quán)、節(jié)點基寬參數(shù)及節(jié)點中心矢量的迭代算法如下:
wj(k)=wj(k-1)+η(y(k)-ym(k))hj+
α(wj(k-1)-wj(k-2)),
(7)
(8)
bj(k)=bj(k-1)+ηΔbj+
α(bj(k-1)-bj(k-2)),
(9)
(10)
cji(k)=cji(k-1)+ηΔcji+
α(cji(k-1)-cji(k-2)),
(11)
式中,η為學習速率,η∈[0,1];α為動量因子,α∈[0,1]。
為了評估本文算法的定位性能,下面給出對基于該解決方案實現(xiàn)房間級定位性能進行測試的具體實驗內(nèi)容,并對實驗結(jié)果進行分析。
選取桂林電子科技大學金雞路校區(qū)第七與第八教學樓3層房間作為實驗場地,整個實驗場地大約有20個房間,包括教室、硬件實驗室、軟件實驗室與儲物室。選取其中15個房間(包含上述4類)利用華為榮耀7手機按上述特征提取方法得到各個房間的背景聲指紋庫。該實驗場地部分房間如圖5所示。
本文在Android4.4手機操作系統(tǒng)下編程實現(xiàn)了用于錄制背景聲數(shù)據(jù)的軟件。采樣頻率設(shè)置為44.1 kHz。在每個房間的3個不同位置采集總時長1 h的背景聲音頻。
圖5 桂電七教3層部分房間示意
本次實驗對7 kHz以下相同房間的背景聲指紋與不同房間的背景聲指紋進行了仿真對比,實驗結(jié)果如圖6和圖7所示。
圖6 320房間7 kHz以下的5個背景聲指紋樣本
圖7 7 kHz以下5個不同房間的背景聲樣本
由圖6分析得出:在不同房間中提取出的背景聲指紋樣本在7 kHz以內(nèi)其功率變化趨勢有較大差別,且同頻率下其指紋功率值相差基本在4 dB以上。因此,不同房間的背景聲指紋具有較高的區(qū)分度。
由圖7分析得出:在同一房間下提取出的背景聲指紋樣本在7 kHz以內(nèi)其功率變化趨勢差別較小,同頻率下其指紋功率值相差基本在3 dB以內(nèi)。因此,相同房間的背景聲指紋具有時間平穩(wěn)性。
圖6與圖7結(jié)果表明,使用ABS特征提取能較好地表征一個房間的背景聲特征。
分別使用KNN、BP、RBF學習算法訓練特征指紋集,得到各自的室內(nèi)背景聲定位模型。房間個數(shù)的變化對定位模型識別率與運行時間的影響如表1所示。房間個數(shù)與定位模型匹配率高低的直方圖如圖8所示。
表1房間個數(shù)與定位模型識別率和運行時間的比較
房間個數(shù)KNN識別率/%KNN計算時間/sBP識別率/%BP計算時間/sRBF識別率/%RBF計算時間/s281.9723.9378.7041.9286.8914.69379.1224.2468.6644.3487.9114.95474.4625.9869.6740.6679.3815.19571.3326.3164.3440.4275.3315.84675.5626.6765.0043.3278.3316.63870.9228.5253.0046.8377.5018.281069.3329.1351.3345.5375.9319.831268.7931.1645.3348.1275.6721.551567.3333.8542.6750.6575.3323.85
圖8 房間個數(shù)與定位模型識別率直方圖
實驗結(jié)果表明:
① 定位模型的識別率隨著房間個數(shù)的增加基本呈遞減趨勢,且RBF與kNN定位模型的識別率在房間個數(shù)為8時趨于穩(wěn)定;
② RBF神經(jīng)網(wǎng)絡訓練得出的定位模型具有更高的房間識別率。另外相較其它學習算法,RBF運算時間更短;
③ 由直方圖可直觀看出,存在個別房間數(shù)增加,房間識別率反而上升的情況,原因可能是房間的類型差別較大(即教室與實驗室的背景聲存在較大的區(qū)別)。
本文利用ABS特征提取方法提取背景聲序列,以此建立魯棒性高的背景聲指紋數(shù)據(jù)庫。利用KNN、BP、RBF三種機器學習算法依次構(gòu)建背景聲定位模型。通過對測試數(shù)據(jù)的識別率與計算時間的計算,可知RBF訓練出的定位模型相較KNN、BP有良好的性能改善,更適用于室內(nèi)背景聲定位場景。下一步研究可在本場景嘗試利用深度學習RNN算法進行建模,RNN對序列數(shù)據(jù)識別有著較好的效果,廣泛應用于文本、語音等領(lǐng)域。但深度學習需要較大的數(shù)據(jù)量,因此后續(xù)還可考慮利用群智感知模式進行數(shù)據(jù)采集,以降低采集數(shù)據(jù)的時間成本。