李 爽,甘興利,祝瑞輝,李雅寧
(衛(wèi)星導航系統(tǒng)與裝備技術(shù)國家重點實驗室,河北 石家莊 050081)
近年來,隨著商場、車站和展覽館等場所建筑規(guī)模的不斷擴大,人們對室內(nèi)位置服務(wù)的需求也越來越迫切。例如在監(jiān)獄內(nèi)定位犯人、在醫(yī)院定位病人、在火災現(xiàn)場定位消防戰(zhàn)士或在倉庫內(nèi)定位重要物品等。全球衛(wèi)星定位系統(tǒng)已經(jīng)能提供精確、穩(wěn)定的室外位置服務(wù),但由于衛(wèi)星信號無法穿透鋼筋混凝土結(jié)構(gòu)墻體,因此無法提供室內(nèi)定位服務(wù),由此研究人員開始尋求其他定位方法來實現(xiàn)室內(nèi)的位置導航服務(wù)。目前室內(nèi)定位技術(shù)主要包括紅外、藍牙、超聲波、Wi-Fi和超寬帶等,但是由于室內(nèi)建筑格局各不相同,環(huán)境復雜多變,且存在多種不同類型的噪聲干擾,因此現(xiàn)有的室內(nèi)定位方法仍然存在精度較低、穩(wěn)定性不高等問題,限制了室內(nèi)位置服務(wù)的推廣與應(yīng)用[1]。基于視覺的定位方法具有定位精度高、能夠提供豐富的場景信息且價格便宜、攜帶方便等優(yōu)勢,逐漸成為室內(nèi)定位技術(shù)研究的熱點[2]。基于視覺的定位技術(shù)作為一項基礎(chǔ)技術(shù),不僅可以應(yīng)用于室內(nèi)位置服務(wù),還可以應(yīng)用到其他領(lǐng)域,比如移動機器人導航、虛擬現(xiàn)實、航天器空間交互對接、無人機自主著陸和無人車自動駕駛等[3]。
本文提出了一種結(jié)合場景識別和透視n點投影問題的室內(nèi)定位方法,其中場景識別利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)實現(xiàn),透視n點投影問題利用基于虛擬控制點的PnP方法求解[4],并通過實驗對該方案進行驗證。
早期的場景識別分類技術(shù)主要研究基于圖像底層特征的分類方法。文獻[5-9]中采用的方法主要包含2部分:提取圖像特征,包括顏色、紋理和形狀等;對分類器進行訓練分類,常用的分類器有支持向量機、貝葉斯分類器和神經(jīng)網(wǎng)絡(luò)等。隨著對場景分類技術(shù)研究的不斷深入,研究人員發(fā)現(xiàn)基于低層特征的場景分類方法無法適應(yīng)不同場景的分類任務(wù)。因此,場景分類研究的重點開始逐漸轉(zhuǎn)向?qū)D像特征進行建模處理的方法,該類方法利用模型來描述待分類的圖像,使分類準確率得到進一步提高。學者們提出視覺詞袋(Bag of Words,BoW)模型場景圖像描述方法。詞袋模型即通過視覺單詞對圖像進行描述,視覺單詞是通過提取場景圖像底層特征后聚類生成的,該方法在一定程度上提高了圖像分類的泛化能力。
在2012年的比賽中,Alex Krizhevsky等提出AlexNet卷積神經(jīng)網(wǎng)絡(luò)模型,首次將深度學習應(yīng)用于大規(guī)模圖像分類,錯誤率為16.4%,相對于傳統(tǒng)的分類方法,在分類準確率上有巨大的提高,并因此開始引起研究人員的廣泛關(guān)注[10]。此后,基于深度卷積神經(jīng)網(wǎng)絡(luò)的模型逐漸成為圖像分類領(lǐng)域研究的主要方法,一系列基于卷積神經(jīng)網(wǎng)絡(luò)的改進方法不斷被提出,分類錯誤率也隨之在不斷下降[11]。
AlexNet是一個8層的卷積神經(jīng)網(wǎng)絡(luò),前5層是卷積層,接下來的2層為全連接層,最后一層為輸出層,采用softmax分類器進行分類[12]。該模型采用Rectified Linear Units(ReLU)來取代傳統(tǒng)的Sigmoid和tanh函數(shù)作為神經(jīng)元的非線性激活函數(shù),并提出了Dropout方法來減輕過擬合問題。本文對AlexNet網(wǎng)絡(luò)最后一層進行修改,根據(jù)分類場景的種類,將輸出單元個數(shù)進行修改,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 AlexNet網(wǎng)絡(luò)結(jié)構(gòu)
采用正負樣本的訓練方式對AlexNet網(wǎng)絡(luò)進行訓練。正樣本為屬于該類別的2幅圖像,負樣本包括一幅屬于該類的圖像和一幅隨機選取的不屬于該類的圖像,正負樣本個數(shù)相同,訓練過程如圖2所示。
圖2 AlexNet訓練過程
訓練過程包含2步: ① 自底向上的無監(jiān)督學習。首先使用無標簽訓練樣本對網(wǎng)絡(luò)按照自下而上的順序逐層訓練,學習數(shù)據(jù)特征,并將上一層的輸出作為下一層的輸入,通過這種方式可以分別訓練學習得到各層的參數(shù)。非監(jiān)督學習類似于神經(jīng)網(wǎng)絡(luò)的隨機初始化,但與神經(jīng)網(wǎng)絡(luò)不同之處是深度學習是通過學習輸入數(shù)據(jù)的結(jié)構(gòu)而得到各層參數(shù),而不是隨機初始化的。這樣得到的初值更接近全局最優(yōu)值,能有效地加快網(wǎng)絡(luò)訓練速度[13]。② 自頂向下的有監(jiān)督學習。在完成第一階段訓練后,就要采用有標簽的數(shù)據(jù)訓練網(wǎng)絡(luò)模型,誤差自頂向下傳輸。通過有監(jiān)督學習完成對網(wǎng)絡(luò)模型參數(shù)的微調(diào),獲得整個網(wǎng)絡(luò)多個層參數(shù)的最優(yōu)值。
2009年Lepetit和Moreno提出的高精度快速位姿估計算法EPnP(Efficient Perspective-n-Point),其核心思想是將空間參考點都通過4個虛擬控制點來表示,再通過空間參考點和對應(yīng)投影點之間的關(guān)系求解虛擬控制點的攝像機坐標,然后求得所有空間點在相機坐標系下的坐標,最后用Horn絕對定位算法求得旋轉(zhuǎn)矩陣和平移向量[14]。楊森和吳福朝提出了加權(quán)DLT算法和加權(quán)EPnP算法,雖然算法的時間復雜度略有增加,但位姿估計的精度進一步提高[15]。
(1)
(2)
f=fu=fv為相機的焦距;(u0,v0)=(0,0)為光心坐標。
首先在世界坐標系下選取4個非共面虛擬控制點,虛擬控制點及其投影點的關(guān)系如圖3所示。
圖3 虛擬控制點及其投影點對應(yīng)關(guān)系
(3)
(4)
(5)
(6)
得到方程:
(7)
(8)
MZ=0,
(9)
式中,Z的解是矩陣M的核空間,即
(10)
式中,Wi為MTM對應(yīng)零特征值的特征向量;N為MTM核空間的維數(shù);βi為待定系數(shù)。對于透視投影模型,N的取值為1,得
Z=βW,
(11)
(12)
式(12)中求解得到的4個虛擬控制點圖像坐標和標定過程中求得的相機焦距,帶入絕對定位算法中即求出旋轉(zhuǎn)矩陣和平移向量[16]。通過上述計算過程得到相機的旋轉(zhuǎn)矩陣和平移向量初始值,構(gòu)建所有對應(yīng)特征點的誤差函數(shù),采用高斯—牛頓法或L-M法迭代尋找最優(yōu)解,得到最終的旋轉(zhuǎn)矩陣和平移向量[17]。本文采用的方法流程如圖4所示。
圖4 本文方法流程
實驗分為室內(nèi)場景識別和PnP定位2部分。實驗平臺為:Inter(R) Core(TM) i5-4460 CPU,主頻:3.20 GHz,內(nèi)存大小:8.00 GB;
本部分實驗場景分為2類:MIT_indoor室內(nèi)場景數(shù)據(jù)集和自采集室內(nèi)場景數(shù)據(jù)集。MIT_indoor測試圖像庫:該圖像庫由Lazebnik等人建立,共有15類場景圖像,每類有200~400個灰度圖像(含有少量的彩色圖像),圖像的平均尺寸大小為300×200像素。該數(shù)據(jù)庫是廣泛應(yīng)用于場景分類算法測試。部分場景圖片如圖5所示,其中4行依次是臥室、廚房、客廳和辦公室。
自采集場景圖像數(shù)據(jù)集,實驗場合:常規(guī)實驗室,利用攝像頭采集,圖像大小為320×240,24位彩色。該數(shù)據(jù)集共包含15類室內(nèi)場景,每類包含100幅圖像,部分場景圖片如圖6所示。
圖5 MIT_indoor測試集的部分圖像
圖6 自采集場景部分圖像
對比實驗方法包括:基于詞袋模型、基于深度置信網(wǎng)絡(luò)和基于卷積神經(jīng)網(wǎng)絡(luò)的方法。采用準確率作為指標評價分類算法性能優(yōu)劣[18]。準確率是對分類結(jié)果的總體評價,等于被正確分類的場景個數(shù)與測試場景總數(shù)的比值,準確率越高說明算法的分類效果越好,設(shè)準確率為P,則計算公式為:
(13)
式中,Ni為分類正確的場景圖像個數(shù);N為場景圖像總數(shù)。實驗結(jié)果如表1所示。
表1實驗結(jié)果
實驗數(shù)據(jù)集BoWDBNCNNMIT_indoor測試集0.5560.5820.836自采集場景0.5590.9000.933
通過表1實驗數(shù)據(jù)可知,基于CNN的場景分類方法,在Scene_15數(shù)據(jù)集和真實場景的分類準確率分別達到0.836和0.933,均高于基于詞袋模型和基于DBN的分類方法。通過在2個數(shù)據(jù)集上的實驗驗證,卷積神經(jīng)網(wǎng)絡(luò)可以更加有效地提取場景特征,訓練出的網(wǎng)絡(luò)模型具有較強的泛化能力和較高的分類準確率。通過對錯誤分類的圖像的分析,發(fā)現(xiàn)場景中包含窗戶的圖像容易被錯誤分類,如圖6中第3行中的圖像,導致分類錯誤的原因主要是因為光照強度變化范圍較廣,相機無法有效采集窗外信息,可用于識別分類的信息量太少。
實驗場合:常規(guī)實驗室,房間大小6.6 m×5.9 m,如圖7所示。實驗相機:羅技C270網(wǎng)絡(luò)攝像頭,提前標定好。測量工具:卷尺。手持攝像頭在實驗室內(nèi)行走,在共記25個位置采集周圍環(huán)境圖像,圖像像素為320×240,其中圖像包含的空間參考點的世界坐標已知。
圖7 實驗室環(huán)境地圖
(14)
式中,Et為平移向量誤差占真實平移距離的百分比[19]。
真實軌跡和各方法估計移動軌跡如圖8和圖9所示。由圖9實驗數(shù)據(jù)可得,RPnP平均定位定位誤差為0.33 m,EPnP平均定位誤差為0.19 m,本文算法平均定位誤差為0.10 m,最大誤差為0.3 m,且定位誤差變化幅度小,穩(wěn)定性高。
圖8 各位置估計誤差
圖9 各位置估計誤差
首先利用卷積神經(jīng)網(wǎng)絡(luò)對場景進行識別,然后根據(jù)對應(yīng)特征點計算位置的技術(shù)應(yīng)用于室內(nèi)定位領(lǐng)域,且具有定位精度高、成本低和攜帶便捷等優(yōu)勢[20]。實驗結(jié)果表明,本文提出的方法平均定位精度達到分米級,且抗噪聲能力強、魯棒性好,基本滿足室內(nèi)定位需求。不足之處為在真實環(huán)境實驗中采用的場景規(guī)模較小,環(huán)境復雜度不高,下一步應(yīng)針對規(guī)模更大、內(nèi)容更加復雜的場景進行實驗,并對方法進行改進。