艾浩軍,李泰舟,王玙璠,2
(1.武漢大學(xué) 計(jì)算機(jī)學(xué)院,湖北 武漢430072;2.武漢大學(xué) 國家多媒體軟件工程技術(shù)研究中心,湖北 武漢430072)
WiFi 在室內(nèi)環(huán)境的廣泛部署,以及具備WiFi通信能力的終端設(shè)備特別是智能手機(jī)的普及,使得WiFi 具有作為主要定位介質(zhì)的優(yōu)勢(shì)。WiFi 指紋定位算法在精度與計(jì)算復(fù)雜度等方面明顯優(yōu)于時(shí)間到達(dá)類方法(AOT)[1-2]。LEPPAKOSKI 等[3]提出了一種行人導(dǎo)航系統(tǒng),結(jié)合WiFi 指紋和慣性傳感器,利用地圖中室內(nèi)環(huán)境障礙物的位置信息,限制粒子濾波器中粒子的活動(dòng)空間,其最大定位誤差為3 m。謝波等[4]提出個(gè)人導(dǎo)航融合建筑平面信息的方法,以及融合鞋式IMU 和樓層平面圖的導(dǎo)航方案,引入卡爾曼濾波加粒子濾波的級(jí)聯(lián)框架,進(jìn)行零速修正并融入非線性地圖匹配技術(shù),使該系統(tǒng)能達(dá)到較高的精度,行程在300 m 左右時(shí)的誤差不超過0.3 m。
高層建筑的結(jié)構(gòu)和WiFi 信號(hào)的有限傳播能力有利于設(shè)計(jì)分區(qū)域的室內(nèi)定位方案,準(zhǔn)確的樓層判斷可以有效減少匹配階段的搜索空間,從而提高定位精度并降低運(yùn)算開銷。室內(nèi)的開放空間(如天井)和連通區(qū)域(如樓梯),由于WiFi 信號(hào)在空間的自由傳播及多徑傳播效應(yīng),不同樓層的部分區(qū)域WiFi 信號(hào)特征相近,導(dǎo)致定位誤差較大。國內(nèi)外學(xué)者對(duì)室內(nèi)定位中樓層辨識(shí)問題做了大量研究。ALEX 等[5]提出了一種基于GSM 指紋的樓層判別方法,并研究不同的方法在保證較高判別正確率的情況下有效地減少指紋采集量,所研制的SkyLoc 系統(tǒng)樓層判定結(jié)果在73%的情況下正確,誤差在兩層以內(nèi)的概率達(dá)到95%。鄧中亮等[6]提出一種基于K -means 算法的WLAN室內(nèi)定位樓層判別方法,預(yù)先采集指紋并進(jìn)行分類,判別時(shí)先根據(jù)每個(gè)訪問接入點(diǎn)(access point ,AP)的最大、最小值進(jìn)行粗分類,當(dāng)判定結(jié)果出現(xiàn)多個(gè)樓層時(shí),再計(jì)算出距離最近的一類,將其所屬樓層作為最終判定結(jié)果,其正確率超過95%。孫子硯等提出WSN 輔助的室內(nèi)無縫切換方法[7],通過在樓梯等過渡區(qū)域另外布設(shè)WSN 節(jié)點(diǎn),與WLAN 定位系統(tǒng)結(jié)合,實(shí)現(xiàn)無縫切換,該方法的切換成功率大于75%,切換時(shí)延最大值為2 s。在無需基礎(chǔ)設(shè)施的樓層辨識(shí)方法中,F(xiàn)track 系統(tǒng)[8]集成了一種極具代表性的樓層切換方法,只依靠手機(jī)內(nèi)置的加速度傳感器,捕捉用戶上下樓和乘坐電梯的狀態(tài),在對(duì)某個(gè)建筑沒有任何先驗(yàn)知識(shí)的條件下,通過Grouping-Merging 算法經(jīng)過2 h 學(xué)習(xí)即能達(dá)到90% 的準(zhǔn)確率,3 h 后準(zhǔn)確率能達(dá)到97%。然而,該方法依賴用戶的相遇來學(xué)習(xí),在人流量較少的情況下,學(xué)習(xí)效率及判別精度會(huì)出現(xiàn)不同程度的下降。
筆者提出了一種室內(nèi)定位系統(tǒng)中的樓層辨識(shí)方法,包含樓層判別和樓層變化檢測(cè)兩個(gè)方面。針對(duì)樓層判別,筆者提出了信號(hào)強(qiáng)度加權(quán)K 近鄰算法和神經(jīng)網(wǎng)絡(luò)方法,針對(duì)樓層變化檢測(cè),利用智能終端MEMS 傳感器,提出了適應(yīng)用戶不同移動(dòng)方式的融合感知方法。由此實(shí)現(xiàn)在定位過程樓層辨識(shí)中降低運(yùn)算開銷,提高定位精度的目標(biāo)。
WiFi 指紋定位系統(tǒng)包含離線建模和在線定位兩個(gè)階段,在離線建模階段,除了構(gòu)建指紋數(shù)據(jù)庫外,還應(yīng)對(duì)指紋進(jìn)一步處理,完成樓層辨識(shí)的相關(guān)建模,包含樓層辨識(shí)方法的WiFi 指紋定位流程如圖1 所示。
圖1 包含樓層辨識(shí)方法的WiFi 指紋定位流程圖
定位系統(tǒng)啟動(dòng)后,首先采取基于K 近鄰或者神經(jīng)網(wǎng)絡(luò)的方法快速判斷樓層,根據(jù)初始化的樓層信息,加載相應(yīng)樓層的指紋庫等相關(guān)數(shù)據(jù),初始化時(shí)默認(rèn)未檢測(cè)到樓層變化。WiFi 指紋在連續(xù)定位的同時(shí),智能終端也在采集氣壓計(jì)和加速度計(jì)的數(shù)據(jù),用以分析用戶行為,當(dāng)檢測(cè)到用戶正在搭乘電梯或者上下樓梯時(shí),即檢測(cè)到樓層有變化的可能性,之后系統(tǒng)將一直進(jìn)行樓層判別,直到未檢測(cè)到樓層變化。
令Dn={x1,x2,…,xn},其中每個(gè)樣本xi所屬的類別均已知。對(duì)于測(cè)試樣本點(diǎn)x,在集合Dn中距離其最近的點(diǎn)記為x'。“最近鄰規(guī)則”的分類方法是將點(diǎn)x分為x'所屬的類別,推廣后的“K近鄰規(guī)則”是將一個(gè)測(cè)試數(shù)據(jù)點(diǎn)x分類為與其最接近的k個(gè)近鄰中出現(xiàn)最多的那個(gè)類別[9]。
在室內(nèi)環(huán)境中,由于墻壁、玻璃等物體的阻隔及距離損耗,一般情況下,AP 的信號(hào)強(qiáng)度在不同樓層有明顯的區(qū)別,因此筆者提出了一種基于信號(hào)強(qiáng)度加權(quán)的K 近鄰判別方法。首先對(duì)每一層樓定義一個(gè)集合Fi= {AP1,AP2,…,APmi,fi},(i=1,2,…,n),其中n為總樓層數(shù),fi為樓層的編號(hào),mi為第fi層的AP個(gè)數(shù)。假設(shè)按降序排列的前k個(gè)信號(hào)強(qiáng)度值為(RSS1,RSS2,…,RSSk),其對(duì)應(yīng)著k個(gè)AP和l(l≤k)個(gè)樓層??紤]到信號(hào)越強(qiáng),則與某個(gè)AP距離越近,故引入每個(gè)AP的信號(hào)強(qiáng)度與信號(hào)強(qiáng)度最大值的比值作為權(quán)值。
由于RSS值均為負(fù)數(shù),因而信號(hào)強(qiáng)度越小,其權(quán)值越小,最終取最大score值所對(duì)應(yīng)的樓層號(hào)為判定結(jié)果。
筆者采取的BP 神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)思路是以每層樓所有參考點(diǎn)采集到的WiFi 信號(hào)強(qiáng)度作為樣本,通過預(yù)處理,將提取的信號(hào)特征輸入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練網(wǎng)絡(luò)。輸入矩陣S和輸出矩陣T分別為:
式中:xij為WiFi 信號(hào)強(qiáng)度值;i為第i個(gè)AP;j為第j個(gè)參考點(diǎn);yk為樓層判定結(jié)果;l、m、n分別為樓層數(shù)、AP個(gè)數(shù)和參考點(diǎn)個(gè)數(shù),取l=2,m=51 ,n=301,因此,輸入神經(jīng)元51 個(gè),輸出神經(jīng)元兩個(gè)。隱節(jié)點(diǎn)數(shù)量少會(huì)導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)信息能力差,隱節(jié)點(diǎn)數(shù)量多會(huì)導(dǎo)致缺乏記憶主要信息的能力,混入大量非規(guī)律性的次要信息。隱層節(jié)點(diǎn)的個(gè)數(shù)由訓(xùn)練的樣本數(shù)、噪聲等多方面的信息綜合確定[10]。因此,隱層神經(jīng)元個(gè)數(shù)一般取經(jīng)驗(yàn)公式:
式中:p為隱層神經(jīng)元個(gè)數(shù),取值為10;a為修正常數(shù)。訓(xùn)練學(xué)習(xí)后得到一系列的權(quán)值。當(dāng)判定樓層時(shí),根據(jù)實(shí)時(shí)WiFi 信號(hào)強(qiáng)度,將其輸入到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中,即可得到樓層的判定結(jié)果。
預(yù)先根據(jù)AP 在樓層中部署情況和樓層空間信息,劃定樓層的敏感區(qū)域,一般為樓梯或電梯附近,如圖2 所示。在連續(xù)WiFi 指紋定位中,通過判斷是否進(jìn)入敏感區(qū)域作為執(zhí)行樓層判別的條件。當(dāng)定位結(jié)果出現(xiàn)在該區(qū)域,即檢測(cè)到樓層有變化趨勢(shì),便開始判別;否則不進(jìn)行樓層判別。
圖2 敏感區(qū)域示意圖
該算法依賴于定位結(jié)果的魯棒性,當(dāng)定位出現(xiàn)較大偏差,會(huì)導(dǎo)致樓層變化檢測(cè)失敗,從而無法判別,且應(yīng)用場(chǎng)景局限于樓梯場(chǎng)景。而在電梯場(chǎng)景下,由于電梯是一個(gè)時(shí)刻在密閉與開放狀態(tài)間切換的移動(dòng)小空間,指紋特征不明顯,即使將電梯周圍區(qū)域定義為敏感區(qū)域也可能在樓層未發(fā)生變化時(shí)出現(xiàn)錯(cuò)判的情況。如圖3 所示,以K 近鄰算法為例,無論是樓梯還是電梯區(qū)域,當(dāng)擴(kuò)大敏感區(qū)時(shí),檢測(cè)的成功率提高了,錯(cuò)判率也隨之提高。
圖3 檢測(cè)成功率、錯(cuò)判率隨敏感區(qū)域半徑的變化趨勢(shì)
智能手機(jī)內(nèi)置的氣壓傳感器,能測(cè)量出當(dāng)前大氣壓強(qiáng),盡管大氣壓強(qiáng)受空氣密度、溫度和海拔高度的影響,但仍可以利用大氣壓強(qiáng)來感知待定位目標(biāo)在垂直方向上的位置變化。圖4 為手持小米2 和Nexus5 乘坐電梯上升過程中氣壓及海拔高度變化,可以看出由于不同的設(shè)備其傳感器不同測(cè)量值差別較大,但高度與大氣壓的變化在高度變化區(qū)間內(nèi)有近似線性關(guān)系。
兩種設(shè)備測(cè)出的絕對(duì)海拔相差較大,相對(duì)高程變化值分別為35.1 m 和32.6 m,氣壓平均變化分別為10.8 Pa/m 和11.9 Pa/m。據(jù)此,筆者提出了一種基于氣壓差的樓層切換方法。
定義滑動(dòng)窗氣壓差ΔPt= |Pt-Pt-τ|,其中τ 為觀測(cè)時(shí)間差;ΔFt為時(shí)刻t的樓層變化狀態(tài),ΔFt=0表示樓層沒有發(fā)生變化;氣壓差變化的上、下限值分別為Thup和Thdown。樓層變化檢測(cè)規(guī)則為:當(dāng)ΔPt<Thdown時(shí),ΔFt=0;當(dāng)Thup<ΔPt<Thdown時(shí),ΔFt=ΔFt-1;當(dāng)ΔPt>Thup時(shí),ΔFt=1。如何選擇合適的觀測(cè)時(shí)間差τ 和氣壓差變化的上限值Thup和下限值Thdown,直接影響到檢測(cè)結(jié)果。
在電梯場(chǎng)景下,運(yùn)動(dòng)規(guī)律簡單,速度穩(wěn)定,一般比人移動(dòng)的速度快,閾值和滑動(dòng)窗長易找到合適的參數(shù),針對(duì)圖4 的情況,取τ =2.5 s,Thup=7 Pa,Thdown=3 Pa,檢測(cè)正確率可達(dá)到100%。
圖4 手持不同設(shè)備乘坐電梯的氣壓變化
對(duì)于樓梯場(chǎng)景,人的運(yùn)動(dòng)方式較為復(fù)雜,在不同運(yùn)動(dòng)速度下氣壓測(cè)量值的變化規(guī)律,如圖5 所示,分為快速、中速和慢速3 種情況,確定參數(shù)集都是非常困難的。
圖5 快速、中速和慢速上樓梯時(shí)的氣壓變化
為此,可以考慮利用步態(tài)信息結(jié)合氣壓變化值,作為樓層變化檢測(cè)的依據(jù)。
利用三軸加速度傳感器,計(jì)算三軸加速度的總加速度:
然后對(duì)用戶做步態(tài)檢測(cè)[11-14],判斷處于靜止還是移動(dòng)狀態(tài),同時(shí)統(tǒng)計(jì)步數(shù),然后利用氣壓計(jì)探測(cè)氣壓變化,根據(jù)一定步數(shù)內(nèi)的氣壓差,進(jìn)一步辨別是否有樓層變化的趨勢(shì)。
據(jù)此得出基于融合氣壓計(jì)和慣性傳感器的檢測(cè)方法流程(如圖6 所示),與基于氣壓計(jì)的方法類似,只是滑動(dòng)窗口關(guān)注的不再是固定時(shí)間內(nèi)的氣壓變化。
圖6 基于氣壓計(jì)與慣性傳感器融合的檢測(cè)方法
融合氣壓計(jì)與加速度計(jì)能較好解決不同速度下的樓層變化檢測(cè)問題,其觀測(cè)對(duì)象已不是一定時(shí)間內(nèi)氣壓的變化,而是一定步數(shù)內(nèi)的氣壓變化,取N=5,因此只與移動(dòng)的距離有關(guān),而與移動(dòng)的速度無關(guān)。由于該方法主要解決樓梯場(chǎng)景下不同速度的樓層變化檢測(cè)問題,實(shí)際應(yīng)用中,應(yīng)與基于氣壓計(jì)的方法同時(shí)使用。圖7 和圖8 分別是在上一層樓的過程中兩種方法觀測(cè)氣壓的變化情況。
根據(jù)以上設(shè)定的閾值上界7 Pa 和下界3 Pa,在慢速上樓的過程中,基于氣壓計(jì)的方法未能成功檢測(cè)到樓層變化,而使用氣壓計(jì)和加速度計(jì)融合的方法,幾乎整個(gè)過程都能檢測(cè)到樓層變化,從而保證了樓層判定的進(jìn)行,在29 步后氣壓變化小于下界,未能檢測(cè)到樓層變化,與此時(shí)已經(jīng)完成上樓相吻合。
圖7 基于氣壓計(jì)的方法觀測(cè)結(jié)果
圖8 氣壓計(jì)和加速度計(jì)融合的方法觀測(cè)結(jié)果
實(shí)驗(yàn)環(huán)境為武漢大學(xué)測(cè)繪遙感國家重點(diǎn)實(shí)驗(yàn)室,共4 層樓,其中2 樓和3 樓有一部分是天井區(qū)域。整棟樓有51 個(gè)AP 覆蓋,2 樓和3 樓部署有29個(gè)AP,共設(shè)置301 個(gè)參考點(diǎn),平均間隔2 m,實(shí)驗(yàn)設(shè)備為Nexus5 智能手機(jī),WiFi 信號(hào)的采樣頻率為2 Hz,氣壓計(jì)和加速度計(jì)的采樣頻率為100 Hz。
將樓層判別的性能分為3 部分評(píng)價(jià):初始化樓層的正確率、樓層變化時(shí)的判別正確率和樓層未變化時(shí)的判別正確率。圖9 為實(shí)驗(yàn)地點(diǎn)平面圖,2 樓和3 樓的AP 位置均已標(biāo)出。
圖9 實(shí)驗(yàn)地點(diǎn)平面圖
筆者提出的方法對(duì)于樓層未變化時(shí)的判別率有顯著提高,幾乎不會(huì)出現(xiàn)錯(cuò)判的情況,將判別率提高到接近100%,這對(duì)于某些易出現(xiàn)錯(cuò)判的區(qū)域有重要意義。表1 以2 樓樓梯和電梯附近區(qū)域?yàn)槔f明該方法的有效性。
表1 中,電梯附近區(qū)域的判別率明顯低于樓梯附近的判別率,主要因?yàn)? 樓的AP 信號(hào)能不受到墻壁阻隔進(jìn)入2 樓區(qū)域,同時(shí)AP 密度比2樓稍大,使得2 樓該區(qū)域易判別成3 樓。然而使用筆者提出的檢測(cè)方法之后,當(dāng)行人進(jìn)入到這一區(qū)域卻沒有樓層變化趨勢(shì)時(shí),不會(huì)出現(xiàn)因錯(cuò)判而導(dǎo)致切換的情況。
表1 2 樓樓梯和電梯附近區(qū)域判別率比較
對(duì)樓層發(fā)生變化的情形,筆者提出的樓層變化檢測(cè)方法在電梯場(chǎng)景下正確率為100%,樓梯場(chǎng)景下正確率為97%左右,當(dāng)樓層變化檢測(cè)失敗時(shí),會(huì)導(dǎo)致樓層辨識(shí)成功率下降。但由于樓層可能發(fā)生變化的區(qū)域相對(duì)于樓層不會(huì)變化的區(qū)域要小很多,對(duì)判別率影響并不大。加之減少了樓層未變化時(shí)的錯(cuò)判率,3 種方法的整體判別率分別提升了1.645%、1.560%和0.170%。
筆者提出的智能樓層辨識(shí)方法,以WiFi 指紋定位系統(tǒng)為基礎(chǔ),融合智能手機(jī)氣壓計(jì)和加速度計(jì),顯著降低了樓層未發(fā)生變化時(shí)的誤判率,同時(shí)保證了在97%以上的情況下能夠正確地檢測(cè)到樓層變化。所提出的基于KNN 和神經(jīng)網(wǎng)絡(luò)的樓層判別方法,可使樓層判別正確率提高到99%。
[1]AHMAD U,GAVRILOV A V,LEE S,et al.A modular classification model for received signal strength based location systems[J].Neurocomputing,2008(71):2657-2669.
[2]唐文勝,李?yuàn)?,匡旺? RF 室內(nèi)定位指紋庫空間相關(guān)生成算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(23):226 -229.
[3]LEPPAKOSKI H,COLLIN J,TAKALA J.Pedestrian navigation based on inertial sensors,indoor map,and WLAN signals[J].Journal of Signal Processing Systems,2013,71(3):287-296.
[4]謝波,江一夫,嚴(yán)恭敏,等.個(gè)人導(dǎo)航融合建筑平面信息的粒子濾波方法[J]. 中國慣性技術(shù)學(xué)報(bào),2013,21(1):1 -6.
[5]ALEX V,ANTHNY L M,JEFFREY H,et al.The skyloc floor localization system[C]//Proceedings of the Fifth Annual IEEE International Conference on Pervasive Computing and Communications.[S.1.]:[s.n],2012:125 -134.
[6]鄧中亮,王文杰,徐連明. 一種基于K -means 算法的WLAN 室內(nèi)定位樓層判別方法[J]. 軟件,2012,33(12):114 -117.
[7]孫子硯,鄧中亮. WSN 輔助的室內(nèi)無縫切換系統(tǒng)[DB/OL].[2014 - 11 - 04]. http://www. paper.edu.cn/releasepaper/content/201202 -846.
[8]YE H B,GU T,ZHU X R,et al.Ftrack:infrastructurefree floor localization via mobile phone sensing[C]//IEEE International Conference on Pervasive Computing and Communications.Lugano:[s.n],2012:2-10.
[9]RICHARD O D,PETER E H ,DAVID G S. Pattern classification[M]. Beijing:China Machine Press,2005:146 -150.
[10]SEDIGHI A,VAFADUST M.A new and robust method for character segmentation and recognition in license plate images[J].Expert Systems with Applications,2011,38(11):13497 -13504.
[11]CONSTANDACHE I,BAB X,AZIZYAN M,et al.Did you see bob:human localization using mobile phones[C]// Proceedings of the 16th Annual International Conference on Mobile Computing and Networking.[S.l.]:ACM,2010:10 -15.
[12]CONSTANDACHE I,CHOUDHURY R,RHEE I.Towards mobile phone localization without war-driving[C]// INFOCOM,IEEE.[S.l.]:[s.n],2010:128-131.
[13]陳偉.基于GPS 和自包含傳感器的行人室內(nèi)外無縫定位算法研究[D].合肥:中國科學(xué)技術(shù)大學(xué)圖書館,2010.
[14]OFSTAD A,NICHOLAS E,SZCODRONSKI R,et al.Ampl:accelerometer augmented mobile phone localization[C]// Proceedings of the First ACM International Workshop on Mobile Entity Localization and Tracking in GPS-less Environments.[S.l.]:ACM,2008:13 -18.