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