ORB_SLAM詳解

個人為了看的方便沒有廣告,轉載自泡泡機器人:
https://www.sohu.com/a/161346283_715754#comment_area? 侵刪

作者:

Raúl Mur-Artal*, J. M. M. Montiel, Member, IEEE, and Juan D. Tardós, Member, IEEE

翻譯:Taylor Guo

原文部分重譯與審核:趙搏欣

編輯:楊雨生

歡迎個人轉發朋友圈;其他機構或自媒體如需轉載,后臺留言申請授權

V.跟蹤

在這一部分,我們將詳細介紹跟蹤線程在相機每幀圖像上執行的步驟。在幾個步驟中都提到的相機位姿優化,包括運動BA,將在附錄部分進行闡述。

A、ORB特征提取

我們在8層圖像金字塔上提取FAST角點,金字塔圖像尺度因子為1.2。如果圖像分辨率從512*384到752*480,我們發現提取1000個角點比較合適,如果分辨率提高,如KITTI數據集[40],則提取2000個角點。為了確保特征點均勻分布,我們將每層圖像分成網格,每格提取至少5個角點。然后檢測每格角點,如果角點數量不夠,就調整閾值。如果某些單元格內檢測不出角點,則其對應提取的角點數量也相應減少。最后,根據保留的FAST的角點計算方向和ORB特征描述子。ORB特征描述子將用于算法后續所有的特征匹配,而不是像PTAM算法中那樣根據圖像區塊的相關性進行搜索。

B、通過前一圖像幀估計相機的初始位姿

如果上一幀圖像跟蹤成功,我們就用運動速率恒定模型來預測當前相機的位置(即認為攝像頭處于勻速運動),然后搜索上一幀圖像中的特征點在地圖中的對應云點與當前幀圖像的匹配點,最后利用搜索到的匹配點對當前相機的位姿進一步優化。但是,如果沒有找到足夠的匹配點(比如,運動模型失效,非勻速運動),我們就加大搜索范圍,搜索地圖云點附近的點在當前幀圖像中是否有匹配點,然后通過尋找到的對應匹配點對來優化當前時刻的相機位姿。

C、通過全局重定位來初始化位姿

如果擴大了搜索范圍還是跟蹤不到特征點,(那么運動模型已經失效),則計算當前幀圖像的詞袋(BoW)向量,并利用BoW詞典選取若干關鍵幀作為備選匹配幀(這樣可以加快匹配速度);然后,在每個備選關鍵幀中計算與地圖云點相對應的ORB特征,就如第三部分E節所描述的。接著,對每個備選關鍵幀輪流執行PnP算法[41]計算當前幀的位姿(RANSAC迭代求解)。如果我們找到一個姿態能涵蓋足夠多的有效點,則搜索該關鍵幀對應的更多匹配云點。最后,基于找到的所有匹配點對相機位置進一步優化,如果有效數據足夠多,則跟蹤程序將持續執行。

D、跟蹤局部地圖

一旦我們獲得了初始相機位姿和一組初始特征匹配點,我們就可以將更多的地圖云點投影到圖像上以尋找更多的匹配點。為了降低大地圖的復雜性,我們只映射局部地圖。該局部地圖包含一組關鍵幀K1,它們和當前關鍵幀有共同的地圖云點,還包括與關鍵幀K1在covisibility graph中相鄰的一組關鍵幀K2。這個局部地圖中有一個參考關鍵幀Kref∈K1,它與當前幀具有最多共同的地圖云點?,F在對K1, K2中可見的每個地圖云點,在當前幀中進行如下搜索:

計算地圖云點在當前幀圖像中的投影點x。如果投影位置超出圖像邊緣,就將對應的地圖云點刪除。

計算當前視圖射線v和地圖云點平均視圖方向n的夾角。如果n<cos(60o),就刪除對應云點。

計算地圖云點到相機中心的距離d。如果它不在地圖云點的尺度不變區間內,即d?[dmin,dmax],就刪除該云點。

計算每幀圖像的尺度比d/dmin。

對比地圖云點的特征描述子D和當前幀中還未匹配的ORB特征,在預測的尺度層和靠近x的云點作最優匹配。

相機位姿最后通過當前幀中獲得所有的地圖云點進行優化。(這個環節的目的是在當前幀和局部地圖之間找到更多的匹配點對,來優化當前幀的位姿)。

E、新關鍵幀的判斷標準

最后一步是決定當前幀是否可以作為關鍵幀。由于局部地圖構建的過程中有一個機制去篩選冗余的關鍵幀,所以我們需要盡快地插入新的關鍵幀以保證跟蹤線程對相機的運動更具魯棒性,尤其是對旋轉運動。我們根據以下要求插入新的關鍵幀:

距離上一次全局重定位后需要超過20幀圖像。

局部地圖構建處于空閑狀態,或距上一個關鍵幀插入后,已經有超過20幀圖像。

當前幀跟蹤少于50個地圖云點。

當前幀跟蹤少于參考關鍵幀K_ref云點的90%。

與PTAM中用關鍵幀之間的距離作為判斷標準不同,我們加入一個最小的視圖變換,如條件4。條件1

確保一個好的重定位,條件3保證好的跟蹤。如果局部地圖構建處于忙狀態(條件2的后半部分)的時候插入關鍵幀,就會發信號去暫停局部BA,這樣就可以盡可能快地去處理新的關鍵幀。

VI. 局部地圖構建

這章我們將描述根據每個新的關鍵幀Ki構建局部地圖的步驟。

A、關鍵幀插入

首先更新covisibility graph,具體包括:添加一個關鍵幀節點Ki,檢查與Ki有共同云點的其他關鍵幀,用邊線連接。然后,更新生成樹上與Ki有最多共享點的其他關鍵幀的鏈接。計算表示該關鍵幀的詞袋,并利用三角法生成新的地圖云點。

B、地圖點云篩選

三角化的云點為了已知保留在地圖中,必須在其創建后的頭三個關鍵幀中通過一個嚴格的測試,該測試確保留下的云點都是能被跟蹤的,不是由于錯誤的數據而被三角化的。一個云點必須滿足如下條件:

跟蹤線程必須在超過25%的圖像中找到該特征點。

如果創建地圖云點經過了多個關鍵幀,那么它必須至少是能夠被其他3個關鍵幀觀測到。

一旦一個地圖云點通過測試,它只能在被少于3個關鍵幀觀測到的情況下移除。這樣的情況在關鍵幀被刪除以及局部BA排除異值點的情況下發生。這個策略使得我們的地圖包含很少的無效數據。

C、新地圖點云創建

新的地圖云點的創建是通過對covisibility

graph中連接的關鍵幀Kc中的ORB特征點進行三角化實現的。對Ki中每個未匹配的ORB特征,我們在其他關鍵幀的未匹配云點中進行查找,看是否有匹配上的特征點。這個匹配過程在第三部分第E節中有詳細闡述,然后將那些不滿足對級約束的匹配點刪除。ORB特征點對三角化后,需要對其在攝像頭坐標系中的深度信息,視差,重投影誤差和尺度一致性進行審查,通過后則將其作為新點插入地圖。起初,一個地圖云點通過2個關鍵幀觀測,但它在其他關鍵幀中也有對應匹配點,所以它可以映射到其他相連的關鍵幀中,搜索算法的細則在本文第5部分D節中有講述。

D、局部BA

局部BA主要對當前處理的關鍵幀Ki,以及在covisibility

graph中與Ki連接的其他關鍵幀Kc,以及這些關鍵幀觀測到的地圖云點進行優化所有其他能夠觀測到這些云點的關鍵幀但沒有連接Ki的會被保留在優化線程中,但保持不變。優化期間以及優化后,所有被標記為無效的觀測數據都會被丟棄,附錄有詳細的優化細節。

E、局部關鍵幀篩選

為了使重構保持簡潔,局部地圖構建盡量檢測冗余的關鍵幀,刪除它們。這樣對BA過程會有很大幫助,因為隨著關鍵幀數量的增加,BA優化的復雜度也隨之增加。當算法在同一場景下運行時,關鍵幀的數量則會控制在一個有限的情況下,只有當場景內容改變了,關鍵幀的數量才會增加,這樣一來,就增加了系統的可持續操作性。如果關鍵幀Kc中90%的點都可以被其他至少三個關鍵幀同時觀測到,那認為Kc的存在是冗余的,我們則將其刪除。尺度條件保證了地圖點以最準確的方式保持它們對應的關鍵幀(這句翻譯沒理解透:The

scale condition ensures that map points maintain keyframes from which

they are measured with most

accuracy.)這個策略受Tan等人的工作[24]的啟發,在這項工作中,作者在經過一系列變化檢測后即將關鍵幀刪除。

VII. 閉環檢測

閉環檢測線程抽取Ki——最后一幀局部地圖關鍵幀,用于檢測和閉合回環。具體步驟如下:

A、候選關鍵幀

我們先計算Ki的詞袋向量和它在covisibility

graph中相鄰圖像(θmin=30)的相似度,保留最低分值Smin。然后,我們檢索圖像識別數據庫,丟掉那些分值低于Smin的關鍵幀。這和DBoW2中均值化分值的操作類似,可以獲得好的魯棒性,DBoW2中計算的是前一幀圖像,而我們是使用的covisibility信息。另外,所有連接到Ki的關鍵幀都會從結果中刪除。為了獲得候選回環,我們必須檢測3個一致的候選回環(covisibility

graph中相連的關鍵幀)。如果對Ki來說環境樣子都差不多,就可能有幾個候選回環。

B、計算相似變換

單目SLAM系統有7個自由度,3個平移,3個旋轉,1個尺度因子 [6]。因此,閉合回環,我們需要計算從當前關鍵幀Ki到回環關鍵幀Kl的相似變換,以獲得回環的累積誤差。計算相似變換也可以作為回環的幾何驗證。

我們先計算ORB特征關聯的當前關鍵幀的地圖云點和回環候選關鍵幀的對應關系,具體步驟如第3部分E節所示。此時,對每個候選回環,我們有了一個3D到3D的對應關系。我們對每個候選回環執行RANSAC迭代,通過Horn方法(如論文[42])找到相似變換。如果我們用足夠的有效數據找到相似變換Sil,我們就可以優化它,并搜索更多的對應關系。如果Sil有足夠的有效數據,我們再優化它,直到Kl回環被接受。

C、回環融合

回環矯正的第一步是融合重復的地圖云點,在covisibility

graph中插入與回環相關的的新邊緣。先通過相似變換Sil矯正當前關鍵幀位姿Tiw,這種矯正方法應用于所有與Ki相鄰的關鍵幀,這樣回環兩端就可以對齊。然后,回環關鍵幀及其近鄰能觀測到的所有地圖云點都映射到Ki及其近鄰中,并在映射的區域附近小范圍內搜索它的對應匹配點,如第5部分D節所述。所有匹配的地圖云點和計算Sil過程中的有效數據進行融合。融合過程中所有的關鍵幀將會更新它們在covisibility

graph中的邊緣,創建的新邊緣將用于回環檢測。

D、Essential Graph優化

為了有效地閉合回環,我們通過Essential Graph優化位姿圖,如第三部分D節所示,這樣可以將回環閉合的誤差分散到圖像中去。優化程序通過相似變換校正尺度偏移,如論文[6]。誤差和成本計算如附錄所示。優化過后,每一個地圖云點都根據關鍵幀的校正進行變換。

VIII. 實驗

我們采用NewCollege[39]的大場景機器人圖像序列對本文提出的系統進行了較全面的實驗評估,首先采用TUM的室內16個手持RGB-D數據集[38]對系統的總體性能進行了評估,包括算法的定位精度,重定位和程序運行能力;然后,用KITTI的10個汽車戶外圖像數據集[40],評估算法在實時大場景下的操作及其定位精度和位姿圖的優化效率。

算法運行在Intel Core i7-4700MQ (4核@2.40GHz)和8GB

RAM的實驗平臺上,運算速率可達到實時,且以幀率對圖像進行準確處理。ORB-SLAM有3個主線程,它們和其他ROS線程并行運行,由于引入了ROS操作系統,因此算法結果具有一定的隨機性,針對這個原因,我們在一些實驗中公布了算法運行的中間結果。

A、基于Newcollege數據集測試系統性能

NewCollege數據集[39]包含了一個2.2公里的校園的機器人圖像序列。它是由雙目相機拍攝,幀率為20fps,分辨率512x38。圖像序列中包含幾個回環和快速的旋轉,這對單目視覺定位非常具有挑戰性。據我們所知,目前沒有單目系統可以處理整個圖像序列。例如論文[7],盡管其算法可以實現回環檢測,也可以應用于大場景環境,但只有小部分序列圖像能夠顯示單目結果。

如圖4顯示的是我們的算法檢測到的閉合回路,從圖中可以看出,我們選擇的有效數據點都支持相似性變換。圖5則對比了回環閉合前后的環境地圖重構狀況。其中,紅色標注的是局部地圖,回環檢測后可以看到其兩端擴展到連接整個運行軌跡。圖6是以實時幀率速度運行整個圖像序列后的全局地圖,從圖中可以看出,后邊的大回環并沒有完全閉合,它從另外一個方向穿過,位置識別程序沒能發現閉合回路。

我們統計了ORB_SLAM算法每個線程所用的時間。表1顯示了算法跟蹤和局部構圖的時間??梢钥闯?,跟蹤的幀率大概在25-30Hz,這是跟蹤局部地圖所需的最多時間。如果需要的話,這個時間還可以更快,只要減少局部地圖中所包含的關鍵幀數量即可。局部地圖構建線程中需時最高的是局部BA優化。局部BA的時間根據機器人探索環境的狀態變動,即在未探索環境下所需時間多,在已經探索過的環境下運行所需時間少,因為在未知環境中如果跟蹤線程插入一個新的關鍵幀,BA優化會被中斷,如第5部分E節所示。如果不需要插入新的關鍵幀,局部BA優化則會執行大量已經設置的迭代程序。

表2顯示了6個閉合回路的結果??梢钥吹交丨h檢測是如何亞線性地隨關鍵幀數量的增多而增加。這主要是由于高效的數據庫檢索,表2中只比較了具有相同圖像單詞的圖像子集,由此可見用于位置識別詞袋模型的潛力。我們的Essential

Graoh中包含的邊緣是關鍵幀數量的5倍,它是一個稀疏圖。

B、基于TUM RGB-D標準庫的定位精度

TUM RGB-D數據集[38]是一個用于估計攝像頭定位精度的優秀數據庫,它提供了許多圖像序列,還包括外部運動捕捉系統提供的對應軌跡真值。我們去掉那些不適合純單目SLAM系統的圖像序列,這些序列包含強烈的旋轉,沒有紋理或沒有運動。

為了驗證算法性能,我們選擇了最近提出的直接法半稠密LSD-SLAM(論文[10])和經典算法PTAM(論文[4])作為對比。除此之外,我們還比較了由RGBD-SLAM(論文[43])算法生成的軌跡。為了在相同的基準下比較ORB-SLAM,LSD-SLAM和PTAM,我們用相似變換對齊關鍵幀軌跡,在尺度未知的情況下,檢測軌跡的絕對誤差(論文[38])。對RGBD-SLAM算法,我們通過相機坐標變換來對齊軌跡,也采用同樣的方法檢測尺度是否重構良好。LSD-SLAM從隨機深度值開始初始化,然后隨機值逐漸收斂,因此與基準對比的時候,我們會丟掉前10個關鍵幀。對于PTAM算法,我們從一個好的初始化中,手動選擇兩個關鍵幀。表3

是對我們選擇的16個圖像序列運行5次的中間結果。

從表中可以看出,ORB-SLAM可以處理所有的圖像序列,除了fr3 nostructure texture far (fr3 nstr

tex

far)以外。這是一個平面的場景,相機的軌跡在這種情況下有兩種可能,正如論文[27]中的描述的。我們的初始化方法檢測到這種模棱兩可的情況,為了保證算法的安全運行選擇不進行初始化。PTAM初始化有時會選擇對的方案,有些可能會選擇錯的方案,且導致的錯誤可能不能接受。我們沒有注意到LSD-SLAM的2種不同的重構方案,但在這個圖像序列出現的錯誤非常多。針對其他的圖像序列,PTAM和LSD-SLAM算法的魯棒性都比我們的方法差,且分別有八組序列和三組序列中地圖點容易跟蹤丟失。

關于精度問題,沒有回環檢測期間,ORB-SLAM和PTAM算法的定位精度相當,但回環檢測成功后,ORB-SLAM算法將達到更高的定位精度,正如在圖像序列fr3

nostructure texture near withloop (fr3 nstr tex

near)中表現的。非常意外的一個結果是PTAM和ORB-SLAM都非常明顯地表現出精度高于LSD-SLAM和RGBD-SLAM。一個可能的原因是它們將地圖的優化過程簡化為一個單純的姿態圖優化過程,這樣就造成了傳感器測量信息的丟失,但在我們的算法中,采用BA優化,同時通過傳感器測量優化相機的姿態和地圖的云點位置,這是解決運動到結構[2]的經典標準算法。。我們將在第9部分B節進一步討論了這個結果。另一個有趣的結果是在圖像序列fr2

desk with person 和 fr3 walking xyz中,LSD-SLAM對動態物體的魯棒性相比ORB-SLAM差一些。

我們注意到RGBD-SLAM在圖像序列fr2上尺度上有一個偏差,用7自由度對齊軌跡則誤差明顯減少。最后我們注意到Engle等人在論文[10]中提出在f2_xyz上PTAM的精度比LSD-SLAM算法低,RMSE是24.28cm。然而,論文沒有給出足夠的細節說明如何獲得這些結果的,因此我們沒有辦法復現它。

C、基于TUM RGB-D標準數據庫的重定位

我們在TUM

RGB-D數據集上進行了兩組重定位實驗。在第一個實驗中,我們選擇fr2_xyz圖像序列,通過前30秒構建了一個地圖,然后對后來的每一幀圖像都進行全局重定位,并評估重構出來的相機位姿精度。我們對PTAM算法進行了相同的實驗。如圖7所示是創建初始地圖的關鍵幀,重定位的圖像幀位姿和這些幀對應的真值。從圖中可以看出PTAM算法只能夠對重定位關鍵幀附近的圖像幀,這是因為其算法中重定位方法并不具備不變形導致的。表4顯示了PTAM算法和ORB_SLAM算法相對地面真值的誤差。從表中數據可以看出,ORB-SLAM比PTAM可以更精準地多定位2倍的圖像幀。在第2個實驗中,我們采用fr3_sitting_xyz圖像序列來初始化地圖,然后用fr3_walking_xyz圖像序列重定位所有的圖像幀。這是一個頗具挑戰性的實驗,由于圖像中有人移動,會造成圖像局部區域的遮擋。在該試驗中,PTAM并沒有實現重定位,而ORB-SLAM重定位了78%的圖像幀,如表4所示。圖8顯示了ORB-SLAM重定位的一些實驗圖例。

D、基于TUM RGB-D標準數據集測試算法的運行生命

之前的重定位實驗表明我們的系統可以從非常不同的視角定位地圖,在中等動態環境中的魯棒性也較好。這個特性和關鍵幀篩選程序使得算法在不同的視角和局部動態環境中能夠一直運行到圖像結束。

在全靜態場景情況下,即使相機從不同視角觀測場景,ORB-SLAM也可以使關鍵幀數量保持在一個有限的水平內。我們在一個自定義的圖像序列中驗證了這一點,手持相機在93秒以內都拍攝同一張桌子,但視角一直變換,形成一個軌跡。我們對比了我們地圖的關鍵幀數量和PTAM生成的關鍵幀,如圖9所示??梢钥吹絇TAM一直都在插入關鍵幀,而ORB-SLAM會刪除冗余的關鍵幀,將其總數保持在一個穩定的范圍內。

當然,在整個程序運行過程中,靜態環境下的正常操作是任何SLAM系統的一個基本要求,更引人關注的是動態環境下的狀況。我們在幾個fr3的圖像序列中分析了ORB-SLAM系統的狀況,圖像序列有:sitting

xyz, sitting halfsphere, sitting rpy, walking xyz, walking halfspehere

和walking

rpy。所有的視頻中,相機都對著桌子,但運動軌跡不同,拍攝場景中有人在移動,椅子也被移動了。如圖10(a)所示是ORB_SLAM算法生成的地圖中所有關鍵幀的總數量,圖10(b)顯示從圖像幀中創建或刪除關鍵幀,從中可以看出從關鍵幀到地圖構建需要多久時間??梢钥吹角?個圖像序列中新看到(增加)場景時地圖的大小一直在增加。圖10(b)是前2個視頻中創建的關鍵幀。在視頻sitting_rpy和walking_xyz中,地圖沒有增加,地圖是通過已有場景創建。相反,在最后兩個視頻中,有更多的關鍵幀插入但沒有在場景中表示出來,可能由于場景的動態變化。圖10(C)是關鍵幀的柱狀圖,它們是從視頻中挑選出來的。大部分的關鍵幀被篩選程序刪除了,只有一小部分留下來了。ORB-SLAM有大量關鍵幀的生成策略,在未知環境下非常有用;后面系統會生成一個小的子集來代表這些關鍵幀。

在整個實驗中,我們系統的地圖根據場景上內容來增加,而不是根據時間,它可以存儲場景的動態變化,對場景的理解非常有用。

E、基于KITTI數據集測試算法在大場景大回環下的性能對比

KITTI數據集中里程計的數據包括11個視頻,它的獲取是在一個住宅區駕駛汽車,基準精度非常高,有一個GPS和一個Velodyne

Laser

Scanner。這個數據集對單目系統非常有挑戰性,因為視頻中有快速旋轉,區域內有大量樹葉,這使數據關聯變得更困難,而且車速相對較快,視頻記錄的頻率為10fps。除了視頻01外,ORB-SLAM可以處理其他所有的視頻,01是高速路上的視頻,可追蹤的物體非常少。視頻00,02,05,06,07,09,有閉環回路,系統可以檢測到,并使它閉合。其中視頻09的閉環只能在視頻的最后幾個圖像幀里檢測到,并不是每次都能成功檢測到(結果顯示的是針對其被檢測到的運行情況)。

對于軌跡與基準的定性比較如圖11和12所示。在TUM

RGB-D數據集中,我們可以通過相似變換對齊軌跡的關鍵幀和基準。圖11是定性比較的結果,圖12是論文[25]中的最新單目SLAM在視頻00,05,06,07和08上執行的結果。除了08有一些偏移以外,ORB-SLAM在這些視頻上的軌跡都很精準。

表5顯示了每個視頻的關鍵幀軌跡中間的RMSE誤差。我們基于地圖尺寸提供了軌跡的誤差。結果表明我們的軌跡誤差是地圖尺寸的1%左右。大致范圍低的是視頻03的0.3%高的是視頻08的5%。視頻08中沒有閉環,漂移也沒辦法糾正,因為閉環控制需要獲得更精確的重構。

在本次實驗中,我們還確認了到底全局BA的20層迭代最終能優化多少地圖重構,相關細節如附錄所示。我們還注意到全局BA優化可以稍微增加閉環軌跡的精度,但這對開環軌跡有負面影響,這意味著我們的系統已經非常精確了。在有些應用中,如果需要非常精確的結果我們的算法會提供一組匹配,需要定義一個比較強的相機網絡,一個初始估計,這樣全局BA優化迭代次數就會變少。

最后講一下我們算法的閉環檢測和用于essential

graph邊緣的θmin的效率。我們選擇視頻09(一段非常長的圖像序列,在最后有一個閉環),然后評估不同的閉環檢測算法。表6是關鍵幀軌跡RMSE和不同情況下沒有閉環檢測優化所用的時間,表中的相關內容包括:如果直接采用全局BA優化(20層或100層迭代)的情況,如果只用位姿圖優化(10層迭代不同數量的邊緣)的情況,如果先用位姿圖優化再執行全局BA優化的情況。結果表明,在閉環檢測之前,算法的RMSE誤差較大,以至于BA優化沒辦法收斂,即便是迭代100次之后后誤差仍舊非常大。另一方面,essential

graph優化收斂速度很快,而且結果也更精確。θmin對精度影響并不大,減少邊緣的數量會明顯降低精度。位姿圖優化后再執行一個BA優化則可以增加精度,但時間也增加了。

IX. 結論和討論

A、結論

本文中,我們提出了一個新的單目SLAM系統,并詳細介紹了其組成模塊,最后基于公共數據庫對其性能進行了全方位的測試。通過實驗得知,我們的系統可以處理室內與室外的圖像序列,能夠用于汽車、機器人和手持設備上。其定位精度在室內小場景中約為1厘米,室外大場景的應用是幾米(前提是我們與真實軌跡尺度對齊的情況下)。

由Klein和Murray[4]提出的PTAM算法被認為是目前最精準的單目實時SLAM方法。PTAM后端是BA優化,這是眾所周知的離線SFM(從運動到結構)問題[2]的經典解法。PTAM算法和Mouragnon[3]早期作品的主要貢獻是將BA算法引入到機器人SLAM框架下,并具有良好的實時性。而本文的主要貢獻是將PTAM算法的適用性進一步擴展,使其可以應用于原來不可應用的場景下。為了實現這一目標,我們整合了前面幾年的優秀作品,引入新的想法和算法,從頭設計了一種新的單目SALM系統所用到的技術包括Gálvez-López和Tardós提出的論文[5]中的閉環檢測,Strasdat等人在論文[6],[7]中提出的的閉環檢測程序和covisibility

graph,Kuemmerle等人在論文[37]中提出的g2o優化框架以及Rubble等人提出的ORB特征[9]。到目前為止就我們所知,本文提出的ORB_SLAM方法的定位精度最高,也是最可靠最完整的單目SLAM系統。我們提出的新的生成和刪除關鍵幀策略,允許每個幾幀就創建一個關鍵幀,然后當關鍵幀冗余時則刪除。這樣的構圖方式很靈活,在外界條件很差的情況下可以保證系統正常運行,比如相機作純旋轉運動或快速移動時。當算法在相同場景下運行時,地圖在只有拍攝到新內容的情況下才會增長,可以從我們的長期構圖結果中看到這個特性。

最后,我們還展示了ORB特征具有很好的識別能力,可識別劇烈視角變換情況下的場景信息。此外,它們能夠被非??焖俚奶崛『推ヅ洌ú恍枰嗑€程或GPU加速),這就使得跟蹤和地圖構建更加實時精確。

B、離散/特征SLAM方法與稠密/直接SLAM方法對比

最近,DTAM[44]和LSD-SLAM[10]提出了一種實時單目SALM算法,算法直接利用圖像像素的亮度信息進行攝像頭的定位與優化,并重構稠密或半稠密的環境地圖。這類方法即為直接法,直接方法不需要特征提取,可以避免人工匹配。他們對圖像模糊,弱紋理環境和像論文[45]這樣的高頻紋理環境的魯棒性更好。與由稀疏點構建的地圖相比,比如ORB-SLAM或PTAM算法,稠密/直接法SLAM對相機定位之外的其他應用任務可能更有用途。

部分重譯:

然而,直接方法有他們自己的局限。首先,這些方法假設真實場景中的物體的像是由該物體本身的表面反射模型產生的,因此,算法采用的光度一致性尋找匹配點的思路就限制了匹配點之間的基線距離,通常都比特征匹配點的基線要窄。這對重構的精度影響很大,因為重構需要較寬的基線來減少深度的不確定性。如果直接建模不準確,則可能會受到快門,自動增益和自動曝光的影響(如TUM

RGB-D

的對比測試)。最后,由于直接方法計算要求較高,因此為了滿足計算速度,DTAM算法采用地圖增量式擴張的方法,而LSD-SLAM則丟掉傳感器測量信息,將地圖優化降低為對位姿圖的優化。

相反,基于特征的方法可以在更寬的基線上匹配特征,主要得益于特征匹配算法較好地視圖不變特性。BA優化和相機位姿優化,地圖云點通過傳感器測量進行融合。在運動結構估計中,論文[46]已經指出了基于特征的方法相比直接方法的優勢。在我們的實驗第8部分B節中也直接提供了證據,,表明基于特征的定位精度更高。未來單目SLAM應該會整合兩種最好的方法。

C、后續

我們系統的精度可以通過結合無限遠點跟蹤來進一步增強。這些在視圖中看不到的平行線交點,并沒有包含在本文算法構建的地圖中,但對相機的旋轉非常有用[21]。

另外一種方法是將稀疏地圖更新到一個更加稠密的地圖。由于我們關鍵幀的選擇機制,關鍵幀組成了一個緊湊的地圖,地圖具有非常高精度的位姿信息和豐富的covisibility信息。所以,ORB-SLAM稀疏地圖是一個非常優秀的初始估計框架,比稠密地圖更好。這個方向的首次嘗試在論文[47]中有詳細描述。

附錄:非線性優化

捆集調整(BA)

地圖云點3D位置 Xw,j∈R3,關鍵幀位姿Tiw∈SE(3)

W表示世界坐標,通過匹配的關鍵點Xi,j∈R2減少重投影誤差。

地圖云點j在關鍵幀i中的誤差是:

其中πi是影射函數:

其中,Riw∈SO(3),tiw∈R3,分別表示Tiw的旋轉和平移部分

(fi,u , fi,v),(ci,u , ci,v)分別是相機i的焦點距離和主點。

代價函數:

ρh是Huber魯棒代價函數,Ωi,j=δi,j2I2x2是協方差矩陣,與檢測關鍵點的尺度有關。在全局捆集調整中(在初始化地圖中),我們優化了所有云點和關鍵幀。

參考文獻

[1] B. Triggs, P. F. McLauchlan, R. I. Hartley, and A. W.

Fitzgibbon,“Bundle adjustment a modern synthesis,” in Vision algorithms:

theoryand practice, 2000, pp. 298–372.

[2] R. Hartley and A. Zisserman, Multiple View Geometry in ComputerVision, 2nd ed. Cambridge University Press, 2004.

[3] E. Mouragnon, M. Lhuillier, M. Dhome, F. Dekeyser, and P. Sayd,

“Realtime localization and 3d reconstruction,” in Computer Vision and

PatternRecognition, 2006 IEEE Computer Society Conference on, vol. 1,

2006,pp. 363–370.

[4] G. Klein and D. Murray, “Parallel tracking and mapping for small

ARworkspaces,” in IEEE and ACM International Symposium on Mixed

andAugmented Reality (ISMAR), Nara, Japan, November 2007, pp. 225–234.

[5] D. G′alvez-L′opez and J. D. Tard′os, “Bags of binary words for

fastplace recognition in image sequences,” IEEE Transactions on

Robotics,vol. 28, no. 5, pp. 1188–1197, 2012.

[6] H. Strasdat, J. M. M. Montiel, and A. J. Davison, “Scale

drift-awarelarge scale monocular SLAM.” in Robotics: Science and Systems

(RSS),Zaragoza, Spain, June 2010.

[7] H. Strasdat, A. J. Davison, J. M. M. Montiel, and K.

Konolige,“Double window optimisation for constant time visual SLAM,” in

IEEEInternational Conference on Computer Vision (ICCV), Barcelona,

Spain,November 2011, pp. 2352–2359.

[8] C. Mei, G. Sibley, and P. Newman, “Closing loops without places,”

inIEEE/RSJ International Conference on Intelligent Robots and

Systems(IROS), Taipei, Taiwan, October 2010, pp. 3738–3744.

[9] E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, “ORB: an

efficientalternative to SIFT or SURF,” in IEEE International Conference

onComputer Vision (ICCV), Barcelona, Spain, November 2011, pp.

2564–2571.

[10] J. Engel, T. Sch¨ops, and D. Cremers, “LSD-SLAM: Large-scale

directmonocular SLAM,” in European Conference on Computer Vision(ECCV),

Zurich, Switzerland, September 2014, pp. 834–849.

[11] R. Mur-Artal and J. D. Tard′os, “Fast relocalisation and loop

closing inkeyframe-based SLAM,” in IEEE International Conference on

Roboticsand Automation (ICRA), Hong Kong, China, June 2014, pp. 846–853.

[12] ——, “ORB-SLAM: Tracking and mapping recognizable features,”

inMVIGRO Workshop at Robotics Science and Systems (RSS), Berkeley,USA,

July 2014.

[13] B. Williams, M. Cummins, J. Neira, P. Newman, I. Reid, and J.

D.Tard′os, “A comparison of loop closing techniques in monocular

SLAM,”Robotics and Autonomous Systems, vol. 57, no. 12, pp. 1188–1197,

2009.

[14] D. Nister and H. Stewenius, “Scalable recognition with a

vocabularytree,” in IEEE Computer Society Conference on Computer Vision

andPattern Recognition (CVPR), vol. 2, New York City, USA, June 2006,pp.

2161–2168.

[15] M. Cummins and P. Newman, “Appearance-only SLAM at large

scalewith FAB-MAP 2.0,” The International Journal of Robotics

Research,vol. 30, no. 9, pp. 1100–1123, 2011.

[16] M. Calonder, V. Lepetit, C. Strecha, and P. Fua, “BRIEF:

BinaryRobust Independent Elementary Features,” in European Conference

onComputer Vision (ECCV), Hersonissos, Greece, September 2010,

pp.778–792.

[17] E. Rosten and T. Drummond, “Machine learning for high-speed

cornerdetection,” in European Conference on Computer Vision (ECCV),

Graz,Austria, May 2006, pp. 430–443.

[18] H. Bay, T. Tuytelaars, and L. Van Gool, “SURF: Speeded Up

RobustFeatures,” in European Conference on Computer Vision (ECCV),

Graz,Austria, May 2006, pp. 404–417.

[19] D. G. Lowe, “Distinctive image features from scale-invariant

keypoints,”International Journal of Computer Vision, vol. 60, no. 2, pp.

91–110,2004.

[20] A. J. Davison, I. D. Reid, N. D. Molton, and O. Stasse,

“MonoSLAM:Real-time single camera SLAM,” IEEE Transactions on Pattern

Analysisand Machine Intelligence, vol. 29, no. 6, pp. 1052–1067, 2007.

[21] J. Civera, A. J. Davison, and J. M. M. Montiel, “Inverse

depthparametrization for monocular SLAM,” IEEE Transactions on

Robotics,vol. 24, no. 5, pp. 932–945, 2008.

[22] C. Forster, M. Pizzoli, and D. Scaramuzza, “SVO: Fast

semi-directmonocular visual odometry,” in Proc. IEEE Intl. Conf. on

Robotics andAutomation, Hong Kong, China, June 2014, pp. 15–22.

[23] O. D. Faugeras and F. Lustman, “Motion and structure from

motionin a piecewise planar environment,” International Journal of

PatternRecognition and Artificial Intelligence, vol. 2, no. 03, pp.

485–508, 1988.

[24] W. Tan, H. Liu, Z. Dong, G. Zhang, and H. Bao, “Robust

monocularSLAM in dynamic environments,” in IEEE International Symposium

onMixed and Augmented Reality (ISMAR), Adelaide, Australia, October2013,

pp. 209–218.

[25] H. Lim, J. Lim, and H. J. Kim, “Real-time 6-DOF monocular

visualSLAM in a large-scale environment,” in IEEE International

Conferenceon Robotics and Automation (ICRA), Hong Kong, China, June

2014, pp.1532–1539.

[26] D. Nist′er, “An efficient solution to the five-point relative

pose problem,”IEEE Transactions on Pattern Analysis and Machine

Intelligence,vol. 26, no. 6, pp. 756–770, 2004.

[27] H. Longuet-Higgins, “The reconstruction of a plane surface from

twoperspective projections,” Proceedings of the Royal Society of

London.Series B. Biological Sciences, vol. 227, no. 1249, pp. 399–410,

1986.

[28] P. H. Torr, A. W. Fitzgibbon, and A. Zisserman, “The problem

ofdegeneracy in structure and motion recovery from uncalibrated

imagesequences,” International Journal of Computer Vision, vol. 32, no.

1,pp. 27–44, 1999.

[29] A. Chiuso, P. Favaro, H. Jin, and S. Soatto, “Structure from

motioncausally integrated over time,” IEEE Transactions on Pattern

Analysisand Machine Intelligence, vol. 24, no. 4, pp. 523–535, 2002.

[30] E. Eade and T. Drummond, “Scalable monocular SLAM,” in IEEE

ComputerSociety Conference on Computer Vision and Pattern

Recognition(CVPR), vol. 1, New York City, USA, June 2006, pp. 469–476.

[31] H. Strasdat, J. M. M. Montiel, and A. J. Davison, “Visual SLAM:

Whyfilter?” Image and Vision Computing, vol. 30, no. 2, pp. 65–77, 2012.

[32] G. Klein and D. Murray, “Improving the agility of

keyframe-basedslam,” in European Conference on Computer Vision (ECCV),

Marseille,France, October 2008, pp. 802–815.

[33] K. Pirker, M. Ruther, and H. Bischof, “CD SLAM-continuous

localizationand mapping in a dynamic world,” in IEEE/RSJ

InternationalConference on Intelligent Robots and Systems (IROS), San

Francisco,USA, September 2011, pp. 3990–3997.

[34] S. Song, M. Chandraker, and C. C. Guest, “Parallel, real-time

monocularvisual odometry,” in IEEE International Conference on Robotics

andAutomation (ICRA), 2013, pp. 4698–4705.

[35] P. F. Alcantarilla, J. Nuevo, and A. Bartoli, “Fast explicit

diffusion foraccelerated features in nonlinear scale spaces,” in British

Machine VisionConference (BMVC), Bristol, UK, 2013.

[36] X. Yang and K.-T. Cheng, “LDB: An ultra-fast feature for

scalableaugmented reality on mobile devices,” in IEEE International

Symposiumon Mixed and Augmented Reality (ISMAR), 2012, pp. 49–57.

[37] R. Kuemmerle, G. Grisetti, H. Strasdat, K. Konolige, and W.

Burgard,“g2o: A general framework for graph optimization,” in IEEE

InternationalConference on Robotics and Automation (ICRA), Shanghai,

China,May 2011, pp. 3607–3613.

[38] J. Sturm, N. Engelhard, F. Endres, W. Burgard, and D. Cremers,

“Abenchmark for the evaluation of RGB-D SLAM systems,” in

IEEE/RSJInternational Conference on Intelligent Robots and Systems

(IROS),Vilamoura, Portugal, October 2012, pp. 573–580.

[39] M. Smith, I. Baldwin, W. Churchill, R. Paul, and P. Newman, “The

newcollege vision and laser data set,” The International Journal of

RoboticsResearch, vol. 28, no. 5, pp. 595–599, 2009.[40] A. Geiger, P.

Lenz, C. Stiller, and R. Urtasun, “Vision meets robotics:The KITTI

dataset,” The International Journal of Robotics Research,vol. 32, no.

11, pp. 1231–1237, 2013.

[41] V. Lepetit, F. Moreno-Noguer, and P. Fua, “EPnP: An accurate

O(n)solution to the PnP problem,” International Journal of Computer

Vision,vol. 81, no. 2, pp. 155–166, 2009.

[42] B. K. P. Horn, “Closed-form solution of absolute orientation

using unitquaternions,” Journal of the Optical Society of America A,

vol. 4, no. 4,pp. 629–642, 1987.

[43] F. Endres, J. Hess, J. Sturm, D. Cremers, and W. Burgard, “3-d

mappingwith an rgb-d camera,” IEEE Transactions on Robotics, vol. 30,

no. 1,pp. 177–187, 2014.

[44] R. A. Newcombe, S. J. Lovegrove, and A. J. Davison, “DTAM:

Densetracking and mapping in real-time,” in IEEE International

Conference onComputer Vision (ICCV), Barcelona, Spain, November 2011,

pp. 2320–2327.

[45] S. Lovegrove, A. J. Davison, and J. Ibanez-Guzm′an, “Accurate

visualodometry from a rear parking camera,” in IEEE Intelligent

VehiclesSymposium (IV), 2011, pp. 788–793.

[46] P. H. Torr and A. Zisserman, “Feature based methods for

structureand motion estimation,” in Vision Algorithms: Theory and

Practice.Springer, 2000, pp. 278–294.

[47] R. Mur-Artal and J. D. Tardos, “Probabilistic semi-dense mapping

fromhighly accurate feature-based monocular SLAM,” in Robotics:

Scienceand Systems (RSS), Rome, Italy, July 2015.

[48] H. Strasdat, “Local Accuracy and Global Consistency for

EfficientVisual SLAM,” Ph.D. dissertation, Imperial College, London,

October2012.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容