?

基于分層優化的多源融合定位方法

2023-06-10 03:21劉傲修春娣
北京航空航天大學學報 2023年5期
關鍵詞:神經網絡定位誤差

劉傲,修春娣

(北京航空航天大學 電子信息工程學院,北京 100191)

行人精確連續定位是復雜室內環境下位置服務、應急疏散、智能管理等應用領域共同關注的問題。隨著智能便攜終端的普及,基于地磁、Wi-Fi、視覺、超寬帶及慣導等定位源的定位技術得到了廣泛應用[1-3]。然而,單一定位源由于自身特征上的局限性,往往難以滿足行人連續定位的精度需求。例如,地磁在特征相似區域易產生誤匹配,Wi-Fi 動態定位可能產生信號堆積,行人航位推算(pedestrian dead reckoning, PDR)定位存在誤差累積[4-5]。因此,多源融合室內定位逐漸成為研究熱點。

目前,國內外在多源融合室內定位方面展開了較多研究。文獻[6]提出基于雙層級聯架構的濾波融合算法。在下層結構中,利用卡爾曼濾波(Kalman filter, KF)獲取行人的航向及步長信息,并引入零速修正和非完全約束對慣導進行初步校正。在上層結構中,利用下層傳遞的信息進行PDR 定位,并將定位結果和地圖利用輔助粒子濾波(particle filter, PF)進一步融合。仿真結果顯示,當PF 中設定的粒子數能夠使定位精度與計算負載兩者之間達到平衡時,行人的平均定位誤差為1.67 m。為了改善濾波性能,文獻[7]提出一種基于 改 進 擴 展 卡 爾 曼 濾 波(extended Kalman filter,EKF)的融合算法,利用Wi-Fi、PDR 與地磁間的相互關系建立三級質量控制機制,對融合過程中的不可靠觀測量和不匹配搜索空間進行濾除。該算法在一定程度上降低了定位誤差,但代價是算法復雜度的顯著提升。文獻[8]提出一種基于濾波與因子圖的融合方法,利用EKF 融合慣導與里程計信息實現位姿估計,隨后結合Kinect 傳感器數據送入即時定位與地圖構建(simultaneous localization and mapping, SLAM)框 架 進 行 融 合,實驗結果表明,該方法提高了導航系統的可靠性與實用性。除了濾波和因子圖融合方法,近年來,伴隨機器學習技術的發展,神經網絡在多源融合室內定位中的應用逐漸得到了更多關注。文獻[9]提出一種包含深度卷積神經網絡的融合定位方法,采用神經網絡進行圖像匹配定位,同時利用定位結果約束地磁匹配范圍,隨后利用PDR 對結果進一步修正。該方法在普通光照場景下的平均定位誤差為1.46 m,但由于定位精度還受到相機分辨率影響,在低光照場景下該方法的定位性能較為受限。為了優化定位性能,文獻[10]提出了一種基于粒子群優化(particle swarm optimization,PSO)與 極 限 學 習 機(extreme learning machine,ELM)神經網絡的雙層融合算法,同時引入靜態反饋對慣導進行校正,該算法在一定程度上降低了定位誤差。

本文提出了一種基于分層優化的多源融合定位方法。利用Wi-Fi 定位結果約束地磁匹配范圍,優化地磁定位可能存在的誤匹配問題;將集成學習引入神經網絡,并利用PSO 減少算法耗時;為了降低Wi-Fi 信號堆積導致的定位誤差,利用PF 將上述融合結果與PDR 定位結果進一步融合。由此,實現分層優化的多源融合定位。

1 基于Wi-Fi 約束的地磁定位方法

選用靜態采集方式構建Wi-Fi 與地磁指紋庫。采用指紋法實現Wi-Fi 定位,進一步利用Wi-Fi 定位結果約束地磁。

將定位場景劃分為若干網格,在各網格頂點重復采集多組Wi-Fi 信號強度(received signal strength indication, RSSI)數據,計算信號強度均值并與對應網格頂點的坐標組合,構成對應點的Wi-Fi 指紋序列。地磁數據的采集利用手機內置的磁傳感器完成,由于x,y,z三軸的磁場強度會隨著手機的位姿變化,但三軸的合磁場強度不會隨之改變,因此,將合磁場強度作為地磁指紋,進行克里金插值獲得細粒度的地磁全局基準圖。

室內地磁特征相對穩固,但不同區域的地磁特征可能相似,實際定位時可能存在較大的誤匹配概率。為有效解決這一問題,采用基于Wi-Fi 約束的地磁匹配定位方法,如圖1所示。圖中Ra為約束區域半徑,其值為Wi-Fi 的平均定位誤差,由定位場景中對大量坐標已知的靜態測試點進行k 鄰近(knearest neighbor,k-NN)算法定位的方式獲得。在約束區域內進行地磁匹配,有效降低了地磁定位的誤匹配概率。

圖1 基于Wi-Fi 約束的地磁定位方法Fig.1 Wi-Fi constraint-based geomagetic positioning method

2 基于PSO 優化的BP-AdaBoost 算法

后向傳播(back propagation, BP)神經網絡屬于監督式學習算法。進行樣本訓練時,通過反向傳播方式不斷調整網絡的權值和閾值,最終達到設定迭代次數或誤差小于設定值時停止訓練[11]。BP 神經網絡的拓撲結構圖如圖2 所示。圖中 γi和 εj分別為神經網絡的輸入值和預測值。在實際訓練過程中,單一BP 神經網絡易陷入局部最優,可能導致預測值 εj的精度下降。

圖2 BP 神經網絡拓撲結構圖Fig.2 Topological structure of BP neural network

2.1 BP-AdaBoost 算法

為提高任意學習算法的預測精度,Freund[12]將集成學習領域的Boosting 算法進行改進,提出AdaBoost 算法。該算法的核心思想是,在迭代過程中更加關注預測錯誤的樣本,迭代結束后,將多個弱學習器按照某種結合策略生成強學習器,利用強學習器進行預測并輸出預測結果。

將BP 神經網絡作為AdaBoost 中的弱學習器,利用BP-AdaBoost 算法融合Wi-Fi 定位結果與約束后地磁的定位結果,其主要步驟如下。

步驟 1劃分數據集與初始化

將數據集劃分為訓練集、驗證集和測試集。其中訓練集包含s個訓練樣本,將第i個訓練樣本的初始權重wm,i設為

式中:m為弱學習器輪數。

BP-AdaBoost 的輸入與輸出分別為

式中:Xa和Ya為 Wi-Fi 定位結果;Xb和Yb為約束后地磁的定位結果;Xe和Ye為融合定位結果。

根據BP-AdaBoost 的輸入輸出維數確定弱學習器結構,并通過隨機設定的方式初始化弱學習器的權值和閾值。

步驟 2計算弱學習器的定位誤差率與權重

當第m輪弱學習器Hm訓練時,每個訓練樣本的相對定位誤差為

式中:Xr和Yr分別為待定位點的真實位置坐標;Em為該輪訓練中訓練樣本的最大定位誤差,其表達式為

則第m輪弱學習器的定位誤差率為

由于BP 神經網絡屬于樣本無法帶權重的弱學習器,因此,需利用wm+1,i對訓練樣本進行重采樣的方式實現實際更新過程。

步驟 4生成強學習器

達到設定迭代次數T后,將T輪弱學習器按照結合策略生成強學習器G。選取的結合策略為加權平均法:

式中:M為弱學習器總輪數。

G的輸出即為Wi-Fi 與約束后地磁的融合定位結果。

2.2 BP-AdaBoost-PSO 算法

BP-AdaBoost 算法能夠有效提升定位精度,但迭代過程導致算法耗時相應增加。為了減少集成學習算法耗時,進一步利用PSO 對BP-AdaBoost 算法進行優化。

PSO 是一種通過搜索當前最優以獲取全局最優的隨機搜索算法[13],優化后的BP-AdaBoost-PSO算法主要步驟如下。

步驟 1參數初始化

將PSO 的初始位置向量設為BP-AdaBoost 的權值與閾值,同時對PSO 中的有關參數進行初始設定。其中,將粒子維度設定為

式中:dinput和dhidden分別為輸入層與隱含層神經元個數。

步驟 2更新粒子的速度與位置

對粒子的速度vh與位置ph進行更新,其表達式分別為

式中:h=1,2,···,Q,Q為粒子總數;f為慣性權重;c1和c2為 學 習 因 子;r1和r2為(0,1)之 間 的 隨 機 數;pbesth為第h個粒子的個體極值;gbest為所有粒子的全局極值。

步驟 3更新個體與全局極值定義適應度函數fit 為

式中:Esum為測試集所有點的定位誤差之和。

依據各粒子的適應度對個體和全局極值進行不斷更新。當滿足PSO 終止條件時,將最優個體作為權值和閾值賦給BP-AdaBoost。

3 粒子濾波融合

運動狀態下利用BP-AdaBoost-PSO 進行連續定位時,仍可能存在由Wi-Fi 信號堆積導致的定位誤差。針對這一問題,在本層融合定位方法中,利用PF 將PDR 定位結果與BP-AdaBoost-PSO 算法結果進一步融合。

PDR 通過智能便攜設備中的慣性傳感器信息實時解算出行人的步頻、步長與航向[14],再根據行人的上一位置推算出當前的位置信息,其定位原理如圖3 所示。

圖3 PDR 定位原理Fig.3 Positioning principle of PDR

式中:Ln為 第n步的步長;θn為第n步的航向角。

采用文獻[15]中的基于三重約束的波峰波谷檢測計步模型,實現對步態的準確檢測。步長估計采用Weinberg 在文獻[16]中提出的經驗模型:

式中:η為 常數;tk?1和tk分別為第k?1 步和第k步對應的時刻;amax(t)和amin(t)分別為間隔t內加速度的最大值和最小值。

利用陀螺儀積分計算航向時易產生誤差累積,利用加速度計和磁力計計算航向時易受鐵磁性物質干擾[17]。為了提高航向估計精度,采用互補濾波對上述2 種方式解算出的航向角進行融合。綜合利用檢測計步模型、步長估計和航向估計方法[15-17]解算出的步頻、步長與航向信息,經推算可得PDR定位結果。

利用PF 將PDR 定位結果與BP-AdaBoost-PSO算法定位結果進行融合。將第α個粒子的初始坐標向量設定為

4 仿真結果與分析

基于分層優化的多源融合定位方法的總體框架如圖4 所示。第1 層優化利用Wi-Fi 約束地磁匹配范圍,第2 層優化利用PSO 降低BP-AdaBoost 算法耗時,第3 層優化利用PF 融合減少Wi-Fi 信號堆積。進一步利用真實定位場景中的實測數據對所提定位方法的定位性能進行仿真驗證。

圖4 融合定位方法框架Fig.4 Framework of fusion positioning algorithm

在北京航空航天大學新主樓內部選取2 個不同的定位場景。定位場景1 由封閉走廊和半露天走廊2 種環境特征構成,長30.0 m,寬15.6 m。定位場景2 長48.0 m,寬22.2 m,沿線途經走廊、大廳、天井等設施,環境特征較為豐富。在這2 個場景中分別選取原點O建立基準坐標系,如圖5 和圖6 所示。選用搭載自主開發APP 的小米6s 作為數據采集設備。Wi-Fi的采集頻率設為10 Hz,加速度計、陀螺儀與磁力計的采集頻率設為50 Hz。

圖5 定位場景1 平面圖Fig.5 Plan of positioning site 1

圖6 定位場景2 平面圖Fig.6 Plan of positioning site 2

離線階段,將2 個定位場景劃分為1.2 m × 1.2 m的網格,在各網格頂點采集Wi-Fi 信號強度和地磁強度數據,經預處理后建立指紋庫。

在線階段,分別采集行人靜止和運動狀態下在2 個場景中的實驗數據。對于每個場景,在730 個真實坐標已知的待定位點采集行人靜止狀態下的數據,用于訓練神經網絡及獲取Wi-Fi 的平均定位誤差。行人運動狀態下,為了便于對定位性能進行分析,沿預先設定的坐標已知的地標行走,每行走一步觸發一次數據采集,沿O-A-B-C-O方向在定位場景1 中的不同路徑重復行走100 圈,沿O-E-F-GO方向在定位場景2 中的不同路徑重復行走100 圈。

4.1 地磁定位方法的定位性能

地磁定位方法的定位誤差累積分布函數(cumulative distribution function, CDF)曲線如圖7 所示。當CDF 為0.7 時,本文的約束方法和k-NN 算法的定位誤差在場景1 中分別為2.06 m 和7.11 m,在場景2 中分別為2.03 m 和7.43 m。結果表明,基于Wi-Fi 約束的地磁定位方法能夠有效降低行人運動狀態下由地磁誤匹配導致的定位誤差。

圖7 不同地磁定位方法定位誤差的CDF 曲線Fig.7 CDF curves of position errors with different geomagnetic positioning algorithm

對應的平均定位誤差如表1 所示??梢?,相較于k-NN 算法,基于Wi-Fi 約束的方法的平均定位誤差在場景1 中降低了72.5%,在場景2 中降低了73.1%,定位精度得到了較大程度提升。

表1 不同地磁定位方法的平均定位誤差Table 1 Average position errors of different geomagnetic positioning algorithms m

4.2 神經網絡融合算法的定位性能

1)定位精度

圖8 為神經網絡融合算法的定位誤差CDF 曲線。當CDF 為0.7 時,BP 算法、BP-AdaBoost 算法和BP-AdaBoost-PSO 算法的融合定位誤差在場景1中 分 別 為1.25,1.18,1.17 m,在 場 景2 中 分 別 為1.27,1.16,1.16 m。結果表明,集成學習算法能夠降低單一BP 易陷入局部最優導致的定位誤差,提高Wi-Fi 與地磁的融合定位精度。而PSO優化前后的算法定位精度基本保持不變。

圖8 神經網絡融合算法定位誤差的CDF 曲線Fig.8 CDF curves of position errors of neural network fusion algorithms

對應的平均定位誤差如表2 所示。相較于BP,BP-AdaBoost 和BP-AdaBoost-PSO 的平均定位誤差在定位場景1 中分別降低了6.5%和7.6%,在定位場景2 中分別降低了8.2%和9.3%,而BP-AdaBoost和BP-AdaBoost-PSO 兩者的平均定位誤差在2 個場景中均較為相近。

表2 神經網絡融合算法的平均定位誤差Table 2 Average position errors of neural network fusion algorithms m

2)算法耗時

以平均執行耗時作為評價指標,對神經網絡融合算法耗時進行比較分析。

在2 個定位場景下,分別執行100 次融合算法并統計各自的平均執行耗時,如表3 所示。為了更加直觀地顯示耗時情況,分別在各場景下隨機選取5 次統計結果,制成如圖9 所示的柱狀圖。由于BP-AdaBoost 和BP-AdaBoost-PSO 存在迭代過程,在定位場景1 中,其平均執行耗時相較于BP 分別增加了49.4%和29.1%。但利用PSO 優化后的執行耗時較優化前減少了28.6%。在定位場景2 中,其平均執行耗時相較于BP 分別增加了49.8%和29.4%。但利用PSO 優化后的執行耗時較優化前減少了28.9%。結果表明,利用PSO 對BP-AdaBoost進行優化,能夠降低平均執行耗時,加快算法收斂。

表3 平均執行耗時Table 3 Average execution time s

圖9 執行耗時示意圖Fig.9 Diagram of execution time

4.3 分層優化融合定位方法的定位性能

在2 個定位場景中,分別比較了PDR、BPAdaBoost-PSO 和分層優化融合定位方法的定位軌跡,如圖10 所示,圖中行人起始點的真實坐標分別為(0.9 m, 1.8 m)和(0.6 m, 0.6 m)???以 觀 察 到,2 個定位場景下PDR 定位軌跡均在剛出發的6 m左右,與真實軌跡接近,隨著時間推移,累積誤差逐漸增大,行走結束時的坐標與真實起始點坐標存在較大偏離。

圖10 定位軌跡對比Fig.10 Comparison of positioning trajectories

利用BP-AdaBoost-PSO 算法進行Wi-Fi/地磁融合定位時無誤差累積,其定位軌跡與真實軌跡較為貼合,但由于Wi-Fi 信號堆積等原因,BP-AdaBoost-PSO 的部分Wi-Fi/地磁融合定位軌跡與真實軌跡仍存在一定程度偏離。利用PF 進一步融合PDR得到的定位軌跡與真實軌跡的偏離程度最小,定位精度得到了較大程度提升。

圖11 為不同定位法對應的定位誤差CDF 曲線。當CDF 為0.7 時,在定位場景1 中,PDR 和BPAdaBoost-PSO 融合定位誤差分別為2.46 m 和1.17 m,分層優化融合定位方法為1.06 m。在定位場景2 中,PDR 和BP-AdaBoost-PSO 融合定位誤差分別為2.52 m 和1.16 m,分層優化融合定位方法為1.03 m。結果表明,本文方法能夠降低由于Wi-Fi 信號堆積導致的定位誤差,同時降低PDR 誤差累積的影響,提高行人運動狀態下的連續定位精度,進一步提高系統整體定位性能。

圖11 定位誤差CDF 曲線對比Fig.11 Comparison of CDF curves of position errors

表4 為不同定位法的平均定位誤差。相較于PDR 和BP-AdaBoost-PSO,本文方法的平均定位誤差在定位場景1 中分別降低了50.4%和25.7%,在定位場景2 中分別降低了52.1%和24.7%,均具有更優的定位性能。

表4 融合定位的平均定位誤差Table 4 Average position errors of fusion positioning algorithms m

5 結 論

1)基于Wi-Fi 約束的地磁定位算法的定位精度較傳統k-NN 算法大幅提升。

2)優化后的BP-AdaBoost-PSO 算法能夠在保證定位性能的同時,降低算法耗時。

3)不同場景下的定位性能仿真結果顯示,本文方法能夠較好解決行人運動狀態下定位的連續性和穩定性問題。

本文方法有效降低了行人運動狀態下由地磁誤匹配、Wi-Fi 信號堆積和PDR 誤差累積導致的定位誤差,實現了在復雜室內環境下的精確連續定位,為解決行人室內定位問題提供了一種新的思路。

猜你喜歡
神經網絡定位誤差
角接觸球軸承接觸角誤差控制
《導航定位與授時》征稿簡則
Beidou, le système de navigation par satellite compatible et interopérable
Smartrail4.0定位和控制
神經網絡抑制無線通信干擾探究
壓力容器制造誤差探究
找準定位 砥礪前行
基于神經網絡的拉矯機控制模型建立
九十億分之一的“生死”誤差
復數神經網絡在基于WiFi的室內LBS應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合