摘要:針對視覺同時定位與地圖構建(VSLAM)領域關鍵幀選擇方法多為啟發式閾值的方式,容易存在定位精度不高等問題,提出了基于改進關鍵幀選擇的ORB-SLAM3算法。該算法從考慮關鍵幀質量出發,采用如下三個標準代替ORB-SLAM3中啟發式閾值方式:首先是基于幾何約束的自適應關鍵幀閾值,確保特征點數量充足;其次是基于圖像質心原理的分布標準,確保特征點分布均勻;最后是慣性測量單元(IMU)加速度狀態觀測。在EuRoC數據集下的實驗結果表明,所改進的算法在不使用啟發式閾值的情況下,單目慣性模式下將ORB-SLAM3定位精度提高了9%,雙目慣性模式下定位精度提高了6%,表現出更好的魯棒性和構圖能力。
關鍵詞:視覺同時定位與地圖構建;關鍵幀選擇;關鍵幀質量;特征點
中圖分類號:TP391.41文獻標志碼:A文章編號:1001-3695(2023)05-022-1428-06doi:10.19734/j.issn.1001-3695.2022.09.0480
0引言
目前,同時定位與地圖構建(SLAM)技術在移動機器人、自動駕駛、增強現實(augmentedreality,AR)和虛擬現實(virtualreality,VR)等領域發揮了重要作用[1,2]。根據SLAM系統所使用的傳感器類型不同,大致分為激光SLAM和視覺SLAM兩類[3]。其中,視覺SLAM主要使用相機,憑借低成本、低功耗、小尺寸以及獲取圖像信息豐富等優勢[4],受到企業、高校和研究所的廣泛關注。然而,視覺SLAM通常需要處理大量的圖像幀數據,算法計算復雜度相對較高,容易產生大量冗余信息。面對這一問題的標準方法就是采用關鍵幀,將“關鍵幀代表局部”既能減少計算量又能保證其準確性[5]。關鍵幀的主要作用是面向算力和精度的折中,保證系統平穩運行。因此,合適的關鍵幀選擇算法能夠有效提高視覺SLAM的準確性和實時性。
在視覺SLAM領域關鍵幀選擇一直是研究熱點,具體方法可分為以下四類:
a)基于外觀的關鍵幀選擇。此方法將光通量、紋理和形狀等組合到關鍵幀選擇過程中。Matsuki等人[6]提出DSO(directsparseodometry)是此類方法的典型代表,DSO為了準確選擇關鍵幀,使用了三個組合標準,即視野的急劇變化、嚴重的相機位置偏移和曝光時間的顯著變化,如果相關值超過三個組合規定的閾值,則選擇新的關鍵幀。繼Matsuki等人的工作后,Gao等人[7]將DSO進一步完善為基于回環檢測的LDSO(directsparseodometrywithloopclosure),提高了算法魯棒性。雖然此類關鍵幀選擇方法定位精度還行,但未考慮幾何約束。
b)基于數據關聯的關鍵幀選擇。此方法常考慮當前幀和最后一個關鍵幀之間特征匹配點的變化,從而形成數據關聯。Stalbaum等人[8]使用關鍵幀窗口來選擇關鍵幀。Fanfani等人[9]針對遠點三維位置的不確定,提出了基于時間特征比例的關鍵幀選擇方法。盡管以上工作效果很好,但靜態閾值被用于特征匹配,算法在不同場景的通用性較差。
c)基于運行的關鍵幀選擇。此方法通常涉及幀和關鍵點的位置,可以分為五種方法,包括指定時間或地點間隔、圖像重疊、視差、信息熵和混合方法。最早的SLAM系統大多為第一種方法,其中包括PTAM(paralleltrackingandmapping)[10]、SVO(semi-directvisualodometry)[11]、RGB-DSLAM[12]和LSD-SLAM(large-scaledirectmonocularSLAM)[13]等;第二種主要有OKVIS(odometryusingkeyframe-basedvisual-inertial)[14]和RD-SLAM(robustmonocularSLAMindynamicenvironments)[15],采用圖像重疊的方式,比前者更加靈活,但效果仍不理想;Qin等人提出的VINS-Mono(visual-inertialsystem-mono)[16]作為第三種的典型算法,存在平均視差和跟蹤質量兩個關鍵幀選擇標準,隨后發展的VINS系列[17,18]均基于這種方法,其定位效果出色、魯棒性強,但計算相對復雜;在第四種方法中,陳孟元等人[19]將信息熵用于改進PI-SLAM算法,縮短了系統運行時間,提高了建圖精度,但過程較復雜;在混合方法類別中,Chen等人[20]使用比例和微分(PD)控制器設計動態閾值,可獲得較高的導航精度,但關鍵幀數目相對較少。ORB-SLAM[21,22]算法同樣也是混合方法,算法首先保證跟蹤狀態,在此期間維持大量關鍵幀,然后邊緣化冗余關鍵幀,確保算法性能。ORB-SLAM獲得關鍵幀的條件有四個:距離上一次全局重定位必須經過20幀以上;局部建圖空閑,或者距離上一次關鍵幀插入已經過去了20多幀;當前幀跟蹤至少50個點;當前幀在最后一個關鍵幀中跟蹤不到90%的點。實驗數據表明,ORB-SLAM算法功能強大并且魯棒性強。隨后發展的ORB-SLAM3[23]更是成為最優秀的VIO(visualinertialodometry)算法之一。
d)基于深度學習的方法。Sheng等人[24]設計深度學習網絡用于關鍵幀的選取,能夠可靠地檢測關鍵幀,通過端對端的無監督深度學習框架同時學習關鍵幀選擇和視覺里程計任務,在KITTI數據集上驗證了所提出方法的有效性。但深度學習由于對訓練數據強烈依賴和實時運行時對算力要求嚴格等特性,暫時沒有被廣泛使用。
在關鍵幀選擇方法中,如果由啟發式閾值作出決定,通常會忽略3D點成像過程的幾何結構和物理特性,從而導致某些關鍵幀是弱關鍵幀,關鍵幀自身質量不高,代表性不強。選擇關鍵幀主要從關鍵幀自身和關鍵幀與其他幀的關系兩個方面來考慮。在ORB-SLAM3算法中,由于共視圖的存在使關鍵幀和局部地圖中的其他關鍵幀能達到既存在約束且只有較少信息冗余的效果,但關鍵幀自身質量未在考慮之中。本文從保證關鍵幀自身質量出發,提出三個標準代替ORB-SLAM3中的啟發式閾值方式。
1算法原理
假設在VSALM系統中存在一個同步的IMU傳感器和相機,關鍵幀的選擇是由兩個傳感器中的每一個獨立進行的。其中相機傳感器使用自適應閾值和均勻分布標準,而IMU傳感器由于與圖像數據和幀的狀態無關,僅使用簡單閾值。本文方法的示意圖如圖1所示。
1.1自適應閾值
Hosseininaveh等人[25]使用相機觀測模型的方式從建筑物的模擬和真實數據中生成了精度和密度方面較好的點云,該方法能從圖像數據中選擇較佳的圖像子集,且每個子集都有比較充足的特征點數量。本文將該方法運用于關鍵幀的選擇,采用自適應閾值確保關鍵幀的質量(特征點數量充足)。假設每幀圖像中點的變化均被相機所捕捉,并將相機觀測模型抽象為40°的四區域圓錐。其中,10度角為一個區域,不同區域由圓錐截面同心圓邊界表示。圓錐區域的10度角是能在圖像中找到匹配點的最大傾斜角,該角度已通過前人的大量實驗[26]確定。自適應閾值由每幀總點數、匹配點數、圓錐區域變化點數等參數來定義,通過計算圓錐區域變化點數目來判斷是否超過該閾值,確定是否選擇新的關鍵幀。單目相機關鍵幀選擇的示意圖[27]如圖2所示。
圖2描述了SLAM系統中單目相機關鍵幀的選擇過程。首先,這個過程中涉及的幀分別為最后一個關鍵幀、參考幀和當前幀,參考幀是與最后一個關鍵幀最接近、最相似的幀;其次,在每幀中都會跟蹤到一些特征點(圓形點),這些點與最后一個關鍵幀的特征點(方形點)存在匹配關系。若將每幀中每個匹配點與圓錐頂點連接起來形成向量,并根據該向量與圓錐主軸(黑箭頭)的角度分類為四個區域之一。當幀從最后一個關鍵幀移動到當前幀時,觀測角度會發生變化,視線向量區域也會隨之變化。自適應閾值旨在根據視線發生變化的點數進行相應建模,確定自適應閾值并決定是否選擇當前幀為關鍵幀。
自適應閾值初始值Ti定義如下:
2前導實驗
為了評估本文算法的性能,使用EuRoC微型飛行器(MAV)數據集[30]進行實驗驗證。該數據集包含雙目相機圖像和同步的IMU測量值,同時還具有準確的運動和地面實況。本文主要使用EVO(evaluationofodometry)作為精度評價標準工具,通過將算法導出的軌跡與地面實況數據比較對定位精度進行定量和定性的評估,使用絕對軌跡誤差(absolutetranslationalerror,ATE)評價指標,統計指標為均方根誤差(root-mean-squareerror,RMSE)和標準差(standarddeviation,S.D.)。其中,在與真實軌跡進行比較時,使用EVO工具進行數據對齊,均方根誤差和標準差為同時考慮平移、旋轉和縮放三部分得到的最終誤差結果。由于算法考慮到IMU傳感器的影響,只在ORB-SLAM3的單目慣性、雙目慣性模式下工作。本文的所有實驗在IntelCoreTMi7-11700@2.50GHz×16、16GB內存、Ubuntu20.04系統上進行。
2.1Δ角度確定
基于圖像質心的均勻分布標準用于確定幀特征點分布是否合適,以確保框架的良好幾何狀態。選擇合適的角度能提高相機位置的準確性,使得均勻分布標準更加嚴格。為了選擇最佳的角度,本文測試從10度角開始,每5°為一個間隔,最終到40度角結束,統計單目慣性模式不同角度的EuRoC數據集11個序列的RMSE總和,如圖3所示,并且每個序列運行三次后使用它們的均值。該圖清晰地顯示角度的最佳值為30°,此時RMSE總和最小。
2.2加速度和角速度模式確定
在VSLAM系統中,IMU傳感器主要用來測量加速度和角速度,如果想要通過觀測IMU數據來選擇關鍵幀,兩者均是需要考慮的因素。為了比較兩個模式的效果,對EuRoC數據集每個序列運行三次后使用RMSE的平均值,并將machinehall(MH)序列、Vicon(V)1序列、Vicon(V)2序列的結果整合在一起,如表1所示。
由表1可以看出,盡管兩者相差不大,但是使用加速度時的算法精度稍好。原因是相機的運動主要包括平移和旋轉,兩者的變化均會使加速度發生改變,而角速度只會對旋轉的變化敏感;另一方面,機器人只感覺方向的變化并不常見,而且大部分旋轉的變化都會伴隨位移運動,因此本文使用加速度而不是角速度。
3實驗結果與分析
EuRoC數據集是使用最廣泛的計算機視覺數據集之一,特別是在VSLAM領域,常將其用于評估SLAM算法的定位精度。EuRoC微型飛行器(MAV)數據集一共有11個序列,視覺條件包括簡單、中等和困難三個類別,運動狀態包含快、慢,豐富條件有利于SLAM算法的測試。本文算法和ORB-SALM3算法在11個序列中進行了單目慣性模式和雙目慣性模式的測試。
3.1定性分析
為了定性評估本文算法,通過EVO工具將算法軌跡與真值的2D視圖(包含x、y值)進行對比分析。圖4、5為真實軌跡(灰色實線)、ORB-SLAM3(藍色虛線)以及本文算法(紅色點劃線)的部分序列實驗比較結果,為使結果圖對比更加清晰,將局部軌跡放大以及真實軌跡線條放大。在每個圖中,任何算法難免與真實軌跡有所偏差,但本文算法與真實軌跡的偏差相較ORB-SLAM3算法更小,這是因為ORB-SLAM3算法隨著某些數據集中某些路徑復雜度的增加,啟發式閾值會提取不合理的關鍵幀,關鍵幀提取會失效。上述問題歸根結底是選取關鍵幀的自身質量出現問題,出現模糊圖像和特征點分布不均勻等情況,進一步分析就是選取的關鍵幀幾何結構不佳和特征點分布不當,導致所選取的部分關鍵幀是弱關鍵幀,不能將其用于代表局部,此時本文算法的優勢將體現,這歸功于考慮到的幾何約束和均勻分布標準。
3.2定量分析
為了定量評估本文算法,通過EVO工具分別計算ORB-SLAM3和本文算法的絕對軌跡誤差。所有序列測試結果如表2所示,為防止結果的隨機性,每個序列運行10次,并記錄它們的平均結果。除此之外,表2中還記錄了不同算法得到的關鍵幀數目用于評估算力。從表2中可以看出,在單目慣性模式下,本文算法的關鍵幀數目略低于ORB-SLAM3;在雙目慣性模式下相差不太大,由此判斷兩者算力幾乎相同。但在均方根誤差、標準差上,本文算法在大部分數據集序列上優于ORB-SLAM3。從整體數據分析,在單目慣性模式下,本文算法均方根誤差相較于ORB-SLAM3降低9%,標準差降低18%;雙目慣性模式下,均方根誤差降低6%,標準差降低5%。圖6和7顯示了均方根誤差平均值在11個序列的數據集結果,圖8顯示了整體上均方根誤差平均值結果。圖6~8直觀地反映了本文算法均方根誤差相較于ORB-SLAM3算法更低,定位精度更高。圖9展示了某些序列絕對軌跡誤差的全部統計指標曲線對比結果。數據集序列對比結果表明,本文算法在單目、雙目慣性模式下絕對軌跡誤差各項指標更小,魯棒性更強。但在某些序列中,特別是Vicon1數據(V101,V102,V103)中,兩者在單目、雙目模式下差別很小,這可能是因為環境空間過小、過于擁擠,在這樣的條件下,相機的微小移動都會導致視線區域發生變化,獲取關鍵幀速度時快時慢,導致算法性能不佳,但總體上沒有受到嚴重阻礙。后續工作可以增加對空間距離的判斷,對近遠點的圖像幀采用不同的處理手段。表2中結果RMSE和S.D.單位均是m,關鍵幀數目單位是個。其中,RMSE最佳結果用粗體表示。
3.3消融實驗
對于關鍵幀選擇,本文主要考慮自適應閾值、均勻分布標準、IMU加速度閾值三個方面。本節針對上述三個方面進行消融測試,以驗證每個標準的有效性。在簡單和兩個困難圖像序列(MH01、MH04和V203)中,測試存在或者不存在這些標準的實驗結果。消融實驗僅僅保留了ORB-SLAM3關鍵幀選擇的安全值(0.5s)間隔之外,沒有保留任何關鍵幀選擇標準。此外,在不同的模式下,對每個數據集序列運行三次避免隨機結果帶來的影響,并記錄平均均方根誤差,如表3所示(√代表存在此標準,×代表缺少此標準)。表3清楚地顯示了每個標準的影響,可以從數據結果中得出,同時使用三個標準時,算法的平均均方根誤差最小。因此,本文算法的三個關鍵幀選擇標準都是必要的,即使缺少其中一個,算法的魯棒性都會受到[26]影響。
4結束語
本文提出了基于改進關鍵幀選擇的ORB-SLAM3算法,該算法具有以下優點:a)通過自適應閾值有效保證了算法選取的關鍵幀特征點數量充足,解決了原有啟發式閾值選取的關鍵幀質量不佳等問題;b)提出基于圖像質心的均勻分布標準,進一步確保關鍵幀特征點分布均勻;c)引入IMU簡單加速度變化觀測,避免了算法在突然運動情況下的失效,提高了算法的魯棒性。所改進的算法在公開的EuRoc數據集上進行測試,結果表明,與ORB-SLAM3算法相比,本文算法在定位精度方面更具優勢、魯棒性更強。在未來的工作中,筆者希望繼續將該方法進行優化,推廣到純視覺和使用魚眼相機等情況下,甚至在其他SLAM系統框架中。此外,該方法可以用做深度學習網絡訓練的基本算法,并且能在深度學習的幫助下提高運行速度。
參考文獻:
[1]KazerouniIA,FitzgeraldL,DoolyG,etal.Asurveyofstate-of-the-artonvisualSLAM[J].ExpertSystemswithApplications,2022,205(11):117734.
[2]ServièresM,RenaudinV,DupuisA,etal.Visualandvisual-inertialslam:stateoftheart,classification,andexperimentalbenchmarking[J].JournalofSensors,2021,2021:articleID2054828.
[3]ChengJun,ZhangLiyan,ChenQihong,etal.AreviewofvisualSLAMmethodsforautonomousdrivingvehicles[J].EngineeringApplicationsofArtificialIntelligence,2022,114(9):104992.
[4]BarrosAM,MichelM,MolineY,etal.AcomprehensivesurveyofvisualSLAMalgorithms[J].Robotics,2022,11(1):24.
[5]JiaGuanwei,LiXiaoying,ZhangDongming,etal.Visual-SLAMclassicalframeworkandkeytechniques:areview[J].Sensors,2022,22(12):4582.
[6]MatsukiH,VonStumbergL,UsenkoV,etal.OmnidirectionalDSO:directsparseodometrywithfisheyecameras[J].IEEERoboticsandAutomationLetters,2018,3(4):3693-3700.
[7]GaoXiang,WangRui,DemmelN,etal.LDSO:directsparseodometrywithloopclosure[C]//ProcofIEEE/RSJInternationalConfe-renceonIntelligentRobotsandSystems.Piscataway,NJ:IEEEPress,2018:2198-2204.
[8]StalbaumJ,SongJB.KeyframeandinlierselectionforvisualSLAM[C]//Procofthe10thInternationalConferenceonUbiquitousRobotsandAmbientIntelligence.Piscataway,NJ:IEEEPress,2013:391-396.
[9]FanfaniM,BellaviaF,ColomboC.Accuratekeyframeselectionandkeypointtrackingforrobustvisualodometry[J].MachineVisionandApplications,2016,27(8):833-844.
[10]KleinG,MurrayD.ParalleltrackingandmappingforsmallARworkspaces[C]//Procofthe6thIEEEandACMInternationalSymposiumonMixedandAugmentedReality.WashingtonDC:IEEEComputerSociety,2007:225-234.
[11]ForsterC,PizzoliM,ScaramuzzaD.SVO:fastsemi-directmonocularvisualodometry[C]//ProcofIEEEInternationalConferenceonRoboticsandAutomation.Piscataway,NJ:IEEEPress,2014:15-22.
[12]EndresF,HessJ,SturmJ,etal.3DmappingwithanRGB-Dcamera[J].IEEETransonRobotics,2014,30(1):177-187.
[13]EngelJ,SchpsT,CremersD.LSD-SLAM:large-scaledirectmono-cularSLAM[C]//Procofthe13thEuropeanConferenceonComputerVision.Cham:Springer,2014:834-849.
[14]LeuteneggerS,LynenS,BosseM,etal.Keyframe-basedvisual-inertialodometryusingnonlinearoptimization[J].InternationalJournalofRoboticsResearch,2015,34(3):314-334.
[15]TanWei,LiuHaomin,DongZilong,etal.RobustmonocularSLAMindynamicenvironments[C]//ProcofIEEEInternationalSymposiumonMixedandAugmentedReality.Piscataway,NJ:IEEEPress,2013:209-218.
[16]QinTong,LiPeiliang,ShenShaojie.VINS-Mono:arobustandversatilemonocularvisual-inertialstateestimator[J].IEEETransonRobotics,2018,34(4):1004-1020.
[17]QinTong,PanJie,CaoShaozu,etal.Ageneraloptimization-basedframeworkforlocalodometryestimationwithmultiplesensors[EB/OL].(2019-01-11).http://doi.org/10.48550/arxiv.1901.03638.
[18]CaoShaozu,LuXiuyuan,ShenShaojie.GVINS:tightlycoupledGNSS-visual-inertialfusionforsmoothandconsistentstateestimation[J].IEEETransonRobotics,2022,38(4):2004-2021.
[19]陳孟元,丁陵梅,張玉坤.基于改進關鍵幀選取策略的快速PL-SLAM算法[J].電子學報,2022,50(3):608-618.(ChenMengyuan,DingLinmei,ZhangYukun.FastPL-SLAMalgorithmbasedonimprovedkeyframeextractionstrategy[J].ActaElectronicaSinica,2022,50(3):608-618.)
[20]ChenWeinan,ZhuLei,LinXubin,etal.DynamicstrategyofkeyframeselectionwithPDcontrollerforVSLAMsystems[J].IEEE/ASMETransonMechatronics,2021,27(1):115-125.
[21]Mur-ArtalR,MontielJMM,TardosJD.ORB-SLAM:aversatileandaccuratemonocularSLAMsystem[J].IEEETransonRobotics,2015,31(5):1147-1163.
[22]Mur-ArtalR,TardósJD.ORB-SLAM2:anopen-sourceSLAMsystemformonocular,stereo,andRGB-Dcameras[J].IEEETransonRobotics,2017,33(5):1255-1262.
[23]CamposC,ElviraR,RodríguezJJG,etal.ORB-SLAM3:anaccurateopen-sourcelibraryforvisual,visual-inertial,andmultimapSLAM[J].IEEETransonRobotics,2021,37(6):1874-1890.
[24]ShengLu,XuDan,OuyangWanli,etal.UnsupervisedcollaborativelearningofkeyframedetectionandvisualodometrytowardsmonoculardeepSLAM[C]//ProcofIEEE/CVFInternationalConferenceonComputerVision.Piscataway,NJ:IEEEPress,2019:4301-4310.
[25]HosseininavehA,RemondinoF.AnimagingnetworkdesignforUGV-based3Dreconstructionofbuildings[J].RemoteSensing,2021,13(10):1923.
[26]HosseininavehA,SerpicoM,RobsonS,etal.Automaticimageselectioninphotogrammetricmulti-viewstereomethods[C]//Procofthe13thInternationalSymposiumonVirtualReality,ArchaeologyandCulturalHeritage.[S.l.]:TheEurographicsAssociation,2012:9-16.
[27]AzimiA,AhmadabadianAH,RemondinoF.PKS:aphotogrammetrickey-frameselectionmethodforvisualinertialsystemsbuiltonORB-SLAM3[J].ISPRSJournalofPhotogrammetryandRemoteSensing,2022,191(9):18-32.
[28]CastlemanKR.Digitalimageprocessing[M].NewJersey:Prentice-HallPress,1996.
[29]ForsterC,CarloneL,DellaertF,etal.On-manifoldpreintegrationforreal-timevisual-inertialodometry[J].IEEETransonRobotics,2016,33(1):1-21.
[30]BurriM,NikolicJ,GohlP,etal.TheEuRoCmicroaerialvehicledatasets[J].InternationalJournalofRoboticsResearch,2016,35(10):1157-1163.