劉 宇,王偉偉,邸 克,路永樂
(重慶郵電大學光電工程學院,重慶 400065)
隨著科學技術的快速發(fā)展,研究學者對行人導航定位技術進行了許多研究。目前較為成熟的行人導航定位技術主要有:GPS定位技術[1]、WiFi定位技術[2]、UWB(Ultra Wideband,超寬帶)定位技術[3]、地磁定位技術[4]、PDR定位技術[5]、藍牙定位技術[6]等。由于單一的定位技術無法實現(xiàn)行人室內外無縫定位,因此,提供能夠連接室內外環(huán)境的無縫定位服務已成為一個關鍵問題[7]。目前,針對室內外無縫定位技術,國內外許多研究學者進行了相關研究。文獻[8]提出了一種基于GPS/WiFi的定位算法,該算法可以減少頻繁出入室內外所導致的位置估計所需時間,但是WiFi定位信號不穩(wěn)定容易受到周邊環(huán)境的影響,并且WiFi定位需要耗費大量的采集工作。文獻[9]提出了一種基于GPS/UWB的融合定位技術,該系統(tǒng)可以實現(xiàn)室內外定位,但是需要提前部署基站,成本高,不易于大范圍的推廣。文獻[10]提出了基于自適應加權算法的WLAN/MARG/GPS組合定位系統(tǒng),雖然能夠實現(xiàn)室內外無縫定位,但算法復雜度過大。文獻[11]提出了基于GPS與Wi-Fi的室內外無縫定位原型系統(tǒng),通過引入alpha-count方法來增加室內外切換的平滑性以及可靠性,但是WiFi指紋定位同樣存在數據庫采集工作量大。文獻[12]提出了GPS/PDR的組合定位濾波方法,利用無跡卡爾曼濾波算法對GPS和PDR數據進行融合,但是由于UKF濾波器采用的假定信號噪聲為高斯白噪聲,容易導致濾波結果出現(xiàn)偏差。
針對上述問題,本文結合GPS定位技術和PDR定位技術兩者的優(yōu)勢,提出了一種基于PDR和GPS的室內外無縫定位系統(tǒng),并加以仿真驗證,從而實現(xiàn)室內外無縫定位。
本文研究的基于模擬退火優(yōu)化BP神經網絡的室內外無縫定位方法,整體方案如下:第一,針對GPS和PDR定位結果處于不同坐標系下難以進行融合的問題,在進行數據融合前進行坐標系的轉化;第二,建立算法模型,并對其進行仿真;第三,使用模擬退火優(yōu)化后的神經網絡對PDR與GPS定位結果進行室內外融合定位。該方案可以有效降低PDR定位隨時間而產生的累計誤差,并且解決GPS定位易受外界影響導致定位不連續(xù)的問題,實現(xiàn)為行人提供長時間高精度的室內外無縫定位的效果。系統(tǒng)整體方案如圖1所示。

圖1 系統(tǒng)整體方案圖
PDR定位算法可以通過慣性測量單元測出的傳感器數據結合用戶上一時刻狀態(tài)的位置信息來推算出下一時刻狀態(tài)的用戶具體位置。該方法需要根據步態(tài)特征,建立相應的步頻、步長估算數學模型。之后,再結合航向角及初始位置這兩項相關信息數據進行解算,便可完成位置的遞歸計算,進一步推算出行人的當前位置,從而進行定位。由于速度的航向信息和姿態(tài)信息在行進過程中會出現(xiàn)偏差,這也是導致PDR算法存在累積誤差的主要原因。PDR定位算法的原理如圖2所示。PDR定位算法的推導公式如式(1)所示。

(1)

圖2 PDR 算法原理圖
其中,(xk,yk)為第k步的位置坐標,(x0,y0)為初始位置坐標,Si代表第i步的步長,由步長估計模型獲得,θi為第i步的航向。
為了優(yōu)化BP神經網絡的權值,加快神經網絡的收斂速度以及避免其陷入局部最優(yōu)解,本文提出了一種基于模擬退火優(yōu)化BP神經網絡的室內外無縫定位算法,對PDR定位結果和GPS定位結果向真實位置坐標方向進行訓練,從而獲得最優(yōu)組合定位結果。
在使用BP神經網絡對PDR定位結果坐標和GPS定位結果坐標進行訓練之前,必須先將GPS與PDR兩者的位置坐標轉換到同一坐標系下。本文采取將GPS所使用的WGS-84坐標系下的定位結果坐標轉換為PDR所使用的東北天坐標系坐標,然后作為BP神經網絡的輸入。轉換方法為:先將GPS的坐標(L,B,H)轉換為地球直角坐標(X,Y,Z);再將地球直角坐標(X,Y,Z)轉換為東北天坐標(E,N,U)。具體轉換公式如下所示

(2)


(3)
其中,(X0,Y0,Z0)為行人起始點的地球直角坐標,(Xi,Yi,Zi)為第i時刻的地球直角坐標,(Xi0,Yi0,Zi0)為行人相對起始點的相對位移。

(4)
其中,(Ei,Ni,Ui)為第i時刻的東北天坐標。
4.2.1 BP神經網絡建模
圖3是由輸入層、隱含層和輸出層組成的典型三層BP神經網絡。

圖3 典型三層BP神經網絡
其中,Wij為輸入層到隱含層的權向量,Wjl為隱含層到輸出層的權向量。
神經網絡中各層節(jié)點的激活函數設置為最常用的ReLU(Rectified Linear Unit)函數

(5)
用大寫字母I、J、L分別表示輸入層、隱含層和輸出層,用上標in、out分別表示輸入和輸出,用下標i、j、l分別表示輸入層、隱含層和輸出層的第i、j、l個節(jié)點。
則各層的輸入輸出分別為

(6)

(7)

(8)

(9)

(10)

4.2.1 確定神經元個數
將本文所研究的室內外無縫定位中的PDR定位結果坐標(xpi,ypi)和GPS定位結果坐標(xgi,ygi)作為神經網絡的輸入層,融合后的坐標作為神經網絡的輸出層。因此,神經網絡的輸入層神經元個數為4,輸出層神經元個數為2。隱含層的神經元個數根據經驗式(11)確定。

(11)
式中,m為隱含層神經元數量,n為輸入層神經元數量,l為輸出層神經元數量,a為1-10之間的常數。因此,神經網絡隱含層的神經元個數設置為8。
SA 算法模擬固體的退火過程,可以分為:加熱、等溫和降溫三個過程。SA算法在等溫過程中可以以一定概率接受部分惡化解,從而避免陷入局部最優(yōu)解,使得算法最終尋得全局最優(yōu)解。因此,本文利用模擬退火對神經網絡的權值進行優(yōu)化,從而避免BP神經網絡陷入局部極小值,達到對BP神經網絡進行優(yōu)化。算法主要步驟為:
步驟1:算法初始化。
設置初始溫度T0,馬爾科夫鏈的長度L,構建BP神經網絡,隨機設置神經網絡的權值并得出初始解向量S0。
步驟2:擾動。
在第k步,根據如式(12)所示的擾動函數由前一個解向量Sk產生新解Sk+1。
f(k+1)=f(k)+ηξ
(12)
其中,η為擾動幅度,ξ為隨機擾動變量。
步驟3:計算增量。
計算Sk+1的增量dE=E(Sk+1)-E(Sk),其中E(Sk)為E(Sk)對應的平方誤差。
步驟4:Metropolis接收判斷
根據如式(13)所示的Metropolis準則判斷是否接受新解。如果增量dE<0,則以概率1接收新解。否則首先在區(qū)間[0,1]產生一個均勻分布的隨機數ε,如果ε

(13)
步驟5:內循環(huán)終止判斷
本文選用時齊模擬作為內循環(huán)的判斷條件。即將每一溫度下的馬爾科夫鏈長度L遍歷完時在進行降溫操作。
步驟6:降溫
本文選用應用較多的如式(14)所示溫度衰減函數進行降溫操作。
Tk+1=αTk(k=0,1,2,3…)
(14)
其中,Tk為溫度下降K次的溫度,Tk+1為經過一次降溫后的溫度;α∈(0.5,0.99)中的任一常數。
步驟7:外循環(huán)終止判斷
本文選用循環(huán)總數控制法作為外循環(huán)的判斷條件。即設定溫度下降的總次數,當循環(huán)次數達到總次數時,結束算法,否則跳回到步驟2。
最終得到SA優(yōu)化BP神經網絡的算法流程圖如圖5所示。

圖4 SA-BP 算法流程圖
為了驗證模擬退火算法優(yōu)化后的BP神經網絡的性能,本文使用事先采集好的一組PDR定位和GPS定位的Y軸坐標數據進行融合仿真分析。訓練樣本采集自場景為GPS信號良好的一條 550m長的直線區(qū)域,具體采樣規(guī)則如表1。仿真時使用的BP神經網絡結構為2-6-1,即輸入層的神經元節(jié)點個數為2個,隱含層的神經元節(jié)點個數為6個,輸出層的神經元節(jié)點個數為1個。

表1 訓練數據采樣規(guī)則
1)未優(yōu)化的BP神經網絡的訓練輸出及誤差
使用未優(yōu)化的BP神經網絡得到的Y軸坐標訓練輸出和訓練誤差曲線分別如圖5和圖6所示。

圖5 未優(yōu)化的BP神經網絡訓練輸出

圖6 未優(yōu)化的BP神經網絡誤差曲線
2)SA優(yōu)化后的BP神經網絡訓練輸出及誤差
使用SA算法優(yōu)化后的BP神經網絡得到的Y軸坐標訓練輸出和訓練誤差曲線分別如圖7和圖8所示。

圖7 SA優(yōu)化后的BP神經網絡訓練輸出

圖8 SA優(yōu)化后的BP神經網絡誤差曲線
從圖7和圖8可以看出,使用SA優(yōu)化BP神經網絡的預測結果更加精確,并且優(yōu)化后的平均絕對誤差為0.568m,而未優(yōu)化的平均絕對誤差為1.837m,預測平均絕對誤差降低了約69%,驗證了該融合算法的可行性。
為了對本文提出的基于SA優(yōu)化BP神經網絡的室內外無縫定位算法進行驗證,選取某室內外場景進行了實驗。在進行實驗前,先從高德地圖獲取到實驗區(qū)域的衛(wèi)星圖,并在圖上標出實驗行走路線,實驗行走路線為A-B-C-D-E-F-G-H-A,其中A-B段和H-A段是室外環(huán)境,B-C-D-E-F-G-H為室內環(huán)境。具體實驗行走路線和實驗使用的設備如圖9所示。實驗過程中,將PDR定位設備固定于行人后腰正中央,GPS固定于行人的右肩,設備采集的數據以txt保存在筆記本電腦上,最后使用MATLAB對采集得到的實驗數據進行處理分析,可以得到不同定位方式的結果對比圖如圖10所示。

圖9 實驗路線和實驗設備圖

圖10 不同定位方法的結果對比
從圖10可用看出,PDR定位方法在一開始擁有較好的精度,但是隨著時間的推移,誤差不斷變大,當回到原點的時候,定位精度已經無法滿足定位需求。而SA-BP算法融合得到的定位精度誤差隨時間的推移變化不大,滿足定位需求。
通過對數據進行分析處理,可以得出不同定位方式的平均誤差如表2。從下表可以看出,使用 SA-BP 算法處理后得到的定位精度比單一PDR定位精度提升了約55.11%。

表2 不同定位方式的平均誤差
為了解決行人在室內外移動定位不連續(xù)以及定位精度低的問題,本文提出了一種基于模擬退火算法優(yōu)化BP神經網絡的室內外無縫定位算法。本文所提出的算法具有計算量小和簡單易實現(xiàn)的優(yōu)點。采用SA算法對BP神經網絡的權值進行優(yōu)化,從而避免其陷入局部最優(yōu)解,并通過仿真驗證得到其平均絕對誤差下降了約69%,通過實驗驗證其定位精度可以達到1.089%,較單一PDR定位精度提升了約55.11%。通過使用該算法,可以解決PDR定位累計問題以及GPS定位不連續(xù)問題,從而實現(xiàn)行人室內外無縫定位。