鄧素,薛峰,余敏
(江西師范大學(xué) 計算機(jī)信息工程學(xué)院,江西 南昌 330022)
隨著移動計算、無線定位等技術(shù)的迅速發(fā)展和普及,基于“位置的服務(wù)”(LBS)正向我們展現(xiàn)出廣闊的市場應(yīng)用前景.自美國在1996年通過著名的E911法案,美國聯(lián)邦通信委員會強制要求各電信運營商開發(fā)出能夠在緊急救援事件中為社會安全機(jī)構(gòu)提供用戶的位置信息,定位技術(shù)越來越被人們所關(guān)注.定位按照使用場景的不同可劃分為室內(nèi)定位和室外定位兩大類.在室外,人們主要依靠全球定位系統(tǒng)(GPS)、格洛納斯定位系統(tǒng)(GLONASS)、北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS)來獲取可靠、實時的位置信息.而進(jìn)入室內(nèi),由于建筑物對衛(wèi)星信號的遮蔽,全球衛(wèi)星導(dǎo)航系統(tǒng)(GNSS)終端在室內(nèi)或者建筑物密集的室外便很難獲取到衛(wèi)星信號,難以滿足室內(nèi)服務(wù)應(yīng)用對定位精度的要求,因此GPS等定位系統(tǒng)并不適用于室內(nèi).所以為解決這個問題,科研人員將注意力轉(zhuǎn)移到了無線傳感網(wǎng).相比于射頻識別技術(shù)(RFID)、超聲波、紅外、超寬帶(UWB)等需要依賴部署專用的硬件設(shè)施應(yīng)用范圍有限且成本昂貴的定位技術(shù),無線WiFi定位技術(shù)憑借著其覆蓋范圍廣、實現(xiàn)簡單、部署難度低、無需額外成本等優(yōu)點而被廣泛運用.
無線室內(nèi)定位算法主要可分為兩大類:基于測距的定位和基于非測距的定位.基于測距的定位方法主要有到達(dá)時間(TOA)、到達(dá)時間差(TDOA)、到達(dá)角(AOA)等.基于非測距的定位方法主要是基于接收信號強度值,該方法可分為指紋匹配法和距離路徑衰減模型法.室內(nèi)指紋匹配定位技術(shù)因其非視距、定位精度高、受室內(nèi)環(huán)境影響小、實現(xiàn)靈活等優(yōu)點備受人們的關(guān)注.
近年來,關(guān)于WiFi無線定位方式的研究,張會清[1]提出了一種用BP神經(jīng)網(wǎng)絡(luò)來擬合室內(nèi)無線信號的傳播模型.鄧胡濱[2]提出一種利用廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)擬合室內(nèi)信號強度指示(RSSI)值與距離值的映射關(guān)系,得到相應(yīng)的定位模型方法.黃豐勝[3]通過分析在不同場景下基于RSSI指紋匹配法和位置估計法,驗證了指紋匹配法具有更高的定位精度.李瑛等[4]提出了一種基于反向傳播(BP)神經(jīng)網(wǎng)絡(luò)的室內(nèi)定位模型,與基于信號衰減模型的定位算法測試對比后,結(jié)果表明利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行室內(nèi)定位能獲得更好的定位精度,但此方法在進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的初始化訓(xùn)練時,由于神經(jīng)網(wǎng)絡(luò)參數(shù)值的隨機(jī)選取,導(dǎo)致節(jié)點表現(xiàn)出個體差異,部分節(jié)點的定位精度始終較低.閆思銳[5]通過分析無線通信模型,針對室內(nèi)無線信號傳播模型中路徑損耗指數(shù)和參數(shù)依據(jù)經(jīng)驗判斷導(dǎo)致的定位誤差太大問題,提出利用BP神經(jīng)網(wǎng)絡(luò)擬合RSSI-d非線性函數(shù)關(guān)系,大大降低了定位誤差.但由于室內(nèi)環(huán)境的復(fù)雜多樣性,存在多徑效應(yīng),會導(dǎo)致信號強度波動較大,傳播模型距離估算不準(zhǔn)確,進(jìn)而定位精度受到了極大的影響[6].針對以上問題,為提高無線網(wǎng)絡(luò)室內(nèi)定位的效果,本文將改進(jìn)的人工魚群優(yōu)化算法和BP神經(jīng)網(wǎng)絡(luò)[7]WiFi指紋室內(nèi)定位算法相結(jié)合,首先利用改進(jìn)的人工魚群優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值參數(shù)進(jìn)行優(yōu)化[8-9],改善了人工神經(jīng)網(wǎng)絡(luò)的預(yù)測值易陷入局部最低等缺點.然后再將優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)RSSI和兩維位置信息間的非線性映射關(guān)系,可有效提高定位精度以及算法的收斂速度和可靠性.
自由空間傳播模型是指在發(fā)送端與接收端之間不存在障礙物的干擾且是在視距(LOS)狀態(tài)下的接收信號模型[10].是一種簡單的無線電傳播模型.依據(jù)無線通信原理,信號的接收功率與發(fā)射功率的關(guān)系可表示為:
(1)
式中:Pt為信號源的發(fā)射功率;Gt、Gr分別為天線在發(fā)送和接收信號時的增益;λ為無線電信號波長;Pr(d)為接收端距發(fā)射端d處時的接收功率.一般情況下,用RSSI來推算距離時,可由經(jīng)驗路徑模型得出,即:
RSSI(d)=A-10nlg(d),
(2)
式中:d為待測定位點的距離;A為距離信號發(fā)射源1 m處接收到的信號強度平均值的絕對值;n為路徑損耗系數(shù).
WiFi信號除了以接收信號強度(RSS)傳播模型為主的測距定位方法外,現(xiàn)運用更多的方法是通過指紋方式實現(xiàn)定位.指紋定位包括兩個階段:訓(xùn)練階段(offline)和服務(wù)階段(online).訓(xùn)練階段對數(shù)據(jù)進(jìn)行采樣,將收集的無線信號特征存入數(shù)據(jù)庫.在服務(wù)階段,使用數(shù)據(jù)庫中的RSSI和當(dāng)前的RSSI值進(jìn)行對比和定位.確定性算法、概率性算法和人工神經(jīng)網(wǎng)絡(luò)算法是目前常用的待測定位點的估計方法.
在設(shè)計BP神經(jīng)網(wǎng)絡(luò)時,考慮到RSSI值易受環(huán)境影響,波動較大,若采用基于信號強度的測距模型來進(jìn)行定位,由于其中距離是由RSSI推算出來的,在計算過程中將會丟失一些原始信息,而且一般情況下,室內(nèi)通常存在噪聲,所以本文將把RSSI平均值作為BP神經(jīng)網(wǎng)絡(luò)的輸入,為減少數(shù)據(jù)采集過程中的誤差,在采集RSSI數(shù)據(jù)值時采用高斯濾波進(jìn)行處理,將待定位節(jié)點的坐標(biāo)作為輸出來進(jìn)行BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,并建立如下函數(shù)關(guān)系:
φ(RSSI1,RSSI2,…,RSSIn)=(x,y),
(3)
其中,RSSIi,i∈(1,n)為目標(biāo)定位節(jié)點接收來自各信標(biāo)定位節(jié)點的的RSSI.
BP神經(jīng)網(wǎng)絡(luò)[11-12]是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),也是一種監(jiān)督學(xué)習(xí)型人工神經(jīng)網(wǎng)絡(luò),具有很強的非線性映射能力.常用于函數(shù)逼近、模式識別等預(yù)測學(xué)習(xí)領(lǐng)域.BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成.典型的BP神經(jīng)網(wǎng)絡(luò)通常包括三層結(jié)構(gòu):輸入層,隱含層,輸出層.輸入層神經(jīng)元負(fù)責(zé)接收外界輸入信息,并傳遞給隱含層,隱含層(可分為單隱層或多隱層)負(fù)責(zé)當(dāng)完成信息加權(quán)聚合變換和正向傳播處理后,通過輸出層向外界輸出處理結(jié)果.當(dāng)實際輸出值與期望輸出值不符時,進(jìn)入誤差反向傳播階段.通過三層BP神經(jīng)網(wǎng)絡(luò)可以擬合任意的連續(xù)非線性曲線,但本文中坐標(biāo)值與RSSI值之間的對應(yīng)關(guān)系并不連續(xù),屬非線性關(guān)系.根據(jù)實驗條件和相關(guān)定理及經(jīng)驗得知,本文選擇使用四層神經(jīng)網(wǎng)絡(luò).其中包括2個隱含層,1個輸入層和1個輸出層.第一層傳遞函數(shù)為sigmod函數(shù),第二層傳遞函數(shù)為線性函數(shù).模型如圖1所示.
僅僅使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)訓(xùn)練容易陷入局部極小化,且該網(wǎng)絡(luò)的收斂速度慢,對初值和網(wǎng)絡(luò)權(quán)重十分敏感.人工魚群算法具備全局的尋優(yōu)能力,能快速跳出局部極值點,另外還具有較快的收斂速度,對初始值要求不高的特點,本文將利用改進(jìn)的人工魚群算法來優(yōu)化神經(jīng)網(wǎng)絡(luò)別的初始權(quán)值和閾值.完成神經(jīng)網(wǎng)絡(luò)的訓(xùn)練并改進(jìn)其性能.
圖1 BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
人工魚群算法是一種采用自上而下的新型的群智能尋優(yōu)策略算法,是一種動物自治體優(yōu)化方法.該算法通過單個個體的局部尋優(yōu),從而達(dá)到全局最優(yōu).其核心思想主要是通過初始化構(gòu)造單條人工魚模擬自然界中魚群的覓食、聚群、追尾、隨機(jī)、移動等行為,不斷地進(jìn)行自我迭代位置更新,先從局部進(jìn)行搜索尋優(yōu),然后再在各自組織中進(jìn)行消息傳遞,從而實現(xiàn)全局尋優(yōu).
在一片水域中,魚總是能自行或者尾隨其他魚找到食物最多的地方.通過模擬魚群的這種行為,可將人工魚群算法分為四個行為:覓食行為、聚群行為、追尾行為、隨機(jī)行為.假設(shè)當(dāng)前人工魚l的狀態(tài)用狀態(tài)向量表示為Xl=(x1,x2,x3,…,xn),Yi=φ(Xl)為人工魚當(dāng)前所在位置的食物濃度,Xl為待優(yōu)化變量,即是Xl的適應(yīng)度函數(shù);δ為擁擠度因子,S為人工魚移動步長,V為人工魚的視野范圍,n為視野內(nèi)人工魚數(shù)目.trynum為最大嘗試次數(shù),R為最大迭代次數(shù).算法實現(xiàn)描述如下.
3.1.1 覓食行為
假設(shè)人工魚當(dāng)前狀態(tài)為Xh,在其視野范圍V內(nèi)隨機(jī)選擇一個狀態(tài)Xl,則有:
Xl=Xh+V·Rand(),
(4)
式中,Rand()為一個產(chǎn)生介于0~1之間的隨機(jī)函數(shù),V是視野范圍,若Yl>Yh,則人工魚按式(5)向前移動一步,否則,再重新選擇隨機(jī)狀態(tài)Xl,判斷是否滿足前進(jìn)條件,如此重復(fù)嘗試達(dá)到trynum次后,若仍不符合條件,則按照式(6)隨機(jī)移動一步.
(5)
(6)
3.1.2 聚群行為
自然界中,魚在游動過程中,為保證群體生存,躲避危害,會自然聚集成群.假設(shè)人工魚當(dāng)前狀態(tài)為Xh,探索領(lǐng)域內(nèi)伙伴數(shù)為n,中心位置為Xc,若Yc/n>δYh,表明中心位置食物較多且不擁擠,這時則向中心位置前進(jìn)一步,否則執(zhí)行覓食行為.
(7)
3.1.3 追尾行為
假設(shè)人工魚m當(dāng)前狀態(tài)為Xm,Xz是視野范圍內(nèi)能找到的最好的位置,若Yz/n>δYm,表明伙伴Xz周圍食物濃度高且不太擁擠.則按式(8)向前移動一步.
(8)
3.1.4 隨機(jī)行為
人工魚在視野中隨機(jī)選擇一個狀態(tài),然后朝該方向運動,它是覓食行為的一個缺省行為.
基本的人工魚群算法是存在缺陷的,算法的精度與人工魚的步長S和視野范圍V關(guān)系較大.常規(guī)的算法中,步長S是個定值,但是當(dāng)步數(shù)逐漸增加時,算法收斂速度將會加速,當(dāng)超過一個范圍后,收斂速度又將會減慢,當(dāng)S較小時,振幅較小,精度相對較高,當(dāng)S較大時,振幅較大,精度較差.這將造成算法在前期收斂速度快,后期收斂速度緩慢,且會伴有震蕩現(xiàn)象產(chǎn)生.因此,本文對該算法的步長S和視野V按照式(9)做了相應(yīng)的改進(jìn).為盡量避免上述現(xiàn)象的發(fā)生,本文采用一種自適應(yīng)步長的策略.
(9)
式中:b為誤差迭代函數(shù),表征迭代速度;Tmax為最大迭代次數(shù);t'為當(dāng)前迭代次數(shù);s'為[1…60]的整數(shù);S為步長;V為視野范圍.
3.2.1 IAFSA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)
改進(jìn)的人工魚群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法(IAFSA-BP)的主要核心思想是通過IAFSA找到BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)參數(shù).人工魚的位置Xl=(1,2,3,…,q)對應(yīng)了BP神經(jīng)網(wǎng)絡(luò)的一組參數(shù),q為搜索空間維數(shù),對應(yīng)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值.筆者在本文中主要采用了雙隱層神經(jīng)網(wǎng)絡(luò),設(shè)輸入層神經(jīng)元個數(shù)為m,第一隱層神經(jīng)元個數(shù)為g,第二隱層神經(jīng)元個數(shù)為e,輸出層神經(jīng)元個數(shù)為f,則有:
q=m(g+1)+ge+(e+1)f.
(10)
人工魚的一個狀態(tài)值Xl表示一個神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值.使用IAFSA反復(fù)優(yōu)化BP網(wǎng)絡(luò)模型的參數(shù)組合,直到解的適應(yīng)度不再發(fā)生改變.BP神經(jīng)網(wǎng)絡(luò)均方差誤差函數(shù)為
(11)
式中:n為訓(xùn)練樣本集維數(shù);yi為網(wǎng)絡(luò)實際輸出;ξ為輸出節(jié)點數(shù)量;hk為目標(biāo)輸出;F的倒數(shù)為人工魚所處環(huán)境的食物濃度.從上述模型中,本文設(shè)置V=2.0,S=0.2,擁擠度因子δ=0.618,N=10,trynum=50,R=300,Vmin=0.01,Smin=0.002,Tmax=500,根據(jù)經(jīng)驗參考公式設(shè)置BP神經(jīng)網(wǎng)絡(luò)第一隱層神經(jīng)元數(shù)為N2=8,第二隱層神經(jīng)元數(shù)為N3=4,輸入層節(jié)點數(shù)為5,輸出層節(jié)點數(shù)為2,網(wǎng)絡(luò)模型結(jié)構(gòu)為4-8-4-2.流程圖如圖2所示.
圖2 IAFSA-BP室內(nèi)定位算法流程圖
本文的實驗環(huán)境在江西師范大學(xué)先骕樓七樓3705工作室,試驗區(qū)域面積為10 m×10 m,并且按照1.0 m×1.0 m的規(guī)格將試驗區(qū)域劃分為100個小網(wǎng)格,無線AP型號采用TP-Link TL-WR885N,現(xiàn)場共布設(shè)4個AP終端設(shè)備,AP距離地面高度為1.5 m.定位區(qū)域平面示意圖如圖3所示,移動采集終端設(shè)備為華為mate10pro,共采集80個采樣點,在每個采樣點采集20次RSSI值.并用高斯濾波處理去噪后再利用加權(quán)均值的方法求出RSSI平均值,與采樣點的地理位置坐標(biāo)一同構(gòu)成集合{x,y,RSSI1,RSSI2,…,RSSIn}.
圖3 定位實驗平面區(qū)域圖
為驗證本文定位算法的穩(wěn)定性和有效性,本文運用基于粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法(PSO-BPNN),BP神經(jīng)網(wǎng)絡(luò)算法(BPNN),以及本文提出的IAFSA-BPNN無線WiFi指紋定位算法進(jìn)行訓(xùn)練和實驗,模型訓(xùn)練的數(shù)據(jù)均為在工作室實驗區(qū)域統(tǒng)一采集的數(shù)據(jù).本文采用留出法將數(shù)據(jù)集劃分為兩部分,一部分作為訓(xùn)練集,另一部分作為測試集.并將神經(jīng)網(wǎng)絡(luò)的輸出位置值與原參考點進(jìn)行比較,統(tǒng)計其定位誤差,表1為使用各算法得到的定位性能統(tǒng)計表.
圖4 三種方法定位性能對比
通過圖4可看出,本文提出的人工魚群優(yōu)化的雙隱層BP神經(jīng)網(wǎng)絡(luò)WiFi指紋室內(nèi)定位算法在0~1 m,1~2 m的定位誤差比PSO-BPNN,BPNN的誤差概率均要高,分別為70%和9%,在2 m內(nèi)的誤差累積概率可達(dá)79%,充分說明了IAFSA-BPNN無線WiFi室內(nèi)定位算法定位性能要優(yōu)于其他兩種定位算法,定位效果較好.表1示出了三種算法定位誤差比較.
表1 三種算法定位誤差比較
由表1誤差對比可知,本文算法的平均定位誤差為1.58 m,各定位誤差結(jié)果均低于BPNN和PSO-BPNN算法,其中,平均定位誤差的定位精度相比PSO-BPNN算法提高了19.4%,比BPNN算法提高了32.2%,這是由于本文通過改進(jìn)的人工魚群算法優(yōu)化了BP神經(jīng)網(wǎng)絡(luò)的參數(shù),建立了更優(yōu)的定位模型.在室內(nèi)定位領(lǐng)域中,基本能夠滿足對誤差的要求.
本文在室內(nèi)無線定位技術(shù)的基礎(chǔ)上,針對傳統(tǒng)的基于BP神經(jīng)網(wǎng)絡(luò)室內(nèi)定位算法存在著定位精度低和收斂速度慢的問題,利用改進(jìn)的人工魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型的權(quán)值和閾值參數(shù),有效避免了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測值易陷入局部最優(yōu)的缺點,同時BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力也得到一定的提高,最后,將其與室內(nèi)定位應(yīng)用場景相結(jié)合,實驗分析結(jié)果也表明,本文提出的定位算法在2 m內(nèi)的誤差概率為79%,平均誤差為1.58 m,相對于PSO-BPNN,BPNN算法,性能均較優(yōu),定位結(jié)果較穩(wěn)定.室內(nèi)定位性能得到了有效的改善.