[論文學習] ORB-SLAM: a Versatile and Accurate Monocular SLAM System

轉自:https://blog.csdn.net/darlingqiang/article/details/78840627

ORB-SLAM: a Versatile and Accurate Monocular SLAM System

原文發表於:IEEE Transactions on Robotics (Impact Factor: 2.43). 10/2015

摘要:

本文主要講了ORB-SLAM,一個基於特徵識別的單目slam系統,可以實時運行,適用於各種場合,室內的或者室外的,大場景或小場景。系統具有很強的魯棒性,可以很好地處理劇烈運動圖像、可以有比較大的餘地自由處理閉環控制、重定位、甚至全自動位置初始化。基於近年來的優秀算法,我們對系統做了精簡,採用了所有SLAM相同功能:追蹤,地圖構建,重定位和閉環控制。選用了比較適合的策略,地圖重構的方法採用雲點和關鍵幀技術,具有很好的魯棒性,生成了精簡的、可追蹤的地圖,當場景的內容改變時,地圖構建可持續工作。我們用最流行的圖像數據集測試了27個圖像序列。相比最新的單目SLAM,ORB SLAM性能優勢明顯。我們在網站上公佈了源代碼。

一  簡介

由於比較強的匹配網絡和初始化位置估計,BA廣泛應用於相機位置的準確估計和離散幾何重構。在一段比較長的時間裏,這種方法被認爲不適合實時圖像系統,比如vSLAM。vSLAM系統在構建環境的同時需要估計相機的軌跡。基於現有的硬件設備,現在可以獲得比較好的計算結果,將BA應用於實時SLAM系統中:

  • 在候選圖像幀子集中(關鍵幀)匹配觀測的場景特徵(地圖雲點)。
  • 由於關鍵幀數量的增長,需要做篩選避免冗餘。
  • 關鍵幀和雲點的網絡配置可以產生精確的結果,也就是,分佈良好的關鍵幀集合和有明顯視差、大量閉環匹配的觀測雲點。
  • 關鍵幀和雲點位置的初始估計,採用非線性優化的方法。
  • 在構建局部地圖的過程中,優化的關鍵是獲得良好的穩定性。
  • 本系統可以實時執行快速全局優化(比如位置地圖)閉環迴路。

B A出現於PTAM中,第一次實時應用是視覺里程。儘管受制於小場景的應用,這個算法對關鍵幀的選擇,特徵匹配,雲點三角化,每幀相機位置估計,追蹤失敗後的重定位非常有效。不幸的是幾個關鍵因素限制了它的應用:缺少閉環控制和足夠的阻塞處理,較差的視圖不變特性和在形成地圖過程中需要人工干預。

爲了完成這些工作,我們採用的技術來源於,PTAM、place recognization、scale-aware loop closing和大場景的視圖關聯信息。

單目ORB SLAM系統包含:

  • 對所有的任務採用相同的特徵,追蹤、地圖構建、重定位和閉環控制。這使得我們的系統更有效率、簡單可靠。ORB特徵,在沒有GPU的情況下可以應用於實時圖像系統中,具有很好的旋轉不變特性。
  • 可應用於實時戶外環境操作。由於其視圖內容關聯的特性,追蹤和地圖構建可在局部視圖關聯中處理,這可以獨立於全局視圖進行工作。
  • 基於位置優化的實時閉環控制,我們稱作Essential Graph。它通過生成樹構建,生成樹由系統、閉環控制鏈接和視圖內容關聯強邊緣進行維護。
  • 實時相機重定位具有明顯的旋轉不變特性。這就使得跟蹤丟失可以重做,地圖也可以重複使用。
  • 選擇不同的模型可以創建不同的平面或者非平面的初始化地圖;自動的、具有良好魯棒性的初始化過程也是基於模型而選擇。
  • 大量地圖雲點和關鍵幀,需要經過嚴格的挑選,必須找到一個最合適的辦法。好的挑選方法可以增強追蹤的魯棒性,同時去除冗餘的關鍵幀以增強程序的可操作性。

我們在公共數據集上對程序在室內和室外環境進行了評估,包括手持設備、汽車和機器人。相機的位置比現在最新的方法更精確,它通過像素擴展集進行優化、而不是特徵的重映射。我們還討論了提高基於特徵的方法的準確性的原因。

閉環控制和重定位的方法是基於我們之前的工作論文11。系統最初的版本是論文12。本文中我們添加了初始化的方法,Essential graph 和其他方法。我們詳細了描述了系統的各個板塊,並且做了實驗進行驗證。就我們所知,這是目前最完整最可靠的單目SLAM系統。視頻演示和源代碼放在我們的項目網站上。

二  相關工作

A.     位置識別

論文13比較幾種基於圖像處理技術的位置識別的方法,其中有圖像到圖像的匹配,在大環境下比地圖到地圖或圖像到地圖方法尺度特性更好。圖像方法中,詞袋模型的效率更高,比如基於概率論的FAB-MAP。由BRIEF特徵描述子和FAST特徵檢測產生的二進制詞袋可以用DBoW2獲得。與SURF和SIFT相比,它的特徵提取運算時間減小一個數量級。儘管系統運行效率高、魯棒性好,採用BRIEF不具有旋轉不變性和尺度不變性,系統只能運行在平面軌跡中,閉環檢測也只能從相似的視角中獲得。在我們之前的工作中,我們用DBoW2生成了基於ORB的詞袋模型位置識別器。ORB是具有旋轉不變和尺度不變特性的二進制特徵,它是一種高效的具有良好針對視圖不變的識別器。我們在4組不同的數據集上演示了位置識別功能,複用性好,魯棒性強,從10K圖像數據庫中提取一個候選閉合迴路的運算時間少於39毫秒。在我們的工作中,我們提出了一種改進版本的位置識別方法,採用內容相關的視圖,檢索數據庫時返回幾個前提而不是最好的匹配。

B.     地圖初始化

單目SLAM通過圖像序列生成初始化地圖,單一圖像並不能重建深度圖。解決這個問題的一種方法是一開始跟蹤一個已知的圖像結構。在濾波方法中,用概率論方法從逆深度參數方法得到深度圖中,初始化地圖雲點,與真實的位置信息融合。論文10中,採用類似的方法初始化像素的深度信息得到隨機數值。

通過兩個局部平面場景視圖進行初始化的方法,從兩個相關相機(視圖)位姿進行3D重構,相機的位姿關係用單映射表示,或者計算一個基本矩陣,通過5點算法構建平面模型或者一般場景模型。兩種方法都不會受到低視差的約束,平面上的所有的點也不需要靠近相機中心。另外,非平面場景可以通過線性8點算法來計算基本矩陣,相機的位姿也可以重構。

第四章詳細講述了一個全新的自動方法,它基於平面單映射或非平面的基本矩陣。模型選擇的統計方法如論文28詳細描述。基於相似變換理論,我們開發了初始化算法,選擇退化二次曲線例子中基本矩陣,或單映射矩陣。在平面例子中,爲了程序穩定性,如果選擇情況模糊不清,我們儘量避免做初始化,否則方案可能崩潰。我們會延遲初始化過程,直到所選的方案產生明顯的視差。

C.     Monocular SLAM (單目SLAM)

Mono-SLAM可以通過濾波方案初始化。在這種方案,每一幀都通過濾波器估計地圖特徵位置和相機位姿,將其關聯。處理連續的圖像幀需要進行大量運算,線性誤差會累積。由於地圖構建並不依賴於幀率,基於關鍵幀的方法,用篩選的關鍵幀估計地圖,採用精確的BA優化。論文31演示了基於關鍵幀的地圖方法比濾波器方法在相同的運算代價上更精確。

基於關鍵幀技術最具代表性的SLAM系統可能是PTAM。它第一次將相機追蹤和地圖構建分開,並行計算,在小型場合,如增強現實領域非常成功。PTAM中的地圖雲點通過圖像區塊與FAST角點匹配。雲點適合追蹤但不適合位置識別。實際上,PTAM並不適合檢測大的閉合迴路,重定位基於低分辨率的關鍵幀小圖像塊,對視圖不變性較差。

論文6展示了大場景的單目SLAM系統,前端用GPU光流,用FAST特徵匹配和運動BA;後端用滑動窗口BA。閉環檢測通過7自由度約束的相似變換位姿圖優化,能夠校正單目系統中的尺度偏移。我們採用這種7自由度的位姿圖優化方法,應用到我們的Essential Graph方法中,如第三章D節裏面詳細描述。

論文7用,PTAM的前端,通過內容相關的視圖提取局部地圖執行追蹤。他們使用兩個窗口優化後端,在內部窗口中採用BA,在外部一個限制大小的窗口做位姿圖。只有在外部窗口尺寸足夠大可以包含整個閉環迴路的情況下,閉環控制才能起作用。我們採用了基於內容相關的視圖構建局部地圖的方法,並且通過內容相關的視圖構建位姿圖,同時用它們設計前端和後端。另一個區別是,我們並沒有用特別的特徵提取方法做閉合迴路檢測(比如SURF方法),而是在相同的追蹤和建圖的特徵上進行位置識別,獲得具有魯棒性的重定位和閉環檢測。

論文33 提出了CD-SLAM方法,一個非常複雜的系統,包括閉環控制,重定位,動態環境、大場景下運行。但它的地圖初始化並沒有講。所以沒法做精確性、魯棒性和大場景下的測試對比。

論文34的視覺里程計方法使用了ORB特徵做追蹤,處理BA後端滑動窗口。相比之下,我們的方法更具一般性,他們沒有全局重定位,閉環迴路控制,地圖也不能重用。他們使用了相機到地面的真實距離限制單目尺度漂移。

論文25與我們之前的工作論文12一樣,也採用的相同的特徵做追蹤,地圖構建和閉環檢測。由於選擇BRIEF,系統受限於平面軌跡。從上一幀追蹤雲點,訪問過的地圖不能重用,與視覺里程計很像,因此係統不能擴展。我們在第三章E小節裏面定性地做了比較。

論文10裏的LSD-SLAM,可以構建大場景的半稠密地圖,特徵提取並沒有採用BA方法,而是直接方法(優化也是直接通過圖像像素)。沒有用GPU加速,構建了半稠密地圖,可以運行在實時應用中,非常適合機器人應用,比其他基於特徵的稀疏地圖SLAM效果好。但它們仍然需要特徵做閉環檢測,相機定位的精度也明顯比PTAM和我們的系統慢,我們將在第8章B小節演示實驗結果。在IX章B小節進行討論。

論文22提出了介於直接方式和基於特徵的方法之間的半直接視覺里程SVO方法。不需要每幀都提取特徵點,可以運行在較高的幀率下,在四軸飛行器上效果很好。然而,沒有閉環檢測,而且只使用了視角向下的攝像頭。

最後,我們想討論關鍵幀的選擇。所有的的視覺SLAM用所有的雲點和圖像幀運行BA是不可行的。論文31在保留了儘可能多地非冗餘關鍵幀和雲點,性價比較高。PTAM方法非常謹慎插入關鍵幀避免運算量增長過大。這種嚴格限制關鍵幀插入策略可能在未知地圖追蹤使失敗。比較好的策略是在不同的場景下快速插入關鍵幀,然後再移除那些冗餘的圖像幀,避免額外的運算成本。

三  系統架構

A.     特徵選擇

我們系統設計的中心思想是對這些功能採用相同的特徵,構建地圖、追蹤、位置識別、基於圖像幀率的重定位和閉環迴路檢測。這使得我們的系統更有效率,沒有必要極化特徵識別的深度圖,如論文6,7裏討論的。我們每張圖像的特徵提取遠少於33毫秒,SIFT(~300ms),SURF(~300ms),A-KAZE(~100ms)。爲了獲得一般性的位置識別方法,我們需要特徵提取的旋轉不變性,而BRIEF和LDB不具備這樣的特性。

我們選擇了我們選擇了ORB,它是旋轉多尺度FAST角點檢測,具有256位特徵描述子。他們計算和匹配的速度非常快,同時對視角具有旋轉不變的特性。這樣可以在更寬的基準線上匹配他們,增強了BA的精度。我們已經在論文11中演示了ORB位置識別的性能。本文的方案中也採用ORB。

B.     三個線程:追蹤、局部地圖構建和閉環控制

 

我們的系統如圖一所示,整合了三個並行的線程:追蹤、局部地圖構建和閉環迴路控制。追蹤線程通過每幀圖像定位相機位置,決定什麼時候插入一個新的關鍵幀。我們先通過前一幀圖像幀初始化特徵匹配,採用運動B A優化位姿。如果追蹤丟失,位置識別模塊執行全局重定位。一旦獲得最初的相機位姿估計和特徵匹配,通過內容相似視圖的關鍵幀提取一個局部可視化地圖,如圖2a,b所示。然後進行映射搜索局部地圖雲點的匹配,根據匹配優化相機位姿。最後,追蹤線程決定是否插入新的關鍵幀。所有的追蹤步驟將在第5章詳細解釋。創建初始化地圖將在第4章進行說明。

 

局部地圖構建處理新的關鍵幀,在相機位姿的環境中執行局部BA優化重構。根據交互視圖中已經連接的關鍵幀,搜索新關鍵幀中未匹配的ORB特徵的對應關係,來三角化新的雲點。有時儘管已經創建了新的雲點,基於追蹤線程過程中新收集的信息,爲了獲得高質量的雲點,根據雲點篩選策略可能會臨時刪除一些點。局部地圖構建也負責刪除冗餘關鍵幀。我們將在第6章詳細說明局部地圖構建的步驟。

對每個新的關鍵幀都要進行閉環搜索,以確認是否形成閉環。如果閉環被偵測到,我們就計算相似變換來查看閉環的累積誤差。這樣閉環的兩端就可以對齊,重複的雲點就可以被融合。最後,相似約束的位姿圖優化確保全局地圖一致性。本文主要通過關鍵圖像(Essential Graph)進行優化,它是一個交互視圖中離散的子圖像,第三章D小節詳細描述。閉環檢測和校驗步驟將在第7章詳細描述。

我們使用g2o庫中的Levenverg-Marquardt算法執行全局優化。我們在附錄中描述了每個優化的誤差,計算成本和變量。

A.     地圖雲點、關鍵幀和選擇標準

每個地圖雲點pi保存:

  • 它在世界座標系中的3D位置Xw,i
  • 視圖方向ni,也就是所有視圖方向的平均單位向量(這個方向是以觀察關鍵幀的光學中心到雲點的方向)
  • ORB特徵描述子Di,已經觀測到雲點的關鍵幀與它關聯的所有其他特徵描述子相比,它漢明距離最小
  • 根據ORB特徵尺度不變性約束,可觀測的雲點的最大距離dmax和最小距離dmin

每個關鍵幀Ki保存:

  • 相機位姿Tiw,從世界座標轉換成相機座標
  • 相機內參,包括主點和焦點距離
  • 所有從圖像幀提取的ORB特徵,不管是否已經關聯了地圖雲點,雲點的座標經過校準模型矯正過

地圖雲點和關鍵幀通過多重策略創建,在稍後挑選機制上將檢測冗餘的關鍵幀和錯誤匹配的雲點或不可追蹤的地圖雲點。系統在運行的過程中,地圖擴展的彈性就比較好,在比較惡劣的環境下(比如視圖旋轉,快速移動)還是需要增強魯棒性,在同一環境的重複訪問情況下地圖的大小是有限的,可以控制的。另外,與PTAM相比,由於包含的雲點比較少,我們的地圖包含的無效數據也更少一些。地圖雲點和關鍵幀的篩選過程將在第6章B節和E節分別解釋。

B.     內容關聯視圖和重要視圖

關鍵幀之間的視圖內容相關信息在系統的幾個功能上都非常有用,如論文7所述,它表示了一個間接的權重圖像。每個節點都是一個關鍵幀,關鍵幀之間存在一個邊緣,幀上面可以觀察到相同的地圖雲點(至少有15個),對於邊緣上相同的雲點的數量我們賦予權重θ。

爲了矯正閉環迴路,我們像論文6那樣做位姿圖優化,優化方法將閉環迴路的誤差分散到圖像裏。爲了排除內容相關視圖的邊緣,可能非常密集,我們構建了關鍵圖像(Essential Graph)保留所有的節點(關鍵幀),但是邊緣更少,這可以保持一個比較強的網絡以獲得精確的結果。系統增量式地構建一個生成樹,從第一個關鍵幀開始,它連接了邊緣數量最少的內容相關視圖的子圖像。當新的關鍵幀插入時,它加入樹中連接到老的關鍵幀上,新舊關鍵幀具有最多的相同的雲點,但一個關鍵幀通過篩選策略刪除時,系統會根據關鍵幀所在的位置更新鏈接。關鍵圖像(Essential Graph)包含了一個生成樹,具有高視圖相關性(θmin=100)的相關視圖的邊緣子集,閉環迴路邊緣產生一個相機的強網絡。圖2是一個相關視圖的例子,生成樹和關聯的關鍵圖像。第8章E節的實驗裏,運行位姿圖優化時,方案效果精確BA優化幾乎沒有增強系統效果。關鍵圖像的效果和θmin的效果如第8章E節所示。

C.     基於圖像詞袋模型的位置識別

採用DBoW2,系統嵌入了圖像詞袋位置識別模塊,執行閉環檢測和重定位。視覺單詞離散分佈於特徵描述子空間,視覺單詞組成視覺字典。視覺字典是離線創建的,用ORB特徵描述子從大量圖像中提取。如果圖像都比較多,相同的視覺字典在不同的環境下也能獲得很好的性能,如論文11那樣。系統增量式地構建一個數據庫,包括一個逆序指針,存儲每個視覺字典裏的視覺單詞,關鍵幀可以通過視覺字典查看,所以檢索數據庫效率比較高。當關鍵幀通過篩選程序刪除時,數據庫也會更新。

關鍵幀在視圖上可能會存在重疊,檢索數據庫時,可能不止一個高分值的關鍵幀。DBoW2認爲是圖像重疊的問題,就將時間上接近的所有圖像的分值相加。但這並沒有包括同一地點不同時間的關鍵幀。我們將這些與內容相關視圖的關鍵幀進行分類。另外,我們的數據庫返回的是分值高於最好分值75%的所有關鍵幀。

詞袋模型表示的特徵匹配的另外一個優勢在論文5裏詳細介紹。如果我們想計算兩個ORB特徵的對應關係,我們可以通過暴力匹配視覺字典樹上某一層(6層裏面選第2層)的相同節點(關鍵幀)裏的特徵,這可以加快搜索。在閉環迴路檢測和重定位中,我們通過這個方法搜索匹配用作三角化新的雲點。我們還通過方向一致性測試改進對應關係,具體如論文11,這可以去掉無效數據,保證所有對應關係的內在方向性。

四全自動地圖初始化

地圖初始化的目的是計算兩幀之間的相關位姿來三角化一組初始地圖雲點。這個方法與場景圖像不相關(平面的或一般的)而且不需要人工干預去選擇一個好的兩個視圖對應關係,比如具有明顯視差。我們建議並行計算兩個幾何模型,平面視圖的單映射和非平面視圖的基本矩陣。我們用啓發式的方法選擇模型,並從相關位姿中進行重構。當個視圖之間的關係比較確定時,我們才發揮作用,檢測低視差的情況或已知兩部分平面模糊的情況(如論文27所示),避免生成一個有缺陷的地圖。這個算法的步驟是:

  1. 查找最初的對應關係:

從當前幀Fc提取ORB特徵(只在最好的尺度上),與參考幀Fr搜索匹配Xc<-->Xr。如果找不到足夠的匹配,就重置參考幀。

  1. 並行計算兩個模型:

在兩個線程上並行計算單映射Hcr和基本矩陣Fcr:

Xc=HcrXr                                 XcTFcrXr=0                             (1)

在《多視圖幾何》裏詳細解釋了分別使用歸一化直接線性變換DLT和8點算法計算原理,通過RANSAC計算。爲了使兩個模型的計算流程儘量一樣,將兩個模型的迭代循環次數預先設置成一樣,每次迭代的雲點也一樣,8個基本矩陣,4個單映射。每次迭代我們給每一個模型M(H表示單映射,F表示基本矩陣)計算一個數值SM:

其中,dcr2和drc2是幀和幀之間對稱的傳遞誤差。TM是無效數據的排除閾值,它的依據是X2的95%(TH=5.99, TF=3.84,假設在測量誤差上有1個像素的標準偏差)。τ等於TH,兩個模型在有效數據上對於同一誤差d的分值相同,同樣使得運算流程保持一致。

單映射和基本矩陣的分值最高。如果沒有足夠的有效數據,模型沒有找到,算法流程重啓,從第一步開始重新尋找。

  1. 模型的選擇:

如果場景是平面的,靠近平面有一個低視差,可以通過單映射來描述。同樣地,我們也可以找到一個基本矩陣,但問題不能很好地約束表示,從基本矩陣重構運動場景可能會導致錯誤的結果。我們應該選擇單映射作爲重構的方法,它可以從二維圖像正確初始化或者檢測到的低視差的情況而不進行初始化工作。另外一方面,非平面場景有足夠的視差可以通過基本矩陣來表示,但單映射可以用來表示二維平面或者低視差的匹配子集。在這種情況下我們應該選擇基本矩陣。我們用如下公式進行計算:

如果RH>0.45 , 這表示二維平面和低視差的情況。其他的情況,我們選擇基本矩陣。

  1. 運動和運動結構重構

一旦選擇好模型,我們就可以獲得運動狀態。在單映射的例子中,我們通過論文23的方法,提取8種運動假設。這個方法通過測試選擇有效的方案。如果在低視差的情況下,雲點跑到相機的前面或後面,測試就會出現錯誤從而選擇一個錯的方案。我們建議直接三角化8種方案,檢查兩個相機前面具有較少的重投影誤差情況下,在視圖低視差情況下是否大部分雲點都可以看到。如果沒有一個明確的方案勝出,我們就不執行初始化,重新從第一步開始。這種方法就提供了一個清晰的方案,在低視差和兩個交叉的視圖情況下,初始化程序更具魯棒性,這是我們方案魯棒性的關鍵所在。在基本矩陣的情況下,我們用校準矩陣和本證矩陣進行轉換:

我們通過論文2中的單值分解方法提取四種運動假設。針對單映射,我們三角化四種方案進行重構。

  1. 捆集調整

最後我們執行一個全局捆集調整,如附錄所示,用來優化初始化重構。

圖3所示的論文39,室外環境下初始化工作具有很大挑戰。PTAM和LSD-SLAM初始化二維平面所有云點,我們的方法是有足夠視差才進行初始化,從基本矩陣正確地初始化。

 

五追蹤

這章我們詳細介紹追蹤線程通過相機圖像每一幀執行的具體步驟。相機的位置優化,如前幾步提到的,由局部捆集調整構成,如附錄中詳細描述。

A.     ORB特徵提取

我們在8層圖像金字塔,提取FAST角點,尺度因子爲1.2。如果圖像分辨率從512*384到752*480,我們發現提取1000個角點比較合適,如果分辨率提高,如KITTI數據集,論文40,我們提取2000個角點。爲了確保單映射分佈,我們將每層分成網格,每格提取至少5個角點。檢測每格角點的時候,如果角點數量不夠,就提高閾值。角點的數量根據單元格變化,即使單元格檢測不出角點(沒有紋理或對比度低的情況)。再根據保留FAST的角點計算方向和ORB特徵描述子。ORB特徵描述子用於所有的特徵匹配,而不是像P T A M那樣根據圖像區塊關聯性進行搜索。

B.     前一圖像幀作初始位姿估計

如果上一幀的追蹤成功,我們就用同樣的速率運動模型計算相機位置,搜索上一幀觀測到的地圖雲點。如果沒有找到足夠的匹配(比如,運動模型失效),我們就加大搜索範圍搜索上一幀地圖雲點附近的點。通過尋找到的對應關係優化相機位姿。

C.     初始化位姿估計與全局重定位

如果跟蹤丟失,我們把當前幀轉換成圖像詞袋,檢索圖像數據庫,爲全局重定位查找關鍵幀。我們計算ORB特徵和每個關鍵幀的地圖雲點的對應關係,如第三章E節描述。接着,我們對每個關鍵幀執行RANSAC迭代計算,用PnP算法找出相機位置。如果通過足夠的有效數據找到相機位姿,我們優化它的位姿,搜索候選關鍵幀的地圖雲點的更多的匹配。最後,相機位置被進一步優化,如果有足夠的有效數據,跟蹤程序將持續執行。

D.    局部地圖追蹤

一旦我們獲得了相機位姿和一組初始特徵匹配的估計,我們可以將地圖和圖像幀對應起來,搜索更多地圖雲點的對應關係。爲了減少大地圖的複雜性,我們只映射局部地圖。局部地圖包含一組關鍵幀K1,它們和當前關鍵幀有相同的地圖雲點,與相鄰的關鍵幀組K2圖像內容相關。局部地圖有一個參考關鍵幀Kref∈K1,它與當前幀具有最多相同的地圖雲點。針對K1, K2可見的每個地圖雲點,我們通過如下步驟,在當前幀中進行搜索:

  1. 計算當前幀中的地圖雲點映射集x。如果位於圖像邊緣外面的點,就丟掉。
  2. 計算當前視圖射線v和地圖雲點平均視圖方向n的夾角。如果n< cos(60o),就丟掉。
  3. 計算地圖雲點到相機中心的距離d。如果它不在地圖雲點的尺度不變區間,即d∉[dmin,dmax],就丟掉。
  4. 計算每幀圖像的尺度因子,比值爲d/dmin。
  5. 對比地圖雲點的特徵描述子D和當前幀中還未匹配的ORB特徵,在尺度因子,和靠近x的雲點作最優匹配。

相機位姿最後通過當前幀中獲得所有的地圖雲點進行優化。

E.      新關鍵幀的判斷標準

最後一步是決定當前幀是否可以作爲關鍵幀。局部地圖構建的過程中有一個機制去篩選冗餘的關鍵幀,我們儘可能快地插入關鍵幀,這可以使跟蹤線程對相機的運動更具魯棒性,尤其是旋轉。我們根據以下要求插入新的關鍵幀:

  1. 每次全局重定位過程需要超過20個圖像幀。
  2. 局部地圖構建處於空閒狀態,或者上一個關鍵幀插入時,已經有超過20個關鍵幀。
  3. 當前幀跟蹤至少50個地圖雲點。
  4. 當前幀跟蹤少於參考關鍵幀雲點的90%。

與PTAM中用關鍵幀的距離作爲判斷標準不同,我們加入一個最小的視圖變換,如條件4要求。條件1 確保一個好的重定位,條件3保證好的跟蹤。當局部地圖構建處於忙狀態(條件2的後半部分)的同時插入關鍵幀的時候,就會發信號去暫停局部捆集調整,這樣就可以儘可能快地去處理新的關鍵幀。

六局部地圖構建

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

A.關鍵幀插入

我們先更新內容相關的視圖,添加節點Ki,更新關鍵幀間具有相同地圖雲點產生的邊緣。我們還要更新生成樹上Ki和其他關鍵幀的鏈接。然後,計算表示關鍵幀的詞袋,用於數據關聯來三角化新的雲點。

B.地圖雲點篩選

保留在地圖裏的地圖雲點,在最初創建的3個關鍵幀上,需要經過嚴格的檢測,保證它們可以被跟蹤,不會由於錯誤的數據被錯誤地被三角化。一個雲點必須滿足如下條件:

  1. 跟蹤線程必須要找到超過25%的關鍵幀。
  2. 如果超過一個關鍵幀完成地圖雲點創建過程,它必須至少是能夠被其他3個關鍵幀可被觀測到。

一旦一個地圖雲點通過測試,它只能在被少於3個關鍵幀觀測到的情況下移除。在局部捆集調整刪除無效觀測數據的情況下,關鍵幀才能被篩除掉。這個策略使得我們的地圖包含很少的無效數據。

C.新地圖雲點標準

在內容相關的視圖Kc之間三角化ORB特徵向量,可以創建新的地圖雲點。對Ki中每個未匹配的ORB特徵,和其他關鍵幀中沒有匹配的雲點,我們查找一個匹配。這個匹配過程在第三章E節詳細解釋,丟掉那些不滿足極對約束的匹配。ORB特徵對三角化後,將要獲得新的雲點,這時要檢查兩個相機視圖的景深,視差,重映射誤差,和尺度一致性。起初,一個地圖雲點通過2個關鍵幀進行觀測,但它卻是和其他關鍵幀匹配,所以它可以映射到其他相連的關鍵幀,按照第5章D節的方法搜索對應關係。

A.     局部捆集調整

局部捆集調整優化當前處理的關鍵幀Ki, 在交互視圖集Kc中所有連接到它的關鍵幀,和所有被這些關鍵幀觀測到的地圖雲點。所有其他能夠觀測到這些雲點的關鍵幀但沒有連接到當前處理的關鍵幀的這些關鍵幀會被保留在優化線程中,但會被修復。被標記爲無效數據的觀測將在優化中間階段和最後階段被丟棄。附錄有詳細的優化細節。

B.     局部關鍵幀篩選

爲了使重構保持簡潔,局部地圖構建儘量檢測冗餘的關鍵幀,刪除它們。這會大有幫助,隨着關鍵幀數量的增加,捆集調整的複雜度增加,但關鍵幀的數量也不會無限制地增加,因爲它要在同一環境下在整個運行執行操作,除非場景內容發生變化。我們會刪除Kc中所有90%的地圖雲點可以至少被其他3個關鍵幀在同一或更好的尺度上觀測到的關鍵幀。

七閉環控制

閉環控制線程獲取Ki,上一個局部地圖構建的關鍵幀,用於檢測和閉合迴環。具體步驟如下所示:

A.        候選迴環檢測

我們先計算Ki的詞袋向量和它在視圖內容相關的所有鄰近圖像(θmin=30)中計算相似度,保留最低分值Smin。然後,我們檢索圖像識別數據庫,丟掉那些分值低於Smin的關鍵幀。這和DBoW2中均值化分值的操作類似,可以獲得好的魯棒性,它計算的是前一幀圖像,而我們是使用的內容相關信息。另外,所有連接到Ki的關鍵幀都會從結果中刪除。爲了獲得候選迴環,我們必須檢測3個一致的候選迴環(內容相關圖像中的關鍵幀)。如果對Ki來說環境樣子都差不多,就可能有幾個候選迴環。

B.        計算相似變換

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

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

C.       迴環融合

迴環矯正的第一步是融合重複的地圖雲點,插入與迴環閉合相關的相似視圖的新邊緣。先通過相似變換Sil矯正當前關鍵幀位姿Tiw,這種矯正方法應用於所有Ki相鄰的關鍵幀,執行相似變換,這樣迴環兩端就可以對齊。迴環關鍵幀所有的地圖雲點和它的近鄰映射到Ki,通過映射在較小的區域內搜索它的近鄰和匹配,如第5章D節所述。所有匹配的地圖雲點和計算Sil過程中的有效數據進行融合。融合過程中所有的關鍵幀將會更新它們的邊緣,這些視圖內容相關的圖像創建的邊緣用於迴環控制。

D.      本徵圖像優化

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

八實驗

我們對實驗進行了系統的評估,用Newcollege大場景機器圖像序列,評估整個系統性能;用TUM RGB-D的16個手持式室內圖像序列,評估定位精度,重定位和程序運行能力;用KITTI的10個汽車戶外圖像數據集,評估實時大場景操作,定位精度和位姿圖優化效率。

我們的電腦配置爲Intel Core i7-4700MQ (4核@2.40GHz)和8GB RAM,用於實時處理圖像。ORB-SLAM有3個主線程,它和其他ROS線程並行處理。

A.     Newcollege

Newcollege是一個2.2公里的校園和相鄰的公園的機器人圖像序列。它是雙目相機,幀率20fps,分辨率512x38。它包含幾個迴環和快速的旋轉,這對單目視覺非常具有挑戰性。據我們所知,沒有單目系統可以處理整個圖像序列。例如論文7,可以形成迴環,也可以應用於大場景環境,但對單目結果只能顯示序列的一小部分。

圖4顯示的迴環閉合線程通過有效數據支持相似變換。圖5對比了迴環閉合前後的重構狀況。紅色是局部地圖,迴環閉合延伸回環的兩端後的狀況。圖6是實時幀率狀態下處理圖像序列的整個地圖。後邊的大回環並沒有完全閉合,它從另外一個方向穿過,位置識別程序沒能發現閉合迴環。

我們統計了每個線程所用時間。表1顯示了追蹤和局部地圖構建所用的時間。跟蹤的幀率大概在25-30Hz,在做局部地圖跟蹤時的要求最高。如有必要,這個時間可以減少,需要限制局部地圖關鍵幀的數量。局部地圖構建線程中要求最高的是局部捆集調整。局部捆集調整的時間根據機器人的狀態變動,向未知環境運動或在一個已經建好地圖的區域運動是不同的,因爲在未知環境中如果跟蹤線程插入一個新的關鍵幀,捆集調整會被中斷,如第5章E節所示。如果不需要插入新的關鍵幀,局部捆集調整會執行大量已經設置的迭代程序。

表2顯示了6個閉合迴路的結果。可以看到迴環檢測是如何亞線性地增加關鍵幀的數量。主要是由於檢索數據庫的效率高,它值比較了具有相同圖像單詞的圖像子集,由此可見用於位置識別的詞袋模型的作用。我們的本徵圖像包含的邊緣是關鍵幀數量的5倍,它是一個稀疏圖。

B.     TUM RGB-D定位精度對比

論文38裏,評測的TUM RGB-D數據集,用於評估相機定位精度,它通過外部運動捕捉系統提供了具有精確基準的幾個圖像序列。我們去掉那些不適合純單目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)以外。這是一個平面的場景,相機的軌跡可能有兩種解釋,比如論文20中的描述。我們的初始化方法檢測到模糊的視圖,爲了安全而不進行初始化。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。一個可能的原因是它們沒有用傳感器的測量優化位姿圖從而減少了對地圖的優化,但我們採用捆集調整,同時通過傳感器測量優化相機和地圖,通過運動結構的經典算法來解決傳感器測量,如論文2所示。我們在第9章B節進一步討論了這個結果。另一個有趣的結果是在圖像序列fr2 desk with person 和 fr3 walking xyz中,LSD-SLAM對動態物體的魯棒性相比ORB-SLAM差一些。

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

 

C.     TUM RGB-D重定位性能比較

我們在TUM RGB-D數據集上進行了重定位性能的對比實驗。在第一個實驗中,我們通過fr2_xyz的前30秒構建了一個地圖,執行了全局重定位,評估了位姿精度。對PTAM進行了相同的實驗。圖7是創建初始地圖的關鍵幀,重定位的圖像幀位姿和這些幀的基準。可以看出PTAM由於重定位方法較少的不變性而只重定位關鍵幀附件的圖像幀。表4顯示了相對基準的調用和誤差。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所示。可以看到PTAM一直插入關鍵幀,ORB-SLAM會刪除冗餘的關鍵幀。

當然,在整個程序運行過程中,靜態環境下的正常操作是任何SLAM系統的一個基本要求,更引人注意的是動態環境下的狀況。我們在幾個fr3的圖像序列中分析了ORB-SLAM系統的狀況,圖像序列有:sitting xyz, sitting halfsphere, sitting rpy, walking xyz, walking halfspehere 和walking rpy。所有的視頻中,相機都對着桌子,但運動軌跡不同,有人在移動,椅子也被移動了。圖10(a)是地圖中所有關鍵幀的總數量,圖10(b)顯示從圖像幀中創建或刪除關鍵幀,從關鍵幀到地圖構建需要多久時間。可以看到前2個圖像序列中新看到(增加)場景時地圖的大小一直在增加。圖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所示。在TUMRGB-D對比中,我們可以通過相似變換對齊軌跡的關鍵幀和基準。圖11是定性比較的結果,圖12是論文25中的最新單目SLAM在視頻00,05,06,07和08上執行的結果。除了08有一些偏移以外,ORB-SLAM在這些視頻上的軌跡都很精準。

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

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

最後講一下閉環控制和用於本徵圖像的邊緣的θmin的效率。視頻09是個閉環,時間長。我們評估的不同的閉環策略。表6是關鍵幀軌跡RMSE和不同情況下沒有閉環控制優化所用的時間,如果直接採用全局捆集調整(20層或100層迭代),如果只用位姿圖優化(10層迭代不同數量的邊緣),如果先用位姿圖優化再執行全局捆集調整。結果表明,在閉環控制之前,方案就比較糟糕,以至於捆集調整會有融合問題。100層迭代後誤差就非常大。本徵圖像優化融合速度更快,結果也更精確。θmin對精度影響並不大,減少邊緣的數量會明顯降低精度。位姿圖優化後再執行一個捆集調整可以增加精度,但時間也增加了。

九結論和討論

A.     結論

通過實驗,我們的系統可以應用於室內和室外場景,用在汽車、機器人和手持設備上。室內小場景的精度在1釐米,室外大場景的應用是幾個釐米。

PTAM被認爲是目前最精準的單目SLAM。根據離線運動結構問題,PTAM後端捆集調整不能同時加載。PTAM的主要貢獻是給機器人SLAM的研究帶來了新的技術,具有良好的實時性。我們的主要貢獻是擴張了PTAM對於應用環境的多樣性和對系統的交互性。因此,我們挑選了新的方法和算法,整合了前人優秀的地方,如論文5的閉環檢測,論文6,7的閉環控制程序和內容關聯視圖,論文37的g2o優化框架,論文9的ORB特徵。目前所知,我們的精度最高,是最可靠最完整的單目SLAM系統。我們的生成和挑選關鍵幀策略可以創建較少的關鍵幀。彈性的地圖探測在條件較差的軌跡上非常有用,比如旋轉和快速移動。在相同場景的情況下,地圖在只有新內容的情況下才會增長,保存了不同的視圖外觀。

最後,ORB特徵可識別劇烈的視角變換的位置。也可以快速提取特徵和匹配特徵,使得實時追蹤和地圖構建更精確。

B.     基於離散/特徵方法與稠密/直接方法對比

論文44的DTAM和論文10的LSD-SLAM可以進行環境的稠密或半稠密重構,相機位姿可以通過圖像像素的亮度直接優化。直接方法不需要特徵提取,可以避免人工匹配。他們對圖像模糊,低紋理環境和論文45的高頻紋理的魯棒性更好。稠密的重構,對比稀疏的地圖雲點,比如ORB-SLAM或PTAM,對相機定位更有效。

然而,直接方法有他們自己的侷限。首先,這些方法採用一個表面反饋模型。光電描記法的一致性要求限制了匹配的基準,這要比其他特徵窄得多。這對重構的精度影響很大,需要更寬的觀測減少深度的不確定。直接方法,如果準確的建模,可能會受到快門,自動增益和自動曝光的影響(如TUM RGB-D 的對比測試)。最後,由於直接方法計算要求較高,像DTAM中地圖增量式地擴張,或像LSD-SLAM丟掉傳感器測量,根據位姿圖優化地圖。

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

C.     後續工作

系統精度可以進一步增強。這些雲點,如果沒有足夠的視差是不放入地圖中的,但對相機的旋轉非常有用。

另外一種方法是將稀疏地圖更新到稠密地圖,重構更有作用。由於我們關鍵幀的選擇機制,關鍵幀有高精度位姿和更多的內容相關視圖信息。所以,ORB-SLAM稀疏地圖是一個非常優秀的初始估計框架,比稠密地圖更好。論文47有詳細描述。

附錄: 非線性優化

捆集調整

地圖雲點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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章