毛永毅,王志祥
(西安郵電大學(xué) 電子工程學(xué)院,西安 710199)
隨著物聯(lián)網(wǎng)產(chǎn)業(yè)的快速發(fā)展以及智能終端設(shè)備的大量普及,室內(nèi)定位的需求日益高漲。如火災(zāi)環(huán)境中人員位置的確定,地下停車場(chǎng)車位的尋找,工廠中人員及重要物資的快速調(diào)取等。包括基于無線保真(wireless fidelity, WiFi)、藍(lán)牙、紅外線等無線定位技術(shù)已廣泛應(yīng)用到了室內(nèi)定位中。由于部署方便,獲取性強(qiáng)等特點(diǎn),基于WiFi的室內(nèi)定位技術(shù)受到了研究人員的廣泛關(guān)注。
國(guó)內(nèi)外學(xué)者對(duì)基于WiFi的室內(nèi)定位技術(shù)進(jìn)行了深入研究,如基于WiFi的指紋識(shí)別算法作為一種經(jīng)濟(jì)高效的定位選擇,在現(xiàn)實(shí)生活中得到了大量應(yīng)用。為獲得較高的定位精度,除了在線階段的實(shí)時(shí)定位算法之外,指紋庫的新鮮度對(duì)于定位結(jié)果也有著舉足輕重的影響。隨著時(shí)間和室內(nèi)環(huán)境的變化,可能會(huì)導(dǎo)致原有的 WiFi指紋庫失效,而且隨著人們室內(nèi)活動(dòng)場(chǎng)景的日益復(fù)雜,WiFi指紋庫的規(guī)模也日趨擴(kuò)大,指紋庫的重建過程既費(fèi)時(shí)也費(fèi)力,不利于室內(nèi)自動(dòng)化定位的展開。其中,接入點(diǎn)(access point, AP)移動(dòng)是造成室內(nèi)定位精度下降的主要因素,為保證WiFi指紋定位系統(tǒng)具有長(zhǎng)期穩(wěn)定性及較高的定位精度,指紋庫的及時(shí)更新成為必不可少的前提。
為解決WiFi指紋庫自動(dòng)更新的問題,近些年來,人們開展了一系列針對(duì)WiFi指紋庫自動(dòng)更新的研究。文獻(xiàn)[6]通過在特定位置部署固定的錨節(jié)點(diǎn),來獲取一定的標(biāo)簽數(shù)據(jù)用于WiFi指紋庫的更新;文獻(xiàn)[7]通過設(shè)置額外的探測(cè)器來更新WiFi指紋數(shù)據(jù),但是,額外部署的參考錨節(jié)點(diǎn)和探測(cè)器的成本較高,影響了其應(yīng)用。此外,人們提出了基于眾包數(shù)據(jù)的WiFi指紋庫更新方法,眾包方法的核心思想是利用大量普通用戶在線收集的指紋數(shù)據(jù),完成專業(yè)人員所執(zhí)行的復(fù)雜任務(wù),從而實(shí)現(xiàn)指紋庫的實(shí)時(shí)更新。
通過眾包數(shù)據(jù)實(shí)現(xiàn)指紋庫的更新是一種直接有效的方法,如文獻(xiàn)[11]通過使用隱式眾包數(shù)據(jù)來對(duì)指紋庫進(jìn)行更新,但需要用戶提供具體的位置來識(shí)別改變的AP。文獻(xiàn)[12]提出了一種基于遷移學(xué)習(xí)(transfer learning,TL)的指紋庫更新方法,旨在通過高維空間中數(shù)據(jù)重新整合的方式對(duì)指紋庫進(jìn)行更新,但仍需人工采集部分標(biāo)簽數(shù)據(jù)且對(duì)AP移動(dòng)所帶來的定位誤差問題提升效果不明顯。文獻(xiàn)[13]利用梯度提升決策樹(gradient boosting decision tree,GBDT)回歸學(xué)習(xí)算法,學(xué)習(xí)眾包數(shù)據(jù)中各AP信號(hào)強(qiáng)度之間的函數(shù)關(guān)系,利用學(xué)習(xí)到的函數(shù)關(guān)系完成原始指紋庫的更新。但是,隨著WiFi指紋庫規(guī)模的擴(kuò)大,各AP之間信號(hào)強(qiáng)度關(guān)系的尋找及改變AP的確定,都需要采集大量的眾包數(shù)據(jù)作為支持,更新過程漫長(zhǎng),不利于室內(nèi)實(shí)時(shí)定位的展開。
自動(dòng)編碼器(auto-encoder,AE)是一種盡可能對(duì)輸入信號(hào)進(jìn)行復(fù)現(xiàn)的神經(jīng)網(wǎng)絡(luò),常用于高維復(fù)雜數(shù)據(jù)的處理。通過編碼器對(duì)輸入層信息進(jìn)行編碼,降低原始數(shù)據(jù)的維度,發(fā)現(xiàn)數(shù)據(jù)之間的規(guī)律,利用解碼器對(duì)編碼后的信息進(jìn)行解碼,在保留輸入層信息最大特征表達(dá)的情況下,最大程度地對(duì)輸入層信息進(jìn)行復(fù)現(xiàn)。它以無監(jiān)督的方式對(duì)輸入層信息進(jìn)行學(xué)習(xí),具有良好的穩(wěn)定性和魯棒性,如今已在圖像處理、故障識(shí)別等領(lǐng)域進(jìn)行了廣泛應(yīng)用。為了有效降低由于AP移動(dòng)對(duì)室內(nèi)WiFi定位的影響,本文嘗試基于稀疏自動(dòng)編碼器(sparse auto-encoder,SAE)的WiFi指紋庫更新方法,期望通過適量眾包數(shù)據(jù),對(duì)原始指紋庫進(jìn)行更新,進(jìn)而解決由于AP移動(dòng)所帶來的定位誤差過大和指紋庫實(shí)時(shí)更新的問題。
基于眾包數(shù)據(jù)稀疏自編碼的WiFi指紋庫更新方法主要過程如下:1)采用稀疏自動(dòng)編碼器對(duì)一定量的眾包數(shù)據(jù)進(jìn)行自編碼,獲取眾包數(shù)據(jù)中所隱藏的數(shù)據(jù)特征,用于原始指紋庫的重構(gòu);2)利用自編碼完成的稀疏自動(dòng)編碼器對(duì)原始指紋庫進(jìn)行重構(gòu),比較重構(gòu)完成后的指紋庫與原始指紋庫中各AP下的接收信號(hào)強(qiáng)度指示(received signal strength indicator, RSSI)值的變化關(guān)系,進(jìn)而確定移動(dòng)的AP;3)利用重構(gòu)完成后指紋庫中移動(dòng)AP下的RSSI值,替換原始指紋庫中相應(yīng)AP下的RSSI值,完成指紋庫的更新。更新流程如圖1所示。圖1中,WKNN(weighted k-nearest neighbor algorithm)為加權(quán)最鄰近算法。
圖1 WiFi指紋庫更新流程
本文采用仿真的方式產(chǎn)生實(shí)驗(yàn)用數(shù)據(jù)集。在室內(nèi)環(huán)境下,接收終端接收到的信號(hào)強(qiáng)度的損耗和信號(hào)傳輸距離成對(duì)數(shù)關(guān)系的變化,信號(hào)的路徑損耗可表示為
式中:R(d)為距離發(fā)射終端d處接收信號(hào)的路徑損耗,單位為dB;γ為傳播損耗系數(shù);d為參考距離,單位為m。
在室內(nèi)空間環(huán)境下,選取γ=3,d=1。根據(jù)信號(hào)的路徑損耗,針對(duì)每個(gè)AP在各參考點(diǎn)處生成相應(yīng)的RSSI數(shù)據(jù),以矩陣的形式對(duì)這些RSSI數(shù)據(jù)進(jìn)行存儲(chǔ),構(gòu)建了相應(yīng)的原始指紋庫和眾包數(shù)據(jù)集。
自動(dòng)編碼器是神經(jīng)網(wǎng)絡(luò)的一種,該網(wǎng)絡(luò)具有3層網(wǎng)絡(luò)結(jié)構(gòu),分別為輸入層、隱藏層和輸出層。自編碼網(wǎng)絡(luò)可以看作由兩部分組成:編碼器和解碼器,其中,編碼器用于輸入層信息的特征提取及轉(zhuǎn)換,解碼器用于轉(zhuǎn)換特征的逆向重構(gòu),實(shí)現(xiàn)輸入層信息的最大復(fù)原,其網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖2所示。
圖2 自動(dòng)編碼器的網(wǎng)絡(luò)結(jié)構(gòu)示意
對(duì)給定的一個(gè)含有P個(gè)樣本的數(shù)據(jù)集 X=[X,X,…,X] 進(jìn)行自編碼,則對(duì)應(yīng)的編碼器輸出H=[h,h,…,h]及解碼器輸出Y=[y,y,… ,y]分別為
式中: θ = {W,b} 和 θ= {W,b} 分別為編碼和解碼過程中權(quán)重和偏置的集合;為激活函數(shù),這里使用最常用的非線性西格莫伊德(Sigmoid)函數(shù),其表達(dá)方式為
式中:x為函數(shù)的自變量,取值范圍為(-∞,+∞);e為自然對(duì)數(shù)函數(shù)的底數(shù)。
通常情況下,自動(dòng)編碼器的輸出Y并不完全等于輸入 X,只是在滿足一定條件概率的情況下,盡可能地對(duì)X進(jìn)行復(fù)現(xiàn),所以自動(dòng)編碼器的訓(xùn)練過程可以理解為對(duì)損失函數(shù) J,即重構(gòu)誤差進(jìn)行最小化的計(jì)算過程,其表達(dá)方式為
式中:第1項(xiàng)為輸入輸出樣本誤差的平方和均值;第2項(xiàng)為權(quán)重衰減項(xiàng),用于減少權(quán)重的大小以防止過擬合;P為輸入的樣本個(gè)數(shù);λ為L(zhǎng)正則項(xiàng)的系數(shù)。
為了獲取輸入樣本中更有效的特征表達(dá),通過對(duì)隱藏層施加一定的限制,使隱藏層滿足一定的稀疏性,使得它能夠在惡劣的環(huán)境下學(xué)習(xí)到最好的樣本特征,從而提高了特征提取的效率,此時(shí),損失函數(shù)可表示為
式中:β為稀疏約束項(xiàng)的權(quán)重;ρ為稀疏性參數(shù),通常是一個(gè)接近于0的較小值;ρ︿為平均激活度,取決于{W,b};h(x)為第 i個(gè)輸入樣本所對(duì)應(yīng)的第 j個(gè)隱藏層神經(jīng)元的輸出;K為庫爾貝克-萊布勒(Kullback-Leibler)差異的簡(jiǎn)稱,用于衡量相同事件空間里的兩個(gè)概率分布的差異情況。
式(6)中的第2項(xiàng)為稀疏約束項(xiàng),為隱藏層提供了稀疏性約束,使得隱藏層的ρ︿保持在一個(gè)較小的范圍內(nèi)??梢钥闯?,SAE通過稀疏性約束項(xiàng)使得ρ︿向設(shè)定的稀疏性參數(shù)靠近,從而實(shí)現(xiàn)稀疏自編碼的效果。
稀疏自編碼的過程就是對(duì)損失函數(shù) J進(jìn)行最小化的過程,因此,需要對(duì)網(wǎng)絡(luò)模型參數(shù)進(jìn)行實(shí)時(shí)優(yōu)化。首先,通過SAE網(wǎng)絡(luò)的前向傳播,可以得到網(wǎng)絡(luò)的整體重構(gòu)誤差,將得到的重構(gòu)誤差從輸出層進(jìn)行反向傳播,采用梯度下降算法對(duì)權(quán)值矩陣W和偏置向量b進(jìn)行相應(yīng)優(yōu)化更新,其表達(dá)方式為
式中,α為學(xué)習(xí)速率。
為了防止網(wǎng)絡(luò)出現(xiàn)梯度消失或者梯度爆炸的現(xiàn)象,α?xí)S著迭代次數(shù)的增加而逐漸減小,其更新方式為
式中:μ為提前設(shè)置的標(biāo)量;為迭代的總次數(shù);α為學(xué)習(xí)速率的初始值;α為第次迭代時(shí)的學(xué)習(xí)速率。
為了得到眾包數(shù)據(jù)中更有效的特征表達(dá),在AE網(wǎng)絡(luò)的訓(xùn)練過程中加入了一個(gè)稀疏性約束項(xiàng),從而構(gòu)成了一個(gè)SAE網(wǎng)絡(luò),以此提高對(duì)眾包數(shù)據(jù)特征提取的效率。
眾包數(shù)據(jù)稀疏自編碼的過程即是對(duì)式(6)中的重構(gòu)誤差函數(shù) J進(jìn)行最小化的過程,通過梯度下降算法對(duì)式(9)和式(10)中的權(quán)值矩陣和偏置向量進(jìn)行更新,以最小化重構(gòu)誤差函數(shù)。在得到最小化重構(gòu)誤差函數(shù)之后,通過計(jì)算眾包數(shù)據(jù)自編碼的輸出判斷誤差函數(shù)是否收斂,當(dāng)誤差函數(shù)收斂時(shí),則此SAE網(wǎng)絡(luò)訓(xùn)練完成,否則繼續(xù)上述步驟,直到誤差函數(shù)收斂為止。這里SAE網(wǎng)絡(luò)訓(xùn)練時(shí)的主要參數(shù)取值分別為 λ=0.05,α=0.1和μ=0.1,其余網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)通過實(shí)驗(yàn)逐步分析選取。
稀疏自編碼網(wǎng)絡(luò)訓(xùn)練完成之后,利用訓(xùn)練好的網(wǎng)絡(luò)對(duì)原始指紋庫進(jìn)行自編碼,即原始指紋庫的重構(gòu)。原始指紋庫的重構(gòu)過程仍同圖2所示,其中[X,X,…,X]為原始指紋庫中每個(gè) AP所對(duì)應(yīng)的RSSI數(shù)據(jù);[y,y,…,y]為原始指紋庫重構(gòu)的輸出,即重構(gòu)完成的原始指紋庫中每個(gè) AP所對(duì)應(yīng)的RSSI數(shù)據(jù);[h,h,…,h]為眾包數(shù)據(jù)自編碼保留下來的含有特征表達(dá)的隱藏神經(jīng)元。
原始指紋庫經(jīng)過SAE網(wǎng)絡(luò)重構(gòu)之后會(huì)呈現(xiàn)出一個(gè)新的數(shù)據(jù)分布。為體現(xiàn)數(shù)據(jù)分布變化,引入均方誤差(mean square error, MSE)作為數(shù)據(jù)分布變化的評(píng)判指標(biāo),越小,表明數(shù)據(jù)庫之間數(shù)據(jù)分布越接近,的計(jì)算方法為
式中:和 X′分別為重構(gòu)前后的原始指紋庫;為AP樣本總數(shù);為原始指紋庫重構(gòu)前后的均方誤差;為移動(dòng)后的指紋庫的均方誤差;為 AP移動(dòng)后的指紋庫。
通過計(jì)算得到遠(yuǎn)小于,這說明原始指紋庫經(jīng)過SAE網(wǎng)絡(luò)重構(gòu)之后,數(shù)據(jù)分布更加接近于AP移動(dòng)后的指紋數(shù)據(jù)分布,與原始指紋庫的數(shù)據(jù)分布差異明顯。這種差異是由移動(dòng)的AP所帶來的,憑借這種關(guān)系來尋找移動(dòng)的AP。
在確定移動(dòng)AP之后,將重構(gòu)之后的原始指紋庫中移動(dòng)AP下的RSSI值提取出來用以替換原始指紋庫中相應(yīng)AP下的RSSI值,最終完成原始指紋庫的更新。
在基于 WiFi指紋的室內(nèi)定位算法中,本文采用一種常用的WKNN來進(jìn)行定位。WKNN將采集到的指紋數(shù)據(jù)與指紋庫中的參考數(shù)據(jù)進(jìn)行相似度比較,找到相似度最高的個(gè)參考點(diǎn),給予這個(gè)參考點(diǎn)的位置坐標(biāo)不同的權(quán)值,從而實(shí)現(xiàn)目標(biāo)位置的估計(jì)。本文中,將WKNN中的設(shè)置為4。
為了對(duì)最終的定位結(jié)果進(jìn)行直觀的量化評(píng)判,這里引入了評(píng)判誤差函數(shù)為
式中:(X,Y)為目標(biāo)點(diǎn)的真實(shí)坐標(biāo);(X,Y)為WKNN計(jì)算得到的預(yù)測(cè)坐標(biāo)。
本文仿真實(shí)驗(yàn)區(qū)域?yàn)?0 m×50 m的室內(nèi)空間,如圖3所示,每隔1 m設(shè)置一個(gè)指紋采集節(jié)點(diǎn),共1 000個(gè)指紋采集節(jié)點(diǎn),同時(shí)在該空間設(shè)置AP點(diǎn)18個(gè)(AP1至AP18),其中用于移動(dòng)部署的AP點(diǎn)6個(gè),其余12個(gè)AP點(diǎn)均保持不變。
圖3 仿真平面示意
離線階段在指紋采集節(jié)點(diǎn)處,對(duì)各個(gè)AP信號(hào)進(jìn)行采集建立原始指紋庫,建庫格式為針對(duì)每個(gè)AP按列整理數(shù)據(jù),從而形成一個(gè)1 000×18的RSSI數(shù)據(jù)庫矩陣。按照原始指紋庫的建庫格式,通過移動(dòng)不同數(shù)量的AP,在原空間中的指紋采集節(jié)點(diǎn)處采集AP移動(dòng)后的指紋數(shù)據(jù),通過對(duì)各個(gè)AP信號(hào)進(jìn)行采集建立AP移動(dòng)后的指紋庫,建庫格式為針對(duì)每個(gè) AP按列整理數(shù)據(jù),同樣形成了一個(gè)1 000×18的RSSI數(shù)據(jù)庫矩陣。在實(shí)時(shí)定位階段,在移動(dòng)相應(yīng)AP后的指紋數(shù)據(jù)庫中隨機(jī)選取100條指紋數(shù)據(jù)作為眾包數(shù)據(jù)集,從而形成一個(gè) 100×18的RSSI數(shù)據(jù)庫矩陣。
基于眾包數(shù)據(jù)稀疏自編碼的 WiFi指紋庫更新系統(tǒng)主要包括以下3個(gè)部分,即移動(dòng)AP的識(shí)別、WiFi指紋庫的更新、WiFi指紋庫更新的影響因素。
1)移動(dòng)AP的識(shí)別。在對(duì)WiFi指紋庫更新之前,需要找到移動(dòng)的AP,這里采用稀疏自編碼前后的原始指紋庫作為對(duì)比,比較重構(gòu)前后所有AP的M值的大小關(guān)系,用于快速尋找移動(dòng)的AP。圖6為移動(dòng)6個(gè)AP下不同AP的M值,經(jīng)過實(shí)驗(yàn)比較,將M值大于15作為尋找移動(dòng)AP的評(píng)判標(biāo)準(zhǔn),該標(biāo)準(zhǔn)在移動(dòng)不同數(shù)量AP的情況下均有效找到了移動(dòng)AP。
由圖4可知,各AP重構(gòu)前后的M值差異明顯,其中AP2、AP3、AP6、AP10、AP13、AP15所對(duì)應(yīng)的M值明顯高于其他AP的M值,均達(dá)到了15以上,而其他AP的M值均保持在10以下,由此,可以有效判斷上述AP即為要尋找的移動(dòng)AP。
圖4 各AP的MSE值對(duì)比圖
2)WiFi指紋庫的更新。在確定移動(dòng)AP之后,需要將稀疏自編碼重構(gòu)之后指紋庫中移動(dòng) AP下的RSSI值提取出來,用于替換原指紋庫中相應(yīng)AP下的RSSI值,最終完成指紋庫的更新。為體現(xiàn)AP移動(dòng)后指紋庫更新的效果,在實(shí)驗(yàn)階段,選用稀疏自編碼重構(gòu)、GBDT回歸預(yù)測(cè)、附有適量眾包標(biāo)簽原始指紋庫的稀疏自編碼重構(gòu)的方式與原始指紋庫進(jìn)行了有效對(duì)比。
圖5為基于不同 WiFi指紋庫更新方法下的CDF誤差曲線,表1總結(jié)了不同定位更新方法下定位誤差的平均值、中位數(shù)和最大值。
圖5 不同更新方法下的定位精度
表1 不同更新方法下的定位精度 單位:m
由圖5可知,由于存在移動(dòng)的 AP,原始指紋庫將不再適用于當(dāng)前的信號(hào)空間環(huán)境,定位精度也因此最低。通過在原始指紋庫中加入適量帶有標(biāo)簽的眾包數(shù)據(jù)以及通過GBDT回歸預(yù)測(cè)的方法,可以看到定位精度有了明顯提高。為了進(jìn)一步提升當(dāng)前環(huán)境下的定位精度,采用稀疏自編碼的方法對(duì)原始指紋庫進(jìn)行更新,可以看出該方法對(duì)原指紋庫的更新效果明顯,定位精度有了明顯提升。最終,稀疏自編碼的平均定位精度可以達(dá)到0.88 m,與原始指紋庫相比提升了72.4%,與GBDT回歸預(yù)測(cè)相比提升了20.0%,與附有眾包標(biāo)簽的原始指紋庫相比提升了8.3%,中值誤差和最大誤差也得到了相應(yīng)明顯改善。最后,通過對(duì)附有眾包標(biāo)簽的原始指紋庫進(jìn)行稀疏自編碼,可以發(fā)現(xiàn)其定位精度有了進(jìn)一步提升,相較于原始指紋庫的稀疏自編碼定位精度提升了30.7%,適量的帶有標(biāo)簽的眾包數(shù)據(jù)可以對(duì)整個(gè)稀疏自編碼網(wǎng)絡(luò)起到一定的調(diào)節(jié)作用,有利于進(jìn)一步提升稀疏自編碼網(wǎng)絡(luò)的重構(gòu)效果。
3)WiFi指紋庫更新的影響因素。指紋庫更新的影響因素主要包括稀疏自編碼網(wǎng)絡(luò)中隱藏層的單元個(gè)數(shù)m、稀疏約束項(xiàng)權(quán)重β、稀疏性參數(shù)ρ、最大迭代次數(shù)N以及移動(dòng)AP的數(shù)量。
在實(shí)驗(yàn)中共布置了18個(gè)AP,其中6個(gè)AP作為移動(dòng)的 AP,12個(gè) AP作為未移動(dòng)的 AP,在觀察移動(dòng) AP的數(shù)量對(duì)指紋庫更新影響的測(cè)試中,12個(gè)未移動(dòng)的 AP保持不變,僅添加不同數(shù)量的移動(dòng)AP。圖6給出了移動(dòng)不同AP數(shù)量下,指紋庫更新后的CDF誤差曲線。
從圖6中可以發(fā)現(xiàn),隨著移動(dòng)AP數(shù)量的增加,更新后WiFi指紋庫的定位精度有所下降。這是因?yàn)殡S著移動(dòng)AP數(shù)量的增加,在一定程度上,稀疏自編碼網(wǎng)絡(luò)對(duì)原始指紋庫的重構(gòu)難度也隨之上升,但是相較于原始指紋庫仍然保持著較高的定位精度。實(shí)驗(yàn)表明,在移動(dòng)2個(gè)AP、4個(gè)AP、6個(gè)AP的情況下,相較于原始指紋庫的平均定位精度分別提高了66.1%,75.3%,72.4%。
圖6 移動(dòng)AP的個(gè)數(shù)對(duì)指紋庫更新的影響
在稀疏自編碼網(wǎng)絡(luò)中,隱藏層的單元個(gè)數(shù)對(duì)眾包數(shù)據(jù)特征的提取及原始指紋庫的重構(gòu)有著舉足輕重的影響。圖7給出了設(shè)置不同隱藏單元個(gè)數(shù),指紋庫更新后的CDF誤差曲線。
圖7 隱藏層單元個(gè)數(shù)對(duì)指紋庫更新的影響
從圖7中可以看出,隨著隱藏單元個(gè)數(shù)的變化,更新后指紋庫的定位精度也會(huì)隨之發(fā)生變化,當(dāng)隱藏單元個(gè)數(shù) m=4 時(shí),指紋庫會(huì)獲得一個(gè)比較理想的更新效果。
為了得到眾包數(shù)據(jù)中更有效的特征表達(dá),通過在自編碼網(wǎng)絡(luò)中引入稀疏性約束項(xiàng)的方式,以此提高眾包數(shù)據(jù)特征提取的效率。圖8和圖9分別給出了不同稀疏性參數(shù)和稀疏約束項(xiàng)權(quán)重下,指紋庫更新后的平均定位誤差。
從圖8和圖9中可以看出,隨著稀疏性參數(shù)和稀疏約束項(xiàng)權(quán)重的變化,WiFi指紋庫更新后的定位精度也隨之發(fā)生變化,當(dāng)稀疏性參數(shù)設(shè)置為ρ=0.05,稀疏約束項(xiàng)權(quán)重設(shè)置為 β=8時(shí),所獲得的平均定位誤差達(dá)到最小。
圖8 稀疏性參數(shù)對(duì)指紋庫更新的影響
圖9 稀疏約束項(xiàng)權(quán)重對(duì)指紋庫更新的影響
圖10給出了不同迭代次數(shù)下,WiFi指紋庫更新后的平均定位誤差;圖11給出了不同迭代次數(shù)下系統(tǒng)所耗費(fèi)的時(shí)間。
圖10 最大迭代次數(shù)N對(duì)指紋庫更新的影響
圖11 不同迭代次數(shù)下系統(tǒng)所耗費(fèi)的時(shí)間
由圖10和圖11可以看出,綜合考慮平均定位誤差及迭代所需時(shí)間,將最大迭代次數(shù)設(shè)置為=500 時(shí),指紋庫會(huì)得到一個(gè)比較高的更新效率。
本文提出了一種基于眾包數(shù)據(jù)稀疏自編碼的 WiFi指紋庫更新方法,該方法可以借助眾包數(shù)據(jù)對(duì)原始指紋庫進(jìn)行重構(gòu),進(jìn)而檢測(cè)移動(dòng)的AP并更新原始指紋庫。相較于未移動(dòng)AP的RSSI值,眾包數(shù)據(jù)與原始指紋庫中移動(dòng) AP的 RSSI值之間的差值明顯增大。憑借這種關(guān)系,對(duì)比稀疏自編碼重構(gòu)前后原始指紋庫中各 AP的M值準(zhǔn)確識(shí)別了移動(dòng)的AP。確定移動(dòng)AP之后,利用重構(gòu)完成的指紋數(shù)據(jù)替換原始指紋庫中相應(yīng)的指紋數(shù)據(jù),進(jìn)而完成指紋庫的更新。仿真實(shí)驗(yàn)表明,文中所提的基于眾包數(shù)據(jù)稀疏自編碼的WiFi指紋庫更新方法相較于其他相關(guān) WiFi指紋庫更新方法均取得了較高的定位精度和更新效率,為室內(nèi) WiFi指紋庫的更新提供了一種切實(shí)可行的方案。