吳春祥,張檢保
(1.廣東機電職業技術學院人工智能學院,廣州 510000;2.廣東機電職業技術學院電子與通信學院,廣州 510000)
在智慧城市中,人們相對更多地處于室內環境,室內定位將成為不可或缺的信息服務。室內定位系統主要確定建筑物內的位置,通過軟件實時找到被跟蹤人員和移動設備[1]。位置信息可用于實現目標導航、監測和跟蹤,以及用戶行為分析及情境感知等服務。室內導航軟件可以指引用戶在購物中心等沿著最佳路徑購買購物清單上的所有物品,在博物館按照指定的旅游路線或選擇展品,通過分析人們的移動和行為方式,對展臺、場所空間進行推薦。尤其是醫院、學校、公共圖書館等建筑物內通常包含復雜的空間,桌椅、家具、電器等障礙物,人員流動也會產生信號干擾,使得精確定位變得困難。室內定位已經成為智慧城市建設中亟待解決的一項重要技術。
室內定位技術基于通信和傳感器技術,利用無線電波、燈光和聲學信號,對室內環境的人或物體進行精確定位。隨著藍牙低功耗(bluetooth low energy,BLE)、Wi-Fi等無線射頻芯片低功耗、小型化,并配備高性能處理器及傳感器的移動設備普及,以及移動操作系統和應用程序,為室內定位解決方案提供了新的視角。盡管學術界和工業界一直在對室內定位技術及其解決方案進行研究,但仍有許多應用領域所要求的高精度與低成本目標尚未實現。
室內定位技術有多種實現方式,每種都可以單獨使用或結合使用,以提供更好的精度性能。目前存在許多室內定位的方法和算法。根據它們的一般特征,我們可以將其分為幾類:基于三坐標定位技術、指紋識別技術、近距離檢測技術、航位推算技術和基于機器學習的定位技術[2]。
基于三坐標定位技術,需放置至少三個能互相傳播信號的信標,使用RSSI 信號功率測量距離變化,建立測量距離和RSSI值的參考曲線,在模型信標間收發信號的基礎上,依據RSSI 與距離實現定位。具體應用中,Wi-Fi 和BLE 的RSSI 值都能很好地被測量用于室內定位。Wi-Fi實現的異質移動設備以不同的方式測量信號強度,需要被校準才能返回可靠的結果。相比Wi-Fi 而言,基于BLE 的三坐標系統不需要為每個用戶進行步長校準,也不太容易受到智能手機方向變化的影響。許多室內定位系統是基于BLE 信標的。使用BLE 信標和三坐標的室內定位方法只需要適當的信標放置,不需要考慮空間的專用無線電地圖,當三個參考節點放置成正三角形時定位誤差最小。
指紋識別技術中的定位過程包括在線與離線兩個階段。信號(指紋)在離線階段,整個定位區域的接收器以一定的分辨率被反復測量。在線階段,將當前的信號讀數與前一階段保存的數值進行比較,并與測量的地點進行匹配。將當前讀數與已知信號樣本相匹配,結合機器學習方法,將定位問題減少為分類問題來解決。基于指紋方法需要提前構建無線電地圖,并在每次映射的室內區域發生變化時重新更新。
近距離檢測技術是基于定位區域內大量的接收器或發射器,不返回設備的確切位置,而是返回相對位置信息。這種定位技術被用于蜂窩網絡中,將用戶的設備分配到信號最強的天線上,并將用戶的位置登記在該天線的附近天線。
行人航位推算(pedestrian dead reckoning,PDR)技術使用一個磁力計和一個步數計數器,計算所走的步數及其方向矢量,計算出當前的位置相對于最后一個已知的確切位置,從最后一個已知位置來確定走過的距離[3]。采用PDR 技術要求移動設備配備磁場傳感器、重力傳感器和步長傳感器。因此,PDR 通常用在信號消退或太弱的情況下作為補充方法。
由于室內無線電信號的傳輸可能會受到干擾而偏差。為解決這個問題,基于機器學習的定位技術應運而生。機器學習將數據提取后進行統計分析,使系統能夠學習規則和模型,能準確估計RSSI 的定位技術的復雜參數[4]。基于深度強化的半監督學習模型,既有標記的數據,也有無標記的數據,可以通過提高模型的準確性和性能,方便圖書館等人流密集的場所應用。機器學習模型可以學習到最佳行動策略,對目標位置距離估算更為接近。
本文實現了一種基于藍牙RSSI 三坐標定位技術,通過k-NN機器學習方法將定位問題轉化為分類問題來模擬,以一個Android 智能手機應用程序來實現定位與顯示。在某高校圖書館一樓大廳天花板,安裝10 個基于德州儀器(TI)的CC2420 藍牙信標,使用HUAWEI P40 手機作為待定位的移動設備。根據信標放置點和內部結構,將大廳平面劃分為A1~A8,B1~B8,C1~C9,D1~D4,E1~E5,F1~F6,G1~G5 共45個字母與數字表示的區域塊,如圖1所示。將各個區域塊接收到信標的RSSI 輸入到定義的k-NN模型用于分類。每個信標的放置位置都是已知的,對于每個區域塊來說所有信標節點都是已知的。每個信標節點的RSSI 被寫成一個向量,其中每個向量代表該信標節點的一個特征向量。RSSI 和特征向量被引入到訓練數據中,被提供給每個類別的k-NN 分類過程。通過分類程序得到預測模型,分析移動設備RSSI 值特征與k個信標最接近,再由k個信標RSSI 計算出移動設備所在的平面區域塊,從而實現了該平面內的定位。

圖1 信標部署及區域分塊
安裝在大廳天花板上的10 個藍牙信標節點發射信號,由1個HUAWEI P40手智能手機在指定位置以及移動狀態進行信號接收,每次測量都重復50 次并過濾掉噪聲,記錄平均RSSI 值,在此基礎上擬合出數據模型。采集到的數據按二維表存儲,包括信標地點、RSSI 讀數。數據集由兩個分組組成,其中一個是帶標簽的1280個樣本,另一個是不帶標簽的3240 個樣本。負的數值用來表示RSSI 讀數,所以讀數越大,離信標的距離就越近。例如,如果讀數為-50,就意味著距離較小;如果讀數為-75,就意味著與信標的距離較近。RSSI 的值-200 被用來表示測量值在信標的范圍之外。與RSSI 讀數相關的位置被整合成一列,包含字母和數字,匹配大廳平面圖上的字母數字區域分塊。
使用手機作為移動設備在大廳的測試區域采集10 個藍牙信標的RSSI 值形成數據集。通過對比分析訓練階段和測試階段的調和平均數、召回率、準確率三個指標,對定位精度進行評估。在藍牙信標RSSI 數據集上,訓練階段和測試階段的定位性能評估分別如圖2、圖3 所示。平均調和值表明藍牙信標識別移動設備的范圍較廣,召回率表明藍牙信標識別移動設備可靠性較高。各個信標處的定位準確率都在92%以上,部分信標處的準確率甚至達到99%。

圖2 訓練階段性能分析

圖3 測試階段性能分析
進一步采用k-NN 算法對數值進行回歸分析,算法參數k值從1 到6 變化時性能評估指標結果見表1。從表1 可見,隨著k值的增加,定位準確率逐步提高。當k增加到5 時,準確率達到峰值99.3%。而當值增加到6 時,調和平均值和召回率變化不明顯,然而準確率下降到了98.5%。由此可見,當k-NN 算法的k選取為5時,系統定位性能最佳。

表1 k-NN算法性能評估
對測試結果進行分析可知,距離藍牙信標較近的移動設備,被定位的準確性更高;在障礙物、拐角處等區域接收的信號弱且不穩定,定位精度出現下降。通過增加信標的數量,提高信標放置的密度,減少信標之間的距離,以及增加信標發射信號強度,均有助于提高準確性偏低區域的定位精度。為了克服信標無線電信號的多徑傳播產生的RSSI 信號反射和信號傳播模型失真,本文還利用精度函數和校正函數校正待測手機位置。精度函數通過估計位置之間的中間點來迭代計算出用戶的位置。糾正函數用于在手機端地圖上糾正用戶的位置。
本文介紹了基于藍牙RSSI 測距結合機器學習算法的室內定位技術,包括藍牙信標部署及三坐標測距方案,實現了k-NN 機器學習算法在室內定位系統中的應用。在某高校圖書館室內,采集了藍牙RSSI數據進行仿真實驗和性能測試。在靜態和動態測試應用場景中,系統均能夠準確地識別待定位測試點。由此可見,使用k-NN機器學習算法和藍牙RSSI 的定位技術精度優于傳統定位技術。進一步研究還將引入室內平面圖層增強功能,除了定義信標位置,還定義室內輪廓、墻壁等禁止區域及封閉空間,用空間感知來加強過濾空間外的信號。采用最小信號強度閾值、信號平滑和中心點計算的應用,在不同區域交界重疊處進行參數校準,進一步提高定位精度與系統整體性能。