申思涵,洪 濤,吳楷文,張瑩瑩,翟 容,孫子文
(江南大學 物聯網工程學院,江蘇 無錫 214122)
目前,借閱者借閱圖書時,通常需按照圖書索引號在特定區域尋找,但大多借閱者缺少專業的圖書檢索知識,要想在眾多書籍中找到目標圖書費時費力。同時,圖書亂放現象時有發生,更增加了尋找目標圖書的難度。因此,研究設計一種能借助現代科學技術,讓缺乏圖書管理專業知識的借閱者快速、高效地找到所需書籍的圖書識別定位管理系統尤為重要。
圖書定位問題的實質是室內定位問題,在能夠實現室內定位的多種技術中[1],射頻識別(Radio Frequency Identification,RFID)技術優勢突出[2]。在自動識別方面,RFID技術通過無線電信號識別特定目標并讀寫相關數據,而無需識別系統與特定目標之間建立機械或光學接觸,此功能在校園一卡通、門禁系統以及電子不停車收費等應用中得到了廣泛應用。在室內定位方面,RFID技術主要利用非接觸式雙向射頻通信實現定位功能。由于RFID技術具有抗干擾及穿透能力強、定位范圍廣等優勢,相比紅外線、超聲波、GPS等技術具有更好的適應性與優越性。
目前已有基于RFID技術的定位算法的研究。文獻[3]提出了一種基于空間信息分析和梯度下降法的RFID三維空間定位算法,適用于倉庫管理等室內定位系統的三維空間定位。該算法通過逐漸逼近并不斷修正的方式實現,但在圖書館標簽密集的環境下,標簽間的互相干擾使算法不再適用。文獻[4]提出了一種閾值改進型邊界虛擬參考標簽定位算法,將邊界處的實體參考標簽改為虛擬參考標簽,與實體參考相比,提高了定位精度。此算法解決了實際參考標簽信號易碰撞、部署不便的問題,但相對經典LANDMARC算法[5]精度提升并不明顯。文獻[6]提出了基于RFID的虛擬參考三維定位算法,在用八個實體參考標簽通過歐氏距離方法確定的六面體內,按RSSI(Received Signal Strength Indicator,RSSI)分割空間并引入八個虛擬標簽確定一個面積更小的六面體,由此確定待定位標簽的位置。在面積較大的圖書館中,由于圖書排列緊密,貼于圖書上的實體參考標簽數量較多,若按六面體為單位二次分割空間,必然存在較大誤差,增加了快速定位目標圖書的難度。
針對圖書館環境的特殊性,即藏書面積較大,圖書排列緊密的特點,本文設計了一種智能圖書定位系統。通過改進的基于RFID的三維定位算法[7],將二維層面的定位算法拓展到三維空間;在靜態模式定位的基礎上,將電子標簽附于圖書上[8-9];通過電子標簽發出的RSSI信號值在后臺進行定位算法處理,定位算法引入虛擬參考標簽,采用牛頓插值算法計算虛擬參考標簽RSSI值。
由于在相同傳輸距離和環境下測量不同位置的信號存在誤差,因此引入對數路徑損耗模型[10]:

式中:PL(d)為路徑損耗;d0為近地參考距離;Xσ為服從均值為0,標準差為σ的高斯隨機變量,與所處的環境有關。利用式(1)可獲得標簽的RSSI信號。
LANDMARC 算法通過參考標簽定位參考點校準目標位置以實現定位,即采用統計學中“最近鄰居”思想。當某個待測標簽與參考標簽的空間距離相近時,它們對同一個RFID讀寫器的信號強度值相近,因此由系統選擇若干RSSI值與待測標簽相近的參考標簽作為定位時的參考標簽[6]。
假設有M個讀寫器,A個參考標簽,B個待測標簽。設第i個參考標簽、第j個待定位標簽的RSSI矢量分別如式(2),式(3):

式中:Sim表示第m個讀寫器接收到的第i(1,2,…,A)個參考標簽的RSSI值;Sjm表示第m個讀寫器接收到的第j(1,2,…,B)個待測標簽的RSSI值。
第j個待測標簽與第i個參考標簽之間的信號強度歐氏距離[11]為:

Eij越小代表參考標簽與待測標簽之間的距離越近。矢量表示待測標簽j與所有A個參考標簽的RSSI歐氏距離矢量。
計算得出與待測標簽j距離最近的k個參考標簽,由最近臨法可計算待測標簽j的位置坐標[11],如式(5):

式中,ωi為第i個參考標簽權重,由經驗公式可知:

定義單個標簽的定位誤差為:

式中:(xj,yj)為由理論公式計算所得的待測標簽j的坐標值;(x,y)為待測標簽j的實際坐標。σ越小,表明定位誤差越小,定位精度越高。
LANDMARC算法通過選擇幾個信號強度值與待定位標簽相近的參考標簽,并對這些參考標簽分配權值,從而計算待定位標簽的坐標。為提高定位精度,需布置大量實體參考標簽,此舉不僅會增加成本,還會引入參考標簽之間的射頻干擾。
與LANDMARC算法僅僅采用實體參考標簽不同,VIRE算法提出了近似地圖的概念,將待測區域劃分為若干個網格,在這些網格的中心設一個虛擬參考標簽。VIRE算法通過在定位區域中設置虛擬參考標簽代替實體參考標簽進行定位,在降低定位系統成本的同時增加了定位精度。
每一個讀寫器都有自己的近似地圖,區域中心的虛擬參考標簽數量為C。通過檢測標簽發送射頻信號,各讀寫器將讀取同一個待定位標簽的信號強度值,生成待定位標簽RSSI強度矩陣:

式中,Sjm為讀寫器m檢測到的標簽j的RSSI值。
生成虛擬參考標簽RSSI強度矩陣:

式中,θhm為讀寫器m檢測到虛擬參考標簽h的RSSI值。
待定位標簽j與區域中心虛擬參考標簽h被同一讀寫器m檢測到的RSSI的差值為:

根據式(10)設置一個閾值,若虛擬參考標簽的坐標位置小于該閾值則記錄,大于該閾值的點舍去,這些被記錄下來的點將構成一個集合[12]。如圖1所示有4個讀寫器,各讀寫器通過讀取RSSI值,在閾值限制下選取符合要求的可能的網格,再對4個讀寫器在閾值限定下選取的網格做交集運算,篩選出可能性大的網格,則可得到虛擬參考標簽所在的大致位置。
傳統定位算法適用于二維層面,而為適合圖書館三維環境,擬在經典二維定位算法LANDMARC與VIRE的基礎上,構建一個三維算法。鑒于圖書館室內環境的特殊性,定位算法改進的策略分如下兩步進行:
(1)通過LANDMARC算法找到待定位標簽所在書架;

圖1 VIRE算法中鄰近地圖思想圖解
(2)進一步通過VIRE算法確定待定位標簽的精確位置。
假設系統中共有M個讀寫器,A個實體參考標簽,B個待定位標簽,C個虛擬參考標簽。定位模型如圖2所示。
通過用戶搜索激發定位系統工作。在數據庫中檢索,觸發讀寫器發送RSSI信號給待定位標簽,待定位標簽再將RSSI信號反饋給讀寫器,在參考標簽的協助下,系統運行定位算法,得到待定位標簽的位置,并結合數據庫中的信息,將用戶搜集書籍的位置信息傳送到網頁,提供給用戶。
各讀寫器將讀取同一個待定位標簽的信號強度值,通過比較每個參考標簽到待定位標簽的距離矢量,找到最接近待定位標簽的臨近參考標簽,即可確定待定位標簽所在書架。
M個讀寫器讀取同一個待定位標簽的RSSI,定義待定位標簽j的信號強度矢量,即:

圖2 定位模型

B個待定位標簽的強度矩陣為:

各讀寫器將讀取同一個實體參考標簽的信號強度值,定義屬于實體參考的信號強度矢量公式,即:

A個實體參考標簽的信號強度矩陣為:

對于待定位標簽j,定義待定位標簽與實體參考標簽之間RSSI值的歐氏距離為[8]:

根據式(13)計算j=1,2,…,B時各個Eij的值,并比較其大小。Eij值最小時的實體參考標簽便是距離待定位標簽最近的參考標簽,由此實體參考標簽所在書架的位置便可得到待定位標簽所在書架。
如圖3所示,在確定待定位標簽所在書架后,對待定位標簽臨近的兩個參考標簽之間不斷取中點,并在中點處設置虛擬參考標簽。

圖3 虛擬參考標簽示意圖
2.3.1 虛擬參考標簽及其RSSI信號強度
虛擬參考標簽非真實存在,只是在VIRE算法的近似地圖中假設各網格中均有一個虛擬標簽,并通過線性插值法求出虛擬參考標簽的信號強度值。插值法在某區間中根據若干點已知值為輸入變量,利用插值函數作為目標點的近似值[6]。由于室內環境存在較大干擾,標簽RSSI值與距離為非線性關系,常規線性差值難以逼近虛擬標簽的RSSI,本文采用牛頓插值法求解虛擬參考標簽的RSSI值[10]。
在圖書館的三維定位算法中,通過尋找n個插值節點處標簽RSSI值構造的插值函數與n+1個插值節點處標簽RSSI值構造的插值函數之間的關系,求解區域某個待測點的值,得到虛擬標簽RSSI,其中自變量是標簽的信號強度值。
牛頓插值表達式為:

式中:ci(i=0,1,2,…,n)為多項式系數;x為虛擬參考標簽。

f(·)為對應函數值,即:

基于牛頓插值法思想,采用分段方法對虛擬參考標簽RSSI進行計算。首先,將每個參考標簽之間劃分為更小的網格,將參考標簽的RSSI建模為標簽與讀寫器之間的距離函數,并將所有參考標簽與讀寫器的距離進行排序、分組。假設將所有參考標簽的距離排序后分為n組,利用牛頓插值算法求得虛擬標簽RSSI。

式中:S(l)為信號強度值;S0為初始信號強度值;l為總距離;lk為第k個分組的兩標簽間的距離;為牛頓插值函數;ωk=lk-lk-1。
2.3.2 精確定位標簽位置
采用VIRE算法的相近地圖原理,求出待定位標簽的坐標。
各讀寫器將讀取同一個虛擬參考標簽的信號強度值,定義屬于虛擬參考標簽的信號強度矢量為:

設C個虛擬參考標簽的強度矩陣:

定義待定位標簽與虛擬參考標簽之間RSSI值的歐氏距離為:

式(13)和(20)分別表示了待定位標簽與實體參考標簽或虛擬參考標簽的距離。為得到待定位參考標簽的位置,預先設定一個閾值,若待定位標簽與參考標簽之間的RSSI值的歐氏距離Eij或Ehj小于或等于閾值,則近似認為該定位標簽為對應的參考標簽處的位置。
采用二分法定位標簽的位置:
(1)根據式(15)得到待定位標簽X與實體參考標簽之間的RSSI的歐氏距離Eij,比較i=1,2,…,A時的歐氏距離,最小時即可得到距離待定位標簽最近的實體參考標簽,由此確定待定位標簽所在書架。
(2)比較待定位標簽與所在書架兩端實體參考標簽P1,P2的歐氏距離,若EP1X,EP2X均大于設定閾值,且EP1X<EP2X,則取P1,P2中點Q1,設置Q1處為虛擬參考標簽。
(3)根據式(17)計算Q1處虛擬參考標簽的RSSI,根據式(13)、式(20)計算待定位標簽與P1,Q1的歐氏距離。若EP1X,EQ1X均大于設定閾值,且 EQ1X<EP1X,則取 P1,Q1中點Q2,設置Q2處為虛擬參考標簽。
(4)根據式(17)計算Q2處虛擬參考標簽信號強度,根據式(13)、式(20)計算待定位標簽與Q1,Q2的歐氏距離EQ1X,EQ2X。若 EQ1X,EQ2X均大于設定閾值,且 EQ1X<EQ2X,則取 Q1,Q2中點 Q3。
(5)反復迭代循環步驟(2)~(4),直到所得實體或虛擬參考標簽與待定位標簽的歐氏距離小于閾值,則此參考標簽的位置即為待定位標簽的位置。
為驗證三維改進算法相對二維算法的適用性和加入虛擬參考標簽后的準確性,使用Matlab仿真軟件分別對LANDMAEC,VIRE以及改進的三維定位算法的定位性能進行仿真實驗,其中三維定位算法分別在有虛擬參考標簽和無虛擬參考標簽的情況下進行仿真實驗。
初始設置:網格數a=8,路徑損耗指數N=2,高斯噪聲標準差σ=2。
仿真環境:圖4和圖5中,在8 m×8 m的室內環境設置4個RFID讀寫器,9個參考標簽,標簽均勻間距為2 m;在圖5中增加16個虛擬參考標簽,間距為2 m。
仿真環境:圖6和圖7中,在8 m×8 m×8 m的室內環境設置8個RFID讀寫器,32個參考標簽;圖7中增加16個虛擬參考標簽,間距為2 m。
圖4所示為LANDMARC算法仿真實驗結果。6枚待定位標簽的定位誤差分別為0.78 m,0.99 m,1.30 m,0.50 m,0.54 m,0.70 m。最大誤差約為1.30 m,最小誤差約為0.50 m,LANDMARC算法測得的平均誤差為0.8 m。
圖5所示為VIRE算法仿真實驗結果。6枚待定位標簽的定位誤差分別為0.81 m,0.32 m,0.36 m,0.71 m,0.51 m,0.86 m。最大誤差約為0.86 m,最小誤差約為0.32 m,VIRE算法測得的平均誤差為0.59 m。

圖4 LANDMARC算法定位性能
圖6所示為三維改進算法不加入虛擬參考標簽的仿真實驗結果。6枚待定位標簽的定位誤差分別為1.68 m,0.69 m,1.83 m,1.67 m,1.78 m,1.11 m。最大誤差約為1.83 m,最小誤差約為0.69 m,測得的平均誤差為1.56 m。
圖7所示為三維改進算法加入虛擬參考標簽的仿真實驗結果。6枚待定位標簽的定位誤差分別為0.63 m,1.00 m,1.52 m,1.10 m,0.89 m,0.95 m。最大誤差約為1.52 m,最小誤差約為0.63 m,測得的平均誤差為1.02 m。

圖5 VIRE算法仿真結果

圖6 三維改進算法仿真(無虛擬標簽)

圖7 三維改進算法仿真(有虛擬標簽)
為更清晰、科學地對比各算法對待定位標簽的預測精度,各算法最大誤差、最小誤差及平均誤差見表1所列。

表1 各算法的定位誤差對比
由表1可知,VIRE算法的定位誤差相比LANDMARC算法明顯減小,定位精度更優。但LANDMARC算法和VIRE算法均停留在二維層面,不能用于實際的圖書定位場景。三維定位算法在LANDMARC和VIRE基礎上進行了擴展,雖然誤差對比二維定位較大,但可實現三維室內圖書定位。
此外,由表1可見,加入虛擬標簽后,定位精度比不加虛擬標簽時的定位精度有所提高。
本文在研究傳統LANDMRAC算法和VIRE算法的基礎上,將二維層面的定位算法拓展到三維空間,提出了基于RFID的圖書三維定位算法。主要通過引入虛擬參考標簽,并在牛頓插值算法的基礎上改進虛擬參考標簽RSSI計算方法。最后應用Matlab完成了對算法的仿真,并分析了其相比于傳統算法的定位效果,結果表明所提算法提高了定位精度,能夠更好地適應圖書館環境。