廖鑫淼,王正平,劉 莉,賀云濤
(北京理工大學(xué)宇航學(xué)院,北京 100081)
憑借全方位、全天候、全時段和高精度的優(yōu)勢,以GPS為代表的全球衛(wèi)星導(dǎo)航系統(tǒng)(global navigation satellite system,GNSS)在軍用導(dǎo)航系統(tǒng)中扮演著關(guān)鍵角色[1]。衛(wèi)星信號被干擾、遮擋以及欺騙攻擊等導(dǎo)致的GNSS定位設(shè)備無法正常輸出導(dǎo)航參數(shù)的情形稱為GNSS拒止環(huán)境(denied environments)。美國國防先期研究計劃局于2014年宣布開展了抗拒止環(huán)境的全源導(dǎo)航系統(tǒng)的研究,并將開發(fā)獨立于GPS系統(tǒng)的微定位、導(dǎo)航與授時(positioning navigation and timing, PNT)技術(shù)[2]。目的是依靠多種傳感器獲取周圍環(huán)境信息,利用信息融合技術(shù)得到導(dǎo)航信息,從而降低戰(zhàn)爭武器對GPS的依賴[3]。應(yīng)對拒止環(huán)境,增加導(dǎo)航系統(tǒng)冗余信息是克服傳感器獲取信息污染的有效解決途徑。視覺導(dǎo)航是一種新型的導(dǎo)航技術(shù),其結(jié)構(gòu)簡單、價格低廉、信息量大和抗干擾能力強的優(yōu)點使之在軍用領(lǐng)域具有極大的應(yīng)用前景,成為在強拒止環(huán)境中代替GNSS的很好選擇[4-5]。視覺組合導(dǎo)航系統(tǒng)由于其高定位精度、高自主性以及高抗電磁干擾等優(yōu)點,已經(jīng)成為新型導(dǎo)航體制的研究熱點。
自2004年美國宇航局推出的火星探測器漫游者依賴視覺導(dǎo)航相機在未知環(huán)境下完成火星探測任務(wù)起,學(xué)術(shù)界掀起了視覺導(dǎo)航方法研究的熱潮。視覺導(dǎo)航的本質(zhì)是以圖像處理的手段挖掘圖像中所包含的導(dǎo)航信息,利用單目或雙目相機等獲取周圍環(huán)境信息,通過圖像處理技術(shù)和定位算法提取導(dǎo)航信息完成導(dǎo)航任務(wù)。系統(tǒng)不依賴于其他傳感器及外部設(shè)備,可以實現(xiàn)在未知環(huán)境下的自主導(dǎo)航。視覺導(dǎo)航系統(tǒng)有兩種不同的實現(xiàn)方法[5]:
1)第一種是基于圖像匹配的定位方法,采用這種方法完成視覺定位需預(yù)先采集環(huán)境圖像并建立導(dǎo)航環(huán)境的圖像數(shù)據(jù)庫,在飛行過程中從圖像數(shù)據(jù)庫中搜索與相機拍攝圖像最為匹配的圖像,從而估計當(dāng)前狀態(tài)的飛行平臺位姿?;趫D像匹配的定位方法中地圖的創(chuàng)建與導(dǎo)航的實時定位分開完成。
2)另一種方法克服了預(yù)先創(chuàng)建地圖的難點,將地圖創(chuàng)建工作與移動平臺的定位工作在導(dǎo)航過程中并行完成,同時在后端通過閉環(huán)檢測的手段提高定位精度與地圖的準(zhǔn)確度。
文中考慮在拒止環(huán)境下應(yīng)用視覺導(dǎo)航系統(tǒng)實現(xiàn)在未知環(huán)境的自主導(dǎo)航,應(yīng)選擇同步建圖的方法。
同步定位與建圖技術(shù)(simultaneous localization and mapping, SLAM)是未知環(huán)境下導(dǎo)航系統(tǒng)的解決方案,也是無人系統(tǒng)在GNSS拒止環(huán)境下導(dǎo)航的關(guān)鍵方法。Smith和Cheecemen于1987年提出SLAM問題,其描述為:將移動平臺放入未知環(huán)境中的未知位置,平臺利用自身的傳感器由所在的初始位置開始逐步建立增量式地圖,并實時確定自身在地圖中的位置[6]。目前視覺SLAM方法有多種視覺傳感器方案,應(yīng)用最廣泛的方案包括以下3類[5]:
1)基于立體視覺的雙目方法。將兩個相機放于不同位置,結(jié)構(gòu)類似于人的雙眼,雙目系統(tǒng)可根據(jù)視差原理計算圖像深度信息,雙目立體相機應(yīng)用場地不受限制,定位精度高。但雙目視覺傳感器應(yīng)用前需進行復(fù)雜的標(biāo)定,另外,在應(yīng)用距離遠大于兩相機距離時這種方法將退化為單目方法。
2)基于RGB-D深度傳感器的方法。當(dāng)下應(yīng)用廣泛的RGB-D傳感器包括微軟公司的Kinect/Kinect v2、英特爾公司的RealSense以及華碩公司的Xtion傳感器等。RGB-D傳感器可以直接獲得空間的深度信息,優(yōu)勢是廉價且體積小。但這類傳感器的視場小,深度測距范圍有限,不適于室外環(huán)境使用。
3)基于單目視覺的方法。單目相機相較于前兩種方法具有結(jié)構(gòu)簡單,價格便宜,畸變較小的優(yōu)勢,且其應(yīng)用場景更廣泛。但僅用一個攝像頭無法直接獲得場景深度,系統(tǒng)需初始化獲得尺度信息。
綜合適用場景及系統(tǒng)復(fù)雜度等因素,單目視覺SLAM方法更適用于野外作戰(zhàn)環(huán)境,其結(jié)構(gòu)簡單便于應(yīng)用,且能滿足視覺導(dǎo)航應(yīng)用的計算精度。
根據(jù)算法模型的框架分類,單目視覺SLAM包含兩類方法[7]:基于濾波器的方法和基于最優(yōu)化的方法?;跒V波器的SLAM出現(xiàn)較早,經(jīng)過不斷的改進和完善已經(jīng)較為成熟;基于最優(yōu)化的SLAM技術(shù)出現(xiàn)較晚,但已經(jīng)逐漸成為主流方法。
SLAM問題涉及到未知環(huán)境的描述與狀態(tài)的位姿估計,因此早期的單目視覺SLAM方法均采用聯(lián)合后驗概率模型來描述該問題。具體做法是利用狀態(tài)向量來存儲環(huán)境中路標(biāo)的三維坐標(biāo)以及相機位姿,利用概率密度函數(shù)表征不確定性,遞歸的計算從前時刻轉(zhuǎn)移到當(dāng)前時刻的轉(zhuǎn)移概率,從而實現(xiàn)同步定位與地圖構(gòu)建任務(wù)。
基于濾波器的單目SLAM問題的常用解決方案是基于擴展卡爾曼濾波器(extended Kalman filter, EKF)的EKF-SLAM[8]:Davison等于2007年實現(xiàn)了一種基于EKF的實時單目視覺SLAM系統(tǒng)MonoSLAM[9-11];Lemaire等在MATLAB上完成了基于EKF的單目視覺SLAM的仿真系統(tǒng)的搭建[12];Roussillon等應(yīng)用高速攝像機實現(xiàn)了基于擴展卡爾曼濾波器的單目視覺SLAM系統(tǒng)RTSLAM[13]?;贓KF的單目視覺SLAM算法流程如圖1所示。
圖1 基于EKF的單目視覺SLAM算法流程
此外,粒子濾波器、無跡卡爾曼濾波器等其他濾波方法也被引入到單目視覺SLAM算法中。粒子濾波算法的核心思想源于蒙特卡羅方法,即用某件事出現(xiàn)的頻率來代替事件的概率。利用粒子濾波的方法解決SLAM問題的優(yōu)勢在于算法可以表達非高斯的噪聲,從而避免了線性化。但為保證算法精度,在復(fù)雜場景定位時需要較多的粒子,這大大增加了計算量。Giremus等提出使用RBPF粒子濾波器來解決SLAM問題的RBPF-SLAM方法[14],采用粒子濾波器來估計相機的位姿,使用擴展卡爾曼濾波器估計環(huán)境中特征點的位置,并同時保留了擴展卡爾曼濾波和粒子濾波各自的優(yōu)勢。以此為基礎(chǔ),Montemerlo根據(jù)環(huán)境地圖中特征相互獨立的特性在2002年和2003年分別提出了FastSLAM[15]和FastSLAM2.0[16],相對于基于擴展卡爾曼濾波的方法,這類方法簡化了計算,在路標(biāo)特征較多的情況下效果較好,但在復(fù)雜環(huán)境中計算量很大,同時在粒子迭代計算中存在退化的問題。其他基于濾波器的SLAM算法還有UKF-SLAM[17]和EIF(擴展信息濾波)[18]等,此類方法均具有同樣的問題,即存在線性誤差積累,且在長時間工作后算法的計算量增加導(dǎo)致效率降低,因而降低計算精度。
Michal和Dale等[19]于2007年提出PTAM(parallel tracking and mapping)方法,是視覺SLAM技術(shù)中一項里程碑式的突破,形成了基于最優(yōu)化的視覺SLAM算法基本形式框架:引入關(guān)鍵幀,通過將幾個關(guān)鍵圖像串聯(lián)起來,進而優(yōu)化跟蹤軌跡與所創(chuàng)建的地圖。該方法將地圖中路標(biāo)的構(gòu)建及相機的跟蹤定位分開作為兩個線程并行進行,這兩線程信息僅從優(yōu)化結(jié)果的關(guān)鍵幀中提取和計算,通過后端進行地圖與軌跡的優(yōu)化。PTAM方法的流程框圖如圖2所示,該方法開創(chuàng)性利用非線性化的方法解決了單目視覺SLAM問題,其后該類型的SLAM算法大多延續(xù)了PTAM的思路。
圖2 基于最優(yōu)化的單目視覺SLAM算法流程
Mouragnon等[20]利用完成標(biāo)定的相機,將拍攝的一定數(shù)目的圖像作為關(guān)鍵幀,利用快速的局部光束平差法(bundle adjustment, BA)實現(xiàn)了單目相機的實時定位與建圖。Geraldo等[21]將視覺SLAM問題表述為非線性圖像對齊任務(wù),直接將圖像強度作為計算量完成了城市環(huán)境的視覺SLAM系統(tǒng)。Newcombe等[22]提出了一種可以快速、密集重建由單目相機實時拍攝場景的視覺SLAM方法。Hauke等[23]提出了近實時單目視覺SLAM系統(tǒng),系統(tǒng)采用一種新的位置圖優(yōu)化技術(shù),允許在閉環(huán)檢測時有效校正旋轉(zhuǎn)、平移和尺度漂移誤差。Alberto等[24]提出了一種使用廣角相機捕捉的圖像來構(gòu)建密集三維地圖的有效方法,構(gòu)建的三維地圖包含關(guān)于環(huán)境結(jié)構(gòu)和外觀的詳細信息,非常適用于大型環(huán)境。Richard等[25]提出一種不依賴于特征提取而依賴于每個像素的實時單目SLAM方法DTAP。Christian等[26]提出一種半直接視覺里程計SVO(semi-direct visual odometry),此方法不對整個圖像使用直接匹配方法,而是對圖像中的特征點圖像塊進行匹配以獲取相機位姿。Herrera等[27]提出一個實時視覺SLAM系統(tǒng)DT-SLAM,可以增量跟蹤單個2D特征,并通過匹配的2D特征估計相機姿態(tài),而不需考慮基線的長度。Engel等[28]提出LSD-SLAM,此方法可以構(gòu)建大規(guī)模一致性的環(huán)境地圖。Concha等[29]提出了一種密集單目映射算法,該算法將場景先驗知識融入到算法中,提高了變分立體和多視點立體方法的精度。
Raul等[30]提出ORB-SLAM,系統(tǒng)采用混合單應(yīng)矩陣和基礎(chǔ)矩陣使其可在的室內(nèi)和室外環(huán)境中實現(xiàn)實時定位與構(gòu)圖,很好的平衡了不同環(huán)境的適應(yīng)性。系統(tǒng)使用ORB特征進行跟蹤,對運動雜波具有很強的魯棒性,在任何場景下均可以自動選擇較優(yōu)的模型完成自動初始化。ORB-SLAM是現(xiàn)代視覺SLAM系統(tǒng)中既完備又十分方便實用的方法,ORB-SLAM也是最完整繼承PTAM形式的一種發(fā)展方式。Engel等提出DSO(direct sparse odometry),DSO是一種高精度的稀疏和直接視覺里程計方法,它結(jié)合了一個完全直接的概率模型(最小化光度誤差)和所有模型參數(shù)的一致聯(lián)合優(yōu)化,包括幾何(在參考幀中表示為逆深度)和相機運動。近年來基于最優(yōu)化的單目視覺SLAM系統(tǒng)已經(jīng)代替基于濾波器的方法成為主流的研究方法。
盡管視覺SLAM技術(shù)已取得了較大突破,但尚未達到通用導(dǎo)航技術(shù)的標(biāo)準(zhǔn),目前仍存在問題和技術(shù)難點:
1)視覺SLAM技術(shù)的應(yīng)用前景廣闊,使用環(huán)境眾多,但目前多數(shù)研究都是針對室內(nèi)結(jié)構(gòu)化環(huán)境,對于室外廣闊環(huán)境下的地圖構(gòu)建與定位系統(tǒng)研究相對較少。且多數(shù)工作環(huán)境中存在動態(tài)物體,對于動態(tài)環(huán)境建模將是視覺SLAM的一個重要研究方向。
2)視覺SLAM中的數(shù)據(jù)關(guān)聯(lián)主要是通過傳統(tǒng)的圖像處理手段,利用特征檢測與特征匹配等方法進行信息提取存在精度低、計算效率低下等問題,有必要研究新型圖像特征檢測與匹配方法,例如應(yīng)用人工神經(jīng)網(wǎng)絡(luò)處理圖像提高SLAM算法精度等。
3)視覺SLAM的實時性是實現(xiàn)導(dǎo)航應(yīng)用的關(guān)鍵,算法能夠達到實時導(dǎo)航取決于不同程度硬件設(shè)備的支撐。降低計算復(fù)雜度、優(yōu)化系統(tǒng)框架,從而提高計算效率也是視覺SLAM發(fā)展的重要一關(guān)。
純視覺導(dǎo)航的優(yōu)缺點明顯:雖具有成本低、不易受外界干擾、自主性高的優(yōu)點,但其在長時間使用下,由于系統(tǒng)估計的狀態(tài)變量的維數(shù)增加,存在精度和速度兩方面的局限性。針對在拒止環(huán)境下的導(dǎo)航需求,視覺組合導(dǎo)航系統(tǒng)是一個很好的選擇。有效引入其他導(dǎo)航系統(tǒng)作為補充而形成的視覺輔助定位與導(dǎo)航系統(tǒng)能夠充分發(fā)揮視覺系統(tǒng)的優(yōu)勢。目前已有的視覺組合導(dǎo)航系統(tǒng)主要包括:
1)INS組合系統(tǒng)。慣性測量單元對于短時間內(nèi)的快速運動估計準(zhǔn)確,提供視覺導(dǎo)航初始化信息,二者融合可得到更完善的室內(nèi)環(huán)境定位系統(tǒng)。
2)GPS組合系統(tǒng)。GPS系統(tǒng)能夠得到準(zhǔn)確、可靠的絕對位置信息,通過GPS數(shù)據(jù)與視覺導(dǎo)航數(shù)據(jù)的融合可有效提高在室外環(huán)境中定位的可靠性。
3)GPS、INS混合型。混合型組合導(dǎo)航系統(tǒng)可滿足室內(nèi)、室外多種環(huán)境要求的導(dǎo)航系統(tǒng),實現(xiàn)在更為復(fù)雜的環(huán)境下不同傳感器交替工作。
4)激光雷達組合。激光雷達直接測量外部物體的幾何信息,不能得到環(huán)境中物體的紋理信息,與視覺相結(jié)合能更有效感知周圍環(huán)境,確定導(dǎo)航信息。
IMU和攝像頭的結(jié)合已被證明是一種輕量級和低成本的傳感器套件,可以提供精確的運動估計和定位[31]。在視覺SLAM過程中,單目像機可以在沒有尺度的情況下估計局部運動,然而,對于大多數(shù)應(yīng)用來說,度量尺度應(yīng)是可獲取的,甚至是必需的;在這種情況下,IMU可以提供這樣的度量信息,并且,兩種傳感器模式的互補特性使這對傳感器適合于精確和高動態(tài)運動估計。Azuma等[32]通過卡爾曼濾波器融合了慣性導(dǎo)航信息與攝像機定位信息,實驗結(jié)果證明了結(jié)合慣導(dǎo)信息的單目視覺定位方法比單目視覺方法誤差更小。對于IMU與相機之間的標(biāo)定問題,由于IMU測量航向角誤差較大,顧照鵬,Liu等[33-34]提出了在IMU的部分信息不可靠時的標(biāo)定方法。
Mourikis等[35]采用光流跟蹤特征點的方法實現(xiàn)了基于多狀態(tài)約束卡爾曼濾波器的實時視覺輔助慣性導(dǎo)航算法MSCKF。Michael等[36]實現(xiàn)了基于EKF的視覺慣性里程計ROVIO,將慣性測量用于濾波器的狀態(tài)傳遞過程,視覺信息在濾波器更新階段使用。Stefan等[37]通過非線性優(yōu)化的方法實現(xiàn)了緊耦合的視覺慣性里程計算法OKVIS,相較于基于濾波器的方法其在精度方面具有更好的表現(xiàn)。Raul等[38]提出一種新的基于優(yōu)化的視覺慣性同步定位與建圖系統(tǒng)ORB-SLAM2,該系統(tǒng)能夠在已建模地圖區(qū)域?qū)崿F(xiàn)零漂移定位。Qin等[39]采用緊耦合、非線性優(yōu)化的方法,通過融合預(yù)先集成的IMU測量和特征觀測實現(xiàn)了高精度的視覺慣性里程計VINS-Mono。
組合導(dǎo)航的實現(xiàn)并非簡單的疊加堆砌,而是要根據(jù)各種導(dǎo)航方式的優(yōu)劣,組合形成互補,達到“一加一,大于二”的效果。視覺組合導(dǎo)航系統(tǒng)的發(fā)展方向有以下幾方面:
1)組合導(dǎo)航系統(tǒng)的方案選取。根據(jù)不同傳感器的優(yōu)勢及各種應(yīng)用環(huán)境,未來將出現(xiàn)多種視覺組合導(dǎo)航方法,組合導(dǎo)航系統(tǒng)信息來源將更加廣泛,進而發(fā)展出各具特色的視覺組合導(dǎo)航系統(tǒng)。
2)各導(dǎo)航子系統(tǒng)導(dǎo)航信息的融合,以及信息融合的方式。此方面的研究應(yīng)以使系統(tǒng)更加精確、簡單和合理為目的,有效利用視覺信息與不同傳感器信息,以達到更好的導(dǎo)航效果。
3)硬件架構(gòu)的設(shè)計。視覺組合導(dǎo)航系統(tǒng)由于系統(tǒng)本身結(jié)構(gòu)復(fù)雜,傳感器與計算平臺需要進行合理的設(shè)計和安排,使系統(tǒng)結(jié)構(gòu)最優(yōu)。
圍繞拒止環(huán)境下傳統(tǒng)的導(dǎo)航技術(shù)不能滿足要求,需要改進與變革這一主題,提出視覺導(dǎo)航代替GPS系統(tǒng)的方案。得出單目SLAM方法適用于拒止環(huán)境作戰(zhàn)?;谧顑?yōu)化的方法逐漸取代基于濾波器的方法成為單目SLAM的主流方法的結(jié)論。指出視覺組合導(dǎo)航技術(shù)的發(fā)展趨勢,未來導(dǎo)航系統(tǒng)的發(fā)展將體現(xiàn)信息融合的思想,朝著更加全面、智能化的道路發(fā)展。