時間:2021年04月14日 分類:經濟論文 次數:
摘要視覺里程計(VisualOdometry)作為視覺同步定位與地圖構建技術(VisualSimultaneousLocalizationandMaping)的一部分,主要通過相機傳感器獲取一系列擁有時間序列圖像的信息,從而預估機器人的姿態信息,建立局部地圖,也被稱為前端,已經被廣泛應用在了多個領域,并取得了豐碩的實際成果。對于無人駕駛,全自主無人機,虛擬現實和增強現實等方面有著重要意義。本文在介紹了經典視覺里程計技術框架模塊中的各類算法的基礎上,對近年來新穎的視覺里程計技術VO)的研究和論文進行了總結,按照技術手段不同分為兩大類——多傳感器融合的視覺里程計以慣性視覺融合為例和基于深度學習的視覺里程計。前者通過各傳感器之間的優勢互補提高的精度,后者則是通過和深度學習網絡結合。最后比較視覺里程計現有算法,并結合面臨的挑戰展望了視覺里程計的未來發展趨勢。
關鍵字:視覺里程計;多傳感器融合;深度學習
引言
為了使得計算機能夠和人一樣通過感官器官觀察世界,理解世界和探索未知區域,視覺里程計(VO)技術應運而生,作為同步定位與地圖構建(SLAM)[1的前端,它能夠估計出機器人的位姿,一個優秀的視覺里程計技術能為SLAM的后端,全局地圖構建提供優質的初始值,從而讓機器人在復雜的未知環境中實現精準自主化來執行各種任務。傳統的里程計,如輪式里程計容易因為輪子打滑空轉而導致漂移,精確的激光傳感器價格昂貴,慣性傳感器雖然可以測量傳感器瞬時精確的角速度和線速度,但是隨著時間的推移,測量值有著明顯的漂移,使得計算得到的位姿信息不可靠。而視覺里程計由于視覺傳感器低廉的成本和長距離較為精準的定位在眾多傳統里程計中脫穎而出。
人工智能論文范例:適合視覺傳達設計論文發表的期刊
所謂視覺里程計就是從一系列圖像流中恢復出相機的運動位姿,這一思想最早是由Moravec等提出,成為了經典,是因為他們不僅在論文中第一次提出了單獨利用視覺輸入的方法估計運動,而且提出了一種最早期的角點檢測算法,并將其使用在了行星探測車上,體現了現階段視覺里程計的雛形,包括了特征點檢測及匹配,外點排除,位姿估計三大塊,使得視覺里程計從提出問題階段過渡到了構建算法階段,Nister[5]在CVPR上發表的《VisualOdometry》中提出了一種利用單目或者立體視覺相機來獲取圖像的視覺里程計系統,自此視覺里程計這個名詞真正的被創造了,并宣告技術進入了優化算法階段。隨著RBSLAM6]的問世,作為SLAM的前端成為了研究熱潮,也代表著主流基于特征點法的一個高峰。
ngle等[7]提出的SDSLAM則成功地把直接法的視覺里程計應用在了半稠密單目SLAM中,近年來涌現了各類的新穎視覺里程計系統。比如2019年Zheng等[8提出了一種基于RGB傳感器的自適應視覺里程計,可以根據是否有足夠的紋理信息來自動地選擇最合適的視覺里程計算法即間接法或者直接法來估計運動姿態。
本文重點對視覺里程計的已有研究工作進行綜述主要選取了近年來有代表性的或取得比較顯著效果的方法進行詳細的原理介紹和優缺點分析。根據是否需要提取特征點大致分為特征點法和直接法。也可以根據是否脫離經典的位姿估計模塊方法分為經典視覺里程計和新穎視覺里程計。最終總結提出未來的發展前景。第節介紹傳統視覺里程計框架的算法。其中包括了特征點法的關鍵技術和直接法視覺里程計中的相關算法。
第一節、第二節綜述最新的視覺里程計研究方法,包括第一節中慣性視覺傳感器融合的易于工程實現輕量型的,以及第二節中基于深度學習的視覺里程計可以通過高性能計算機實現精密建圖等功能。第節簡要概括了視覺里程計各類標志性算法。第節中結合視覺里程計面臨的挑戰,展望了未來的發展方向。
1傳統視覺里程計
傳統視覺里程計沿用了Nister[5]的框架即依據相鄰幀之間特定像素幾何關系,估計出相機的位姿信息,包括了位置和滾轉角roll)、俯仰角(pitch以及偏航角(yaw)三個方向信息。根據是否需要提取特征,分為特征點法和以灰度不變假設為前提的直接法。
1.1特征點法
特征點法首先從圖像中提取出關鍵特征點,然后通過匹配特征點的手段估計出相機運動。大致分為了兩個部分即特征點的提取匹配和相機運動的位姿估計。特征點法在視覺里程計中占據了主要地位,是因為其運行穩定,而且近年來研究者們設計了許多具有更好魯棒性的圖像特征,這些特征對于光照敏感性低,而且基本都擁有旋轉不變性和尺度不變性。線面特征的提出更是使得特征點法適應了紋理信息少的場景。
1.1.1特征提取及匹配
經典的特征算子有SUSAN、HARRIS10、FAST[1、ShiTomasi[1、SIFT[1、SURF[1、PCASIFT[1、ORB[1,其中最為基礎也是最為經典的是HARRIS和SIFT算法,現有的算法基本都是基于這兩者,可以看作是HARRIS和SIFT的簡化和改進。HARRIS角點檢測算法運用了微分運算和角點鄰域的灰度二階矩陣,而微分運算對圖像密度和對亮度的變化不敏感性和二階矩陣特征值不變性使得HARRIS角點檢測算子擁有了光照變化不敏感,旋轉不變性。后來出現了SUSAN算子它的原理和步驟和HARRIS較為相似,但是SUSAN算子不僅擁有較好的邊緣檢測性能,在角點檢測方面也有較好的效果,能夠應用在需要輪廓提取的環境下。
2慣性視覺融合
不管特征點法還是直接法要準確地估計出圖像之間的變換需要消耗很大的計算量,所以實際應用中,為了易于工程的實現,一個機器人往往攜帶多種傳感器,由于慣性傳感器(IMU)能夠短時間精確測量傳感器的角速度和加速度,但是如果長時間應用累積誤差嚴重。可以與相機傳感器互補,稱為視覺慣性里程計即VIOisualnertialdometry),可以分為基于濾波和基于優化的兩大類VIO,也可以根據兩個傳感器數據應用的方法不同分為松耦合和緊耦合,松耦合是指IMU和相機分別進行位姿估計,緊耦合是指相機數據和IMU數據融合,共同構建運動方程和觀測方程進行位姿估計。現階段基于非線性優化的方案如VINSMono,OKVIS。
也有基于濾波的緊耦合算法,此類算法需要把相機圖像特征向量加入到系統的狀態向量中,使得狀態向量的維度非常高,從而也會消耗更大的計算資源,MSCKFultitateonstraintKalmanilter)[35]和ROVIORObustVisualInertialOdometry)[36]是其中具有代表性的算法。傳統的基于EKF的視覺里程計與IMU數據融合時,EKF的更新是基于單幀觀測的,每個時刻的狀態向量保存的是當前幀的位姿信息、速度、變換矩陣和IMU的誤差等,使用IMU做預測步驟,視覺信息作為更新步驟。而MSCKF以類似滑動窗口(slidingwindow)的形式,使一個特征點在幾個位姿都被觀察到,從而建立約束,再進行濾波更新,它避免了僅依賴兩幀相對的運動估計帶來的計算負擔和信息損失,大大提高了收斂性和魯棒性。
ROVIO是一種基于單目相機的KF濾波VIO,它直接優點是計算量小,但是需要根據設備型號調整到適合的參數,參數也是影響精度的重要因素。ROVIO應用在SLAM系統中時沒有閉環,也沒有建圖的線程,所以誤差會有漂移。針對基于濾波的松耦合,為了降低計算量,通過把圖像信息當作了一個黑盒,將VO的位姿估計結果與IMU數據進行融合,來減小狀態向量維度。是一個很好的思路。
3基于深度學習的視覺里程計
除了與別的傳感器進行融合這一思路之外,由于視覺里程計獲得都是圖像信息,而深度學習在對圖像識別,檢測,分割方面的發展尤為迅速,從而為兩者結合提供了良好的基礎。深度學習與視覺里程計的多方面都有所結合,相比傳統視覺里程計的人工特征,深度學習有著較為優秀的自動特征表征能力,且和直接法一樣不需要計算描述子,也不需要傳統視覺里程計復雜的工程,比如相機參數標定,各種傳統的人工特征或者角點在面臨光照變化,動態場景或者是圖像紋理較為單一的情況時都有一定的敏感性,對于這些問題,基于深度學習的特征提取技術使得視覺里程計的性能有了一定的改善。用來解決位姿估計問題的深度學習技術大致分為了監督學習和無監督學習。
監督學習網絡中,最開始Kendall等人提出PoseNet[42],他們使用CNN粗略地預測出相機的運動的速度和方向,使用SFM自動生成訓練樣本的標注,通過遷移學習實現了在沒有大量數據標簽情況下,輸出較為精準的位姿信息。Costante等[43]用稠密光流代替RGB圖像作為CNN的輸入。該系統設計了三種不同的CNN架構用于VO的特征學習,實現了算法在圖像模糊和曝光不足等條件下的魯棒性。然而實驗結果表明同Poseet一樣,訓練數據對于算法影響很大,當圖像序列幀間運動較大時,算法誤差很大,這主要是由于訓練數據缺少高速訓練樣本。
4總結與展望
本文對視覺里程計的三個模塊即像素跟蹤模塊,外點排除模塊和位姿估計模塊進行了綜述,介紹了近幾年的視覺里程計算法。其中著重介紹了像素跟蹤模塊,包括傳統的基于點特征法和直接法的視覺里程計(VO),還對比較新穎的線特征和線特征運用在VO系統中的優勢進行了介紹,在外點排除和運動估計模塊就對簡略地介紹了相關理論知識。最后結合最新的算法詳細介紹了當前較為火熱的兩個VO發展趨勢,即以視覺慣性傳感器數融合為例的多傳感器融合的SLAM前端算法,以及基于深度學習的視覺里程計。挑戰和機遇是一對“雙胞胎”,技術也是如此,面臨挑戰時往往會帶來機遇。如下是未來視覺里程計可能的發展趨勢:
結合地圖語義信息。由于環境中普遍存在動態場景造成的實際樣本和檢測樣本之間誤差降低了目前大部分的算法模型的位姿估計,軌跡的精度,通過結合語義地圖的方式將從幾何和,語義兩個方面來感知場景,使得應用對象對環境內容有抽象理解,獲取更多的信息,從而來減小動態場景帶來的誤差。還可以為優化和SLAM中的回環檢測帶來更多信息從而提高精度。但是計算成本會增加了很多。適合通過高性能的計算設備用于實現精密地圖構建,場景理解等功能的場合。
多機器人協同的視覺里程計系統。單個機器人可能無法快速熟悉環境特征及其相對于環境特征的位置,也可能在執行任務的過程中損壞,為了穩定的精準導航,開發分布式系統來實現視覺里程計也將是一個發展方向,使用多個機器人可以有很多優點,例如,減少了探索一個環境所需的時間,不同的信息來源提供了更多的信息,分布式系統對故障更健壯。但是多個機器人VO的缺點就是必須將每個機器人生成的地圖合并成一張全局地圖,同時還需要自我定位與其他機器人協作。由于單個地圖以及機器人之間的相對姿態的不確定性,使得地圖合并變得更加困難。這兩個方向都將是未來視覺里程計的研究者的感興趣的方向。
參考文獻Reference
[1]PatraS,AggarwalH,AroraH,etal.Computingegomotionwithlocalloopclosuresforegocentricvideos[C]//IEEEWinterConferenceonApplicationsofComputerVision(WACV),2017:454463
[2]WangS,Zhang,ZhuF.MonocularvisualSLAMalgorithmforautonomousvesselsailinginharborarea[C]//25thSaintPetersburgInternationalConferenceonIntegratedNavigationSystems(ICINS),2018:1
[3]HeH,JiaYH,SunL.SimultaneouslocationandmapconstructionbasedonRBPFSLAMalgorithm[C]//ChineseControlandDecisionConference(CCDC),2018:49074910
[4]MoravecHP.Obstacleavoidanceandnavigationintherealworldbyaseeingrobotrover[D].PaloAlto:StanfordUniversity,1980
[5]NisterD,NaroditskyO,BergenJ.Visualodometry[C]//Proceedingsofthe2004IEEEComputerSocietyConferenceonComputerVisionandPatternRecognition,2004:652659
作者:胡凱1,2,吳佳勝1,2,鄭翡1,2,張彥雯1,2,陳雪超1,2,鹿奔1,2