廖鑫淼,王正平,劉 莉,賀云濤
(北京理工大學宇航學院,北京 100081)
憑借全方位、全天候、全時段和高精度的優勢,以GPS為代表的全球衛星導航系統(global navigation satellite system,GNSS)在軍用導航系統中扮演著關鍵角色[1]。衛星信號被干擾、遮擋以及欺騙攻擊等導致的GNSS定位設備無法正常輸出導航參數的情形稱為GNSS拒止環境(denied environments)。美國國防先期研究計劃局于2014年宣布開展了抗拒止環境的全源導航系統的研究,并將開發獨立于GPS系統的微定位、導航與授時(positioning navigation and timing, PNT)技術[2]。目的是依靠多種傳感器獲取周圍環境信息,利用信息融合技術得到導航信息,從而降低戰爭武器對GPS的依賴[3]。應對拒止環境,增加導航系統冗余信息是克服傳感器獲取信息污染的有效解決途徑。視覺導航是一種新型的導航技術,其結構簡單、價格低廉、信息量大和抗干擾能力強的優點使之在軍用領域具有極大的應用前景,成為在強拒止環境中代替GNSS的很好選擇[4-5]。視覺組合導航系統由于其高定位精度、高自主性以及高抗電磁干擾等優點,已經成為新型導航體制的研究熱點。
自2004年美國宇航局推出的火星探測器漫游者依賴視覺導航相機在未知環境下完成火星探測任務起,學術界掀起了視覺導航方法研究的熱潮。視覺導航的本質是以圖像處理的手段挖掘圖像中所包含的導航信息,利用單目或雙目相機等獲取周圍環境信息,通過圖像處理技術和定位算法提取導航信息完成導航任務。系統不依賴于其他傳感器及外部設備,可以實現在未知環境下的自主導航。視覺導航系統有兩種不同的實現方法[5]:
1)第一種是基于圖像匹配的定位方法,采用這種方法完成視覺定位需預先采集環境圖像并建立導航環境的圖像數據庫,在飛行過程中從圖像數據庫中搜索與相機拍攝圖像最為匹配的圖像,從而估計當前狀態的飛行平臺位姿。基于圖像匹配的定位方法中地圖的創建與導航的實時定位分開完成。
2)另一種方法克服了預先創建地圖的難點,將地圖創建工作與移動平臺的定位工作在導航過程中并行完成,同時在后端通過閉環檢測的手段提高定位精度與地圖的準確度。
文中考慮在拒止環境下應用視覺導航系統實現在未知環境的自主導航,應選擇同步建圖的方法。
同步定位與建圖技術(simultaneous localization and mapping, SLAM)是未知環境下導航系統的解決方案,也是無人系統在GNSS拒止環境下導航的關鍵方法。Smith和Cheecemen于1987年提出SLAM問題,其描述為:將移動平臺放入未知環境中的未知位置,平臺利用自身的傳感器由所在的初始位置開始逐步建立增量式地圖,并實時確定自身在地圖中的位置[6]。目前視覺SLAM方法有多種視覺傳感器方案,應用最廣泛的方案包括以下3類[5]:
1)基于立體視覺的雙目方法。將兩個相機放于不同位置,結構類似于人的雙眼,雙目系統可根據視差原理計算圖像深度信息,雙目立體相機應用場地不受限制,定位精度高。但雙目視覺傳感器應用前需進行復雜的標定,另外,在應用距離遠大于兩相機距離時這種方法將退化為單目方法。
2)基于RGB-D深度傳感器的方法。當下應用廣泛的RGB-D傳感器包括微軟公司的Kinect/Kinect v2、英特爾公司的RealSense以及華碩公司的Xtion傳感器等。RGB-D傳感器可以直接獲得空間的深度信息,優勢是廉價且體積小。但這類傳感器的視場小,深度測距范圍有限,不適于室外環境使用。
3)基于單目視覺的方法。單目相機相較于前兩種方法具有結構簡單,價格便宜,畸變較小的優勢,且其應用場景更廣泛。但僅用一個攝像頭無法直接獲得場景深度,系統需初始化獲得尺度信息。
綜合適用場景及系統復雜度等因素,單目視覺SLAM方法更適用于野外作戰環境,其結構簡單便于應用,且能滿足視覺導航應用的計算精度。
根據算法模型的框架分類,單目視覺SLAM包含兩類方法[7]:基于濾波器的方法和基于最優化的方法。基于濾波器的SLAM出現較早,經過不斷的改進和完善已經較為成熟;基于最優化的SLAM技術出現較晚,但已經逐漸成為主流方法。
SLAM問題涉及到未知環境的描述與狀態的位姿估計,因此早期的單目視覺SLAM方法均采用聯合后驗概率模型來描述該問題。具體做法是利用狀態向量來存儲環境中路標的三維坐標以及相機位姿,利用概率密度函數表征不確定性,遞歸的計算從前時刻轉移到當前時刻的轉移概率,從而實現同步定位與地圖構建任務。
基于濾波器的單目SLAM問題的常用解決方案是基于擴展卡爾曼濾波器(extended Kalman filter, EKF)的EKF-SLAM[8]:Davison等于2007年實現了一種基于EKF的實時單目視覺SLAM系統MonoSLAM[9-11];Lemaire等在MATLAB上完成了基于EKF的單目視覺SLAM的仿真系統的搭建[12];Roussillon等應用高速攝像機實現了基于擴展卡爾曼濾波器的單目視覺SLAM系統RTSLAM[13]。基于EKF的單目視覺SLAM算法流程如圖1所示。

圖1 基于EKF的單目視覺SLAM算法流程
此外,粒子濾波器、無跡卡爾曼濾波器等其他濾波方法也被引入到單目視覺SLAM算法中。粒子濾波算法的核心思想源于蒙特卡羅方法,即用某件事出現的頻率來代替事件的概率。利用粒子濾波的方法解決SLAM問題的優勢在于算法可以表達非高斯的噪聲,從而避免了線性化。但為保證算法精度,在復雜場景定位時需要較多的粒子,這大大增加了計算量。Giremus等提出使用RBPF粒子濾波器來解決SLAM問題的RBPF-SLAM方法[14],采用粒子濾波器來估計相機的位姿,使用擴展卡爾曼濾波器估計環境中特征點的位置,并同時保留了擴展卡爾曼濾波和粒子濾波各自的優勢。以此為基礎,Montemerlo根據環境地圖中特征相互獨立的特性在2002年和2003年分別提出了FastSLAM[15]和FastSLAM2.0[16],相對于基于擴展卡爾曼濾波的方法,這類方法簡化了計算,在路標特征較多的情況下效果較好,但在復雜環境中計算量很大,同時在粒子迭代計算中存在退化的問題。其他基于濾波器的SLAM算法還有UKF-SLAM[17]和EIF(擴展信息濾波)[18]等,此類方法均具有同樣的問題,即存在線性誤差積累,且在長時間工作后算法的計算量增加導致效率降低,因而降低計算精度。
Michal和Dale等[19]于2007年提出PTAM(parallel tracking and mapping)方法,是視覺SLAM技術中一項里程碑式的突破,形成了基于最優化的視覺SLAM算法基本形式框架:引入關鍵幀,通過將幾個關鍵圖像串聯起來,進而優化跟蹤軌跡與所創建的地圖。該方法將地圖中路標的構建及相機的跟蹤定位分開作為兩個線程并行進行,這兩線程信息僅從優化結果的關鍵幀中提取和計算,通過后端進行地圖與軌跡的優化。PTAM方法的流程框圖如圖2所示,該方法開創性利用非線性化的方法解決了單目視覺SLAM問題,其后該類型的SLAM算法大多延續了PTAM的思路。

圖2 基于最優化的單目視覺SLAM算法流程
Mouragnon等[20]利用完成標定的相機,將拍攝的一定數目的圖像作為關鍵幀,利用快速的局部光束平差法(bundle adjustment, BA)實現了單目相機的實時定位與建圖。Geraldo等[21]將視覺SLAM問題表述為非線性圖像對齊任務,直接將圖像強度作為計算量完成了城市環境的視覺SLAM系統。Newcombe等[22]提出了一種可以快速、密集重建由單目相機實時拍攝場景的視覺SLAM方法。Hauke等[23]提出了近實時單目視覺SLAM系統,系統采用一種新的位置圖優化技術,允許在閉環檢測時有效校正旋轉、平移和尺度漂移誤差。Alberto等[24]提出了一種使用廣角相機捕捉的圖像來構建密集三維地圖的有效方法,構建的三維地圖包含關于環境結構和外觀的詳細信息,非常適用于大型環境。Richard等[25]提出一種不依賴于特征提取而依賴于每個像素的實時單目SLAM方法DTAP。Christian等[26]提出一種半直接視覺里程計SVO(semi-direct visual odometry),此方法不對整個圖像使用直接匹配方法,而是對圖像中的特征點圖像塊進行匹配以獲取相機位姿。Herrera等[27]提出一個實時視覺SLAM系統DT-SLAM,可以增量跟蹤單個2D特征,并通過匹配的2D特征估計相機姿態,而不需考慮基線的長度。Engel等[28]提出LSD-SLAM,此方法可以構建大規模一致性的環境地圖。Concha等[29]提出了一種密集單目映射算法,該算法將場景先驗知識融入到算法中,提高了變分立體和多視點立體方法的精度。
Raul等[30]提出ORB-SLAM,系統采用混合單應矩陣和基礎矩陣使其可在的室內和室外環境中實現實時定位與構圖,很好的平衡了不同環境的適應性。系統使用ORB特征進行跟蹤,對運動雜波具有很強的魯棒性,在任何場景下均可以自動選擇較優的模型完成自動初始化。ORB-SLAM是現代視覺SLAM系統中既完備又十分方便實用的方法,ORB-SLAM也是最完整繼承PTAM形式的一種發展方式。Engel等提出DSO(direct sparse odometry),DSO是一種高精度的稀疏和直接視覺里程計方法,它結合了一個完全直接的概率模型(最小化光度誤差)和所有模型參數的一致聯合優化,包括幾何(在參考幀中表示為逆深度)和相機運動。近年來基于最優化的單目視覺SLAM系統已經代替基于濾波器的方法成為主流的研究方法。
盡管視覺SLAM技術已取得了較大突破,但尚未達到通用導航技術的標準,目前仍存在問題和技術難點:
1)視覺SLAM技術的應用前景廣闊,使用環境眾多,但目前多數研究都是針對室內結構化環境,對于室外廣闊環境下的地圖構建與定位系統研究相對較少。且多數工作環境中存在動態物體,對于動態環境建模將是視覺SLAM的一個重要研究方向。
2)視覺SLAM中的數據關聯主要是通過傳統的圖像處理手段,利用特征檢測與特征匹配等方法進行信息提取存在精度低、計算效率低下等問題,有必要研究新型圖像特征檢測與匹配方法,例如應用人工神經網絡處理圖像提高SLAM算法精度等。
3)視覺SLAM的實時性是實現導航應用的關鍵,算法能夠達到實時導航取決于不同程度硬件設備的支撐。降低計算復雜度、優化系統框架,從而提高計算效率也是視覺SLAM發展的重要一關。
純視覺導航的優缺點明顯:雖具有成本低、不易受外界干擾、自主性高的優點,但其在長時間使用下,由于系統估計的狀態變量的維數增加,存在精度和速度兩方面的局限性。針對在拒止環境下的導航需求,視覺組合導航系統是一個很好的選擇。有效引入其他導航系統作為補充而形成的視覺輔助定位與導航系統能夠充分發揮視覺系統的優勢。目前已有的視覺組合導航系統主要包括:
1)INS組合系統。慣性測量單元對于短時間內的快速運動估計準確,提供視覺導航初始化信息,二者融合可得到更完善的室內環境定位系統。
2)GPS組合系統。GPS系統能夠得到準確、可靠的絕對位置信息,通過GPS數據與視覺導航數據的融合可有效提高在室外環境中定位的可靠性。
3)GPS、INS混合型。混合型組合導航系統可滿足室內、室外多種環境要求的導航系統,實現在更為復雜的環境下不同傳感器交替工作。
4)激光雷達組合。激光雷達直接測量外部物體的幾何信息,不能得到環境中物體的紋理信息,與視覺相結合能更有效感知周圍環境,確定導航信息。
IMU和攝像頭的結合已被證明是一種輕量級和低成本的傳感器套件,可以提供精確的運動估計和定位[31]。在視覺SLAM過程中,單目像機可以在沒有尺度的情況下估計局部運動,然而,對于大多數應用來說,度量尺度應是可獲取的,甚至是必需的;在這種情況下,IMU可以提供這樣的度量信息,并且,兩種傳感器模式的互補特性使這對傳感器適合于精確和高動態運動估計。Azuma等[32]通過卡爾曼濾波器融合了慣性導航信息與攝像機定位信息,實驗結果證明了結合慣導信息的單目視覺定位方法比單目視覺方法誤差更小。對于IMU與相機之間的標定問題,由于IMU測量航向角誤差較大,顧照鵬,Liu等[33-34]提出了在IMU的部分信息不可靠時的標定方法。
Mourikis等[35]采用光流跟蹤特征點的方法實現了基于多狀態約束卡爾曼濾波器的實時視覺輔助慣性導航算法MSCKF。Michael等[36]實現了基于EKF的視覺慣性里程計ROVIO,將慣性測量用于濾波器的狀態傳遞過程,視覺信息在濾波器更新階段使用。Stefan等[37]通過非線性優化的方法實現了緊耦合的視覺慣性里程計算法OKVIS,相較于基于濾波器的方法其在精度方面具有更好的表現。Raul等[38]提出一種新的基于優化的視覺慣性同步定位與建圖系統ORB-SLAM2,該系統能夠在已建模地圖區域實現零漂移定位。Qin等[39]采用緊耦合、非線性優化的方法,通過融合預先集成的IMU測量和特征觀測實現了高精度的視覺慣性里程計VINS-Mono。
組合導航的實現并非簡單的疊加堆砌,而是要根據各種導航方式的優劣,組合形成互補,達到“一加一,大于二”的效果。視覺組合導航系統的發展方向有以下幾方面:
1)組合導航系統的方案選取。根據不同傳感器的優勢及各種應用環境,未來將出現多種視覺組合導航方法,組合導航系統信息來源將更加廣泛,進而發展出各具特色的視覺組合導航系統。
2)各導航子系統導航信息的融合,以及信息融合的方式。此方面的研究應以使系統更加精確、簡單和合理為目的,有效利用視覺信息與不同傳感器信息,以達到更好的導航效果。
3)硬件架構的設計。視覺組合導航系統由于系統本身結構復雜,傳感器與計算平臺需要進行合理的設計和安排,使系統結構最優。
圍繞拒止環境下傳統的導航技術不能滿足要求,需要改進與變革這一主題,提出視覺導航代替GPS系統的方案。得出單目SLAM方法適用于拒止環境作戰。基于最優化的方法逐漸取代基于濾波器的方法成為單目SLAM的主流方法的結論。指出視覺組合導航技術的發展趨勢,未來導航系統的發展將體現信息融合的思想,朝著更加全面、智能化的道路發展。