曾衍華,單志龍,2,陳之彧
1(華南師范大學(xué) 計(jì)算機(jī)學(xué)院,廣州 510631)
2(華南師范大學(xué) 網(wǎng)絡(luò)教育學(xué)院,廣州 510631)
在各種移動(dòng)終端設(shè)備廣泛普及的物聯(lián)網(wǎng)時(shí)代,人們開始將目光聚焦于基于位置的服務(wù)(Location-Based Service,LBS)[1].人類通常有超過80%的時(shí)間在室內(nèi)活動(dòng),醫(yī)院、商城、礦井等各種室內(nèi)場景都有大量的定位需求[2].但由于室內(nèi)環(huán)境的復(fù)雜多變,GPS、北斗等成熟的衛(wèi)星定位技術(shù)難以應(yīng)用到室內(nèi)定位中.常用的室內(nèi)定位技術(shù)有紅外、藍(lán)牙、超寬帶[3]、Wi-Fi[4]、地磁[5]、慣性導(dǎo)航等,其中Wi-Fi定位技術(shù)具有無需額外設(shè)備、信號(hào)覆蓋廣、采集成本低等特點(diǎn),是室內(nèi)定位領(lǐng)域中一個(gè)主要的研究方向.
Wi-Fi室內(nèi)定位主要有兩大類:基于測距的方法和基于指紋的方法.前者通過Wi-Fi信號(hào)傳播模型計(jì)算待定位節(jié)點(diǎn)到若干Wi-Fi接入點(diǎn)(Access Point,AP)的距離,然后用三邊定位等幾何算法進(jìn)行定位;后者則把定位環(huán)境的每個(gè)位置都用一個(gè)唯一的“指紋”來表示,并用特定的指紋匹配算法確定目標(biāo)位置.前者需要預(yù)先知道AP的位置并使用額外設(shè)備精準(zhǔn)測距,難以應(yīng)用于實(shí)際環(huán)境[6];而后者只通過采集若干指紋即可進(jìn)行定位.指紋定位算法的流程主要有離線指紋庫構(gòu)建階段和在線階段,離線階段將定位區(qū)域進(jìn)行劃分成若干網(wǎng)格點(diǎn),并在每個(gè)網(wǎng)格點(diǎn)上采集由若干AP發(fā)送的RSSI作為指紋,不同位置的指紋構(gòu)成離線指紋庫;在線階段首先采集待定位區(qū)域的RSSI指紋,然后使用指紋定位算法將其和離線指紋庫中的指紋進(jìn)行匹配,得到節(jié)點(diǎn)的位置估計(jì).
目前常用的指紋匹配算法有K近鄰(K-Nearest Neighbors,KNN)[7]、加權(quán)K近鄰(Weighted K-Nearest Neighbors,WKNN)[8]和支持向量機(jī)(Support Vector Machine,SVM)[9]等,但由于RSSI指紋波動(dòng)性較大且存在噪聲,這類經(jīng)典機(jī)器學(xué)習(xí)算法難以實(shí)現(xiàn)較高的定位精度[10].深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)分支,可以更好地?cái)M合RSSI指紋與特定位置之間的非線性映射關(guān)系[11].因此,人們將許多深度學(xué)習(xí)方法運(yùn)用到室內(nèi)定位當(dāng)中,如人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)[12]、堆疊自動(dòng)編碼器(Stacked Auto Encoder,SAE)[13]、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[14]和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[15]等.其中,RNN擅長處理序列數(shù)據(jù),由于用戶在室內(nèi)環(huán)境中的移動(dòng)速度有限,RNN可以借助指紋中的時(shí)序信息來區(qū)分指紋相似的不同位置,提高定位精度.Chen等人[16]使用Wi-Fi路由器以50hz的高頻率掃描手機(jī)獲取RSSI時(shí)間序列,并使用深層RNN網(wǎng)絡(luò)來進(jìn)行定位,但該方法需要特定的路由器,且在線定位時(shí)間長.文獻(xiàn)[17]基于長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)、門控循環(huán)單元(Gate Recurrent Unit,GRU)等RNN變體提出了P-MIMO模型,利用連續(xù)的RSSI測量值和軌跡信息提高精度,達(dá)到了最低0.75m的平均誤差,該方法需要獲取用戶的初始位置,實(shí)際情況中難以實(shí)現(xiàn).
上述算法具有較好定位效果的前提是離線和在線階段使用相同的設(shè)備,而當(dāng)在線階段使用與離線階段不同的移動(dòng)終端設(shè)備(即設(shè)備存在異質(zhì)性)時(shí),在相同位置采集的RSSI指紋會(huì)產(chǎn)生較大變化,進(jìn)而降低定位精度[18].目前針對設(shè)備異質(zhì)性問題有兩種主流方案:1)在離線階段使用不同的轉(zhuǎn)換函數(shù)來校準(zhǔn)RSSI指紋[19],但難以適應(yīng)實(shí)際場景中大量型號(hào)各異的終端設(shè)備;2)采用無校準(zhǔn)的方法.Zou等人[20]根據(jù)不同設(shè)備采集的RSSI指紋形狀相似這一現(xiàn)象,對原始指紋進(jìn)行標(biāo)準(zhǔn)化后得到標(biāo)準(zhǔn)位置(Standard Location,SL)指紋,并使用WKNN進(jìn)行定位.但由于實(shí)際場景中RSSI存在缺失值,不同手機(jī)的RSSI采樣值的形狀不一定相似,該方法不能很好地緩解設(shè)備異質(zhì)性問題.文獻(xiàn)[21]使用相鄰AP之間RSSI的差值構(gòu)造信號(hào)強(qiáng)度差(Signal Strength Difference,SSD)指紋,SSD指紋的缺點(diǎn)是只考慮了相鄰AP的差異,且會(huì)丟失部分信息.
為了更好地緩解設(shè)備異質(zhì)性問題并提高定位精度,本文將RSSI指紋變換為差分矩陣(Difference Matrix,DM)指紋,使用CNN來提取差分矩陣的特征,并引入RNN結(jié)合歷史位置信息進(jìn)行定位.本文的主要工作如下:
1)針對SSD指紋只考慮相鄰AP且會(huì)丟失特征的問題,構(gòu)造了一種能更好地緩解設(shè)備異質(zhì)性問題的差分矩陣指紋;
2)基于RSSI指紋的分布特點(diǎn)提出了一種數(shù)據(jù)增強(qiáng)算法,在每個(gè)網(wǎng)格點(diǎn)上生成大量和原始指紋分布接近的新指紋,減少離線階段指紋采集工作量;
3)提出了一種基于CNN和RNN的室內(nèi)定位模型CRDM(CNN-RNN based indoor localization model using difference matrix),該模型可以有效結(jié)合CNN和RNN兩者的優(yōu)勢,在使用不同型號(hào)的設(shè)備進(jìn)行定位時(shí)亦能達(dá)到較高的定位精度;
4)根據(jù)行人在室內(nèi)環(huán)境中的移動(dòng)規(guī)律提出了一種軌跡生成算法,以每個(gè)網(wǎng)格點(diǎn)為起點(diǎn)隨機(jī)生成大量軌跡作為CDRM模型的訓(xùn)練數(shù)據(jù),然后在一個(gè)真實(shí)的室內(nèi)環(huán)境中進(jìn)行了一系列實(shí)驗(yàn),驗(yàn)證了CRDM模型的性能.
Wi-Fi信號(hào)在自由空間傳播的過程可以用自由傳播模型描述[22],而在復(fù)雜的室內(nèi)環(huán)境中,由于障礙物遮擋、多徑效應(yīng)等的存在,一般使用對數(shù)正態(tài)模型[23]來建模Wi-Fi信號(hào)的衰減.某點(diǎn)上的RSSI采樣值可計(jì)算如下:
(1)
根據(jù)信號(hào)的自由空間傳播模型[22],有:
(2)
其中,PAPi,GAPi,λAPi分別為AP的傳遞功率、天線增益以及發(fā)射載波的波長,L為系統(tǒng)損耗因子,Gdevice則是終端設(shè)備的天線增益.將式(2)代入式(1)中可以發(fā)現(xiàn),當(dāng)終端設(shè)備不同時(shí),不同的Gdevice會(huì)在相同的位置測量到不同的RSSI值,從而產(chǎn)生設(shè)備異質(zhì)性問題.
本文提出的定位系統(tǒng)的整體工作流程如圖1所示.離線階段構(gòu)建RSSI指紋庫,并使用軌跡生成算法隨機(jī)生成大量軌跡供模型訓(xùn)練.在線階段加載訓(xùn)練好的模型,使用終端設(shè)備采集待定位區(qū)域的RSSI指紋,并結(jié)合模型上一時(shí)刻的預(yù)測坐標(biāo),給出當(dāng)前時(shí)刻的位置.
圖1 系統(tǒng)框圖Fig.1 System block diagram
3.1.1 指紋庫構(gòu)建
離線階段首先將待定位區(qū)域均勻劃分為若干個(gè)網(wǎng)格點(diǎn),然后在每個(gè)網(wǎng)格點(diǎn)上記錄其真實(shí)坐標(biāo),并使用移動(dòng)終端設(shè)備按照指定的采樣頻率采集若干RSSI值,得到離線指紋庫.令網(wǎng)格點(diǎn)數(shù)為Ngrid,每個(gè)點(diǎn)上采集RSSI指紋的次數(shù)為Nrss,AP個(gè)數(shù)為Nap,則指紋庫D及D中第i個(gè)網(wǎng)格點(diǎn)Ii=(xi,yi)對應(yīng)的指紋Di可表示為:
D=(D1,D2,…,DNgrid)
(3)
(4)
(5)
3.1.2 數(shù)據(jù)增強(qiáng)
數(shù)據(jù)增強(qiáng)(Data Augmentation)通過擴(kuò)充原始數(shù)據(jù)提升模型性能,并引入噪聲數(shù)據(jù)提高模型的泛化能力.文獻(xiàn)[25]中的實(shí)驗(yàn)表明,數(shù)據(jù)增強(qiáng)可以提高基于深度學(xué)習(xí)的室內(nèi)定位方法的定位精度.在實(shí)際定位過程中,部分型號(hào)較舊的智能手機(jī)搭載的低版本Android系統(tǒng)(如Android 7、 Android 8)無法修改RSSI的采樣頻率,無法獲取大量數(shù)據(jù)訓(xùn)練模型,進(jìn)而影響模型的定位精度.
實(shí)際情況中,由于人員流動(dòng)等環(huán)境變化,RSSI容易出現(xiàn)缺失值,圖2是使用Redmi K40手機(jī)在一個(gè)位置上采集2分鐘得到的RSSI采樣數(shù)據(jù)(缺失數(shù)據(jù)用-100dBm填充):
圖2 某個(gè)指紋點(diǎn)上RSSI采樣值的分布Fig.2 Distribution of RSSI sampling values on a fingerprint point
可以看出,每個(gè)AP的RSSI采樣值都有缺失,而在不考慮缺失值的情況下,RSSI采樣值近似正態(tài)分布.基于2.1節(jié)對RSSI分布的理論分析及實(shí)際數(shù)據(jù)的分布特點(diǎn),本文在保證原始數(shù)據(jù)分布整體不變的情況下,按如下步驟進(jìn)行數(shù)據(jù)增強(qiáng):
1)對指紋庫D中某個(gè)網(wǎng)格點(diǎn)的指紋Di,初始化新指紋RSSI_Newi;
3)對Di中每個(gè)AP的采樣值執(zhí)行②,得到RSSI_Newi;
4)對任意Di執(zhí)行Naug次①~③,得到增強(qiáng)后的指紋庫.
3.1.3 SSD指紋和差分矩陣指紋
SSD指紋使用相鄰AP的RSSI值的差來緩解設(shè)備異質(zhì)性問題.令某點(diǎn)上的RSSI指紋為RSSI=(r1,r2,…,rNgrid),根據(jù)式(1)和式(2),則該點(diǎn)上APi和APj的SSD值,以及所有相鄰AP構(gòu)成的SSD指紋可分別表示如下:
(6)
SSD=(r1-r2,r2-r3,…,rNap-1-rNap)
(7)
可以看出,相比式(1)的RSSI值,式(6)不包含Gdevice,這表明SSD指紋可以緩解設(shè)備異質(zhì)性的影響.但SSD指紋相比原始RSSI指紋缺失了一維特征,這意味著當(dāng)離線和在線階段的終端設(shè)備相同時(shí),定位精度會(huì)降低.為了擴(kuò)展SSD指紋的維度以更好環(huán)境設(shè)備異質(zhì)性問題,本文將原始RSSI指紋轉(zhuǎn)換成差分矩陣(Difference Matrix,DM)指紋:
(8)
相比SSD指紋,DM指紋還考慮了不相鄰AP之間的RSSI差值,擁有更多的特征,當(dāng)在線階段使用不同的設(shè)備進(jìn)行定位時(shí)具有更好的魯棒性.
3.1.4 軌跡生成
為了利用定位目標(biāo)的歷史位置信息,本文提出的定位模型中引入了RNN結(jié)構(gòu),其訓(xùn)練數(shù)據(jù)為軌跡上點(diǎn)的坐標(biāo)及對應(yīng)的RSSI指紋.由于目標(biāo)的移動(dòng)速度有限,離目前位置越近的點(diǎn)被選作軌跡的下一個(gè)點(diǎn)的概率越大.基于此規(guī)律,本文取RSSI采樣周期Δt=1s,行人最大移動(dòng)速度vmax=1.8m/s,采樣周期內(nèi)的最大移動(dòng)距離σ=vmax×Δt=1.8m,按如下的步驟生成大量軌跡數(shù)據(jù):
1)對指紋庫中每個(gè)網(wǎng)格點(diǎn)li=(xi,yi)計(jì)算其它網(wǎng)格點(diǎn)lj=(xj,yj)到該點(diǎn)的歐氏距離dij,得到歐氏距離矩陣d;
(9)
(10)
③使用矩陣p生成軌跡.對當(dāng)前點(diǎn)li,在矩陣p的第i行中,按概率選擇軌跡的下一個(gè)點(diǎn)lj.pij越大,則lj成為下一個(gè)點(diǎn)的概率就越大;
④以每個(gè)網(wǎng)格點(diǎn)為起點(diǎn)重復(fù)步驟①~步驟③,生成若干長度為的軌跡.
3.1.5 CRDM定位模型
CRDM定位模型使用CNN提取差分矩陣指紋的隱含特征,并引入RNN考慮移動(dòng)目標(biāo)的歷史位置信息進(jìn)行定位.其中,CNN模型的結(jié)構(gòu)基于輕量級(jí)的卷積神經(jīng)網(wǎng)絡(luò)LeNet-5[26].由于差分矩陣的維度(本文為11×11)較小,為了防止池化操作丟失指紋信息,本文去除了LeNet-5中的池化層,并在卷積層之間添加批歸一化層(Batch Normalize Layer)以加快模型收斂速度;RNN單元為門控循環(huán)單元GRU,GRU解決了RNN的梯度爆炸等問題,且相比于LSTM的計(jì)算復(fù)雜度更低.模型結(jié)構(gòu)如圖3所示,本文實(shí)驗(yàn)環(huán)境中AP個(gè)數(shù)為11,模型的定位流程如下:
圖3 模型結(jié)構(gòu)Fig.3 Model structure
輸入層:將當(dāng)前時(shí)刻采集的指紋RSSIt(大小為1×11)按式轉(zhuǎn)換為大小為11×11、通道數(shù)為1的差分矩陣指紋,然后輸入卷積層C1;
卷積層C1,包含6個(gè)大小為3×3、移動(dòng)步長為1的卷積核,輸出特征圖的大小為6×9×9;
卷積層C2:包含16個(gè)大小為3×3、移動(dòng)步長為1的卷積核,輸出特征圖的大小為16×7×7;
展平特征圖:將特征圖展平成大小為1×784的一維特征向量,輸入到全連接層F1;
全連接層F1:包含80個(gè)神經(jīng)元;
全連接層F2:包含11個(gè)神經(jīng)元;
RNN層:該層包含兩個(gè)GRU單元,GRU的隱含層神經(jīng)元個(gè)數(shù)為100,輸出為1×13的特征向量;
全連接層F3:包含2個(gè)神經(jīng)元,輸出為當(dāng)前時(shí)刻的定位坐標(biāo).
CRDM模型使用軌跡數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練步驟如下:
1)對數(shù)據(jù)集中任意一條軌跡l上某時(shí)刻t對應(yīng)的軌跡點(diǎn)lt,將模型上一時(shí)刻t-1的預(yù)測坐標(biāo)cort-1進(jìn)行標(biāo)準(zhǔn)化:
(11)
其中μ和σ分別為網(wǎng)格點(diǎn)中所有坐標(biāo)的均值和標(biāo)準(zhǔn)差;
4)對上的全部點(diǎn)重復(fù)步驟①~步驟③,并對軌跡上每個(gè)點(diǎn)的誤差求平均,作為模型在該條軌跡上的預(yù)測誤差;
5)按上述步驟,對所有軌跡數(shù)據(jù)進(jìn)行訓(xùn)練,視為一次迭代.使用自適應(yīng)調(diào)節(jié)學(xué)習(xí)率的Adam優(yōu)化器更新模型參數(shù),迭代若干次直至模型收斂.
根據(jù)圖1,在線階段的定位過程如下:
1)采集待定位區(qū)域的RSSI指紋,并將指紋轉(zhuǎn)換為DM指紋;
2)加載模型參數(shù),并獲取模型上一時(shí)刻的定位坐標(biāo),將標(biāo)準(zhǔn)化后的坐標(biāo)與指紋一同輸入到CRDM模型中進(jìn)行定位.初次定位時(shí),將初始位置的DM指紋輸入到CNN模型中以進(jìn)行初始位置估計(jì);
3)得到當(dāng)前定位結(jié)果并保存,待下一時(shí)刻定位時(shí)使用.
為了驗(yàn)證CRDM模型的有效性,項(xiàng)目組開發(fā)了一個(gè)基于Android手機(jī)的室內(nèi)定位APP,使用智能手機(jī)Redmi K40、Redmi K30i、Honor V8及Vivo Nex3采集數(shù)據(jù)并作為定位終端,并在一臺(tái)服務(wù)器上訓(xùn)練及部署定位模型.定位終端和服務(wù)器的配置分別如表1、表2所示.
表1 定位終端配置Table 1 Locate terminal configuration
表2 服務(wù)器配置Table 2 Server configuration
本文的所有實(shí)驗(yàn)在華南師范大學(xué)石牌校區(qū)計(jì)算機(jī)學(xué)院3樓某實(shí)驗(yàn)室中進(jìn)行,實(shí)驗(yàn)室的平面圖如圖4所示.實(shí)驗(yàn)環(huán)境的面積為260m2,其中部署了50個(gè)大小1.8m×1.8m的網(wǎng)格點(diǎn),以及11個(gè)型號(hào)參數(shù)不同的路由器.為保證實(shí)驗(yàn)數(shù)據(jù)的可靠性,每個(gè)網(wǎng)格點(diǎn)以1秒為周期,采集120次RSSI值.該室內(nèi)環(huán)境包含若干辦公設(shè)備、書架、學(xué)生工位等障礙物,是日常生活中較為常見的一種室內(nèi)環(huán)境.此外,在實(shí)驗(yàn)過程中,大量實(shí)驗(yàn)室成員在區(qū)域內(nèi)正常活動(dòng).
圖4 實(shí)驗(yàn)環(huán)境平面圖Fig.4 Plan of the experimental environment
1)對每個(gè)網(wǎng)格點(diǎn)使用四臺(tái)智能手機(jī)采集RSSI構(gòu)成指紋庫,并以當(dāng)前點(diǎn)為起點(diǎn)隨機(jī)生成若干軌跡數(shù)據(jù),構(gòu)成軌跡數(shù)據(jù)集;
2)訓(xùn)練模型.選取Redmi K40和Vivo Nex3為訓(xùn)練設(shè)備,使用分層采樣的方式將訓(xùn)練設(shè)備對應(yīng)的指紋庫D按4∶1的比例劃分為訓(xùn)練指紋庫Dtrain和測試指紋庫Dtest,然后在服務(wù)器上使用訓(xùn)練集的數(shù)據(jù)訓(xùn)練并保存模型;
3)評(píng)估模型.為了保證訓(xùn)練和測試指紋庫之間不存在重復(fù)數(shù)據(jù),訓(xùn)練和測試設(shè)備相同時(shí),在Dtest上評(píng)估;否則在測試設(shè)備對應(yīng)的原始指紋庫上評(píng)估.
本文選取CRDM、CNN(使用卷積神經(jīng)網(wǎng)絡(luò)提取差分矩陣指紋的特征進(jìn)行定位)、P-MIMO[17](使用RNN模型,給定初始位置并結(jié)合歷史位置信息進(jìn)行定位)、WKNN(經(jīng)典的加權(quán)K近鄰定位算法)、WKNN-SL[20](使用標(biāo)準(zhǔn)位置(SL)指紋結(jié)合WKNN算法進(jìn)行定位)、WKNN-SSD[21](使用信號(hào)強(qiáng)度差(SSD)指紋結(jié)合WKNN算法進(jìn)行定位)等定位算法進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)參數(shù)如表3所示.
表3 實(shí)驗(yàn)參數(shù)Table 3 Experimental parameters
4.3.1 加入模型上一時(shí)刻預(yù)測坐標(biāo)對定位精度的影響
本節(jié)在設(shè)備組合Redmi K40和Vivo Nex3上探究加入模型上一時(shí)刻預(yù)測坐標(biāo)cort-1對CRDM、P-MIMO模型定位精度的影響,實(shí)驗(yàn)結(jié)果如圖5所示.
圖5 加入上一時(shí)刻預(yù)測坐標(biāo)前后模型的定位誤差Fig.5 Localization error of the model before and after the predicted coordinates at the last moment is used
顯然,兩個(gè)模型在加入cort-1后,平均和最大定位誤差都明顯下降,說明該操作可以讓模型更好地將定位結(jié)果限定在某一區(qū)域內(nèi),緩解設(shè)備異質(zhì)性問題.此外,由于CNN模型可以給出較準(zhǔn)確的初始位置(平均定位誤差1.977m),CRDM-2在無需初始位置的情況下,平均定位誤差和CRDM-3接近.基于上述結(jié)論,在接下來的實(shí)驗(yàn)中,本文使用的CRDM模型均為CRDM-2.
4.3.2 數(shù)據(jù)增強(qiáng)對定位精度的影響
本節(jié)在設(shè)備組合Honor V8和Redmi K40進(jìn)行實(shí)驗(yàn).由于Honor V8系統(tǒng)版本為Android 8.0,無法修改RSSI采樣頻率,每個(gè)網(wǎng)格點(diǎn)在2分鐘內(nèi)只采集了10個(gè)不重復(fù)的RSSI值.使用3.1.2節(jié)所述的數(shù)據(jù)增強(qiáng)算法對每個(gè)網(wǎng)格點(diǎn)生成120個(gè)新指紋,并在CRDM、P-MIMO模型上對比數(shù)據(jù)增強(qiáng)前后的定位精度,實(shí)驗(yàn)結(jié)果如圖6所示.
可以看出,兩個(gè)模型在訓(xùn)練數(shù)據(jù)增加后,平均、最大定位誤差明顯降低,說明數(shù)據(jù)增強(qiáng)可以緩解RSSI采樣值過少對定位精度的影響,減少指紋采集工作量并提升模型性能.
4.3.3 軌跡長度對定位精度的影響
基于RNN的定位模型在每個(gè)訓(xùn)練時(shí)間戳都會(huì)更新模型的權(quán)值和隱含狀態(tài),較大的軌跡長度L可以讓模型結(jié)合更多歷史信息,也會(huì)累計(jì)更多的歷史定位誤差[27],進(jìn)而影響定位精度.圖7顯示了在設(shè)備組合Redmi K40和Vivo Nex3上不同的L對CRDM模型定位精度的影響.
圖7 不同軌跡長度下CRDM模型的定位誤差Fig.7 Localization error of CRDM model with different trajectory lengths
可以看出,隨著L的增加,歷史定位誤差的累計(jì)增大了模型的最大定位誤差,進(jìn)而使平均定位誤差略微增加.故本文選取L=5為最優(yōu)軌跡長度.
4.3.4 模型對比
為了評(píng)估離線和在線階段的定位設(shè)備相同或不同時(shí)CRDM模型的定位性能,本節(jié)將CRDM模型與CNN、P-MIMO、WKNN、WKNN-PA、WKNN-SSD模型按4.2節(jié)的步驟進(jìn)行對比實(shí)驗(yàn).根據(jù)前文的實(shí)驗(yàn)結(jié)果,對每個(gè)網(wǎng)格點(diǎn)使用數(shù)據(jù)增強(qiáng)生成120條新指紋,并以每個(gè)點(diǎn)為起點(diǎn)分別隨機(jī)生成240、20條長度為5的軌跡進(jìn)行訓(xùn)練、測試.各模型的平均定位誤差如表4所示.
表4 不同模型在不同設(shè)備上的平均定位誤差(m)Table 4 Average localization error of different models on different devices(m)
可以看出,訓(xùn)練和測試設(shè)備相同時(shí),CRDM、CNN和P-MIMO這3個(gè)深度學(xué)習(xí)模型都能實(shí)現(xiàn)較高的定位精度,優(yōu)于WKNN等算法.說明當(dāng)設(shè)備相同時(shí),深度學(xué)習(xí)模型可以有效的提取指紋特征以進(jìn)行定位.此外,使用WKNN算法進(jìn)行定位時(shí),SL和SSD指紋在相同設(shè)備上的定位精度均低于原始指紋,且SSD指紋和原始指紋相比丟失了一維特征,定位精度下降幅度更大.
當(dāng)訓(xùn)練和測試設(shè)備不同時(shí),SL、SSD及DM指紋都能一定程度上緩解設(shè)備異質(zhì)性問題,且使用DM指紋的CNN模型與WKNN-SL、WKNN-SSD算法相比具有更好的定位性能.P-MIMO模型在給定初始位置及結(jié)合歷史預(yù)測坐標(biāo)的情況下,可以緩解設(shè)備異質(zhì)性造成的指紋空間模糊性問題,提升定位精度.而CRDM模型結(jié)合了DM指紋和RNN模型的優(yōu)勢,并在無需得知初始位置的前提下借助模型上一時(shí)刻的預(yù)測坐標(biāo)修正當(dāng)前定位結(jié)果,進(jìn)一步降低了設(shè)備異質(zhì)性的影響,達(dá)到了最低1.356m的平均定位誤差,且在所有異質(zhì)設(shè)備上的表現(xiàn)都明顯優(yōu)于其他定位算法.
4.3.5 定位實(shí)時(shí)性分析
本節(jié)從定位時(shí)間的角度評(píng)估CRDM模型的性能,在同一臺(tái)計(jì)算機(jī)上計(jì)算各算法的平均定位時(shí)間,實(shí)驗(yàn)結(jié)果如表5所示.
表5 不同模型的平均定位時(shí)間(ms)Table 5 Mean localization time of different models
其中WKNN、WKNN-SL和WKNN-SSD算法耗時(shí)最短,且WKNN-SL由于需要計(jì)算原始指紋的均值及標(biāo)準(zhǔn)差以進(jìn)行標(biāo)準(zhǔn)化操作,耗時(shí)稍長;SSD指紋相比原始指紋減少了一維特征,故定位時(shí)間更短.WKNN算法需要匹配指紋庫中的所有指紋并計(jì)算歐式距離,令n和k分別為指紋庫中的網(wǎng)格點(diǎn)數(shù)和AP個(gè)數(shù),則WKNN算法的時(shí)間復(fù)雜度為O(n×k).當(dāng)定位區(qū)域較大或AP個(gè)數(shù)較多時(shí),其在線定位時(shí)間會(huì)明顯提高.相比于WKNN算法,CRDM、CNN和P-MIMO等深度學(xué)習(xí)模型定位時(shí)間較長.其中CRDM模型由于模型結(jié)構(gòu)相對復(fù)雜,定位時(shí)間最長.但CRDM等深度學(xué)習(xí)模型經(jīng)訓(xùn)練后,只需加載模型參數(shù)進(jìn)行一次前向傳播即可定位,無需匹配指紋庫,對定位區(qū)域大小不敏感,且從時(shí)間數(shù)值上看,其定位時(shí)間亦能滿足實(shí)時(shí)定位的需求.
本文提出了一種基于差分矩陣指紋的室內(nèi)定位模型CRDM.CRDM使用CNN處理差分矩陣指紋以緩解設(shè)備異質(zhì)性問題,并使用RNN考慮用戶移動(dòng)軌跡上一系列RSSI測量值之間的相關(guān)性,將定位過程等效為軌跡預(yù)測問題.在離線階段,為解決部分手機(jī)難以大量獲取RSSI采樣值的問題,使用數(shù)據(jù)增強(qiáng)算法擴(kuò)充指紋庫,并使用軌跡生成算法獲取大量軌跡供模型訓(xùn)練,在減少指紋庫構(gòu)建工作量的同時(shí)提高模型的泛化能力.在線定位階段,CRDM結(jié)合當(dāng)前位置對應(yīng)的差分矩陣指紋及模型上一時(shí)刻的預(yù)測坐標(biāo)進(jìn)行定位,并使用CNN進(jìn)行初次估計(jì)以擺脫對初始位置的依賴.實(shí)驗(yàn)表明,CRDM模型在保證實(shí)時(shí)定位的前提下,離線、在現(xiàn)階段使用相同或不同設(shè)備時(shí),定位精度均優(yōu)于P-MIMO、WKNN等算法.