郭倩倩, 崔麗珍, 楊勇, 赫佳星, 史明泉
(內(nèi)蒙古科技大學(xué) 信息工程學(xué)院, 內(nèi)蒙古 包頭 014010)
目前,煤礦井下人員定位技術(shù)主要有WiFi技術(shù)、超寬帶(Ultra Wide Band,UWB)技術(shù)[1]、藍(lán)牙技術(shù)等[2]。WiFi技術(shù)定位范圍廣、定位速度快,UWB技術(shù)傳輸速率高、定位精度高,藍(lán)牙技術(shù)功耗低、定位成本低,這些技術(shù)在一定程度上滿足了井下人員定位要求,但存在需要提前鋪設(shè)設(shè)備且井下無線信號覆蓋稀疏、定位精度較差等缺點。而基于智能手機(jī)內(nèi)置慣性傳感器的行人航位推算(Pedestrian Dead Reckoning,PDR)算法不需要其他額外的設(shè)施即可實現(xiàn)定位,不受井下多徑效應(yīng)[3]及礦井復(fù)雜環(huán)境的影響,適用于在井下復(fù)雜環(huán)境中對工作人員進(jìn)行實時精準(zhǔn)定位[4]。
PDR算法中步長估計和航向估計對其定位精度有著重要影響[5],步長估計模型可以總結(jié)為經(jīng)驗?zāi)P?、線性模型、非線性模型、回歸模型及神經(jīng)網(wǎng)絡(luò)模型等。H.Weinberg[6]提出了一種線性模型,該模型利用每一步Z軸上的最大和最小加速度值來估計步行距離。J.W.Kim等[7]研究的線性模型利用行走過程中每一步加速度幅值的平均值來計算步長。J.Scarlett[8]研究的非線性模型利用步長和加速度值之間的非線性關(guān)系計算步長。上述模型僅基于加速度幅值的最大值和最小值估計步長,模型簡單,便于步長估計,但均無法有效解決井下人員行走時因姿態(tài)不同導(dǎo)致的計算誤差。G.Han等[9]提出了基于上下文信息的步長回歸模型,該模型精度較高,但無法反映復(fù)雜環(huán)境因素造成的誤差。J.Hannink等[10]提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行步長估計的方法,并取得了較高的精度,然而該方法依賴于特定的鞋載慣導(dǎo),不適用于智能手機(jī)。針對以上問題,本文通過引入深度長短時間記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)模型對井下人員步長進(jìn)行個性化估計,利用智能手機(jī)內(nèi)置的慣性傳感器估計行人的運動步長,有效減小了井下人員行走姿態(tài)及井下復(fù)雜環(huán)境造成的步長估計誤差。
精準(zhǔn)的航向估計對PDR算法來講至關(guān)重要,張榮輝等[11]提出采用四元數(shù)解算航向角。肖宇[12]通過互補(bǔ)濾波來融合陀螺儀與加速度數(shù)據(jù)進(jìn)行姿態(tài)解算。N.Yadav等[13]提出了一種互補(bǔ)濾波算法,利用加速度計和磁力計校正陀螺儀進(jìn)行航向解算。上述航向解算算法逐步提高了航向估計的精度,但均存在累積誤差。本文利用降噪自編碼器 (Denoising Auto-Encoder,DAE)[14]對井下慣性傳感器數(shù)據(jù)進(jìn)行降噪處理,提出了基于智能手機(jī)陀螺儀、重力計和磁力計的航向估計方法,提高了手機(jī)慣性傳感器在井下航向估計應(yīng)用中的穩(wěn)定性和普適性。
綜上,本文提出了一種基于LSTM個性化步長估計的井下人員精準(zhǔn)定位PDR算法,引入深度LSTM模型對井下人員步長進(jìn)行個性化估計,利用智能手機(jī)內(nèi)置的慣性傳感器估計行人的運動步長;利用DAE對井下慣性傳感器數(shù)據(jù)進(jìn)行降噪處理,得到更加魯棒的數(shù)據(jù)輸入特征;利用卡爾曼濾波(Kalman Filtering,KF)融合航向估計算法解算井下人員運動航向角,解決了傳統(tǒng)PDR算法步長估計誤差及航向累積誤差較大的問題,提高了井下人員定位精度。
PDR算法用于對井下人員行走的步數(shù)、步長、方向進(jìn)行檢測與估計,推算出行走軌跡和位置等信息,PDR算法原理如圖1所示。
假設(shè)井下人員初始位置S0坐標(biāo)為(E0,N0),第n步步長為dn(n=1,2,…,k,k為步數(shù))、航向角為θn,已知初始位置,可以得出任意時刻的位置SK(K為任意時刻)的坐標(biāo)為
圖1 PDR算法原理Fig.1 PDR algorithm principle
(1)
人行走時的加速度具有周期性,因此,采用峰值檢測確定井下人員步頻[15],步驟如下:
(1) 初始化,獲取加速度數(shù)據(jù)。
(2) 初始化滑動窗口,剔除重力加速度值并濾波平滑。
(3) 如果檢測到的加速度峰值大于預(yù)設(shè)的峰值閾值,且相鄰2個峰值之間的時間差大于規(guī)定的時間閾值,該峰值記為有效峰值。
(4) 檢測跨步結(jié)束后,統(tǒng)計步頻。
為了提高步長估計的準(zhǔn)確性,本文提出了一種基于LSTM的步長估計方法,用于解決環(huán)境復(fù)雜的煤礦井下人員運動距離估計引起的PDR算法誤差。
在離線階段,訓(xùn)練預(yù)測模型,將礦用本安型智能手機(jī)的慣性傳感器測量值作為訓(xùn)練數(shù)據(jù),鞋載慣導(dǎo)模塊中三軸加速度計和三軸陀螺儀實時解算出的單步運動距離作為步長標(biāo)簽。在在線預(yù)測階段,利用礦用本安型智能手機(jī)實時采集的傳感器數(shù)據(jù)和前期訓(xùn)練好的模型估計井下人員的運動步長。井下人員個性化步長估計LSTM模型框架如圖2所示。
基于井下人員個性化步長估計LSTM模型提取鞋載慣導(dǎo)內(nèi)置加速度計、陀螺儀在單步上的測量值作為時間特征表示。
D={([Ai,Gi],yi),i=1,2,…,N}
(2)
Ai=[a1a2…am]
(3)
Gi=[g1g2…gm]
(4)
(5)
(6)
式中:D為LSTM模型的輸入;Ai、Gi分別為第i步時加速度計和陀螺儀在單步時間上的測量值,i=1,2,…,N,N為步伐數(shù));yi為第i步步長;aj、gj分別為加速度計和陀螺儀在第j個固定時間長度的測量值,j=1,2,…,m,m為固定時間長度個數(shù);axj、ayj和azj分別為三軸方向上的加速度計在第j個固定時間長度的測量值;gxj、gyj和gzj分別為三軸方向上的陀螺儀在第j個固定時間長度的測量值。
圖2 井下人員個性化步長估計LSTM模型框架Fig.2 LSTM model framework of underground personnel personalized step size estimation
圖3 LSTM模型原理Fig.3 LSTM model principle
LSTM將慣性傳感器加速度、陀螺儀測量值作為輸入序列,并按順序反饋給LSTM每一單元。
(1) 更新遺忘門輸出,計算信息的遺忘程度。
ft=σ(WF·[ht-1,xt]+bF
(7)
式中bF為遺忘門的偏置項。
It=σ(WI·(ht-1,xt]+bI)
(8)
(9)
式中:bI為輸入門的偏置項;bC為單元狀態(tài)的偏置項。
(3) 更新單元狀態(tài)Ct,即當(dāng)前時刻的單元狀態(tài)包括遺忘門和上一時刻狀態(tài)的積加上輸入門2個部分的積。
(10)
(4) 更新輸出門輸出,用于計算當(dāng)前時刻信息被輸出的程度。輸出門輸出Ot不考慮先前時刻學(xué)到信息的輸出,tanhCt是對先前學(xué)到信息的壓縮,兩者相乘從而得出LSTM模型的最終輸出ht。
Ot=σ(W0[ht-1,xt]+b0)
(11)
ht=Ot*tanhCt
(12)
式中b0為輸出門的偏置項。
(5) 輸出H(x)(H(x)為輸入序列在時間特征空間的嵌入),將LSTM模型輸出ht映射到時間特征空間。
H(x)=ht=OT*tanhCT
(13)
式中OT,CT為Ot,Ct在時間特征空間的映射,T為t在時間特征空間對應(yīng)的時間。
LSTM模型采用加速度計和陀螺儀測量值作為輸入,LSTM層將輸入序列映射到時間特征空間,然后添加4個級聯(lián)的全連接層,在特征空間和目標(biāo)值(即步長)之間建立映射關(guān)系。
針對現(xiàn)有航向解算算法存在累積誤差以及不適用于井下特殊環(huán)境等問題,本文利用KF-DAE算法解算井下人員運動航向角。KF-DAE算法包括利用KF算法融合陀螺儀積分、九軸傳感器航向解算及旨在消除原始慣性傳感器數(shù)據(jù)噪聲的DAE。首先利用DAE對井下慣性傳感器數(shù)據(jù)進(jìn)行降噪處理,訓(xùn)練DAE中的編碼器和解碼器來最小化重構(gòu)誤差,學(xué)習(xí)重構(gòu)分布來獲得更加魯棒的數(shù)據(jù)特征;然后基于智能手機(jī)陀螺儀、重力計和磁力計的航向估計方法,依據(jù)陀螺儀不受磁擾影響和磁力計不受長期漂移影響的互補(bǔ)特性,采用加速度和磁力計數(shù)據(jù)對陀螺儀進(jìn)行補(bǔ)償,利用四元數(shù)互補(bǔ)濾波更新解算航向角;最后利用KF算法融合陀螺儀直接積分獲取的航向角來提高算法在煤礦井下的適應(yīng)能力,提高手機(jī)慣性傳感器在井下航向估計應(yīng)用中的穩(wěn)定性和普適性。基于KF-DAE的航向估計算法如圖4所示。
圖4 基于KF-DAE的航向估計算法Fig.4 Heading estimation algorithm based on KF-DAE
2.1.1 LSTM模型參數(shù)設(shè)置及訓(xùn)練
為驗證本文PDR算法的可行性與實用性,在內(nèi)蒙古鄂爾多斯市高頭窯煤礦進(jìn)行了試驗。由于無法攜帶鞋載慣導(dǎo)在礦井下采集原始數(shù)據(jù),所以試驗者(井下工作人員,年齡為26~45歲,身高為1.60~1.85 m,體重為58~80 kg)右腳綁定鞋載慣導(dǎo)模擬井下行走姿態(tài),采樣頻率為100 Hz,采集原始慣性傳感器數(shù)據(jù)作為基準(zhǔn)數(shù)據(jù)集,采用零速修正和姿態(tài)識別方法將試驗者運動軌跡以單步長劃分,解算單步步長。本文使用六通道加速度、陀螺儀原始慣性信息構(gòu)建步長數(shù)據(jù),訓(xùn)練標(biāo)簽為鞋載慣導(dǎo)模塊中每一步的運動距離,井下人員個性化步長估計LSTM模型的輸入如圖5所示。
圖5 井下人員個性化步長估計LSTM模型的輸入Fig.5 Input of LSTM model of underground personnel personalized step size estimation
井下人員個性化步長估計LSTM模型以單步加速度、陀螺儀原始慣性訓(xùn)練樣本為輸入,以對應(yīng)的實際步長作為網(wǎng)絡(luò)的標(biāo)簽,將固定長度的步長數(shù)據(jù)輸入LSTM網(wǎng)絡(luò)進(jìn)行訓(xùn)練,隱含層選擇ReLU激活函數(shù),預(yù)測層由于是一個回歸任務(wù)而沒有激活函數(shù),訓(xùn)練完成的井下人員個性化步長估計LSTM模型將用于預(yù)測井下人員運動的步長。井下人員個性化步長估計LSTM模型的結(jié)構(gòu)參數(shù)如圖6所示。
圖6 井下人員個性化步長估計LSTM模型的結(jié)構(gòu)參數(shù)Fig.6 Structural parameters of LSTM model of underground personnel personalized step size estimation
井下人員個性化步長估計LSTM模型是在Windows平臺下基于Keras環(huán)境實現(xiàn),使用Adam算法進(jìn)行優(yōu)化,模型的超參數(shù)見表1。MSE(Mean Square Error,均方誤差)損失函數(shù)用來衡量模型預(yù)測與實際之間的差距。
表1 井下人員個性化步長估計LSTM模型的超參數(shù)Table 1 Super parameter of LSTM model of underground personnel personalized step size estimation
為了防止過擬合,對模型訓(xùn)練采用了早停法。當(dāng)?shù)螖?shù)達(dá)到50而損失函數(shù)沒有下降時,系統(tǒng)自動停止迭代,訓(xùn)練和驗證過程損失函數(shù)曲線如圖7所示,可以看出訓(xùn)練數(shù)據(jù)及驗證數(shù)據(jù)的損失函數(shù)均隨著迭代次數(shù)的增加而減小,當(dāng)?shù)?20次時損失函數(shù)不再下降,模型停止迭代,此時模型達(dá)到最優(yōu)。
圖7 訓(xùn)練和驗證過程損失函數(shù)曲線Fig.7 Loss function curves of training and verification process
2.1.2 步伐檢測
為驗證本文步伐檢測算法的實用性,隨機(jī)選取3名試驗者進(jìn)行試驗,模擬井下行走姿態(tài)。智能手機(jī)采樣頻率為100 Hz,行走50步,重復(fù)5次,步伐檢測算法結(jié)果見表2。從表2可看出,本文步伐檢測算法的精度為96.5%,滿足井下人員PDR定位中步伐檢測需求。
表2 步伐檢測算法結(jié)果Table 2 Results of step detection algorithm
2.1.3 步長估計
為驗證本文個性化步長估計LSTM模型的可行性,進(jìn)行行走對比試驗,行走路線為直線,行走總距離為61.45 m,步數(shù)為100步。
3種不同算法在行走過程中的實際步長估計數(shù)據(jù)見表3。由表3可看出:本文算法的步長估計精度較高,比Kim算法[7]提高9%,比Weinberg算法[6]提高5%;同時,本文算法得到的步長大小及變化幅度較合理,與實際的步長吻合較好。
表3 不同算法步長估計結(jié)果對比Table 3 Comparison of step size estimation results of different algorithms
為了清楚地表示步長估計誤差的分布,使用CDF(誤差累積分布函數(shù))來比較本文步長估計算法與其他常用步長估計算法(Weinberg算法[6],Kim算法[7])單個步長估計的誤差(自然行走100步),如圖8所示。從圖8可看出,本文步長估計算法的相對誤差小于Weinberg算法和Kim算法,誤差為0.125 m時CDF達(dá)到100%。
基于地面訓(xùn)練好的井下人員個性化步長估計LSTM模型,在高頭窯煤礦真實井下環(huán)境進(jìn)行井下人員精準(zhǔn)定位PDR算法試驗,井下測試場景如圖9所示。試驗對傳統(tǒng)PDR算法[6,11]與本文基于LSTM個性化步長估計的井下人員精準(zhǔn)定位PDR算法進(jìn)行對比,驗證本文PDR算法在煤礦井下的可行性與實用性。
圖8 不同步長估計算法誤差分布對比Fig.8 Comparison of error distribution of different step size estimation algorithms
圖9 井下測試場景Fig.9 Underground test scenario
在高頭窯煤礦2-3煤3號大巷聯(lián)絡(luò)巷進(jìn)行試驗,路線從起點開始向北行走經(jīng)過1次直角轉(zhuǎn)彎到達(dá)電纜通道,后沿電纜通道向西行走到下一直角拐彎進(jìn)入北向聯(lián)絡(luò)巷,井下人員行進(jìn)路線及起始點如圖10所示,參考路徑全長75 m。
圖10 試驗行進(jìn)路線Fig.10 Test route
傳統(tǒng)PDR算法[6,11]與本文基于LSTM個性化步長估計的PDR算法在煤礦井下行走路徑對比如圖11所示,傳統(tǒng)PDR算法距離誤差為17.17 m,即定位誤差為22.89%,不能滿足井下人員定位需求;而本文PDR算法距離誤差為1.75 m,定位誤差為2.33%,遠(yuǎn)低于傳統(tǒng)PDR算法定位誤差,滿足井下人員定位需求。
圖11 傳統(tǒng)PDR算法與基于LSTM個性化步長估計的 PDR算法在煤礦井下行走路徑對比Fig.11 Comparison of walk routes of traditional PDR algorithm and PDR algorithm based on LSTM personalized step size estimation in coal mine
針對傳統(tǒng)PDR算法受井下復(fù)雜環(huán)境的干擾,導(dǎo)致定位精度低,不能滿足井下人員定位需求的問題,提出了基于LSTM的井下人員個性化步長估計及基于KF-DAE的航向估計的PDR算法。該算法首先離線訓(xùn)練井下人員個性化步長估計LSTM模型;然后通過步伐檢測算法、個性化步長估計LSTM模型及KF-DAE航向估計算法獲得井下人員運動的步伐、每一步的步長及運動航向角,最后根據(jù)步長及運動航向角預(yù)測井下人員當(dāng)前位置。試驗結(jié)果表明:基于LSTM個性化步長估計的井下人員精準(zhǔn)定位PDR算法對井下人員運動中的步伐檢測精度為96.5%,步長估計精度為90%,均滿足井下人員定位的精度要求;在井下真實環(huán)境中的相對定位誤差為2.33%,有效提高了井下人員定位精度,滿足井下定位導(dǎo)航的需求。