劉 宇,惠鴻飛,路永樂,鄒新海,楊銀川,曹加昇
(1.重慶郵電大學(xué) 智能傳感技術(shù)與微系統(tǒng)重慶市高校工程研究中心,重慶 400065;2.貴州航天控制技術(shù)有限公司,貴州 550009)
隨著室內(nèi)環(huán)境中基于相對(duì)位置的導(dǎo)航定位需求越來越多,針對(duì)室內(nèi)場(chǎng)景的人員定位已經(jīng)成為了當(dāng)前的研究熱點(diǎn)。全球定位系統(tǒng)在室內(nèi)易受到建筑物對(duì)衛(wèi)星信號(hào)的遮擋,使得定位精度難以保證。于是,利用各種無線信號(hào)進(jìn)行室內(nèi)定位受到了人們的關(guān)注,如WiFi定位、射頻識(shí)別、磁場(chǎng)匹配、超寬帶、行人航跡推算(Pedestrian Dead Reckoning,PDR)、ZigBee。其中,WiFi定位、磁場(chǎng)匹配以及PDR無需增加額外基礎(chǔ)設(shè)施,可實(shí)現(xiàn)自主定位。但PDR定位結(jié)果存在累計(jì)誤差,磁場(chǎng)匹配技術(shù)易受到誤匹配影響,WiFi定位信號(hào)易受干擾不穩(wěn)定。針對(duì)單一定位源存在誤差的現(xiàn)象,多源信息融合定位應(yīng)運(yùn)而生。
目前,國內(nèi)外在多源信息融合定位方面研究較多。美國高通公司Chen Y等人[1]將FM和WiFi信號(hào)相融合進(jìn)行定位,需部署信號(hào)收發(fā)設(shè)備,設(shè)計(jì)專有定位系統(tǒng)及平臺(tái),且信號(hào)丟失時(shí)無法繼續(xù)定位;微軟印度研究中心Rai A等人[2]利用粒子濾波將WiFi信息、手機(jī)慣導(dǎo)信息和電子地圖幾何信息進(jìn)行有效融合,未充分考慮原始融合數(shù)據(jù)誤差處理;Belakbir A[3]等人將GPS和UWB定位技術(shù)進(jìn)行融合,設(shè)計(jì)和實(shí)現(xiàn)了一種室內(nèi)外定位系統(tǒng),對(duì)外界信息依賴嚴(yán)重,不易于推廣。
針對(duì)上述問題,本文提出一種基于WiFi、地磁、PDR多源信息融合的室內(nèi)定位方法,將這三種定位方式進(jìn)行優(yōu)勢(shì)互補(bǔ),并在智能手機(jī)終端實(shí)現(xiàn)定位,提高室內(nèi)人員定位精度。
本文研究的基于遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的多源信息融合室內(nèi)定位方法,整體方案如下:首先,針對(duì)PDR定位,通過建立步長(zhǎng)模型、解算方位角信息以及設(shè)計(jì)航跡推算算法,得到準(zhǔn)確的PDR定位數(shù)據(jù);針對(duì)WiFi和地磁定位,對(duì)采集到的指紋數(shù)據(jù)進(jìn)行預(yù)處理,并建立指紋庫,利用指紋匹配算法獲得準(zhǔn)確的WiFi和地磁定位數(shù)據(jù)。其次,針對(duì)地磁定位波動(dòng)較小,但是有更高的誤匹配風(fēng)險(xiǎn),而WiFi定位正好相反[4]這一互補(bǔ)性,先使用WiFi定位結(jié)果來限定地磁匹配搜索范圍,然后在搜索范圍內(nèi)進(jìn)行地磁匹配定位。最后,使用基于遺傳算法優(yōu)化后的神經(jīng)網(wǎng)絡(luò)對(duì)WiFi/地磁組合定位結(jié)果與PDR定位結(jié)果進(jìn)行融合定位,穩(wěn)定WiFi/地磁定位波動(dòng)性的同時(shí),降低PDR定位的累計(jì)誤差,提升單一定位方式定位精度。
PDR定位技術(shù)原理[5]如圖1所示,E、N分別表示方位東向、北向,假設(shè)初始位置為(x0,y0),當(dāng)行人每走一步,慣性傳感器實(shí)時(shí)解算出當(dāng)前的航向θ和步長(zhǎng)d,然后通過式(1)求解得出下一位置為(x1,y1),依次類推,最終可得行人當(dāng)前位置(xi,yi)。
圖1 PDR定位技術(shù)原理圖Fig.1 Schematic diagram of PDR positioning technology
其中,di為第i步的步長(zhǎng),θi為第i步的航向角,Xi-1和Yi-1為第i- 1步的坐標(biāo),Xi和Yi為第i步的坐標(biāo)。
步長(zhǎng)估算最常用的模型如式(2)所示,該模型精度相對(duì)較高,充分借助了加速度計(jì)模值和步長(zhǎng)的經(jīng)驗(yàn)關(guān)系。
其中,K為校準(zhǔn)系數(shù),Amax、Amin分別為每一步加速度模值的最大值和最小值,這兩個(gè)值均可以通過步態(tài)判別條件得到。
方位角的解算也是PDR技術(shù)中的關(guān)鍵。本文使用經(jīng)典的陀螺儀四元數(shù)姿態(tài)解算算法進(jìn)行航向角解算??紤]到大多數(shù)建筑都是規(guī)則的矩形,其走廊都與建筑本身的朝向平行或垂直,因此利用文獻(xiàn)[6-7]中基于室內(nèi)環(huán)境特征的航向修正算法對(duì)解算的航向角進(jìn)行修正,從而抑制航向角因陀螺儀漂移產(chǎn)生的累積誤差。
本文選用位置指紋法進(jìn)行WiFi和地磁定位,采用指紋序列構(gòu)建指紋庫。
1.WiFi數(shù)據(jù)
采集方案為將定位場(chǎng)景劃分成n個(gè)0.5 m * 0.5 m的網(wǎng)格,針對(duì)每個(gè)網(wǎng)格,對(duì)布置的多個(gè)AP(Wireless Access Point,無線訪問接入點(diǎn))分別采集100組以上WiFi強(qiáng)度數(shù)據(jù),并求均值,構(gòu)成一組指紋序列??紤]到WiFi信號(hào)不穩(wěn)定的問題,需設(shè)置約束條件進(jìn)行離群點(diǎn)檢測(cè):待選定WiFi信號(hào)強(qiáng)度與被測(cè)點(diǎn)信號(hào)強(qiáng)度的真實(shí)值之差應(yīng)小于一定閾值,如式(3)所示。
其中,Mi為第i個(gè)網(wǎng)格節(jié)點(diǎn)待選定WiFi信號(hào)強(qiáng)度;Ri為第i個(gè)網(wǎng)格節(jié)點(diǎn)真實(shí)WiFi信號(hào)強(qiáng)度,由測(cè)得10個(gè)無異常WiFi信號(hào)強(qiáng)度數(shù)據(jù)求均值得到;Sth為強(qiáng)度閾值,為確保數(shù)據(jù)采集精度,本文取5 dBm。
采集一組WiFi指紋數(shù)據(jù)如圖2所示,其真實(shí)WiFi信號(hào)強(qiáng)度均值為- 46.32 dBm,在約束條件下,其中箭頭處數(shù)據(jù)點(diǎn)被作為離群點(diǎn)被檢測(cè)并剔除,有效提升了WiFi指紋數(shù)據(jù)的準(zhǔn)確性。
圖2 WiFi指紋離群點(diǎn)檢測(cè)Fig.2 WiFi fingerprint outlier detection
將預(yù)處理得到的WiFi指紋序列與當(dāng)前網(wǎng)格節(jié)點(diǎn)坐標(biāo)組合構(gòu)成一個(gè)WiFi指紋。第i個(gè)網(wǎng)格節(jié)點(diǎn)上的WiFi指紋表示如式(4)。
式中,posi為第i個(gè)網(wǎng)格節(jié)點(diǎn)的真實(shí)坐標(biāo);RSSi為第i個(gè)網(wǎng)格節(jié)點(diǎn)預(yù)處理之后的WiFi指紋序列。
2.地磁數(shù)據(jù)
地磁指紋使用磁力計(jì)采集,但是磁力計(jì)因受到制作技術(shù)的影響存在誤差,因此需要對(duì)其存在的誤差進(jìn)行補(bǔ)償校準(zhǔn)[8]。
圖3 磁力計(jì)原始信號(hào)三維分布圖Fig.3 Magnetometer original signal three-dimensional map
圖3磁力計(jì)數(shù)據(jù)形成的球體的球心并不在坐標(biāo)原點(diǎn),這是由于磁力計(jì)的零偏存在誤差,本文采取最小二乘法校準(zhǔn)補(bǔ)償磁力計(jì)的誤差。補(bǔ)償后的磁力計(jì)數(shù)據(jù)三維分布圖如圖4所示,球體的圓心在坐標(biāo)原點(diǎn)處。由此可見,磁力計(jì)的零偏被有效補(bǔ)償。
圖4 校準(zhǔn)后磁力計(jì)信號(hào)三維分布圖Fig.4 Three-dimensional distribution of magnetometer signals after calibration
補(bǔ)償后的磁力計(jì)可有效提高指紋采集精度。磁場(chǎng)指紋的采集、構(gòu)建以及存儲(chǔ)形式與WiFi一致。
動(dòng)態(tài)時(shí)間歸整(Dynamic Time Warping,DTW)算法[9]基于動(dòng)態(tài)規(guī)劃的思想,可有效衡量?jī)蓚€(gè)長(zhǎng)度不同的指紋序列的相似度,充分保留原始指紋序列特征,匹配結(jié)果可信度更高。因此本文選用DTW算法進(jìn)行指紋序列匹配。
假設(shè)原始指紋序列為X,Y,長(zhǎng)度分別為和。對(duì)于規(guī)整路徑w=ω1,ω2…ωk,有:
k表示兩個(gè)序列最終被拉伸的長(zhǎng)度。
規(guī)整路徑須從ω1=(1,1)開始到結(jié)束,以保證X和Y序列的每個(gè)坐標(biāo)點(diǎn)都出現(xiàn)一次。另外,規(guī)整路徑ωk=(i,j)中的i和j必須是單調(diào)遞增的,所謂單調(diào)遞增指的是:
所以對(duì)于路徑規(guī)整距離矩陣D(i,j)有:
其中,Dist(i,j)表示X序列第i個(gè)點(diǎn)與Y序列第j個(gè)點(diǎn)之間的距離。D(i,j)衡量的是X序列前i個(gè)點(diǎn)與Y序列前j個(gè)點(diǎn)的相似性。最終的規(guī)整路徑距離為值越小,兩個(gè)原始指紋序列相似度越高。
根據(jù)WiFi、地磁定位特點(diǎn),本文設(shè)計(jì)一種利用WiFi定位誤差約束地磁定位匹配范圍的組合定位方案,不僅可以減少磁場(chǎng)匹配的計(jì)算量,還可大幅降低磁場(chǎng)匹配的誤匹配率。WiFi/地磁組合定位原理示意圖如圖5所示。
圖5 WiFi/地磁組合定位原理圖Fig.5 WiFi / geomagnetic combined positioning principle diagram
由圖5所示,磁場(chǎng)匹配范圍被限制在了以WiFi定位結(jié)果(posWiFi)為圓心,WiFi定位誤差(errWiFi)為半徑的圓形區(qū)域S內(nèi),即在實(shí)際計(jì)算的時(shí)候只匹配該圓形區(qū)域內(nèi)的地磁指紋,指紋庫中其他指紋不納入匹配范圍,最終得到組合定位結(jié)果。
其中,COMpos表示組合定位結(jié)果,DTW{FMi∈S}表示使用DTW算法對(duì)區(qū)域S內(nèi)n個(gè)磁場(chǎng)序列FM進(jìn)行匹配。
綜上可得WiFi/地磁組合定位流程圖如圖6所示。
圖6 WiFi/地磁組合定位流程圖Fig.6 WiFi / geomagnetic combined positioning flow chart
為了優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,加快網(wǎng)絡(luò)收斂并獲得全局最優(yōu)解[10],提出一種基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的融合定位算法,對(duì)PDR定位結(jié)果以及WiFi/地磁組合定位結(jié)果向真實(shí)位置坐標(biāo)方向進(jìn)行訓(xùn)練,從而獲得最優(yōu)融合定位結(jié)果。
1.BP神經(jīng)網(wǎng)絡(luò)建模
圖7是一個(gè)典型的三層BP神經(jīng)網(wǎng)絡(luò)。
圖7 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.7 BP neural network structure
設(shè)該網(wǎng)絡(luò)中各層節(jié)點(diǎn)的激活函數(shù)都為S型函數(shù),并且網(wǎng)絡(luò)中第一層i節(jié)點(diǎn)的輸入記為neti,輸出記為oi,輸出層第k個(gè)節(jié)點(diǎn)的輸出為y?k,則中間層第j個(gè)節(jié)點(diǎn)的輸入為:
2.訓(xùn)練樣本確定
BP神經(jīng)網(wǎng)絡(luò)的目標(biāo)輸入為由PDR定位結(jié)果以及WiFi/地磁組合定位結(jié)果構(gòu)成的四維矩陣,目標(biāo)輸出為采樣點(diǎn)真實(shí)位置坐標(biāo)。最終訓(xùn)練樣本如式(14)所示。
式中,InputData為輸入樣本,(xpi,ypi)、(xci,yci)分別為第i個(gè)待定位點(diǎn)PDR定位坐標(biāo)和WiFi/地磁組合定位坐標(biāo);TargetData為目標(biāo)輸出樣本,(xri,yri)為第i個(gè)待定位點(diǎn)真實(shí)位置坐標(biāo)。
3.神經(jīng)元參數(shù)確定
確定隱含層神經(jīng)元數(shù)量應(yīng)用較多的經(jīng)驗(yàn)公式如式(15)所示。
式中,m為隱含層節(jié)點(diǎn)數(shù);n為輸入層節(jié)點(diǎn)數(shù);l為輸出層節(jié)點(diǎn)數(shù);a為1-10之間的常數(shù)。
遺傳算法(Genetic Algorithm,簡(jiǎn)稱GA)通過選擇、交叉、變異等操作尋找網(wǎng)絡(luò)全局最優(yōu)解對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化[11]。主要步驟為:
1.編碼方式和初始種群確定
若神經(jīng)網(wǎng)絡(luò)的輸入神經(jīng)元個(gè)數(shù)為n,輸出層神經(jīng)元個(gè)數(shù)為k,隱含層神經(jīng)元個(gè)數(shù)為m,編碼長(zhǎng)度為L(zhǎng),則有:
對(duì)于種群規(guī)模的大小,本文采用實(shí)驗(yàn)的方法得到。
2.適應(yīng)度函數(shù)的選擇
適應(yīng)度函數(shù)一般根據(jù)網(wǎng)絡(luò)實(shí)際輸出和期望輸出的差值來確定,本文選擇適應(yīng)度函數(shù)如式(17)所示。
式中,Ti、Yi分別表示第i個(gè)訓(xùn)練樣本的實(shí)際輸出與期望輸出,n表示訓(xùn)練樣本數(shù)。
3.選擇算子的選擇
遺傳算法優(yōu)化BP算法時(shí),通常選擇輪盤賭法,設(shè)第i個(gè)體適應(yīng)度為fi,則第i個(gè)體被留下來的概率Psi為:
4.交叉算子的選擇
本文選擇整體交叉方式,如式(19)所示。
式中,α表示基因編碼組合系數(shù),fi代表第i個(gè)體在父代種群中的適應(yīng)度值,fmax、favg分別表示父代種群中個(gè)體適應(yīng)度的最大值和平均值。
5.變異算子的選擇
將變異算子與選擇算子結(jié)合可有效避免遺傳算法非成熟收斂問題,本文遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)變異模型為:
式中,β為變異因子,ω、ω′分別為變異前后網(wǎng)絡(luò)權(quán)值和閾值,ρ為[0-1]間的隨機(jī)數(shù),Emax為父代種群個(gè)體中適應(yīng)度最大個(gè)體的誤差均方值,通常取[0.5-1]之間的數(shù)值。
最終得到遺傳算法優(yōu)化BP網(wǎng)絡(luò)流程如圖8所示。
圖8 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)流程圖Fig.8 Flow chart of BP neural network optimized by genetic algorithm
為了驗(yàn)證遺傳算法優(yōu)化后BP神經(jīng)網(wǎng)絡(luò)的性能,本文以采集得到的一組WiFi/地磁組合定位和PDR定位的X軸坐標(biāo)數(shù)據(jù)進(jìn)行融合仿真分析,訓(xùn)練樣本采集場(chǎng)景為一條250 m長(zhǎng)的直線區(qū)域,采集間隔為0.5 m,共500個(gè)樣本,400個(gè)用于訓(xùn)練,100個(gè)用于測(cè)試。設(shè)置的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)輸入層有2個(gè)節(jié)點(diǎn),隱含層有5個(gè)節(jié)點(diǎn),輸出層有1個(gè)節(jié)點(diǎn),共有15個(gè)權(quán)值,6個(gè)閾值,所以遺傳算法個(gè)體的編碼長(zhǎng)度為21。
1.未優(yōu)化時(shí)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出及誤差
未經(jīng)遺傳算法優(yōu)化時(shí)的BP網(wǎng)絡(luò)融合算法得到的x軸坐標(biāo)預(yù)測(cè)輸出和預(yù)測(cè)誤差分別如圖9、10所示。
圖9 未優(yōu)化時(shí)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出Fig.9 Predicted output of BP neural network without optimization
圖10 未優(yōu)化時(shí)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差Fig.10 BP neural network prediction error without optimization
2.遺傳算法優(yōu)化后BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出及誤差
遺傳算法優(yōu)化過程中最優(yōu)個(gè)體適應(yīng)度值變化如圖11所示。
圖11 適應(yīng)度變化曲線Fig.11 Fitness curve
經(jīng)遺傳算法優(yōu)化得到的BP神經(jīng)網(wǎng)絡(luò)最優(yōu)初始權(quán)值和閾值如表1所示。
表1 優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值Tab.1 Optimized BP neural network initial weights and thresholds
其中,W1為輸入層與隱含層間權(quán)值,B1為隱含層節(jié)點(diǎn)閾值,W2為隱含層與輸出層間權(quán)值,B2為輸出層節(jié)點(diǎn)閾值。
把最優(yōu)初始權(quán)值和閾值賦給神經(jīng)網(wǎng)絡(luò),得到x軸坐標(biāo)預(yù)測(cè)輸出和預(yù)測(cè)誤差分別如圖12、13所示。
圖12 遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出Fig.12 Prediction output of BP neural network optimized by genetic algorithm
圖13 遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差Fig.13 Prediction error of BP neural network optimized by genetic algorithm
從圖12、13可以看出,遺傳算法優(yōu)化后的BP網(wǎng)絡(luò)預(yù)測(cè)更加精確,并且優(yōu)化后的均方誤差為0.447 m,而未優(yōu)化的均方誤差為1.7615 m,預(yù)測(cè)均方誤差降低了約75%,驗(yàn)證了該融合算法的可行性。
實(shí)驗(yàn)環(huán)境選擇教學(xué)樓走廊(14 m * 20 m),將實(shí)驗(yàn)場(chǎng)地劃分為1 m * 1 m的網(wǎng)格,每檢測(cè)到移動(dòng)一步(約0.5 m),觸發(fā)一次定位,如圖14所示。環(huán)境中共放置6個(gè)AP,同時(shí)使用HUAWEI MT1-U06手機(jī)及自主開發(fā)APP實(shí)時(shí)采集WiFi強(qiáng)度與磁場(chǎng)強(qiáng)度,實(shí)驗(yàn)路徑為A-B-C-D-A。
圖14 實(shí)驗(yàn)場(chǎng)景平面圖Fig.14 Experimental scene plan
1.定位數(shù)據(jù)獲取
為提升定位實(shí)時(shí)性,搭建基于socket通信的服務(wù)器端,WiFi、地磁指紋庫均存入服務(wù)器,定位算法也寫入服務(wù)器,同時(shí)利用MATLAB構(gòu)建神經(jīng)網(wǎng)絡(luò)模型。
定位開始時(shí),系統(tǒng)會(huì)自動(dòng)采集WiFi、地磁、慣性傳感器數(shù)據(jù)并發(fā)送至服務(wù)器,服務(wù)器收到實(shí)時(shí)數(shù)據(jù)后利用定位算法進(jìn)行融合定位,服務(wù)器返回最終定位結(jié)果。
2.定位精度分析
圖15為不同定位方式的運(yùn)動(dòng)軌跡復(fù)現(xiàn)結(jié)果,可以看出,WiFi和地磁定位結(jié)果易出現(xiàn)誤匹配,從而偏離實(shí)際坐標(biāo);組合定位有效改善了兩者單一定位缺陷,但是仍存在一定范圍的誤差波動(dòng);PDR定位在剛出發(fā)的前5步,定位結(jié)果接近真實(shí)坐標(biāo),受累計(jì)誤差的影響,回到原點(diǎn)時(shí)坐標(biāo)誤差較大;經(jīng)改進(jìn)BP神經(jīng)網(wǎng)絡(luò)融合后的定位精度得到了顯著提高。
圖15 不同定位方式下的定位結(jié)果Fig.15 Positioning results in different positioning modes
表2為不同定位方式的平均誤差,組合定位精度較單一WiFi或地磁定位精度平均提升約16%,融合定位精度較單一定位方式定位精度平均提升約47%,進(jìn)一步驗(yàn)證了利用本方法進(jìn)行多源信息融合定位,可有效提升單一定位方式定位精度,具有更優(yōu)的定位性能。
表2 平均定位誤差對(duì)比Tab.2 Average positioning error comparison
針對(duì)單一定位方式存在誤差較大,以及傳統(tǒng)使用卡爾曼濾波融合造成計(jì)算量大的問題,本文利用WiFi、地磁、PDR三種定位方式的特點(diǎn),提出了基于遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的多源信息融合定位方法,并在智能手機(jī)終端進(jìn)行功能實(shí)現(xiàn),計(jì)算量更小,算法更易實(shí)現(xiàn)。并利用遺傳算法針對(duì)神經(jīng)網(wǎng)絡(luò)收斂慢的問題進(jìn)行優(yōu)化,使網(wǎng)絡(luò)預(yù)測(cè)均方誤差降低了約75%,最終融合定位精度較單一定位方式定位精度平均提升約47%。該方法僅利用智能手機(jī)中的內(nèi)置傳感器和現(xiàn)有的WiFi熱點(diǎn)即可提供連續(xù)、可靠的室內(nèi)定位結(jié)果,當(dāng)無線信號(hào)丟失時(shí),也可繼續(xù)定位,具有較好的擴(kuò)展性和容錯(cuò)性。