張麗娜,彭 力
(1. 浙江安防職業(yè)技術學院信息工程學院,浙江 溫州 325000; 2. 江南大學信息學院,江蘇 無錫 214000)
利用單相機和神經(jīng)網(wǎng)絡估計的室內(nèi)定位導航
張麗娜1,彭 力2
(1. 浙江安防職業(yè)技術學院信息工程學院,浙江 溫州 325000; 2. 江南大學信息學院,江蘇 無錫 214000)
由于三維場景與二維圖像之間存在著非線性和高度復雜的關系,使用相機對用戶的位置進行估計需要建立復雜的數(shù)學模型。針對該問題,本文提出了使用神經(jīng)網(wǎng)絡估計的單相機進行室內(nèi)定位的方法。室內(nèi)定位系統(tǒng)的主要優(yōu)點是LED能夠使用可見光通信發(fā)送其位置信息。首先,該方法充分利用LED光線的投影不變性,借助圖像傳感器通信(ISC)完成虛擬直線的構(gòu)建;然后,運用神經(jīng)網(wǎng)絡估計從該虛擬直線中提取出相機的方向信息;最后,使用一個簡單數(shù)學方程估計用戶位置。仿真試驗考慮了4種情形,結(jié)果表明,本文提出的方法性能優(yōu)于同類方法,對于一個房間內(nèi)的大部分地方,定位誤差在35 mm以內(nèi)。
室內(nèi)定位;單相機;神經(jīng)網(wǎng)絡估計;投影不變性;定位誤差
得益于通過智能手機提供基于位置的服務,以及按需服務所具備的市場價值,室內(nèi)定位技術[1]已經(jīng)成為未來智能服務的重要研究課題。其應用十分廣泛,如商場中的商品定位[2]、停車場的車輛導航[3]等。盡管GPS是目前最流行的定位系統(tǒng),但GPS并不適用于室內(nèi)導航[4],因為室內(nèi)環(huán)境和高層建筑會遮蔽信號。與GPS不同,智能手機配備了很多傳感器(如加速計、陀螺儀、磁傳感器和相機),為開發(fā)室內(nèi)導航技術提供了可能性。
一般而言,使用相機估計用戶的位置具備可行性,這是因為相機提供了三維世界和二維圖像之間的映射[5]。在已知世界坐標系和相機坐標系之間的相對旋轉(zhuǎn)與平移情況下,可以對用戶位置進行計算。該技術也被稱為相機外參標定,即通過構(gòu)建一個投影矩陣以完成相機標定[6]。但是,為估計出一個投影矩陣,必須要得到至少6個空間點坐標及其對應的圖像點。而執(zhí)行最小二乘法或奇異值分解法,從投影矩陣中提取旋轉(zhuǎn)矩陣,會使得計算復雜度變得非常高。此外,還必須獲悉相機之間的相關旋轉(zhuǎn)和平移。
用戶位置定位問題的求解一般在圖像傳感器通信[7](imaging sensor communication,ISC)中,通過對LED光強度進行調(diào)制,以傳送數(shù)據(jù)并保持恒定的照明度,再使用一個相機對數(shù)據(jù)進行接收和解碼,關于ISC的更多信息可以參閱文獻[7]。
為避免ISC求解復雜的數(shù)學模型,一般可以利用神經(jīng)網(wǎng)絡。由于神經(jīng)網(wǎng)絡能夠求解困難和多樣化的問題,因此被用于確定二維圖像和三維世界的坐標關系。如文獻[8]使用了一個3層前饋神經(jīng)網(wǎng)絡,從兩個相機拍攝的影像坐標內(nèi)提取世界坐標。然而,僅使用一個相機也可能完成這一目的。文獻[9]提出的方法采用了一個多層感知器神經(jīng)網(wǎng)絡,將圖像坐標轉(zhuǎn)化為世界坐標。文獻[10]提出了基準標記的室內(nèi)定位技術,在提取一個標記特征后,對神經(jīng)網(wǎng)絡進行訓練,以估計用戶位置。然而,標記方法需要明確的特征標識,對標記的坐標信息要求較高。
與上述方法不同,本文依靠ISC接收LED的坐標信息,然后構(gòu)建一條穿過LED虛擬投影不變的直線。使用一個簡單的幾何方程和一個神經(jīng)網(wǎng)絡估計相機指向。而且考慮了一個較廣范圍的旋轉(zhuǎn)矢量。
本文假設每個LED都安裝在一個平面(天花板)上,且均平行于世界坐標系的XOY平面(笛卡爾坐標系),一個LED和一個手機之間通信的發(fā)起需要LED和手機相機之間的視距,具體如圖1所示,圖中Pitch為俯仰角,Roll為翻滾角,Yaw為偏航角。一般可以考慮相機的xoy平面平行于世界坐標系的XOY平面。在這種情況下,相機坐標系和世界坐標系之間的旋轉(zhuǎn)則變成了z軸(偏航)的一個旋轉(zhuǎn)矢量以及x軸(俯仰)和y軸(翻滾)的一個可忽略的旋轉(zhuǎn)矢量。如圖1(a)所示,相機的xoy平面平行于世界坐標系的XOY平面。由于LED能夠通過自身的光線鏈路傳送其坐標信息,可以計算出在世界坐標系統(tǒng)中連接任意兩個LED的直線的斜率。由此可以建立一個關系,以計算相機坐標的x軸與世界坐標系X軸之間的角度,該角度即是z軸(偏航)的一個旋轉(zhuǎn)矢量。
這里X軸和Y軸的旋轉(zhuǎn)矢量是可忽略的。偏航角度的計算如圖2所示。如果(XW1,YW1,Z)和(XW2,YW2,Z)為兩個LED的坐標信息,則有
(1)
式中,θWX為一個平面中連接兩個LED直線的傾斜角,該平面平行于世界坐標系的XOY平面。
如圖2所示,(xc1,yc1)和(xc2,yc2)分別為一個相機的圖像平面上代表LED圖像的兩個點,則通過相機的z軸旋轉(zhuǎn)矢量進行考慮,利用在世界坐標系中連接兩個LED的直線斜率(θWX),以及在相機坐標系中連接兩個LED圖像的直線斜率,可以計算出相機坐標系和世界坐標系之間的相關旋轉(zhuǎn)。因此有
θxX=θcx-θWX+kπ
(2)
式中,θcx和k滿足如下關系
(3)
式中,θxX是相機坐標系的x軸和世界坐標系的X軸之間的角度,也是y軸和Y軸之間的角度,因為X軸和Y軸在任何一個坐標系中均為正交。根據(jù)圖2,θxX是一個相機坐標系到世界坐標系的Z軸的旋轉(zhuǎn)矢量。因此,世界坐標系到相機坐標系統(tǒng)的偏航角(κ)為
κ=π-θxX
(4)
圖1 世界坐標系統(tǒng)和相機坐標系的示意圖
以上解釋僅當偏航小于π時是正確的。在偏航大于π時也可以對偏航角度進行度量。算法1給出了如何度量偏航大于π的偏航角。該算法是基于鏡頭的特有性質(zhì),即如圖2所示,鏡頭總是在成像平面上將圖像反轉(zhuǎn)。此處LED1和LED2在一個成像平面中互相交換位置。由此可以得出xc1>xc2以及XW1
圖2 偏航(Yaw,Z軸旋轉(zhuǎn)矢量)角度的計算
因此,總結(jié)如下:對于角度較小的俯仰和翻滾,算法1是可行的。在俯仰和翻滾的角度較大的情況下,LED將會失焦,將無法度量相機位置。
算法1:
偏航角>π的偏航角度糾正
輸入:偏航>π(xc1,yc1)、(xc2,yc2)
輸出: 偏航
如果 偏航角<π/2
如果xc1-xc2<0
偏航=偏航+π;
否則
偏航=偏航;
end
如果 偏航≥π/2
如果yc1-yc2>0
偏航=偏航+π;
否則
偏航=偏航;
end
end
神經(jīng)網(wǎng)絡可以對輸入和輸出間的任何關系(線性或非線性)進行學習。在本文的模型中使用了多層感知器(multiple-layer perceptron,MLP),MLP能夠通過監(jiān)督式訓練及誤差反向傳播算法,求解困難和多樣化的問題。
2.1 利用神經(jīng)網(wǎng)絡估計旋轉(zhuǎn)矢量
訓練神經(jīng)網(wǎng)絡[11-12]使用上一節(jié)描述的方法,從計算出的平行線偏航中對旋轉(zhuǎn)矢量(俯仰、翻滾和偏航)進行估計。本文的神經(jīng)網(wǎng)絡結(jié)構(gòu)如圖3所示,其中使用了4個LED,以構(gòu)建6條虛擬直線,從這些直線中計算出6個偏航角度。本文使用一個3層前饋網(wǎng)絡,其中隱藏層由25個神經(jīng)元組成。隱藏層中的所有神經(jīng)元都有一個tan-sigmoid傳遞函數(shù)以適應非線性。對于輸出層神經(jīng)元,使用了線性傳遞函數(shù)。
圖3 本文的神經(jīng)網(wǎng)絡結(jié)構(gòu)
算法2步驟:
(1) 以不同相機位置和旋轉(zhuǎn)仿真儲相機模型;
(2) 得到LED圖像坐標;
(3) 使用算法1得到6個偏航,建立神經(jīng)網(wǎng)絡輸入數(shù)據(jù)庫;
(4) 輸入數(shù)據(jù)庫進行數(shù)據(jù)訓練和測試工作;
(5) 確定某個旋轉(zhuǎn)矢量(俯仰、翻轉(zhuǎn)和偏航);
(6) 使用相機模型為該旋轉(zhuǎn)矢量和房間內(nèi)所有位置進行模擬,得到每個相機位置LED圖像坐標;
(7) 使用算法1計算出6個偏航角,將其反饋為神經(jīng)網(wǎng)絡的輸入;
(8) 由步驟(4)和步驟(7)共同得出神經(jīng)網(wǎng)絡輸出。
2.2 世界坐標系中的相機位置估計
共線條件被用于建立二維圖像與三維空間點之間的關系。根據(jù)這一條件,每個目標點及其圖像和投影中心,都應屬于同一直線。可表示如下[13]
(5)
式中,(xcl,ycl)表示相機坐標系中的目標圖像點(LED圖像);(xcp,ycp)表示相機坐標系統(tǒng)中的投影中心坐標;(XWL,YWL,ZWL)表示世界坐標系統(tǒng)中的目標點坐標;(XW0,YW0,ZW0)表示世界坐標系統(tǒng)中的相機位置;RT(ω,φ,κ)表示世界坐標系和相機坐標系之間的相對旋轉(zhuǎn);f表示相機鏡頭的焦距;λ表示比例因子。
旋轉(zhuǎn)矩陣R是旋轉(zhuǎn)矢量俯仰、翻滾和偏航的函數(shù),因此可以使用神經(jīng)網(wǎng)絡的輸出構(gòu)建該矩陣。此外,LED坐標XWL可以通過鏈路接收到,LED圖像坐標xcl可以通過對圖像的特征進行提取獲取,因此如果獲得相機投影中心和焦距,則可以通過求解式(7)估計出未知的相機位置(用戶位置)。相機進行標定的方法比較成熟,也比較多,如七參數(shù)模型[14]。按照文獻[15]的方法,為了從式(5)中消除λ,可以作如下調(diào)整
(6)
式中,(xcl,ycl)表示相機坐標系中的LED圖像點,對于LED1和LED2,l=1或者2;(xcp,ycp)表示相機坐標系中投影中心的坐標;(XWL,YWL,ZWL)表示世界坐標系統(tǒng)中的LED位置,對于LED1和LED2,L=1或者2;(XW0,YW0,ZW0)表示世界坐標系中的相機位置;rij表示旋轉(zhuǎn)矩陣RT(ω,φ,k);f為相機鏡頭的焦距。
表1 仿真參數(shù)
3.1 利用神經(jīng)網(wǎng)絡估計旋轉(zhuǎn)矢量
表2 對X軸旋轉(zhuǎn)(俯仰)向量進行估計的誤差 mm
表3 對Y軸旋轉(zhuǎn)(翻滾)向量進行估計的誤差 mm
表4 對Z軸旋轉(zhuǎn)(偏航)向量進行估計的誤差 mm
3.2 相機位置的估計結(jié)果
首先使用神經(jīng)網(wǎng)絡輸出(俯仰、翻滾和偏航),利用式(6)計算相機位置;其次從估計出的相機位置計算出均方根(RMS)誤差;神經(jīng)網(wǎng)絡對于各旋轉(zhuǎn)矢量的輸出用于計算相機的位置,最后再計算RMS誤差。4種情形的誤差如圖4所示,圖中,LED1、LED2、LED3和LED4的位置分別表示為符號*、●、■和▲。由圖4可以看出,當x軸和y軸旋轉(zhuǎn)矢量較小時,誤差較低。圖4(a)和圖4(b)的RMS誤差最高為100 mm。然而,對于房間中的大部分地方,RMS誤差在35 mm之內(nèi)。
圖4 本文提出方法的定位性能
3.3 與其他方法的比較
由于各定位方法的試驗環(huán)境有所差異,試驗方法也不盡相同。為了公平起見,本文不作具體詳細的數(shù)值比較,只作總結(jié)性比較和分析。
文獻[8—10]僅對偏航進行估計,忽略了俯仰和翻滾。本文提出的方法使用了一個神經(jīng)網(wǎng)絡,對其他兩個旋轉(zhuǎn)矢量(俯仰和翻滾)也進行了估計,同時充分利用LED光線的投影不變性,借助ISC完成虛擬直線的構(gòu)建。其他具體比較信息見表5,可以看出本文方法綜合性能更優(yōu)。
表5 不同方法的總結(jié)性比較
由于三維場景和拍攝到的二維圖像之間存在著非線性和高度復雜的關系,使用一個相機對用戶的位置進行估計需要研究復雜的數(shù)學模型。而神經(jīng)網(wǎng)絡可最大限度地減少該復雜關系。為此,本文提出了一種基于神經(jīng)網(wǎng)絡的定位方法,而且考慮了較廣范圍的旋轉(zhuǎn)矢量。仿真結(jié)果表明,該方法在x軸和y軸旋轉(zhuǎn)矢量較低時性能較優(yōu),但是當x軸和y軸旋轉(zhuǎn)矢量較大時誤差會增加。未來將會研究如何降低x軸和y軸旋轉(zhuǎn)矢量帶來的誤差。
[1] 蘇松,胡引翠,盧光耀,等.低功耗藍牙手機終端室內(nèi)定位方法[J].測繪通報,2015(12):81-84.
[2] 鮑向華.基于室內(nèi)定位技術的商場導購系統(tǒng)的設計與開發(fā)[D].長春:吉林大學,2015.
[3] 周亮,付永濤,李廣軍.無線定位與慣性導航結(jié)合的室內(nèi)定位系統(tǒng)設計[J].電子技術應用,2014,40(4):73-76.
[4] 孔天恒.基于Radar-scanner/INS的微小型旋翼無人機室內(nèi)組合導航與控制的研究[D].杭州:浙江大學,2014.
[5] 郭濤,達飛鵬,方旭.小視場環(huán)境下的攝像機標定[J].中國激光,2012,39(8):164-168.
[6] LIU G H,WANG W B,YUAN J Y,et al. A Novel Camera Calibration Method of Variable Focal Length Based on Single-view[C]∥International Symposium on Electronic Commerce and Security.Nanchang:IEEE,2009:125-128.
[7] SAHA N,IFTHEKHAR M S,LE N T,et al.Survey on Optical Camera Communications:Challenges and Opportunities[J].Iet Optoelectronics,2015,9(5):172-183.
[8] IFTHEKHAR M S,MONDAL R K,LE N T,et al.Simple Method for Indoor Localization in OCC Using Smart Phone Image Sensor[C]∥Ubiquitous and Future Networks.Shanghai:IEEE,2014:55-58.
[9] 柯煒,吳樂南,殷奎喜.基于神經(jīng)網(wǎng)絡的數(shù)字廣播信號無線定位算法[J].東南大學學報(英文版),2010,26(3):394-398.
[10] MAZAN F,KOVAROVA A.Optimizing Artificial Neural Network for Beacon Based Indoor Localization[C]∥International Conference on Computer Systems and Technologies.New York:ACM,2016:261-268.
[11] SIMON HAYKIN.神經(jīng)網(wǎng)絡與機器學習(英文版)[M].3版.北京:機械工業(yè)出版社,2009.
[12] 許雄,鐘燕飛,張良培,等.基于空間自相關BP神經(jīng)網(wǎng)絡的遙感影像亞像元定位[J].測繪學報,2011,40(3):307-311.
[13] 付強,王春平.一種點目標三維重構(gòu)的新算法[J].科學技術與工程,2008,8(3):643-647.
[14] 李東,毛之琳,廖文兵,等.CGCS2000向獨立坐標系轉(zhuǎn)換的精度分析與估計研究[J].測繪通報,2013(10):8-10.
[15] QI Z,XIAO L,FU S,et al.Two-step Camera Calibration Method Based on the SPGD Algorithm[J].Applied optics,2012,51(26):6421-6428.
IndoorPositioningNavigationBasedonSingleCameraandNeuralNetworkEstimation
ZHANG Lina1,PENG Li2
(1. Department of Information Engineering,Zhejiang Security Career Technical College,Wenzhou 325000,China; 2. Department of Information Science,Jiangnan University,Wuxi 214000,China)
Estimating the user’s location with a camera requires the establishment of a complex mathematical model because the relationship between 3D scene and a 2D image is non-linear and highly complex. In order to solve this problem,a single camera based on neural network is proposed.The main advantage of the indoor positioning system is that LED can use the visible light communication to send its location information.The proposed method makes full use of LED light projection invariance,and completes the construction of virtual line by means of imaging sensor communication(ISC).Then,neural network estimation is used to extract information from the virtual camera direction lines.Finally,a simple mathematical equation is adopted to estimate the position of the user indoor.Four situations have been considered in the simulation experiments and the results show that the proposed method outperformed state-of-art techniques and its location error is less than 35 mm for most of the space within a room.
indoor positioning;single camera;neural network estimation;projection invariance;positioning error
張麗娜,彭力.利用單相機和神經(jīng)網(wǎng)絡估計的室內(nèi)定位導航[J].測繪通報,2017(10):100-105.
10.13474/j.cnki.11-2246.2017.0324.
2017-02-21
浙江省教育廳一般科研項目(Y201635414);溫州市科技局公益性科技計劃(S20160021);浙江安防職業(yè)技術學院重點科研項目(AF2016Z02)
張麗娜(1980—),女,碩士,副教授,主要研究方向為數(shù)據(jù)挖掘、大數(shù)據(jù)應用及定位等。E-mail:linazhang1980@163.com
P237
A
0494-0911(2017)10-0100-06