張榜 朱金鑫 徐正蓺 劉盼 魏建明
摘 要:針對在室內(nèi)定位導航過程中單獨依賴行人高度位移推測樓層位置誤差較大的問題,提出一種基于貝葉斯網(wǎng)絡的樓層定位算法。該算法先是利用擴展卡爾曼濾波(EKF)對慣性傳感器數(shù)據(jù)和氣壓計數(shù)據(jù)進行融合,計算出行人垂直位移;然后利用誤差補償后的加速度積分特征對行人在樓梯中的轉(zhuǎn)角進行檢測;最后,利用貝葉斯網(wǎng)絡融合行人行走高度和轉(zhuǎn)角信息推測行人在某一層的概率,從而將行人定位在建筑物中最可能出現(xiàn)的樓層上。實驗結果表明,與基于高度的樓層定位算法相比,所提算法的樓層定位準確率提升6.81%;與平臺檢測算法相比,該算法的樓層定位準確率提升14.51%;所提算法在總共1247次樓層變換實驗中,樓層定位準確率達到99.36%。
關鍵詞:室內(nèi)定位;樓層定位;貝葉斯網(wǎng)絡;擴展卡爾曼濾波;轉(zhuǎn)角檢測
中圖分類號:?TP212.9
文獻標志碼:A
Bayesian network-based floor localization algorithm
ZHANG Bang1,2, ZHU Jinxin1,3, XU Zhengyi1,2*, LIU Pan1,2, WEI Jianming1
1.Shanghai Advanced Research Institute, Chinese Academy of Sciences,Shanghai 201210,China ;
2.University of Chinese Academy of Sciences,Beijing 100049,China ;
3.School of Communication and Information Engineering, Shanghai University, Shanghai 200444, China
Abstract:?In the process of indoor positioning and navigation, a Bayesian network-based floor localization algorithm was proposed for the problem of large error of floor localization when only the pedestrian height displacement considered. Firstly, Extended Kalman Filter (EKF) was adopted to calculate the vertical displacement of the pedestrian by fusing inertial sensor data and barometer data. Then, the acceleration integral features after error compensation was used to detect the corner when the pedestrian went upstairs or downstairs. Finally, Bayesian network was introduced to locate the pedestrian on the most likely floor based on the fusion of walking height and corner information. Experimental results show that, compared with the floor localization algorithm based on height displacement, the proposed algorithm has improved the accuracy of floor localization by 6.81%; and compared with the detection algorithm based on platform, the proposed algorithm has improved the accuracy of floor localization by 14.51%. In addition, the proposed algorithm achieves the accuracy of floor localization by 99.36% in the total 1247 times floor changing experiments.
Key words:?indoor positioning; floor localization; Bayesian network; Extended Kalman Filter (EKF); corner detection
0 引言
近年來,基于位置的服務(Location Based Service, LBS)已經(jīng)應用到很多室內(nèi)場景。比如,生活中老人和小孩位置的實時監(jiān)控、應急情況下救援人員的快速救援、大型商場中的實時定位與導航等。這些服務和功能的實現(xiàn)依賴于精確的室內(nèi)定位技術,但現(xiàn)有的室內(nèi)定位技術還無法滿足人們對室內(nèi)定位的需求,為此,眾多科研人員投身于室內(nèi)定位技術的研究。
當前主流的室內(nèi)定位技術主要有Wi-Fi技術[1]、Zigbee[2]、超寬帶技術[3]、射頻識別[4]等,這些技術雖然定位精度較高,但在使用前需要預先部署設施,耗費大量的成本;而且在發(fā)生突發(fā)情況時,這些技術難以及時發(fā)揮作用。
近年來,隨著微機電系統(tǒng)(Micro Electro Mechanical System,MEMS)的不斷發(fā)展,基于慣性測量單元(Inertial Measure Unit, IMU)的行人航位推算(Pedestrian Dead Reckoning,PDR)[5]因其不需要事先部署設備的優(yōu)點而得到了研究人員的關注。但是,由于PDR存在累計誤差,這使得整個系統(tǒng)的可靠性受到運行時間的影響。為了減少累計誤差對系統(tǒng)的影響,大量的研究集中在二維空間上[6-7]。然而,在復雜的建筑物中,垂直方向上的信息往往更加重要,一層樓的定位誤差遠比幾米的水平定位誤差嚴重得多。因此,精確的樓層定位是實現(xiàn)室內(nèi)三維定位的基礎。然而,目前大部分的樓層定位方法都是依賴于Wi-Fi信號[8-9]定位,這種方法需要花費大量的人力物力部署節(jié)點,實用性不高。所以,利用慣性傳感器對樓層進行定位有著非常高的實用價值。
目前,對樓層定位技術的研究主要有兩種方法:一種是依賴行人在室內(nèi)的某些特征建立特征地圖,然后對當前樓層的信號(如接受信號強度、氣壓值等)進行匹配,從而確定行人所處的樓層位置;另一種方法是利用可穿戴式傳感器件檢測行人在運動過程中的過程量,如高度、行走時間等,從而確定行人所處的樓層。
文獻[10]中提出了一種利用全球移動通信系統(tǒng)(Global System for Mobile communication,GSM)定位用戶所處樓層的方法,該方法利用接收到的GSM信號建立一個室內(nèi)信號圖,然后在定位階段對行人接收到的GSM信號與預先建立的地圖進行匹配,從而得到該行人所處的樓層位置。該方法的樓層定位準確率達到73%,將行人定位在兩層間的準確率可達95%。
文獻[11]中利用Wi-Fi信號度對行人的樓層位置進行定位。該方法分為離線和在線定位階段:離線階段利用收集到的行人Wi-Fi信號建立指紋地圖;在線定位階段則將客戶端接收到的Wi-Fi信號強度與創(chuàng)建的指紋地圖進行匹配,進而確定行人當前的樓層位置。
文獻[12]中利用氣壓計建立建筑物的氣壓值地圖,將行人的實時氣壓值與事先建立的氣壓地圖進行比對進而推測行人的樓層位置。該方法在校準氣壓計和建立完整的氣壓地圖后,樓層定位準確率達到98%;但是,同一個位置的氣壓值是不斷變化的,這種方法需要對氣壓計進行實時、準確的校準。
文獻[13]中采用多個氣壓計進行樓層定位。該方法在建筑物中設置多個氣壓計作為參考,然后將行人的實測氣壓與觀測點的氣壓進行比對以得到行人的樓層位置。該方法可以直接根據(jù)測量結果進行樓層定位,無需計算,但需要事先校準參考點的氣壓計。
除此之外,還有一些基于可穿戴式的樓層識別定位算法[14-15]。文獻[16]中首先利用氣壓計測量數(shù)據(jù)估計行人的高度位移,然后利用估計的高度位移和已知的建筑物層高信息推測行人的樓層位置。該方法計算復雜度低,容易實現(xiàn),但是對垂直方向的高度計算依賴性很高,并且對建筑物的層高先驗信息的精度要求也很高,如果層高信息不夠準確,很可能發(fā)生樓層定位錯誤。
文獻[17]中提出了一種根據(jù)行人在樓梯間的轉(zhuǎn)角數(shù)推測行人所在樓層變化的算法。該算法首先利用加速度方差檢測行人在上下樓時經(jīng)過的轉(zhuǎn)角數(shù),同時利用行人行走的方向信息有效濾除轉(zhuǎn)角的誤檢情況。在樓層定位時,該算法假設任意相鄰兩層之間的轉(zhuǎn)角數(shù)為2,但在實際生活中可能出現(xiàn)轉(zhuǎn)角數(shù)不固定的情況,如果依舊按照轉(zhuǎn)角數(shù)為2的假設進行樓層定位,錯誤率會很大。
綜上所述,目前依賴于輔助設備的行人樓層位置識別需要在建筑物中進行大量的數(shù)據(jù)采集建立指紋庫,不便于實際應用。基于可穿戴式傳感器的樓層定位算法實際應用價值更高,但依然存在一些弊端。
本文針對基于高度的樓層識別算法存在累計誤差和基于平臺檢測算法對建筑物結構要求高的問題,提出了一種基于貝葉斯網(wǎng)絡的樓層定位算法來定位行人的樓層位置。在算法的整體設計上,首先利用PDR框架下的擴展卡爾曼濾波(Extended Kalman Filter, EKF)方法得到行人在垂直方向的位移,同時根據(jù)轉(zhuǎn)角檢測算法計算行人在上下樓過程中經(jīng)過的轉(zhuǎn)角數(shù);然后利用貝葉斯網(wǎng)絡模型融合行人高度位移和樓梯轉(zhuǎn)角信息,推測行人所在的樓層位置。
實驗部分通過腰間佩戴定位模塊在三棟建筑物內(nèi)由不同測試人員多次進行樓層定位實驗,結果表明所提算法在實際應用中具有較高準確性和較強的穩(wěn)定性。
1 基于EKF的高度位移估計
在對垂直位移進行估計時,單獨利用氣壓測高法或者慣性積分法的計算精度有限,而結合這兩種方法能夠有效提高高度估計的精度和穩(wěn)定性,進一步提升樓層定位的魯棒性。具體方法可參考文獻[18],下面簡要給出高度估計的流程。
1.1 氣壓測高法
大氣氣壓與海拔存在著一定的關系,因此可以根據(jù)氣壓計測量值推測當前的海拔高度??紤]到實際氣壓的不穩(wěn)定性,一般利用差分氣壓計算相對的高度位移。其中氣壓與行人的高度關系為:
Hp=44330×[1-(P/P0)0.19026]
(1)
其中:P為測量氣壓,Hp為測量氣壓對應的絕對高度(單位:m);P0為海平面標準氣壓1013.25hPa。通過式(1)計算兩個位置的高度差,高度差為:
ΔH=Hp2-Hp1
(2)
其中,Hp1和Hp2分別為通過氣壓值計算的初始位置高度和最終位置高度。
1.2 慣性積分法
理論上,通過計算行人在垂直加速度的二重積分可以得到高度位移。假設行人在運動時的垂直加速度為ausr,通過積分可以得到垂直速度:
νs=νs-1+(as-1+as)Δts/2
(3)
其中:as-1和as分別代表在第s-1和第s個采樣點行人的垂直加速度;νs-1和νs分別表示第s-1,s個采樣點的速度;Δts為采樣間隔。
通過分析行人的運動特點發(fā)現(xiàn),行人的重心達到最高點時垂直速度為0,但由于傳感器自身誤差的原因,實際計算出來的速度并不為0。本文在計算過程中對其進行補償。最后的高度位移計算為:
hs=hs-1+(νs-1+νs)Δts/2
(4)
其中,hs-1和hs分別為s-1和s時刻的高度。
1.3 EKF融合估計
考慮到氣壓計的不穩(wěn)定性以及加速度計易受噪聲影響,本文利用EKF對氣壓值和垂直加速度進行融合。行人的高度可由之前的加速度通過雙重積分計算得到,這里將系統(tǒng)狀態(tài)方程建立為:
H??? ~?? i= H??? ^?? i-1+f?? ~?? ( sa i)
(5)
其中: H??? ~?? i是對第i時刻的行人高度的先驗估計; H??? ^?? i-1是第i-1時刻對行人高度的后驗估計; sa i=[a1,a2,…,ai]T為指定時間段內(nèi)的加速度向量; f?? ~?? (·)是相對高度計算公式,可由式(3)和(4)計算得到。
其中, P??? ^?? i-1是在i-1時刻的后驗誤差協(xié)方差矩陣,
F??? ~?? i= f?? ~?? ? sa i 是在 sa = sa i時的雅可比矩陣。
根據(jù)式(2)可以計算兩個位置的高度差,在行人起始高度已知的情況下可以求得任意位置的高度,則測量方程為:
Hi=ΔH
(7)
根據(jù)系統(tǒng)的狀態(tài)估計噪聲協(xié)方差和測量方差 R Q可得出卡爾曼增益為:
K i= P??? ~?? i( P??? ~?? i+ R Q)-1
(8)
其中:噪聲方差 R Q=? δ2a? 00? δ2b ?,δ2a和δ2b分別表示加速度計和氣壓計的噪聲方差。則行人高度的最優(yōu)估計為:
H??? ^?? i= ?H??? ~?? i+ K i( H ?P i- H??? ~?? i)
(9)
其中誤差協(xié)方差矩陣更新為:
P i= P??? ~?? i- K i P??? ~?? i
(10)
在空氣溫度、風速等特征變化大,以及行人運動噪聲大的情況下,所采用的高度估計算法依舊能夠保持一定的穩(wěn)定性。
2 轉(zhuǎn)角檢測
對于特定的建筑物,行人在樓梯中經(jīng)過的轉(zhuǎn)角可以作為上下樓過程中的一個重要特征。首先,行人在樓梯中經(jīng)過的轉(zhuǎn)角數(shù)量不受行人的運動特征,如步頻、步長等因素影響。無論行人以何種速度運動,其經(jīng)過的轉(zhuǎn)角數(shù)量不會改變。其次,行人在樓梯中經(jīng)過的轉(zhuǎn)角不受行人運動習慣的影響,行人的運動方式和習慣不會改變其經(jīng)過的轉(zhuǎn)角數(shù)量。再者,樓梯中的轉(zhuǎn)角是固定不變的。在建筑物中,樓梯中的轉(zhuǎn)角位置和數(shù)量都是固定的。最后,轉(zhuǎn)角數(shù)量只能為整數(shù),并且比行人的步伐數(shù)量級更小,更方便計數(shù)。
本文提出一個有效檢測行人轉(zhuǎn)角的方法,并利用文獻[17]中提出的轉(zhuǎn)角修正算法修正本文提出的轉(zhuǎn)角檢測算法。該方法先將加速度積分得到行人運動中的速度,并利用行人的運動特征補償噪聲,利用補償噪聲后的速度積分得到的高度位移檢測行人的轉(zhuǎn)角。
圖1為同一組數(shù)據(jù)的加速度方差和根據(jù)提出的加速度積分方法得到行人高度位移方差對比。在該組數(shù)據(jù)中,圖(a)為行人在樓梯的轉(zhuǎn)角處的加速度方差,圖(b)為相應加速度經(jīng)過補償后的方差。此次運動的路徑為從建筑物2樓經(jīng)過樓梯到4樓再返回2樓。如圖中的虛線所示,當檢測到方差下降和上升的趨勢時為經(jīng)過一個轉(zhuǎn)角。根據(jù)圖中的曲線可以看出行人一共經(jīng)過了11個轉(zhuǎn)角。
由于行人在樓梯轉(zhuǎn)角處運動幅度小,同時行走方向也會發(fā)生180°的轉(zhuǎn)變,利用這一信息可以對誤檢的轉(zhuǎn)角進行修正。如果行人在上下樓梯的過程中多檢測到轉(zhuǎn)角,可以利用方向信息進行修正。如圖2中的矩形框所示,即使行人在此時檢測到一個轉(zhuǎn)角,但是其行走方向并沒有發(fā)生明顯變化,所以可以判斷行人未經(jīng)過轉(zhuǎn)角。圖2中:點線表示行人前進方向,單位為π;實線為利用加速度方差信息檢測的轉(zhuǎn)角信息;虛線為使用轉(zhuǎn)角修正算法得到的轉(zhuǎn)角檢測結果。
3 貝葉斯模型
在建筑物結構不滿足假設時,利用轉(zhuǎn)角推測行人的樓層算法會產(chǎn)生很大的誤差,甚至完全無法使用。為了得到精確的樓層定位數(shù)據(jù),本文利用貝葉斯網(wǎng)絡融合行人行走高度和轉(zhuǎn)角信息推測行人所在樓層位置。本文算法在建筑物信息模糊的前提下,能夠有效推測行人的樓層位置。圖3為本文提出的樓層位置判斷算法流程。本章首先介紹本文使用的貝葉斯網(wǎng)絡模型,然后通過對該模型的各變量和概率進行分析,得到定位行人在建筑物任意一層的概率計算方法,從而定位行人的樓層位置。
3.1 定位模型
圖4為本文提出算法的貝葉斯網(wǎng)絡圖,本文提出的行人樓層識別算法共有3個節(jié)點:Di代表根據(jù)行人高度推測的行人樓層是否在第i層,若推測行人處于建筑物的第i層,則將Di置為True,否則Di為False;Ti代表根據(jù)行人路過的轉(zhuǎn)角數(shù)推測行人樓層是否在第i層,若推測行人處于第i層,則Ti置為True,否則Ti為False;Fi代表根據(jù)行人行走高度和轉(zhuǎn)角數(shù)推測行人是否在第i層,若推測行人在第i層,將Fi置為True,否則將Fi置為False。此時,問題就轉(zhuǎn)化為根據(jù)估計行人高度和行人路過的轉(zhuǎn)角數(shù)推測行人可能出現(xiàn)在第i層的概率。
本文所提算法是要根據(jù)高度信息和轉(zhuǎn)角信息確定概率最大的樓層。當建筑物有N層時,需要先計算行人在每一層分別所對應的概率;然后最大化樓層后驗概率:
fMAP=arg max P(fi | h,t)
(11)
其中:fi代表樓層,h表示垂直方向位移,t代表路過的轉(zhuǎn)角數(shù)。根據(jù)貝葉斯公式可將式(11)改寫為:
fMAP=arg max(P(h,t | fi)P(fi))
(12)
這里假設建筑物中高度和轉(zhuǎn)角數(shù)相互獨立,則根據(jù)樸素貝葉斯原理,將式(12)改寫為:
fMAP=arg max(P(h | fi)P(t | fi)P(fi))
(12)
此時求解最大化樓層后驗概率問題就轉(zhuǎn)化為求解條件概
率分布(Conditional Probability Table, CPT)P(h fi )、P(t fi )
以及先驗概率P(fi)。具體利用貝葉斯網(wǎng)絡推測行人樓層概
率流程如圖5所示。
3.2 概率求解
根據(jù)3.1節(jié)定位模型所述,假設行人行走高度與樓層之間的關系服從高斯分布,則Di節(jié)點對應的條件概率矩陣為:
P (Di)=
1? 2π σh ?exp - (h-Hi)2 2σ2h ???1- 1? 2π σh ?exp - (h-Hi)2 2σ2h
1- 1? 2π σh ?exp - (h-Hi)2 2σ2h ????1? 2π σh ?exp - (h-Hi)2 2σ2h
(14)
其中:Hi是高斯分布的均值,其值為行人運動到第i層的高度變化,即行人從出發(fā)層到第i層的行走高度,它由建筑物的層高信息計算得到;σh是高斯分布的標準差,當行人實際處于建筑物的第R層中時,貝葉斯模型推測的結果應該與行人在第R層的概率對應,即在R層上的概率最大。
由于行人經(jīng)過的轉(zhuǎn)彎數(shù)是離散的,本文中為了保證連續(xù)性,假設行人的轉(zhuǎn)角數(shù)的倒數(shù)和行人所處樓層的概率之間服從高斯分布。則Ti節(jié)點對應的條件概率矩陣可表示為:
P (Ti)=
1? 2π σt ?exp - (t-Ai)2 2σ2t ??1- 1? 2π σt ?exp - (t-Ai)2 2σ2t
1- 1? 2π σt ?exp - (t-Ai)2 2σ2t???? 1? 2π σt ?exp - (t-Ai)2 2σ2t
(15)
其中:Ai為行人從出發(fā)層到第i層時經(jīng)過的轉(zhuǎn)角數(shù)的倒數(shù),σt為高斯分布的標準差。同樣,當行人實際處于建筑物的第R層中時,貝葉斯模型推測的應為行人在第R層的概率最高。
圖6為方差與行人處于R層的概率關系。虛線表示σh與行人處于R層的概率關系,從中可以看出,當σh取值在0到0.11之間時,行人處于R層的概率相同且為最高,加號表示概率最大的點(0.11,1.0)。于是在本文中將σh值設為0.11。
實線為σt與行人處于R層的概率關系,從中可以看出,當σt的值為0.3時行人處于R層的概率最高,即星號點(0.3,0.997)標注的位置,因此,本文中將σt的值設置為0.3。在確定σh和σt后,即可求取P(h | fi)和P(t | fi)。
最后,關于先驗概率P(fi),因為當一個行人從建筑物的某一層出發(fā),經(jīng)樓梯進行上下樓運動后,他出現(xiàn)在建筑物的任何一層的概率滿足均勻分布。所以,P(fi)為:
P(fi)= 1 N ; i=1,2,…,N
(16)
根據(jù)前面的概率分析和貝葉斯公式即可求得行人在建筑物的第i層的概率。為了推斷行人最有可能出現(xiàn)的樓層,需要對行人所以可能出現(xiàn)的樓層進行建模。對于一個N層的建筑物,需要建立N個貝葉斯模型,分別利用貝葉斯模型求得行人位于每一層的概率,然后根據(jù)這個概率對行人的樓層進行定位。
4 實驗分析
4.1 實驗環(huán)境
本文的實驗平臺采用實驗室現(xiàn)有數(shù)據(jù)的采集模塊。實驗時,硬件設備佩戴于實驗人員腰部正后方,如圖7所示。實驗平臺包含的傳感器有:三軸加速度計、三軸陀螺儀、三軸磁力計以及氣壓計。
為了更好地評價本文提出的算法,本文選取三個不同特征的建筑物進行數(shù)據(jù)的采集和實驗。這三個實驗場地分別為:學生宿舍、辦公樓A和辦公樓B。學生宿舍為一個15層的高層建筑,第一層層高為4m,第一層和第二層間的樓梯共有3個轉(zhuǎn)角,其余樓層的層高均為3m,相鄰兩層間的樓梯有2個轉(zhuǎn)角。這個建筑物環(huán)境相對封閉,人流量較小。
辦公樓A共6層,層高均為4.5m,相鄰兩層間的樓梯有2個轉(zhuǎn)角。這個建筑物環(huán)境較為封閉,人流量小。
辦公樓B共5層,其第1、2層的層高均為5.4m,層間轉(zhuǎn)角數(shù)為4,第三層到第五層的層高均為3.6m,層間轉(zhuǎn)角數(shù)為2。這個辦公樓的環(huán)境相對開闊,人流量較大。
4.2 實驗分析
圖8為上述實驗的三維圖。在該實驗中,行人從辦公樓B的三層出發(fā),經(jīng)過兩個轉(zhuǎn)角上樓到達四層,在四層走廊行走2min,然后經(jīng)兩個轉(zhuǎn)角到達五層,在五層走廊行走2min后,經(jīng)樓梯回到三層。圖8中:實線路徑為行人在走廊行走的路徑,虛線路徑為行人在樓梯上行走的路徑,圓點為出發(fā)點,星號表示終點。圖中行人的二維路徑是根據(jù)航位推算算法計算得到的,因本文主要研究行人的垂直方向運動,有關航位推測算法的內(nèi)容在此不再詳述。
圖9為本次實驗的仿真結果,其中實線為氣壓計通過式(1)和(2)計算出來的結果,可以看出其計算出來的高度結果波動明顯;
點線為行人的真實高度;虛線為利用本文所用的高度融合算法估計出來的結果,其結果與實際的高度變化非常接近;
點劃線為本文提出的基于貝葉斯網(wǎng)絡的樓層定位算法估計出來的行人實際樓層變化情況。從中可以看出本文提出的樓層定位算法在行人處于上樓或者下樓的運動時,不會對其樓層進行定位,僅對其高度進行估計,當判斷行人已經(jīng)離開樓梯到達某一層時才對行人所在的樓層進行定位。
為了將本文提出的樓層定位算法和目前已經(jīng)存在的一些定位算法進行對比,在上述三個建筑物中進行了大量的對比實驗。
對比算法包括:基于高度的樓層定位算法和平臺檢測算法?;诟叨鹊臉菍佣ㄎ凰惴蠢眯腥说男凶吒叨龋瑢⑿腥说母叨瘸詷菍痈叨燃纯傻贸鲂腥说臉菍幼兓瘮?shù);平臺檢測算法則利用行人經(jīng)過的轉(zhuǎn)角數(shù)對行人的樓層變化進行判斷,這種算法假設建筑物中兩層間的轉(zhuǎn)角數(shù)均為2。
實驗人員被要求在這三個建筑物中隨機走動并記錄下他們的實際路線。為了保證能夠充分地考慮到實際使用中遇到的各種情況,實驗中要求實驗人員的路徑中必須包括整個建筑物的所有樓層。
為了評價本文提出的定位算法,10個年齡在20~30歲、身高在160~183cm的實驗人員分別在三個不同的建筑中進行了實驗。本次實驗中有3名女性和7名男性,實驗結果如表1所示。
在學生宿舍進行的樓層定位實驗中,10個實驗人員共進行了476次樓層變化。在這些實驗中,平均定位準確率為99.16%。針對不同的身高、體重和運動特征的實驗人員,本文提出的樓層定位方法定位準確率均在98.5%以上。
在辦公樓A進行的樓層定位實驗中,10名實驗人員共進行了284次樓層變化,平均定位準確率為99.30%。針對不同的身高、體重和運動特征的實驗人員,本文提出的樓層定位方法定位準確率均在98.5%以上。
在辦公樓B進行的樓層定位實驗中,10名實驗人員共進行了487次樓層變化,平均定位準確率為99.60%。針對不同的身高、體重和運動特征的實驗人員,本文提出的樓層定位方法定位準確率均在98.5%以上。
在本次實驗中,對于每一個實驗人員,本文算法對行人樓層識別的準確率均在98.50%以上。本次實驗總共發(fā)生1247次樓層變換,在實驗中一共出現(xiàn)了8次樓層定位錯誤,定位準確率可達99.36%。
對這8次樓層定位出錯的數(shù)據(jù)進行分析發(fā)現(xiàn),之所以出現(xiàn)樓層判斷錯誤的原因有:1)氣壓計跳變問題,即氣壓計在短時間內(nèi)發(fā)生急劇跳變,使得本文所依賴的高度估計算法出現(xiàn)較大偏差,這里的氣壓計跳變問題與測試時所用的氣壓計傳感器自身因素有關;2)上下樓中的停留問題,如果行人在上下樓過程中長時間停留,本文算法會在行人停留時進行樓層判斷,并更新當前行人的樓層位置,結果導致樓層計算出錯;3)測試人員佩戴數(shù)據(jù)采集模塊時腰帶沒系緊,導致傳感器模塊在實際采集數(shù)據(jù)時噪聲特別大,對后續(xù)的轉(zhuǎn)角檢測產(chǎn)生較大影響。
通過上面的實驗結果和分析表明,排除極端條件的情況,本文算法在不同的實驗環(huán)境和不同行人的運動情況下均能夠保持較高的樓層識別準確率。
為了進一步說明本文所提的基于貝葉斯網(wǎng)絡的行人樓層定位算法的可靠性與準確性,利用上述實驗數(shù)據(jù)分析不同算法下的樓層定位精度。
圖10為不同測試場景下,三種樓層定位算法的準確率比較。從中可以看出,本文算法在這三個建筑物中的準確率均優(yōu)于另外兩種算法。
在辦公樓A中,與基于高度的樓層定位算法和平臺檢測算法相比,本文提出的樓層定位算法的準確率分別提升了3.17個百分點和11.22個百分點。
在學生宿舍樓和辦公樓B中,平臺檢測定位算法的準確率低于88%,這主要是因為這兩個建筑物的結構不符合本文算法的假設。
在學生宿舍樓中,第一層和第二層之間有3個轉(zhuǎn)角平臺,這在定位中很有可能產(chǎn)生一層的樓層錯誤。而在辦公樓B中,存在相鄰兩層間的樓梯有4個轉(zhuǎn)角的情況,假設行人從1樓到2樓,在平臺數(shù)檢測正確的情況下將產(chǎn)生一層的樓層錯誤。但是本文算法在這種情況下依然能夠保持很高的樓層定位精度。與平臺檢測定位算法相比,本文算法在學生宿舍樓和辦公樓B的定位精度分別提升了1177個百分點和14.17個百分點。
從圖10中可以看出,本文提出的基于貝葉斯網(wǎng)絡的行人樓層定位算法在不同的建筑物中均能達到較高的定位精度。在辦公樓B中,由于人口流動性較大,導致氣壓變化較大,所以利用基于氣壓計的高度計算結果偏差較大,樓層定位算法精度僅為87.48%。而本文提出的算法與之相比精度提升了13.8%。
根據(jù)本實驗的結果與分析可得出結論,本文提出的算法在空氣流動性大和不同建筑物特征的情況下均可達到較好的樓層定位效果。在所有場景中,與基于高度的定位算法和平臺檢測定位算法相比,本文提出的算法的準確率分別提升681%和14.51%。
綜上所述,本文所提的基于貝葉斯網(wǎng)絡的樓層定位方法在實際測試中能夠達到很高的精度和穩(wěn)定性,能夠滿足實際的應用需求。
5 結語
針對傳統(tǒng)的樓層定位算法在實際應用中精度不高的問題,本文提出了一種基于貝葉斯網(wǎng)絡的樓層定位方法。該方法在擴展卡爾曼濾波的基礎上對氣壓和加速度數(shù)據(jù)進行融合以獲得行人的高度位移;然后結合行人在樓梯中的轉(zhuǎn)角信息,利用貝葉斯網(wǎng)絡對行人在每一樓層的概率進行估計,最后確定行人的樓層位置。本文主要工作如下:1)利用行人在上下樓中的過程量,即轉(zhuǎn)角信息,輔助定位樓層位置;2)根據(jù)行人的方向信息對轉(zhuǎn)角信息進行檢測,有效避免轉(zhuǎn)角誤檢的情況;3)構建貝葉斯模型,對行人的高度信息和轉(zhuǎn)角信息進行概率建模,通過最大化后驗概率確定行人所在樓層。經(jīng)過實際場景多次重復實驗驗證,本文算法在行人樓層位置的判斷準確性上要優(yōu)于傳統(tǒng)的樓層判斷算法。但是,本文算法需要知道建筑物的相關信息(如層高、層間的轉(zhuǎn)角數(shù));同時,本文算法在氣壓計發(fā)生急劇跳變以及長時間停留的情況下,精度還有待進一步提高。在未來的工作中,基于已有成果改進算法,尤其是針對氣壓計的不穩(wěn)定性以及行人在樓梯中的停留等問題進行改進,以進一步提高算法的適用度。
參考文獻
[1]?唐洋,白勇,馬躍,等. 基于WiFi 的指紋匹配算法在室內(nèi)定位中的應用研究[J].計算機科學,2016,43(5):73-75. (TANG Y, BAI Y, MA Y, et al. Research of WiFi-based fingerprinting matching algorithm in indoor positioning [J]. Computer Science, 2016, 43(5): 73-75.)
[2]?劉小康,郭杭.基于Zigbee室內(nèi)定位系統(tǒng)的指紋庫優(yōu)化算法[J].計算機工程,2014,40(2):193-198. (LIU X K, GUO H. Fingerprint database optimization algorithm based on Zigbee indoor positioning system [J]. Computer Engineering, 2014, 40(2): 193-198.)
[3]?LI S, LI G, WANG L, et al. A three-dimensional robust ridge estimation positioning method for UWB in a complex environment [J]. Advances in Space Research, 2017, 60(12): 2763-2775.
[4]?陳珊珊,史志才,吳飛,等.粒子群優(yōu)化人工神經(jīng)網(wǎng)絡的RFID室內(nèi)定位算法[J].傳感器與微系統(tǒng),2018,37(12):136-138,143. (CHEN S S, SHI Z C, WU F, et al. RFID indoor localization algorithm based on PSO-ANN [J]. Transducer and Microsystem Technologies, 2018, 37(12): 136-138,143.)
[5]?BASSO M, GALANTI M, INNOCENTI G, et al. Pedestrian dead reckoning based on frequency self-synchronization and body kinematics [J]. IEEE Sensors Journal, 2016, 17(2): 534-545.
[6]?LAN K C, SHIH W. On calibrating the sensor errors of a PDR-based indoor localization system [J]. Sensors, 2013, 13(4): 4781-4810.
[7]?HO N, TRUONG P H, JEONG J. Step-detection and adaptive step-length estimation for pedestrian dead-reckoning at various walking speeds using a smartphone [J]. Sensors, 2016, 16(9):No.1423.
[8]?蔡文學,邱珠成,黃曉宇,等.基于WiFi指紋的室內(nèi)軌跡定位模型[J].計算機工程,2015,41(6):76-82. (CAI W X, QIU Z C, HUANG X Y, et al. Indoor track positioning model based on WiFi fingerprint [J]. Computer Engineering, 2015, 41(6): 76-82.)
[9]?LI Y, CHEN J, SHI Y, et al. WiFi-assisted multi-floor indoor localization with inertial sensors [C]// Proceedings of the 2016 IEEE International Conference on Wireless Communications and Signal Processing. Piscataway, NJ: IEEE, 2016: 1-5.
[10]?VARSHAVSKY A, LAMARCA A, HIGHTOWER J, et al. The SkyLoc floor localization system [C]// Proceedings of the 5th Annual IEEE International Conference on Pervasive Computing and Communications. Piscataway, NJ: IEEE, 2007: 125-134.
[11]?YE H, GU T, TAO X, et al. F-Loc: floor location via crowdsourcing [C]// Proceedings of the 20th IEEE International Conference on Parallel and Distributed Systems. Piscataway, NJ: IEEE, 2014: 47-54.
[12]?YE H, GU T, TAO X, et al. Scalable floor localization using barometer on smartphone [J]. Wireless Communications & Mobile Computing, 2016, 16(16): 2557-2571.
[13]?XIA H, WANG X, QIAO Y, et al. Using multiple barometers to detect the floor location of smart phones with built-in barometric sensors for indoor positioning [J]. Sensors, 2015, 15(4):7857-7877.
[14]?ASCHER C, KESSLER C, WEIS R, et al. Multi-floor map matching in indoor environments for mobile platforms [C]// Proceedings of 2012 IEEE International Conference on Indoor Positioning and Indoor Navigation. Piscataway, NJ: IEEE, 2012: 1-8.
[15]?CHAI W, CHEN C, EDWAN E, et al. 2D/3D indoor navigation based on multi-sensor assisted pedestrian navigation in Wi-Fi environments [C]// Proceedings of 2012 IEEE International Conference on Ubiquitous Positioning, Indoor Navigation, and Location Based Service. Piscataway, NJ: IEEE, 2012: 1-7.
[16]?BAI Y, JIA W, ZHANG H, et al. Helping the blind to find the floor of destination in multistory buildings using a barometer [C]// Proceedings of the 35th International Conference of the IEEE Engineering in Medicine and Biology Society. Piscataway, NJ: IEEE, 2013: 4738-4741.
[17]?SONG W, LEE J W, LEE B S, et al. Finding 9-1-1 callers in tall buildings [C]// Proceedings of the 2014 IEEE International Symposium on a World of Wireless Mobile and Multimedia Networks. Piscataway, NJ: IEEE, 2014: 1-9.
[18]?朱金鑫,徐正蓺,劉旭,等.基于擴展卡爾曼濾波的高程估計算法[J].科學技術與工程,2017,17(26):92-97. (ZHU J X, XU Z Y, LIU X, et al. Height estimation algorithm based on extended Kalman filter [J]. Science Technology and Engineering, 2017, 17(26): 92-97.)