俞佳豪,余敏
( 江西師范大學(xué) 計算機信息工程學(xué)院,南昌 330022 )
隨著智能手機的普及與技術(shù)發(fā)展,定位信息已經(jīng)成為智能手機必不可少的基本信息之一,而室內(nèi)定位作為定位領(lǐng)域里非常重要的一部分,勢必在即將到來的人工智能時代起著舉足輕重的作用[1]. 王睿等[2]提出了一種基于Wi-Fi 和藍牙融合的室內(nèi)定位算法,為智能手機射頻信號單模定位的局限性提供了一種解決方案. 黃剛等[3]提出了一種基于Wi-Vi 指紋的智能手機室內(nèi)定位方法,以多尺度定位思想進行算法設(shè)計. 文獻[4]通過增加外部結(jié)點來監(jiān)測定位區(qū)域的信號強度變化,并將校正后的RSS 指紋輸入改進的K最近鄰(KNN)分類算法得到定位結(jié)果. 王曉亮等[5]提出的TinyLoc 算法結(jié)合了人在室內(nèi)的運動特性,在保證實時定位精度的情況下,減少了信號采集次數(shù),有效地降低了定位過程的能耗. 基于智能手機射頻信號進行室內(nèi)定位的定位精度能滿足日常生活需要,且其具有能耗低、實時性、高可用的特點,能高效地在實際定位場景中應(yīng)用.
基于智能手機射頻信號的定位方法分為兩種:1) 基于RSS 值測距的定位算法;2) 基于RSS 值的位置指紋匹配方法. 石欣等[6]提出了一種改進的RSS 多維標度室內(nèi)定位算法,改進后的方案定位結(jié)果更加穩(wěn)定,波動率更小. 文獻[7]對基于RSS 的測距進行了全面的分析,實驗驗證在視距15 m 以內(nèi)的測距精度可達2 m. 室內(nèi)環(huán)境中往往是非視距的,且測距方案需要提前獲取接入點(AP)的位置坐標,才能結(jié)合解算出定位結(jié)果,有較大的局限性. 影響射頻信號的因素主要有:人體對信號接收強度的影響、多徑傳播造成的影響和同頻干擾造成的影響[8]. 石柯等[9]提出了一種基于支持向量回歸的室內(nèi)定位方法;文獻[10]針對室內(nèi)傳播信號的復(fù)雜性,采用了模糊推理的方法,改進了傳統(tǒng)的基于RSS 值的位置指紋匹配方法. 基于智能手機射頻信號RSS 值的位置指紋匹配方法具有如下優(yōu)點:有效降低環(huán)境影響、不需要提前獲取AP 的位置、實時性和可用性較強.
本文的工作主要是研究朝向?qū)谥悄苁謾C射頻信號的定位方法的影響,并與經(jīng)典算法進行對比,分析朝向在位置指紋定位中的重要性. 本文選用藍牙傳感器進行研究,在開始研究之前,進行了前期實驗工作作為鋪墊,具體工作如下所述:在同等實驗條件下,設(shè)立4 個實驗組. 實驗人員分別面朝東、南、西、北四個方向進行實驗,設(shè)立如下兩個對照實驗探究朝向在指紋定位中的影響:1) 通過對各實驗組在同一指紋點下采集到的同一AP 的RSS 值對比,來進行數(shù)據(jù)層的分析;2) 在相同實驗環(huán)境下,各實驗組都使用經(jīng)典的最近鄰(NN)算法,通過定位結(jié)果來進行定位層的分析. 通過對照實驗1) 和2) 的結(jié)果得到以下結(jié)論:相同的實驗環(huán)境下,實驗人員朝向不同時,采集到的各AP 的RSS 值不同,進而導(dǎo)致定位時得到的定位結(jié)果也不同. 因此,有必要對多方向的指紋數(shù)據(jù)進行采集并提取有用的特征. 文章的研究工作將基于此結(jié)論展開,提出了一種基于智能手機藍牙傳感器四向RSS 指紋的室內(nèi)定位方法.
位置指紋匹配算法一般分為離線階段和在線階段兩部分[8]. 離線階段通過提取指紋點上的信號特征,然后連同指紋點坐標一起作為一個指紋點數(shù)據(jù)存儲到指紋庫中. 在線階段通過提取測試點上的信號特征,采用指紋匹配算法選取指紋庫中與測試點指紋的歐氏距離最小的一個或多個指紋點為匹配結(jié)果,進而得到最終的位置估計結(jié)果. 其中,歐式距離計算公式如式(1)所示:
2.1.1 NN 分類算法
NN 算法是將測試點指紋數(shù)據(jù)與指紋庫中數(shù)據(jù)進行匹配,選取歐氏距離最小的指紋點坐標作為最終的位置估計結(jié)果.
2.1.2 KNN 分類算法
KNN 分類算法是對NN 算法的改進,在匹配過程中選取K個歐氏距離最小的指紋點,并將K個指紋點坐標的均值作為最終的位置估計結(jié)果.
2.1.3 加權(quán)K近鄰算法
加權(quán)K近鄰(WKNN)算法是對KNN 算法的進一步改進,一般按歐氏距離越小權(quán)重越大的原則對匹配過程得到的K個指紋點坐標進行加權(quán),將加權(quán)后的坐標結(jié)果作為最終的位置估計結(jié)果.
模糊推理理論是L. A. Zadeh 首次提出,并在1973年時提出了3 點改進:1)引入語言變量來代替或補充傳統(tǒng)的數(shù)值變量;2)用模糊條件語句來表征變量關(guān)系;3)用模糊算法刻畫復(fù)雜關(guān)系[11-12]. 文獻[13]提出了T-S 模糊推理模型,將模糊推理理論應(yīng)用到了工業(yè)領(lǐng)域中. T-S 模型中的輸入輸出是線性關(guān)系,可以很好的結(jié)合基于RSS 值的位置指紋匹配方法中的KNN 算法.
本文在離線階段提取到指紋點特征后,就采用了二輸入一輸出的T-S 模糊推理模型對指紋點上的AP 進行預(yù)加權(quán),輸入值為從指紋點某一AP 提取到的兩個特征:標準差(Std-Dev)、內(nèi)距(IQR),輸出值為該AP 的權(quán)重Weight. 式(2)所示為本文T-S 模糊推理模型中的一條模糊規(guī)則:
本文提出的基于智能手機藍牙傳感器四向RSS指紋的室內(nèi)定位方法分為離線階段和在線階段,整體流程如圖1 所示,其中n為指紋點個數(shù),m為AP 個數(shù),東、南、西、北為分別為四個朝向的指紋庫.
本文提出的定位方法中,離線階段分為數(shù)據(jù)采集、特征提取、權(quán)重分配三個步驟.
3.1.1 數(shù)據(jù)采集
數(shù)據(jù)采集時,為了保證同一個指紋點上四個朝向的數(shù)據(jù)采集時智能手機的位置相同. 采集時保持智能手機的落點不變,實驗人員保持相同的姿勢,以智能手機為圓心轉(zhuǎn)動4 次. 每次采集時將采集到的各AP的RSS 序列按時間順序進行存儲,保證原始數(shù)據(jù)的可靠性. 且在整個采集過程中,保證實驗場景中無其他移動人員,以降低無關(guān)影響.
3.1.2 特征提取
完成數(shù)據(jù)采集后,對每個指紋點上各個方向采集到的每個AP 的RSS 序列進行特征提取. 包括標準差、IQR、采樣次數(shù)等信息. 由于樣本量較少,本文使用經(jīng)貝塞爾修正的標準差,如式(3)所示:
3.1.3 權(quán)重分配
本文提出的模糊加權(quán)方法,根據(jù)每個指紋點上各方向采集到的AP 的RSS 序列的離散程度進行權(quán)重分配. 采用二輸入一輸出方式,將AP 的IQR 和標準差作為模糊推理方法的輸入,輸出值為AP 的模糊權(quán)重. 本文的模糊推理方法主要分為三步,如下所示:
Step1 (模糊化):將輸入的IQR 和標準差精確值按模糊區(qū)間進行模糊化,分為Smaller、Small、Med、Big、Biger、Noise 六檔.
Step2 (模糊推理):將模糊化后的IQR、標準差根據(jù)本文模糊推理方法的規(guī)則庫進行模糊推理,得到權(quán)重的模糊集.
Step3 (去模糊化):根據(jù)權(quán)重的模糊集,進行去模糊化,得到最終的模糊權(quán)重用于后續(xù)定位算法.
在線階段隨機選取若干個場景中的非指紋點作為測試點. 由于真實的定位場景中,人員都是處于移動狀態(tài)的,所以每個測試點上均只采集一次數(shù)據(jù),以此來模擬實時定位效果.
本文改進了傳統(tǒng)的KNN 算法使用歐式距離將測試點指紋與指紋庫中指紋進行匹配的策略,在歐式距離計算過程中引入模糊權(quán)重,用模糊距離替代歐式距離,模糊距離計算公式如式(4)所示:
式中:FuzzyDis為模糊距離;Wi為AP 對應(yīng)的模糊權(quán)重. 通過KNN 算法得到模糊距離最小的K個近鄰結(jié)果,將K個近鄰的坐標取均值,即可得到最終的定位結(jié)果.
實驗手機的型號為小米 8,操作系統(tǒng)為Android 10,運行內(nèi)存為6 GB,處理器為高通驍龍845(八核,最高2.8 GHz). 藍牙基站的型號為iBeacon-AC,信號發(fā)射頻率10 Hz,采用藍牙4.0BLE 技術(shù).
實驗地點位于江西師范大學(xué)瑤湖校區(qū)先骕樓七樓3712 室. 實驗場景如圖2 所示,在距離地面1.2 m處的位置共布置了4 個藍牙AP,該高度能更好地減少影響因素,驗證朝向在指紋定位中的影響. 除東北角的書柜高度超過2 m 外,整個場景中的物體高度均低于1 m. 整個實驗過程中均關(guān)閉門窗,且只有實驗人員一人在實驗場景中. 場景中共有32 個指紋點,為圖中網(wǎng)格頂點處,原點O(0,0)為房間西南角.
圖2 實驗場景示意圖
采集指紋數(shù)據(jù)之前要規(guī)劃指紋點的位置,將待定位區(qū)域按正方形網(wǎng)格均勻分割,參考點的選取規(guī)則一般是各個正方形網(wǎng)格的頂點,這樣可以滿足均勻分布原則. 顯而易見,指紋定位系統(tǒng)性能與指紋點的選取密切相關(guān),如果間隔取值過大則定位精度將會下降;如果間隔取值過小則定位結(jié)果易跳變且建庫代價高昂. 本文構(gòu)造指紋庫時,指紋點間隔為1 m,每個指紋點上每個方向的采集次數(shù)均為21 次,采樣頻率為1/3 Hz. 對于單次采樣過程中,未能接收到RSS 值的AP,令其該次RSS 值為?99 dBm.
驗證定位算法時,為了模擬真實定位過程(即移動中的人員),每個測試點均只采集一次數(shù)據(jù),在實驗場景中隨機選取了30 個測試點,記錄下每個測試點采集時的朝向和指紋向量,用于后續(xù)算法驗證等. 本文中的定位誤差為測試點實際位置與定位結(jié)果之間的直線距離,平均定位誤差為30 個測試點上定位誤差的均值.
4.2.1 模糊加權(quán)的權(quán)重
對指紋庫中的指紋數(shù)據(jù)進行特征提取,得到IQR和標準差的直方圖如圖3、圖4 所示.
本文的模糊推理加權(quán)算法的輸入為圖3、圖4 中的指紋特征(即IQR 和標準差),輸出為指紋數(shù)據(jù)的權(quán)重. 本文改進了傳統(tǒng)的T-S 模糊推理規(guī)則,通過模糊區(qū)間占比來改進傳統(tǒng)的等差模糊權(quán)重,改進后的模糊權(quán)重公式如式(5)所示:
圖3 指紋庫中的指紋數(shù)據(jù)IQR 直方圖
圖4 指紋庫中的指紋數(shù)據(jù)標準差直方圖
式中:W為改進后的權(quán)重;Wi為改進前的權(quán)重;e為所處模糊區(qū)間的占比(如圖3 中IQR 在[0,2]內(nèi)的占比為0.502);ε 為等差模糊權(quán)重的差值(本文為0.2). 將IQR 和Std-Dev 的模糊權(quán)重結(jié)果代入式(2)中的模糊推理規(guī)則,即可得到AP 的權(quán)重. 同時為了避免數(shù)據(jù)越界,將AP 中大于1 的權(quán)重置為1,小于0 的權(quán)重置為0.001. 簡化后的模糊規(guī)則如下表1 所示.
表1 簡化后的模糊規(guī)則表
4.2.2 濾波算法
文中采用了均值濾波(以一組數(shù)據(jù)的平均數(shù)作為濾波結(jié)果)、中值濾波(以一組數(shù)據(jù)的中位數(shù)作為濾波結(jié)果)分別對指紋數(shù)據(jù)進行處理,并分析其在采集傳統(tǒng)單向指紋后,使用經(jīng)典的KNN 算法下的不同K值的平均定位誤差,實驗結(jié)果如圖5 所示:
圖5 不同濾波算法下的平均定位誤差
由圖5 可知,中值濾波比均值濾波效果好,分析原因可能因為藍牙是近場通訊,信號衰減較快,所以用均值濾波進行處理時,會損失較多的精度. 而中值濾波是從整體序列中取的中位數(shù),更加符合實際場景下的統(tǒng)計學(xué)規(guī)律. 故本文后續(xù)以中值濾波來進行處理,先從RSS 序列中提取出RSS 中值再進行后續(xù)算法處理.
4.2.3 KNN 算法的K值
圖6 為經(jīng)中值濾波處理后,傳統(tǒng)單向指紋和四向指紋在使用經(jīng)典的KNN 算法時,不同K值下的平均定位誤差. 從圖6 中可以看出,傳統(tǒng)單向指紋在使用中值濾波后,在K=4 時平均定位誤差最小,為1.92 m;四向指紋在使用中值濾波后,K=3 時平均定位誤差最小,為1.68 m. 從圖中也可以看出,K值大于5 之后基本沒有性能提升,故文中后續(xù)的分析在K=3 和K=4情況下進行.
圖6 各方案在不同K 值下的平均定位誤差
4.3.1 定位誤差對比
在保持其他條件不變的前提下,對比使用傳統(tǒng)單向指紋和本文的四向指紋在不同方案下的平均定位誤差,得到的結(jié)果如表2 所示.
表2 各方案下的平均定位誤差對比m
從表2 中可以看出,在使用經(jīng)典KNN 算法和WKNN 算法時,四向指紋均是優(yōu)于傳統(tǒng)指紋的. 其中單向指紋平均定位誤差最小值為1.94 m,四向指紋平均定位誤差最小值為1.68 m 根據(jù)式(6)計算降低的百分比:
式中:Error0為原定位誤差;Error1為改進后的定位誤差;P為降低的定位誤差百分比. 從式(6)中可以計算出,使用四向指紋最高降低了13.4%的定位誤差,由此可見進行四向指紋采集的必要性. 由表2 可知,文章提出的四向算法在K=4 時,平均定位誤差最小,為1.61 m,該定位誤差能滿足日常定位場景的需求.單向指紋使用KNN 算法(K=4 時)和四向指紋分別使用KNN 算法(K=3 時),本文提出的算法(K=4時)的累計誤差分布如下圖7 所示.
圖7 累計誤差分布圖
4.3.2 運行時間對比
經(jīng)典算法(NN 算法、KNN 算法、WKNN 算法)與本文提出的算法的性能對比如表3 所示,其中算法耗時的計算以傳入指紋數(shù)據(jù)開始、傳出定位結(jié)果結(jié)束,不考慮網(wǎng)絡(luò)延遲等的耗時. 從表3 中可以看出,通過模糊預(yù)加權(quán)的方式將權(quán)重計算移至離線階段,更好的節(jié)省了在線定位過程中的資源消耗,性能高于傳統(tǒng)的加權(quán)KNN 算法. 雖然采用四向指紋會導(dǎo)致整體算法耗時高于傳統(tǒng)的單向指紋,但本文提出的算法響應(yīng)時間仍在毫秒級,能滿足實時定位的需求.
表3 本文算法與經(jīng)典算法的運行時間對比ms
本文提出了一種基于四向RSS 指紋的定位算法,該算法可以有效降低室內(nèi)定位中人員朝向?qū)Χㄎ唤Y(jié)果的影響. 并通過模糊推理對指紋庫數(shù)據(jù)進行預(yù)加權(quán),進而提高了在線定位階段的定位精度. 實驗結(jié)果表明:四向指紋對提高指紋定位的精度有效,和傳統(tǒng)單向指紋相比最高可降低13.4%的定位誤差. 且本文提出的算法平均定位誤差為1.61 m,響應(yīng)時間在毫秒級,能滿足日常室內(nèi)定位需求.
本文的研究工作可以與文獻[14]提出的一種室內(nèi)外無縫定位算法GPS-LF 及文獻[15]提出的基于智能手機的樓層定位方法這兩項成果結(jié)合,集成室內(nèi)外無縫定位的多樓層定位系統(tǒng),為基于智能手機傳感器的室內(nèi)定位提供了一種解決思路.