竇占樹,崔麗珍,洪金祥,史明泉
(內蒙古科技大學信息工程學院,內蒙古 包頭 014010)
礦山環境較為復雜,煤礦井下安全生產事故更易頻發。在復雜多變的煤礦井下環境,及時、準確地獲取井下作業人員位置、加強井下監控和應急救援能力變得非常重要。近年來,智能化煤礦井下建設[1]成為研究熱點。井下巷道空間狹小,巷道結構、粉塵、水汽濃度實時變化及復雜井下設備都會影響信號傳輸,使得煤礦井下無線通信環境復雜多變[2],導致定位模型精度降低。如何在復雜多變的井下環境背景下維持或提高原模型定位精度是當下研究難點和熱點之一。
煤礦井下定位技術主要有Wi-Fi技術[3-4]、超寬帶(ultra wide band,UWB)[5]和ZigBee技術[6]等。基于位置指紋的定位技術因其特有的定位優勢,已在定位領域得到廣泛應用。將Wi-Fi和位置指紋技術相結合[7-8],能夠在煤礦井下獲得較好的定位效果。相對于批量式處理算法[9-10],在線增量式學習方法[11-12]能夠實現定位模型的在線實時更新。在線順序極限學習機算法(online sequential extreme learning machine,OSELM)[13-15]是在極限學習機算法(extreme learning machine,ELM)基礎上提出的,該算法經常被用于解決動態環境下定位模型精度降低的問題,但該算法的病態矩陣求逆導致模型穩定性差,平等對待所有新增數據導致模型對動態環境適應能力不足。文獻[16]提出自適應OSELM算法,該算法有更小的預測誤差,但對動態環境的適應能力較差。文獻[17]提出一種特征自適應OSELM算法,該算法能夠更好地適應高動態變化的環境,但穩定性較差。
綜上,本文針對煤礦井下無線通信環境復雜多變導致定位模型精度降低的問題,將OSELM算法用于井下定位,利用在線學習能力實現對定位模型的實時更新。針對OSELM算法的病態矩陣求逆和平等對待所有新增數據的不足,分別提出基于正則化的OSELM算法(OSELM based on regularization,R-OSELM)和基于遺忘因子的OSELM算法(OSELM based on forgetting factor,F-OSELM)算法,并融合兩種機制,提出基于正則化和遺忘因子的OSELM算法(OSELM based on regularization and forgetting factor,FR-OSELM)。
試驗區域內共有N個參考點,在每個參考點處采集來自不同無線接入點(access point,AP)提供的接收信號的強度指示(received signal strength indicator,RSSI)的強度值,并記錄下當前參考點的位置坐標,將這兩項數據作為指紋數據存入指紋庫。在第m個參考點處采集到的數據可表示為
Rm=(rm1,rm2,rm3,rm4,xm,ym)
(1)
式中,rmi為在第m個參考點處接收到第i個AP點提供的RSSI值;xm、ym分別為第m個參考點的坐標值。N個參考點的指紋數據所建立的指紋庫,可表示為
R=[R1R2…RN]T
(2)
以上過程即可實現離線數據的采集,并建立指紋數據庫,用于對OSELM模型的訓練。
采集在線數據時,需要手持移動智能終端設備在試驗區域內進行,在第i個參考點處采集到的數據可表示為
Ri=(ri1,ri2,ri3,ri4)
(3)
式中,rin為在第i個參考點處接收到第n個AP點提供的RSSI值。將此RSSI值輸入到離線階段訓練好的OSELM模型中,即可輸出對應坐標值,與實際值對比,最終得到定位誤差值。
以上過程即可獲取在線數據,用于在線定位階段。
OSELM算法能夠支持多個AP點實現定位。本文根據采集數據的真實情況,選擇3層OSELM神經網絡結構。輸入層為4個神經元,代表4個AP熱點提供的RSSI無線信號強度值;輸出層為2個神經元,輸出對應的位置坐標(X,Y)。OSELM網絡結構如圖1所示。

圖1 OSELM網絡結構
圖1中的f1(x)為隱藏層節點激活函數,wij為輸入層第i個神經元與隱藏層第j個神經元間的連接權值,βjk為隱藏層第j個神經元與輸出層第k個神經元間的連接權值。假設OSELM由M個訓練樣本,p個輸入層節點,L個隱藏層節點和q個輸出層節點組成,M個采樣節點的位置坐標表示為
(4)
在采樣節點處接收到的來自v個AP無線接入點的信號強度值可表示為
(5)
OSELM神經網絡的具體表達式為
(6)
式中,f( )為激活函數;i=1,2,…,M;βj為隱藏層第j個神經元與輸出層間的連接權值矩陣;wi=[wi1,wi2,…,wip]為輸入層與隱藏層間的連接權值矩陣;bj為第j個隱藏層神經元的偏置矩陣。式(6)可簡化為
Hβ=C
(7)
式中,H為隱藏層輸出矩陣;C為期望輸出矩陣。隱藏層與輸出層間的連接權值β可通過求解方程組最小二乘解得到,計算公式為
(8)

(9)
式中,H*為H的廣義逆矩陣。OSELM神經網絡用于回歸預測時,定位誤差可表示為
(10)

對于OSELM神經網絡而言,設置過多或過少的隱藏層神經元數目都會使模型定位精度降低,選擇合適的隱藏層神經元數目,可以有效地提升模型的定位性能。選取OSELM的神經元數目區間為[30,240]。先獲取最優神經元數目所處的大致區間,再根據此區間范圍確定最優神經元的數目。OSELM隱藏層神經元數目和定位誤差RMSE的關系如圖2所示。

圖2 OSELM隱藏層神經元數目與定位誤差關系
由圖2可知,OSELM的最優隱藏層神經元數目分布在150左右。在150左右的范圍內進行精細取值(見表1),確定最優神經元數目。

表1 不同神經元數目的定位誤差
由表1可知,當隱藏層神經元數目為155時,定位誤差最小。因此,155為OSELM網絡隱藏層的最優神經元數目。
模仿煤礦井下環境進行試驗區域的部署。選定試驗區域為80 m×3 m×3 m,數據采集方式為線性采集方式。離線階段每隔1 m部署一個參考點,共部署81個參考點。在10、30、50、70 m處分別部署1個Wi-Fi AP熱點。在線階段每隔5 m進行數據采集,共17個參考點,采集850條數據。由于巷道的寬度只有3 m,遠遠小于巷道長度,因此忽略巷道的寬度,此時默認參考點和AP點橫坐標值均為0。試驗場景和試驗區域部署分別如圖3—圖4所示。

圖3 試驗場景

圖4 試驗區域部署
為驗證所提算法能有效解決井下環境變化導致模型精度降低的問題,共分為2個試驗。
試驗1:在試驗區域內相同環境下采集離線建庫數據和在線定位數據。
試驗2:離線建庫數據與試驗1相同,采集在線定位數據時,需要改變試驗環境,即在同一試驗區域不同環境下采集離線和在線數據。
共采集4批試驗數據:①初始訓練數據集Train-data;②在同一地點、同一時間采集的增量數據集Incredata1;③在同一地點、不同時間采集的增量數據集Incredata2;④測試數據集Test-data。試驗數據介紹見表2。
(1)試驗1中3種算法對比試驗。遺傳優化BP(genetic algorithm-back propagation,GA-BP)、ELM和OSELM 3種算法的定位結果對比如圖5所示。

圖5 3種算法定位結果對比(試驗1)
由圖5的定位結果計算得到GA-BP、ELM和OSELM 3種算法的RMSE分別為1.945 8、1.635 6和1.409 5 m。3種算法預測值和真實值擬合程度均較高,且定位誤差都分布在2 m內,均滿足復雜井下環境的定位需求。通過對比3種算法的定位精度可知,OSELM算法的RMSE比GA-BP和ELM算法的RMSE分別低0.536 3和0.226 1 m。因此,OSELM算法有更高的定位精度。
試驗1中,GA-BP、ELM、OSELM 3種算法的時間消耗對比見表3。

表3 3種算法時間消耗對比(試驗1) s
由表3可知,OSELM算法在相同數據量的情況下收斂速度更快,OSELM算法的輸入層和隱藏層之間的連接權值、隱藏層的閾值可以隨機進行人為設置,不需要通過復雜的迭代進行調整。利用OSELM算法實現井下定位能夠節省算法的運行時間,提升算法的運行效率。
(2)試驗2中GA-BP、ELM和OSELM 3種算法的定位結果對比如圖6所示。

圖6 3種算法定位結果對比(試驗2)
由圖6的定位結果計算得到GA-BP、ELM和OSELM 3種匹配定位算法的RMSE分別為3.730 8、3.464 8和2.302 6 m。試驗2和試驗1對比,GA-BP、ELM和OSELM 3種算法的RMSE分別增大了1.785 0、1.829 2和0.893 1 m。試驗環境變化后,GA-BP和ELM算法的RMSE變化較大,OSELM算法的RMSE變化較小,OSELM算法比GA-BP和ELM算法的RMSE分別低1.428 2和1.162 2 m。與批量式處理算法相比,OSELM算法能夠利用在線學習能力在線更新定位模型,使更新后的模型能更好地適應當前試驗環境。
試驗2中,GA-BP、ELM、OSELM 3種算法的時間消耗對比見表4。

表4 3種算法的時間消耗對比(試驗2) s
由表4可知,OSELM算法在相同數據量的情況下收斂速度更快。OSELM算法在滿足高精度定位需求的同時,還節省了定位時間,符合大多數場景下的應用。
(3)試驗1中算法改進試驗。針對OSELM算法的病態矩陣求逆和平等對待所有新增數據的不足,本文分別提出R-OSELM、F-OSELM算法和FR-OSELM算法,并對FR-OSELM、F-OSELM、R-OSELM和OSELM 4種算法的定位準確率進行對比分析。
首先用Train-data訓練初始模型,然后用Incredata1對模型進行增量學習,最后再利用Test-data對模型進行測試。4種算法不同誤差距離下的定位準確率如圖7所示。

圖7 4種算法定位精度對比(Incredata1)
FR-OSELM、F-OSELM、R-OSELM和OSELM 4種算法在誤差距離為1、2、3 m下的定位準確率對比見表5。

表5 4種算法定位準確率對比(Incredata1) (%)
在3 m誤差距離范圍內,R-OSELM、F-OSELM和FR-OSELM算法的定位準確率比OSELM算法分別高1%、2%和6%。因此,在OSELM算法基礎上分別引入正則化技術和遺忘因子機制,能有效地提升定位模型精度;同時,融合兩種機制的FR-OSELM算法定位準確率最高,能夠達到97%,所提改進算法均有效。
(4)試驗2中算法改進試驗。首先用Train-data訓練初始模型,然后用Incredata2對模型進行增量學習,最后用Test-data對模型進行測試。試驗環境變化后4種算法不同距離誤差下的定位準確率對比如圖8所示。

圖8 4種算法定位準確率對比(Incredata2)
FR-OSELM、F-OSELM、R-OSELM和OSELM 4種算法在誤差距離為1、2、3 m下的定位準確率對比見表6。

表6 4種算法定位準確率對比(Incredata2) (%)
在3 m誤差距離范圍內,試驗2定位準確率較試驗1相比有所下降,這是由于試驗環境發生了動態變化導致模型定位準確率降低。R-OSELM、F-OSELM和FR-OSELM算法的定位準確率比OSELM高1%、2%和5%。當試驗環境變化后,在OSELM算法基礎上引入正則化和遺忘因子機制能更有效地提升定位模型精度;融合兩種機制的FR-OSELM算法有更強的穩定性和對動態環境的適應能力,定位準確率最高。4種算法的定位準確率均達到了90%及以上,所提改進算法有效。
井下無線通信環境復雜多變,導致定位模型精度降低。本文提出的OSELM及其改進算法,能夠更好地改善高動態井下環境導致定位模型精度降低的問題。仿真試驗結果表明:
(1)當試驗環境發生變化后,與批量式定位算法相比,OSELM算法對動態環境有更強的適應能力,能夠更好地維持原模型定位精度,同時還能夠降低算法的運行時間,提升算法的運行效率。
(2)當試驗環境發生變化后,在3 m誤差距離范圍內,R-OSELM和F-OSELM算法的定位精度均高于OSELM算法,在OSELM算法基礎上分別引入正則化技術和遺忘因子機制能夠有效提高模型定位精度。將兩種機制融合的FR-OSELM算法的定位準確率最高,比OSELM定位算法高5%左右。所提算法能更好地改善因井下無線通信環境高動態變化導致定位模型精度降低的問題。
因此,本文算法可實現對井下作業人員的精確定位。后續試驗可進一步深入研究OSELM算法,提出更加可行有效的算法改進評價系統。