最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

視覺/視覺慣性SLAM最新綜述:領(lǐng)域進展、方法分類與實驗對比

2021-07-26 20:55 作者:3D視覺工坊  | 我要投稿

Visual and Visual-Inertial SLAM: State of the Art, Classification,and Experimental Benchmarking

作者:Myriam Servières, Valérie Renaudin, Alexis Dupuis, and Nicolas Antigny

論文地址: https://www.hindawi.com/journals/js/2021/2054828/

摘要:SLAM技術(shù)現(xiàn)在被許多應(yīng)用廣泛采用,研究人員已經(jīng)就這個領(lǐng)域產(chǎn)生了非常多的文獻。隨著智能設(shè)備的出現(xiàn),嵌入攝像頭、慣性測量單元、視覺 SLAM (vSLAM) 和視覺-慣性 SLAM (viSLAM) 正在實現(xiàn)新穎的大眾應(yīng)用。在這種情況下,本文對現(xiàn)有的 SLAM 方法進行了回顧,重點是 vSLAM/viSLAM,無論是在基礎(chǔ)層面還是實驗層面。從現(xiàn)有vSLAM 和 viSLAM 設(shè)計的結(jié)構(gòu)化概述開始,并繼續(xù)對十幾種主要的最先進方法進行新分類。利用 viSLAM 發(fā)展的時間順序突出了歷史里程碑,并將更新的方法歸類為一個分類。最后,在城市環(huán)境中使用手持設(shè)備進行行人位姿估計的用例進行SLAM 的性能評估。使用 EuROC MAV 數(shù)據(jù)集和與城市行人導(dǎo)航對應(yīng)的新的視覺-慣性數(shù)據(jù)集,比較了五種開源方法 Vins-Mono、ROVIO、ORB-SLAM2、DSO 和 LSD-SLAM 的性能。對計算結(jié)果的詳細分析確定了每種方法的優(yōu)點和缺點。使用兩個數(shù)據(jù)集進行測試結(jié)果表明,總的來說,ORB-SLAM2 似乎是解決城市行人導(dǎo)航挑戰(zhàn)中最有前途的算法。

作者:chaochaoSEU|微信公眾號:3D視覺工坊

注1:文末附有【視覺SLAM、激光SLAM】交流群加入方式


3D視覺精品課程推薦:

注2:自動駕駛系統(tǒng)課程:https://mp.weixin.qq.com/s/0-mb6M6HvKU3Uau0a4taTw

注3:視覺SLAM(vins-fusion):https://mp.weixin.qq.com/s/L3YkFH7JSAhM4rDam7mdWg

注4:三維重建系統(tǒng)課程:https://mp.weixin.qq.com/s/9gtdrloSWR2kJlYk5CnWIQ

注5:三維點云系統(tǒng)課程:https://mp.weixin.qq.com/s/uJ34xjWjAFCzDDduoo0ixA

注6:激光SLAM系統(tǒng)教程:https://mp.weixin.qq.com/s/lfA-xwPNvR3-laemEGBAqQ

注7:結(jié)構(gòu)光系統(tǒng)教程:https://mp.weixin.qq.com/s/WLyuE3ByntGA-Y0w8GZ29A

I 引言

SLAM 問題自 1980 年代提出以來一直是最活躍的研究課題之一 [1, 2]。SLAM 的目標是在重建周圍環(huán)境地圖的同時獲得設(shè)備路徑的全局一致估計。這兩個核心任務(wù)之間的耦合很快被發(fā)現(xiàn)是 SLAM 方法的真正優(yōu)勢。這種二元性也促進了它的多樣化。通過賦予地圖或定位的重要性,SLAM 已從唯一的機器人領(lǐng)域擴展,成為解決許多不同性質(zhì)問題的參考:從微型飛行器 [3] 到智能手機上的增強現(xiàn)實 (AR) [ 4, 5]。

對現(xiàn)有的 SLAM 算法(實時、廉價的傳感器)增加了更高的期望,從而導(dǎo)致了 SLAM 的新研究領(lǐng)域。僅使用相機的視覺 SLAM (vSLAM) 和使用慣性IMU的視覺-慣性 SLAM (viSLAM) 很好地說明了這些新的 SLAM 策略。在過去的幾十年中,vSLAM 可能吸引了大部分研究。相機捕獲有關(guān)觀察環(huán)境的大量數(shù)據(jù),可以提取這些數(shù)據(jù)并用于 SLAM 處理。這些相機也是最便宜的傳感器之一。它們出現(xiàn)在當今大多數(shù)智能設(shè)備上,支持針對普通大眾的新型應(yīng)用程序的持續(xù)開發(fā)。

由于存在許多針對不同目標的不同 SLAM 方法,因此比較它們并不容易。為特定應(yīng)用選擇最適合的方法需要對 SLAM 的來龍去脈有很好的了解,以及對最先進的 SLAM 策略的全局理解。方法的性能取決于應(yīng)用程序上下文和要解決的挑戰(zhàn)。在全局范圍內(nèi),SLAM 往往被錯誤地認為是一種萬能的技術(shù),但在現(xiàn)實生活中的實施會在計算限制、噪聲抑制甚至用戶友好性方面提出許多問題。這只是要克服的困難的一個選擇。

本文旨在對現(xiàn)有的 vSLAM 和 viSLAM 方法進行分類。基于技術(shù)和面向應(yīng)用的標準提出了橫向分類。SLAM 方法的綜述包含 vSLAM 和 viSLAM 發(fā)展的歷史介紹。該分析是通過在兩個不同的數(shù)據(jù)集上運行五種選定的最先進的 SLAM 方法來完成的,這些方法已被選擇用來表示現(xiàn)有 SLAM 設(shè)計的多樣性。這些方法最好地解決了城市環(huán)境中行人位姿估計的用例。該實驗基準在著名的公共數(shù)據(jù)集 EuROC [6] 上進行,并使用新的視覺慣性數(shù)據(jù)集完成,該數(shù)據(jù)集已通過法國南特市中心行人手持的智能設(shè)備采集(IRSTV 數(shù)據(jù)集)。

支持此綜述和基準測試的主要動機是在城市行人移動性的特定背景下評估 vSLAM 和 viSLAM 方法,并在過程中使用增強現(xiàn)實 (AR)。在這種情況下,其結(jié)果應(yīng)該有助于選擇最合適的方法來估計手持智能設(shè)備的位姿。行人的手正在執(zhí)行 6DoF 運動。尋找流行的基準數(shù)據(jù)集,發(fā)現(xiàn)這些運動與微型飛行器的運動相似。本文首先根據(jù)文獻中方法的特征和它們對各種場景的魯棒性(第 6 節(jié))對來自文獻的方法進行分類,以選擇數(shù)據(jù)集。選擇最接近行人移動性要求和環(huán)境的數(shù)據(jù)集與新引入的 IRSTV 行人數(shù)據(jù)集(第 7 節(jié))進行比較。

第 2 節(jié)列出了 SLAM 方法的現(xiàn)有綜述論文和基準,其方法與本工作中采用的方法不同。第 3 節(jié)描述了 SLAM 算法設(shè)計的第一級:硬件和通用軟件選擇。第 4 節(jié)描述了 vSLAM 算法的一般架構(gòu)。它確定并詳細說明了四個組成“塊”。第 5 節(jié)概述了 SLAM 的歷史,分為三個時期。第 6 節(jié)介紹了 vSLAM 和 viSLAM 方法的新分類。最后,第 7 節(jié)介紹了基于 EuROC 和 IRSTV 數(shù)據(jù)集進行的實驗基準測試,并對選定數(shù)據(jù)集上的 SLAM 結(jié)果進行詳細分析。

2. 現(xiàn)有綜述和基準

幾篇綜述論文簡要介紹了特定時間 SLAM 的研究狀況。各種論文提出了其他實驗基準。它們告知了最著名的 SLAM 方法在給定數(shù)據(jù)集上的性能。本節(jié)列出了其中一些論文以進行理論基準測試。還列出了它們以支持將第 7 節(jié)中進行的實驗基準與其他最先進的評估進行比較。

2.1. Survey Papers

在 [7] 中可以找到關(guān)于 vSLAM 算法的有趣且完整的綜述,盡管有些陳舊。在 [8] 中,作者介紹了最先進的 SLAM 方法與 vSLAM 中最著名的算法之間的一些主要區(qū)別,并對 viSLAM 進行了非常有用的介紹。但是,作為綜述,它主要提供了有關(guān)該主題的高級解釋??梢栽?[9] 中找到僅限于視覺里程計和視覺 SLAM 的概述。兩篇了解 SLAM 研究起源的創(chuàng)始論文在 [10, 11] 中。他們還主要專注于視覺里程計和 viSLAM 的子部分。Durrant-Whyte 和 Bailey [12, 13] 的 2006 年論文提供了關(guān)于 viSLAM 的豐富教程。它們包含對 SLAM 問題數(shù)學公式詳細介紹,但缺乏對最近 vSLAM 的更新介紹。Cadena 等人的論文 [14] 可以被認為是 viSLAM 領(lǐng)域的一本手冊。最近的綜述[15] 列出并分類了基于濾波和基于優(yōu)化的 viSLAM 算法,并使用 EuROC 數(shù)據(jù)集對它們進行了比較。發(fā)現(xiàn)這些論文都沒有完整地介紹該領(lǐng)域,即從技術(shù)和歷史瑣事到實際性能比較。因此,本文的工作旨在促進新研究工作與 SLAM 的比較,并協(xié)助未來的位姿估計研究?,F(xiàn)有技術(shù)提出了主要的 vSLAM 方法來解釋設(shè)計和硬件選擇對性能的影響。vSLAM/viSLAM 分類提供了許多現(xiàn)有實現(xiàn)的多樣性的概述和比較。此外,隨后在第 6 節(jié)中提出的分類將在其他評論中部分發(fā)現(xiàn)但不一定一起呈現(xiàn)的特征組合在一起。

2.2. Benchmarks

第一個基準 [16] 僅關(guān)注 RGB-D SLAM。另一個專門用于視覺慣性方法的基準 [3],在多個平臺上評估緊耦合的視覺慣性里程計 (VIO) 和 viSLAM 方法,以模擬飛行無人機的實際應(yīng)用。測試僅在 EuROC 數(shù)據(jù)集(即中等室內(nèi)環(huán)境)上執(zhí)行。它通過比較六種最先進算法的準確性、內(nèi)存和 CPU 使用率以及計算時間,為 viSLAM 算法提供了最完整的基準測試之一。S-MSCKF 論文 [17] 也比較了一些 viSLAM 方法。vSLAM 方法通常在不包含慣性數(shù)據(jù)的the new college [18]、TUM 單目 [19] 或 TUM RGB-D 數(shù)據(jù)集 [16] 上進行測試。EuROC數(shù)據(jù)集不能用于比較最新的 viSLAM 方法。

3. 硬件和一般設(shè)計選擇

SLAM 和視覺里程計 (VO) 在文獻中通常是同義詞,因為它們都是解決類似問題的潛在選擇,但它們針對不同的目標。VO 專注于實時估計相機的路徑。它是按順序完成的,每次捕獲一個新幀。VO 僅提供局部/相對估計,并通過窗口優(yōu)化在線細化路徑。相反,SLAM 提供了對設(shè)備路徑的全局一致估計?;丨h(huán)檢測通過執(zhí)行集調(diào)整 (BA) 來減少地圖和軌跡估計中的漂移。為簡化起見,VO 和 vSLAM 的行為類似,直到關(guān)閉回環(huán)。VO 通常用作 vSLAM 的結(jié)構(gòu)模塊,它也借用了3D 重建中的SfM方法。

在不需要構(gòu)建精確地圖的應(yīng)用中,可以想象純 VO 和 vSLAM。

3.1. Hardware for Visual SLAM

傳統(tǒng)上,vSLAM 使用三種硬件類型:單目相機、雙目相機和 RGB-D 相機。viSLAM 最近引起了越來越多的興趣,因為 IMU 和相機具有互補的功能。相機在慢動作中是準確的,并提供豐富的信息源,但它們的輸出速率有限,導(dǎo)致單目設(shè)置中的尺度模糊,并且在運動模糊或光照變化的情況下可能缺乏魯棒性。另一方面,IMU 以高采樣率對環(huán)境變化具有魯棒性,但它們僅提供載體運動測量,并且受到傳感器偏差的影響,這會降低加速度和角速度記錄。隨著同時嵌入 IMU 和攝像頭的智能設(shè)備的出現(xiàn),許多面向大眾的應(yīng)用都采用了 viSLAM 算法。它們是一種很有前途的替代方案,可以結(jié)合多個來源來提高跟蹤質(zhì)量 [20]。

3.2. Filter-Based and Keyframe-Based approaches

如圖 1 所示,vSLAM 方法使用兩種主要設(shè)計。第一個設(shè)計對應(yīng)于基于濾波器的解決方案。該類別包含以下內(nèi)容:

(i) 基于擴展卡爾曼濾波(EKF-) 的算法,例如 MonoSLAM [21]

(ii) 基于粒子濾波的方法,例如 FastSLAM 及其單目 SLAM 替代方案 [22, 23]

(iii) 基于多狀態(tài)約束卡爾曼濾波(MSCKF-)的方法,例如 MSCKF 2.0 [24] 或 SMSCKF [17]。

圖1當前 vSLAM 算法

傳統(tǒng)上,基于濾波器的方法在狀態(tài)向量中估計相機的位姿和地標的位置,這是可擴展性低效的潛在來源。Mourikis 和 Roumeliotis [25] 的 MSCKF 以及最近基于 EKF 的 VIO 解決方案,例如 ROVIO [26],使用限制性的地標剔除以僅保留狀態(tài)向量中最近檢測到的特征。這種解決問題的局部方法對于純視覺里程計方法(VO 或 VIO)很常見。也可以將從狀態(tài)向量中提取的 3D 特征保留在靜態(tài)地圖中。該地圖被認為是靜態(tài)的,因為它在整個 SLAM 過程中保持不變。建圖是在定位之后而不是同時進行的。

第二種設(shè)計利用源自 PTAM [27] 的并行方法。這些方法基于關(guān)鍵幀。這些特征相對于關(guān)鍵幀進行參數(shù)化,從而能夠在多個線程上并行運行不同的 SLAM 任務(wù)。基于關(guān)鍵幀的方法有時也稱為“基于優(yōu)化”的方法。它們在性能方面的主要優(yōu)勢之一是它們使用全局優(yōu)化集束調(diào)整 (BA),而不是讓濾波管理地圖和位姿。全局優(yōu)化能夠糾正漂移效應(yīng),從而提高精度。然而,它們的計算成本很高,這就是為什么在 PTAM [27] 引入并行化各種 SLAM 任務(wù)的可能性之前,它們大多被離線使用。就像基于濾波器的方法已經(jīng)演變成窗口方法以提高計算效率和可擴展性一樣,基于關(guān)鍵幀的優(yōu)化只能在關(guān)鍵幀的窗口上進行。關(guān)鍵幀也可以排列在圖表中。根據(jù)它們的設(shè)計,可以使用不同的標準來定義窗口,而不是使用最后一個關(guān)鍵幀的簡單時間窗口。優(yōu)化也因優(yōu)化標準而異。位姿圖優(yōu)化(或僅運動 BA)側(cè)重于關(guān)鍵幀之間的位姿,而僅結(jié)構(gòu) BA 僅優(yōu)化地圖,BA 管理地圖和位姿。然而,應(yīng)該注意的是,vSLAM 方法也可以結(jié)合各種類型的優(yōu)化設(shè)計:例如,在每個新的關(guān)鍵幀上進行閉環(huán)的全局 BA 和局部位姿圖優(yōu)化。正如圖 1 總結(jié)的那樣,設(shè)計的選擇通常是由精度和速度之間的折衷決定的。

4. vSLAM算法的經(jīng)典結(jié)構(gòu)

四個主要塊(圖 2)描述了所有 vSLAM 算法的整體操作。它們?nèi)缦拢?/p>

(i) 輸入搜索:在傳感器測量中找到所需的信息;

(ii) 位姿跟蹤:根據(jù)新的感知確定當前相機位姿;

(iii) 建圖:在地圖上添加一個地標;

(iv) 閉環(huán):生成合適的地圖和無漂移的定位。

圖2 vSLAM 算法的四個主要模塊

4.1. Input Search

在處理相機時,首先必須提取幀中包含的數(shù)據(jù)。一些方法使用像素強度來匹配不同的幀:它們被稱為直接方法。在這種情況下,建圖元素可以是像素圖,即幀在 3D 圖中重新定位,并且每個像素都有相應(yīng)的深度(第 4.3 節(jié))。其他方法提取每一幀中的特征(圖像感興趣區(qū)域中的點,即易于識別,直線或曲線段)并使用幾何約束進行匹配。特征提取是計算機視覺的一個眾所周知的領(lǐng)域。特征描述符通常使用強度梯度來檢測感興趣的區(qū)域。在這種情況下,建圖元素可以是特征的 3D 位姿。著名的描述符包括 Harris [28]、SURF [29]、SIFT [30]、FAST [31] 和 ORB [32]。選擇通常是由健壯性和計算效率之間的權(quán)衡決定的。最后這些方法稱為間接方法或基于特征的方法。

直接和間接之間的選擇與輸入空間有關(guān),而稠密和稀疏建圖之間的選擇取決于輸出空間。構(gòu)建的地圖從稀疏到稠密。稀疏地圖僅包含稀疏特征云(即,僅圖像幀中像素的一小部分選定子集)并且是專注于軌跡正確性的典型 vSLAM 方法。稠密方法使用所有幀的信息(即,每個接收幀中的大部分或全部像素信息)來重建具有盡可能多的環(huán)境數(shù)據(jù)的地圖。半稠密方法介于兩者之間。它們是稠密的方法,其中僅將特定的感興趣區(qū)域建圖。基于此分析可以想象的四種輸入/輸出組合各有利弊。表 1 總結(jié)了可能的組合,給出了使用它們的算法示例。

表 1 根據(jù)第一個 vSLAM 模塊的輸入和輸出方法進行分類

直接和間接之間的選擇仍在爭論中。特征描述符對圖像噪聲具有魯棒性。最近的描述符對于幾何失真可能是穩(wěn)健的,甚至是不變的,例如,由于卷簾快門、自動曝光變化和鏡頭漸暈。直接方法允許使用每個幀中包含的所有信息。它們避免提取特征并更快地收集地圖數(shù)據(jù)。使用基本相機(例如網(wǎng)絡(luò)攝像頭或智能手機)時,間接方法因其穩(wěn)健性而受到青睞。然而,對于參數(shù)化良好的全局快門相機,直接方法可能是首選。稠密方法產(chǎn)生更有趣的環(huán)境 3D 重建,但它們通常需要在高端 GPU 上進行大量并行化。

間接/稀疏方法是最常用的方法。他們提取幀中的特征,并在確定坐標后將其添加為 3D 點以進行建圖。直接/稠密(或半稠密)方法也很常見。觀察到的像素由圖像幀中的一個 3D 點表示,構(gòu)成所有像素的深度圖。為了保持建圖期間在每一幀中觀察到的內(nèi)部一致性,添加了幾何先驗。它們使用對場景幾何形狀的假設(shè)來限制從同一幀看到的點的位置。直接/稀疏方法相當不常見,并且在沒有先驗數(shù)據(jù)的情況下使用光度誤差最小化,以保持幾何參數(shù)之間的相關(guān)性更輕,優(yōu)化耗時更少,如 DSO [33]。間接/稠密方法很少見,并且不使用特征描述符。相反,他們將幾何誤差計算為與幀中觀察到的光流場的偏差。

4.2. Pose Tracking

位姿跟蹤塊包括視覺里程計部分。根據(jù)兩個連續(xù)幀中的特征對應(yīng)是 2D 還是 3D,有三種不同的方式來執(zhí)行視覺里程計 [11]。

(i) 2D-2D 對齊:特征匹配直接在連續(xù)幀上檢測到的 2D 特征之間完成。這是純VO方法的常見解決方案;

(ii) 2D-3D(有時稱為 2.5D)對齊:給定世界中的一組 3D 點(來自先前幀的地圖點)及其在新幀中相應(yīng)的 2D 投影,估計相機的位姿。這個問題被稱為視角點。單目 pureVO 方法只能使用 2.5D 對齊,方法是保留幀、動態(tài)三角特征,并在這些三角點被新傳入數(shù)據(jù)剔除之前重用 3D 位姿。相反,vSLAM 受益于完整的地標地圖可供選擇進行重投影,因此 vSLAM 中通常使用 2.5D 對齊

(iii) 3D-3D 對齊:使用雙目相機,可以直接確定新檢測到的特征的 3D 位置,因此也可以考慮 3D-3D 對齊。然而,3D 特征位置估計通常會產(chǎn)生比 3D-2D 重投影誤差更大的不確定性,這就是為什么很少使用這種方法的原因。

對于單目 EKF-SLAM,地圖點的重投影用于校正階段 [38]。MSCKF 沿著一條“路徑”跟蹤檢測到的特征,該路徑由特征的每次檢測組成,從第一次檢測到它消失的那一刻。然后,它使用路徑完整的所有特征執(zhí)行高斯-牛頓最小化 [24]。對于并行方法,VO 可以在每一幀之間完成,而地圖重投影可以用于提高新關(guān)鍵幀位姿估計的準確性。計算新相機位姿的先決條件是匹配當前幀和前一幀之間的特征。自 2003 年 MonoSLAM [21] 以來,“自下而上”方法(嘗試通過測試所有可能性來匹配特征)已被更有效的“自上而下”方法所取代?;舅枷胧怯嬎闱耙粠卣髦車牟淮_定性橢圓,其中應(yīng)該對該特征進行新的觀察,并在新幀上限制該橢圓中的搜索空間。跟蹤這個橢圓需要對兩幀之間的相機運動進行一些假設(shè),例如,CVCAV 運動模型(恒定速度,恒定角速度)[21]。通??梢酝ㄟ^確定最小化每個圖像中三角點的重投影誤差的變換來找到解決方案。通過 2D-3D 對齊,我們搜索最小化 3D 地標到新 2D 幀的重投影誤差的變換。

使用幾何參數(shù)完成特征的 2D-2D 對齊,再通過使用對極幾何(5 點或 8 點算法)計算基本矩陣并將其分解為平移向量 t 和旋轉(zhuǎn)矩陣 R(使用奇異值分解),并形成幀到幀的變換 T。在直接方法中,給定一個點 p,其像素坐標是圖像 I1 中的 x 和 I2 中的 x',x'(T,x) 是運動 T 的函數(shù),真實運動 T* 應(yīng)該最小化光度差 I1(x)-I2(x')。因此,通過最小化圖像中的整體光度差異來找到 T* 的最佳估計,這是像素級光度誤差的總和(在某些區(qū)域可能加權(quán),例如,具有高梯度)。這稱為直接圖像對齊 (DIA),相當于直接方法的 2D-2D 對齊。

在處理稠密模型時,通常使用迭代最近點 (ICP) [39-41] 使用當前幀的深度圖和 3D 稠密模型進行跟蹤。請注意,基于稠密模型重投影的跟蹤可以受益于預(yù)測能力,例如提高對遮擋的魯棒性,以及對運動模糊的魯棒處理。

4.3. Mapping

建圖塊是指完全初始化新檢測到的特征位置所需的操作,以便它可以位于環(huán)境的 3D 重建中,即地圖。實際上,在位姿跟蹤部分,我們假設(shè)地圖上存在 3D 定位地標。然而,單目相機不能僅使用一次觀察來確定特征的深度,而是需要幾幀。與相機軌跡類似,我們可能希望估計地標位置的不確定性,以在初始化后對其進行細化或?qū)⑺鼈儼谌謨?yōu)化中。使用僅“部分初始化”的地標也很有趣,因為它們已經(jīng)包含一些信息,例如在 PTAM [27] 中。直接方法本身不映射特征,但它們將捕獲幀的每個像素(像素深度圖)建圖。

建圖塊可以用 3D 地標參數(shù)化來描述。可以使用笛卡爾坐標 (XYZ),但這種選擇會導(dǎo)致嚴重的非高斯概率密度函數(shù),并且會降低準確性和一致性?;蛘?,齊次點 (HP)、錨定齊次點 (AHP) 和逆深度參數(shù)化 (IDP) 可抑制非線性并縮短初始化周期 [42]。

如 [42] 中所述,IDP 通過 6 維向量對反距離點 p 進行編碼,該向量包含對應(yīng)于“錨點” p0=(x0,y0,z0) 的初始化時間的歐幾里得光學中心,即仰角和方位角,它們定義了初始光線 (e,a) 的方向和從 p0 到 3D 點 p 的歐幾里得距離 d 的倒數(shù) p。IDP 點可以通過使用矢量 V=(u,v,w) 和距離 p=||v||/d 的光線方向直接編碼來參數(shù)化,從而避免對角度(e,a)。這對應(yīng)于 AHP 參數(shù)化(7 個參數(shù))。HP 類似于 AHP,但不需要錨點;相反,使用相機的原點,導(dǎo)致只有 4 個參數(shù) V 和 p。假設(shè)相機位置的不確定性很小,使用這種參數(shù)化可以獲得類似的結(jié)果。[42] 中的研究詳細介紹了這些參數(shù)化,并給出了它們對 EKF-SLAM 結(jié)果影響的基準。

三角化的 3D 點是通過將來自至少兩幀的 2D 圖像對應(yīng)關(guān)系的反向投影光線相交來確定的。實際上,它們從未真正相交,這導(dǎo)致地標位置存在不確定性區(qū)域。可以通過兩種方式減少這種不確定性??梢允褂酶嗟挠^測值,或者來自更遠距離的光線可以改善定位。理想情況下,光線應(yīng)以 90° 角相交以到達一個小的不確定圓,而不是一個拉伸的橢圓。可以跳過幀,直到 3D 點位置的平均不確定性降低到給定閾值以下以緩解此問題。選定的幀通常對應(yīng)于關(guān)鍵幀。另請注意,遠距離點更難以準確建圖。

建圖過程與 DTAM [34] 等直接方法略有不同。目標是通過為每個像素分配深度值,將捕獲的幀變成“深度圖”。它再次基于多視圖重建。對于關(guān)鍵幀中的每個像素,都會跟蹤一條像素射線,它對應(yīng)于該像素的可能深度范圍。與該關(guān)鍵幀重疊的所有幀池用于“觀察”像素射線。能量函數(shù)最小化,例如用于空間正則化的光度誤差和先驗數(shù)據(jù)的 L1 范數(shù)和估計實際像素深度。RGB-D vSLAM 方法的建圖過程更直接,因為深度是直接感應(yīng)的。在每一幀中輸入深度圖。然后通過融合所有深度圖來詳細闡述環(huán)境的 3D 模型。這可以通過重疊掃描或通過執(zhí)行融合方法來完成。

許多 SLAM 方法使用與環(huán)境中檢測到的特征相對應(yīng)的稀疏表示來重建場景。稠密貼圖更常見于雙目和 RGB-D 相機或激光掃描。最近的一項工作 [43] 創(chuàng)建了稠密結(jié)構(gòu)的稠密地圖建模。

4.4. Loop Closure

閉環(huán)是 SLAM 的支柱。它通過將先前訪問過的位置的位姿與當前位姿重新連接來消除自上次閉環(huán)以來累積的漂移。優(yōu)化和增量方法比基于粒子濾波和卡爾曼濾波等更成功,因為它們在軌跡估計上向后傳播閉環(huán)數(shù)據(jù)。關(guān)鍵幀圖經(jīng)典地用于在并行方法中使用集束調(diào)整 (BA) 來校正姿勢。在 [44] 中,作者綜合了 BA 的 vSLAM 方法技術(shù),并在附錄中給出了集束調(diào)整主要發(fā)展的歷史概述。最先進的 SLAM 系統(tǒng)通常用[45] 解決非線性最小二乘問題或 [46] 來優(yōu)化 BA 中基于圖的非線性誤差函數(shù)。但是這些系統(tǒng)使用一些最后的測量值來實時估計位姿。為了使用先前的優(yōu)化并減少計算,增量求解器(例如 [47])以實時方法解決非線性估計問題。每次使用底層因子圖的稀疏結(jié)構(gòu)添加新的測量值時,它們都會更新環(huán)境的估計模型。

閉環(huán)是一個兩步過程。首先,它從閉環(huán)檢測開始,也稱為位置識別。位置識別過程可以用來解決軌道丟失恢復(fù)的問題,一般采用閉環(huán)線程。大多數(shù)方法使用詞袋方法將新關(guān)鍵幀與先前獲取的視圖數(shù)據(jù)庫進行比較?!霸~袋”是指一組描述符,用于識別圖像中的補丁,如 [48] 提出的 DBoW2 方法,基于 FAST [31] 和稍加修改的 BRIEF 特征 [49]??蚣芎蛿?shù)據(jù)庫之間相似詞的目錄搜索非常快速和高效。一旦發(fā)現(xiàn)潛在的相似性,多個驗證步驟會驗證它是否對應(yīng)于一個閉環(huán)。其次,閉環(huán)校正地圖和位姿。計算兩個視圖之間的轉(zhuǎn)換并融合 3D 點。然后使用(局部)BA 沿著整個位姿圖和地圖分布關(guān)閉回環(huán)所需的計算。閉環(huán)過程的計算量可能很大。它通常在專用線程中完成。

5. vSLAM 方法的歷史回顧

圖 3 顯示了 vSLAM 發(fā)展的年表,包括三個時期。第一個時期,這里標記為“經(jīng)典時期”,專注于解決 SLAM 問題。提出了幾個數(shù)學公式,首次有效地應(yīng)用了SLAM。第二個時期,SLAM 研究的重點轉(zhuǎn)向了基于視覺的方法。提出了幾種 vSLAM 設(shè)計,并將新硬件(例如 GPU、RGB-D 相機和雙目相機)集成到該過程中。這個“vSLAM 時期”與 [14] 所說的 SLAM 的“算法分析”時期一致。研究了 vSLAM 的基本特性,例如收斂性和一致性。vSLAM 成為開發(fā) SLAM 方法的核心?!暗谌龝r期”致力于提高vSLAM的魯棒性。目標是提高 vSLAM 的可靠性,以支持越來越多的現(xiàn)實生活應(yīng)用程序(例如,無人機)。特別是,這個“第三時期”引入了 viSLAM 方法。

圖3 具有里程碑和三個時期的 vSLAM 歷史概述:從 SLAM 問題到 vSLAM,vSLAM 算法發(fā)展,以及 viSLAM 的出現(xiàn)。

5.1. The Classical Age

定位的歷史始于 1960 年卡爾曼濾波的引入 [50],并在 1979 年由 Mayeck 通過擴展卡爾曼濾波(EKF) [51] 擴展到非線性系統(tǒng)。SLAM 問題在 1980 年代提出 [1, 2, 52],并在 1995 年證明收斂 [53]。在此期間,制定了一些 SLAM 方法,主要使用激光遙測儀、從不同來源計算的里程計并使用 EKF 實現(xiàn),例如 Smith 等人早在 1988 年提出的方法(EKF-SLAM [38])。直到 2003 年戴維森等人提出 MonoSLAM [21] 之前,單目相機的使用非常罕見。他們僅使用一個網(wǎng)絡(luò)攝像頭、一臺通用計算機就實現(xiàn)了它,并且沒有里程計測量。這是第一個使用單個低成本視覺傳感器的實時 SLAM 方法。定位和建圖在 3D 中執(zhí)行,而 SLAM 基于 EKF。為了解決初始化新點的問題,Davison 等人提出了一種基于粒子濾波器的新方法,以減少新檢測到的視覺地標的景深不確定性。MonoSLAM 為所謂的 vSLAM 鋪平了道路。

每個 EKF-SLAM,甚至是著名的 MonoSLAM,都存在復(fù)雜性,地圖特征的數(shù)量是二次的。為緩解該問題進行了許多嘗試,尤其是通過將地圖劃分為多個部分并在優(yōu)化過程中僅使用活動子地圖。它們都沒有提供令人滿意的一致性與計算成本的折衷。2002 年,在 Montemerlo 等人 [23] 提出的 FastSLAM 中,使用 Rao-Blackwellized 粒子濾波器代替 EKF。這種方法有效地降低了對數(shù)縮放的復(fù)雜性,并成功轉(zhuǎn)換為單目 vSLAM,即 Eade 和 Drummond 在 2006 年提出的可擴展單目 SLAM [22]。

5.2. The Golden Age of vSLAM

即使 FastSLAM 方法的最小復(fù)雜度也嚴重限制了 SLAM 應(yīng)用,尤其是捕獲大量特征的 vSLAM。vSLAM 的最大突破是 Klein 等人在 2007 年引入了具有并行跟蹤和建圖 (PTAM) 的基于關(guān)鍵幀的解決方案 [27]。在其他改進中,這種新方法實現(xiàn)了任務(wù)并行化、更好地利用全局優(yōu)化、減少了跟蹤漂移,更重要的是一種具有自由可擴展性的存儲特征的新方法。如今,幾乎所有 vSLAM 算法都基于 PTAM 的概念。

vSLAM 通過集成高效的閉環(huán)方法、全局優(yōu)化和基于關(guān)鍵幀和剔除的內(nèi)存管理,以及多線程并行化實時執(zhí)行過程,變得越來越可靠。因此,可以提出新的設(shè)計和硬件選擇,擴大 SLAM 的可能性。由用例需求驅(qū)動的 vSLAM 開發(fā)成為可能。在此期間提出的主要 vSLAM 實現(xiàn)在第 6 節(jié)中有詳細說明。

5.3. The Third Age: Improving the Robustness

在第三個時期,vSLAM 繼續(xù)發(fā)展,尤其是針對特定場景提高魯棒性。相機和 IMU 的耦合(viSLAM)成為一個重要的研究課題。在 2010 年代初期,考慮了現(xiàn)有 vSLAM 方法中 IMU 數(shù)據(jù)的松耦合 [54]。但混合濾波器迅速演變?yōu)椤熬o耦合”視覺慣性方法的設(shè)計,現(xiàn)在在配備 IMU 和相機的系統(tǒng)中非常流行。緊耦合 viSLAM 的一個重要改進是 2007 年由 Mourikis 和 Roumeliotis [25] 提出的 MSCKF(多態(tài)約束卡爾曼濾波器),在 2013 年通過 MSCKF 2.0 改進 [24],引入了新版本的卡爾曼濾波器,該濾波器在一個外感受器中結(jié)合了超時觀察更新。還創(chuàng)造了其他非凡的方法。其中包括使用線而不是點特征來避免與運動模糊相關(guān)的問題,自 PTAM 以來仍在使用。其他作品使用 RGB-D 相機并在應(yīng)用 SLAM 算法之前過濾與移動物體相關(guān)的數(shù)據(jù)以提高魯棒性 [55, 56]。其他方法使用基于光流的方法來檢測和丟棄動態(tài)特征[57]來緩解動態(tài)問題。一個結(jié)合 SLAM 和深度學習技術(shù)的新研究領(lǐng)域正在這個領(lǐng)域上出現(xiàn)。深度學習技術(shù)檢測移動物體并支持 ORB-SLAM2 算法來構(gòu)建準確的地圖并在動態(tài)環(huán)境中定位移動機器人 [58]。在 [59] 中,作者出于相同目的使用語義分割和 RGB-D 相機。Rosinol 等人和 Yang 等人 [60, 61] 發(fā)表了使用語義分割和 SLAM 算法的最新作品。

當可以多次訪問同一地點時,MapLab [62] 的工作允許大規(guī)模合并不同會話的不同地圖。輸出地圖可用于從一個會話到另一個會話。

也許最近最有趣的趨勢之一是使用事件相機,即仿生相機,以避免運動模糊的影響。由于事件攝像機的使用還很晚,因此不包括在我們的分類中。然而,Rosinol 等人于 2018 年發(fā)表的結(jié)果。關(guān)于 Ultimate SLAM [63] 混合使用基于事件的相機和視覺慣性里程計似乎非常有前途,并渴望為 vSLAM 開辟新的可能性。

最近的一項工作 [64] 優(yōu)化局部和全局集束調(diào)整給出了可用于 viSLAM 算法以提高全局一致性的有希望的結(jié)果。

6. 建議的分類方法

幾種方法推動了我們的分類工作。6.1 節(jié)根據(jù)輸入對 vSLAM 方法進行分組。第 6.2 節(jié)根據(jù)耦合級別對 viSLAM 方法進行分組。最后,第 6.3 節(jié)根據(jù)硬件要求、算法類型和實現(xiàn)特征比較了主要的 v/viSLAM 方法。它通過根據(jù)應(yīng)用程序要求對 v/viSLAM 性能進行交叉分析來完成。

6.1. Classification of vSLAM Methods

vSLAM 方法根據(jù)輸入的性質(zhì)分為三類:基于特征的、直接的和基于 RGB-D 的,如第 4 節(jié)所述。由于基于 RGB-D 的方法涉及特定的硬件,因此被視為一個完整的類別。圖 4 顯示了選擇一些主要識別方法的分類結(jié)果。

圖4 主要 vSLAM 方法的時間順序分類

6.1.1. Feature-Based Methods

單目 EKF-SLAM MonoSLAM [21] 和粒子濾波器可擴展單目 SLAM [22],即單目 FastSLAM,屬于基于特征的方法。突破性的并行跟蹤和建圖 (PTAM) [27] 屬于同一類別。提出了對 PTAM 的幾種改編。例如,[65] 中介紹了邊緣特征的使用。另一個重要的方法是 ORB-SLAM [37]。

6.1.2. Direct Methods

第一個重要的直接方法是 2011 年的稠密跟蹤和建圖 (DTAM) [34]。它是稠密單目 vSLAM 方法的先驅(qū),并于 2015 年通過 MobileFusion [66] 應(yīng)用于智能手機。從 2016 年開始,一種更新的方法是直接稀疏里程計 (DSO) [33]:一種視覺里程計方法,它提出直接輸入處理但稀疏建圖以進行更輕量的處理。另一個主要的 vSLAM 方法是 2013 年和 2017 年的半直接視覺里程計(SVO)[67],它結(jié)合了 VO 框架中直接和間接輸入搜索的優(yōu)點。2014 年的大規(guī)模直接單目 SLAM(LSD-SLAM)[35] 是最早使用半稠密建圖來解決大型環(huán)境的方法之一。

6.1.3. RGB-D Methods

RGB-D 方法還包括幾種主要算法。2011 年,KinectFusion [68] 旨在使用 Microsoft Kinect 構(gòu)建干凈、準確的環(huán)境 3D 重建。2013 年的稠密 vSLAM [69] 側(cè)重于利用密集地圖進行精確定位。2015 年的 ElasticFusion [70] 是一種“以地圖為中心”的方法,它更側(cè)重于構(gòu)建的 3D 模型的幾何精度,而不是位姿圖的構(gòu)建。

6.2. Classification of viSLAM Methods

直接和間接特征可用于對 viSLAM 方法進行分類。其他綜述也根據(jù)它們是基于濾波器還是基于優(yōu)化的方法對 viSLAM 方法進行了分類 [15]。但大多數(shù)主要的 viSLAM 方法實際上都是基于特征的方法,而 viSLAM 主要處理混合問題。因此,圖 5 所示的分類是基于視覺和慣性數(shù)據(jù)的耦合水平。我們區(qū)分兩個層次:松耦合和緊耦合。

圖5 主要視覺-慣性 SLAM 方法的時間分類。

6.2.1. Loose Coupling

松耦合方法分別處理 IMU 和圖像測量,并使用這兩種信息來跟蹤位姿。Weiss 等人 [54] 處理圖像以計算連續(xù)位姿之間的 VO,然后將后者與慣性測量融合。還可以過濾 IMU 測量值以估計在基于圖像的估計算法中融合的旋轉(zhuǎn)。松耦合的視覺慣性里程計方法是 2014 年 [71] 提出的全局多傳感器融合(磁力計、壓力高度計、GPS 、激光掃描儀等)的一部分。松耦合的 IMU-相機融合早在 2000 年代初就已經(jīng)開始了。SOFT-SLAM 算法 [72] 是一種松耦合的 viSLAM 方法,它實際上使用 IMU 數(shù)據(jù)來減少可用的計算時間。它實時構(gòu)建稠密地圖并在 MAV 上運行。

6.2.2. Tight Coupling

緊耦合方法不是融合基于視覺和慣性的算法的輸出,而是直接融合視覺和慣性原始數(shù)據(jù),以提高準確性和魯棒性。MSCKF [25] 和 MSCKF 2.0 [24] 既健壯又非常輕便,與 ROVIO [26] 一起屬于這一類,后者是一種基于 EKF 的直接 VIO 方法。Open Keyframe-Based Visual Inertial System (OKVIS) [73] 和 S-MSCKF [17] 是著名的雙目 VIO 方法,而 Vins-Mono [74] 是真正的 viSLAM 而不僅僅是 VIO 方法。Kimera [60] 也基于 VIO 方法,但它還包括一個位姿圖優(yōu)化器,在不同的線程中,用于全局軌跡估計、一個 3D 網(wǎng)格重建模塊和一個 3D 度量語義重建模塊。VIORB [75] 基于 ORB-SLAM [76]。它的前端使用 ORB 提取特征,而其后端運行圖形優(yōu)化。但它的主要興趣在于一種新的 IMU 初始化方法,首先估計陀螺儀的偏差,近似尺度和重力(不考慮加速度計偏差),然后估計加速度計偏差(經(jīng)過尺度和重力方向細化),最后是速度矢量,它包括并行方法中的全局優(yōu)化和閉環(huán)。大多數(shù)最近的 viSLAM 方法都是緊耦合的 [15],如 [77] 提出的方法,它使用前向和后向光流來處理圖像特征。

6.3. Comparison of vSLAM and viSLAM from the Usage Point of View

根據(jù)硬件要求、算法類型和實現(xiàn)特點,主要v/viSLAM方法在表2中進行了比較。表 3 展示了每種方法在描述常見用例性質(zhì)的五個關(guān)鍵特征方面的最新性能。表 3 是通過閱讀引用的出版物并使用以下標準對其性能評估結(jié)果進行分類而編制的。

(i) 長期實驗特征評估該方法如何處理長時間實驗。即使在小環(huán)境中,vSLAM 也會不斷收集新的關(guān)鍵幀,這意味著長期實驗可能會導(dǎo)致關(guān)鍵幀和地圖特征的數(shù)量不斷增加。定義一個好的關(guān)鍵幀選擇策略和內(nèi)存管理方法很重要;

(ii) 大尺度環(huán)境特征判斷該方法對大環(huán)境的擴展能力(即積累的特征越多,地標越遠)。為了評估這方面,重要的標準是減少漂移、有效的全局優(yōu)化(例如,關(guān)鍵幀的選擇和關(guān)鍵幀圖的類型)以及有效的位置識別和閉環(huán)框架;

(iii) 低紋理環(huán)境對應(yīng)于紋理很少的表面,例如可能成為問題的大墻,特別是對于特征提取。面向低紋理空間的最佳性能方法可能會使用邊緣和附加硬件等特殊功能進行定位(IMU),甚至更好地用于建圖(RGB-D 方法的深度傳感器);

(iv) 室外環(huán)境:這類環(huán)境增加了光線變化等困難。使用深度傳感器、良好的特征描述符或簡單的強大位置識別方法(通過閉合循環(huán)來糾正錯誤)與室外空間相關(guān)。該分析還基于每種算法的戶外測試結(jié)果;

(v) 運動:在處理相機時對高速運動引起的運動模糊的魯棒性對于為正確的應(yīng)用選擇正確的方法很重要。使用稠密地圖或邊緣特征的方法通常更穩(wěn)健。然而,如前文第 4 節(jié)所述,我們發(fā)現(xiàn)視覺慣性系統(tǒng)更健壯。

添加其他方法來完成之前執(zhí)行的 v/viSLAM 分類。兩個有趣的 PTAM 派生算法是 PTAM [78] 的雙目版本和雙窗口優(yōu)化 (DWO) [79] 框架。CD-SLAM [80] 是首次嘗試以更穩(wěn)健的方法將 PTAM 的原理擴展到大規(guī)模間接 vSLAM。CD-SLAM 的一些特性啟發(fā)了流行的 ORB-SLAM。后者結(jié)合了最高效的 vSLAM 功能(雙模型初始化、高效的關(guān)鍵幀和地圖點剔除、ORB 功能和詞袋回環(huán)閉合)以及關(guān)鍵幀的“基本圖”。ORB-SLAM2 [76]使ORB-SLAM 適應(yīng)雙目和 RGB-D 相機。Edge-SLAM [81] 是最近嘗試以邊緣為特征構(gòu)建強大的 vSLAM。還包括直接方法“半稠密視覺里程計”[5] 和 Kintinuous [82]。第一個側(cè)重于使用智能手機將半稠密 vSLAM 應(yīng)用于增強現(xiàn)實。最后一個是 KinectFusion 算法針對更大規(guī)模環(huán)境的擴展。

7. 實驗基準

使用第 6 節(jié)中的分類,為實驗基準選擇了五種主要算法:DSO [33]、LSD-SLAM [35]、ORB-SLAM2 [76],以及兩種 viSLAM 方法:ROVIO [26] 和 Vins-Mono [ 74]。它們都可以被視為其類別中的參考方法。它們體現(xiàn)了現(xiàn)有設(shè)計的多樣性,理論上適合我們的用例。它們在表 2 中以粗體顯示。根據(jù)我們的分類,我們?yōu)閜edestrian context選擇 viSLAM 算法 ROVIO 和 Vins-Mono。它們也被 [3] 認為是所有平臺和數(shù)據(jù)集上最準確和最健壯的算法,而 ROVIO 被認為是一個很好的折衷方案。Chen 等人 [15] 也認為 Vins-Mono 作為被測 viSLAM 算法中精度最好的算法。

這些算法的選擇不僅基于其在該領(lǐng)域的重要性,而且還基于感興趣的用例的要求:在城市環(huán)境中使用手持設(shè)備進行行人位姿估計。選定的方法應(yīng)針對具有挑戰(zhàn)性的環(huán)境中的準確位姿估計,并在開源中可用。該基準測試沒有應(yīng)用與計算困難相關(guān)的限制。當我們在手持設(shè)備(例如智能手機)上尋求實現(xiàn)時,預(yù)計對許多擾動具有全局魯棒性。我們只為 viSLAM 部分選擇了適用于單目相機和 IMU 的方法。行人應(yīng)用意味著必須考慮用戶的行為。手持相機的運動可能會抖動,并且會出現(xiàn)快速的不均勻運動。在用戶需求方面,我們更喜歡不需要非常具體的手動初始化的方法。由于大多數(shù)行人應(yīng)用程序都在戶外(例如,在城市環(huán)境中),所選算法必須處理大規(guī)模場景、長時間實驗(幾分鐘到一個小時)和光線變化。考慮到他們在上述分類中的評估,Kimera [60] 和 VIORB [75] 可以被添加到這個基準中。但即使 Kimera 的目標是使用單目攝像頭運行,目前代碼的一部分(閉環(huán)檢測)也需要雙目攝像頭。至于 VIORB,作者沒有公開他們的代碼。

7.1. Experiments and Dataset Features

實驗設(shè)置、數(shù)據(jù)采集和分析采用了以下功能。它們特定于我們的用例。

(i) 硬件(手持設(shè)備):具有卷簾快門和 IMU 記錄的前向單目相機;

(ii) 位姿估計:我們主要關(guān)注當前位姿的在線正確性,而不是重建路徑的整體精度;

(iii) 室外場景:光照變化、觀察場景尺度的可變性;

(iv) 行人:整體速度(和低平均速度)變化不大,但相機搖晃。由于步行速度,加速度在每個軸上遵循特定的前后運動;

(v) 大軌跡:它從幾個閉環(huán)擴展到?jīng)]有閉環(huán);

(vi) 城市環(huán)境:移動物體、觀察到紋理不良的元素(天空、墻壁等)的潛在時刻;

(vii) 大眾:期望用戶友好(無需特定的手動初始化,無需針對每個場景調(diào)整參數(shù))。

選擇 EuROC MAV 數(shù)據(jù)集 [6],包括慣性數(shù)據(jù),用于所有五種方法的整體比較。可以考慮使用其他 IMU+視覺數(shù)據(jù)集來擴展我們的實驗評估。在 [83] 中,描述了一個室內(nèi)/室外數(shù)據(jù)集,但與 EuROC 數(shù)據(jù)集的 1 mm 相比,其真實準確度僅為 15 cm。[84] 中提供的數(shù)據(jù)集是由蘇黎世城市空間中的 MAV 記錄的。MAV 位移的基本事實使用 Pix4D 攝影測量進行后處理,而不是像在 EuROC 數(shù)據(jù)集中那樣由外部定位系統(tǒng)(例如,運動捕捉系統(tǒng))進行測量。[85] 中提供的數(shù)據(jù)集,與 EuROC 相比,它具有良好的準確性和更高的測試序列可變性。我們選擇 EuROC 是因為它在其他綜述中的廣泛,采用簡化了我們的結(jié)果與其他研究的比較。我們將在未來的工作中考慮其他數(shù)據(jù)集。有興趣的讀者可以找到 [15, 83–85] 中引用的其他數(shù)據(jù)集。

EUROC 包括無人機在相同環(huán)境和六個自由度地面實況下飛行的各種場景。我們選擇僅關(guān)注 11 個可用場景中的三個場景。它們對應(yīng)于表 4 中詳述的不同特征,這些特征對于評估所選算法的性能都很有趣。讓我們注意到無人機的飛行運動與手持相機的相似,這與 KITTI 數(shù)據(jù)集 [86] 的車載相機相反,其 10 Hz 的采樣頻率不足以跟蹤快速運動。手部運動的幅度經(jīng)常被低估。運動比與步行步態(tài)自然同步的手臂的運動更重要。將手持設(shè)備翻轉(zhuǎn)并抬起以探索環(huán)境。這就是我們可以將其與無人機動力學進行比較的原因。選定的方法還在一個名為“IRSTV”的新數(shù)據(jù)集上進行了測試,該數(shù)據(jù)集由步行者使用手持設(shè)備沿城市路徑行走收集,以及硬件設(shè)置,如圖 6 所示。它對應(yīng)于室內(nèi)和明亮的室外空間中 466 m 的步行路徑。它包括具有不同尺度場景的圖像:街道、開放空間和房間。它還包含對重建環(huán)境的玻璃覆蓋的建筑物的觀察,這在經(jīng)典的視覺里程計上是失敗的。在采集開始時沒有強加用于動態(tài)初始化的特定運動。

硬件設(shè)置包括一個 Garmin 相機和一個名為 ULISS [87] 的專用平臺(圖 6)。攝像頭為“VIRB 30 Ultra”,焦距固定,幀率為60 Hz,1920*1080像素分辨率,對應(yīng)智能手機采集的標準分辨率。ULISS 包括一個三軸慣性測量單元和一個以 200 Hz 采樣的三軸磁力計、一個氣壓計、一個高靈敏度 GPS 接收機和一個天線。這些低成本傳感器通常嵌入在移動設(shè)備中。這種硬件設(shè)置可以訪問原始數(shù)據(jù),而無需通常嵌入在移動設(shè)備中的預(yù)過濾。ULISS 和相機數(shù)據(jù)使用來自嵌入在兩個設(shè)備中的 GPS 接收器的時間戳精確同步。用于室內(nèi)/室外行人導(dǎo)航的參考系統(tǒng) PERSY [88] 附在腳上。它以累積步行距離的 0.3% 的水平定位精度為行人的場景提供地面實況。它在圖 6 中以綠色顯示。

基準測試是在 2.60 GHz Intel Core i7-6700HQ CPU 上進行的。我們的 Linux 環(huán)境位于虛擬機 (Oracle VirtualBox 5.2.12) 中。我們允許所有四個內(nèi)核都具有 100% 的分配資源和 5 GB 的 RAM 使用量。所有算法均在 Ubuntu 16.04 中測試。當需要 ROS 時,我們將ROS kinetic和catkin workspace一起使用。下一節(jié)將詳細分析所選數(shù)據(jù)集上的所選算法,并評估最適合我們案例的算法。

7.2. Experimental Assessment Methodology

我們從 EuROC 數(shù)據(jù)集開始對之前提供的兩個數(shù)據(jù)集進行了測試。所有結(jié)果都是五次運行的平均值,以考慮隨機異常值緩解部分。在表 5 和表 6 中,我們提供了每個數(shù)據(jù)集上每種方法的相對定位誤差 (RPE) 和絕對定位誤差 (APE) 的平均值。APE 和 RPE是用evo 包 github.com/MichaelGrupp/evo 獲得的。APE 是估計位置(2D 或 3D)與真實位置之間的歐幾里德距離,而 RPE 是連續(xù)位置估計(2D 或 3D)之間的歐幾里德距離。我們計算了均方根誤差 (RMSE)、標準差 (σ) 和最大誤差 (max) 的平均值作為常量指標。APE 是在所有方法的 Sim (3) Umeyama 對齊之后計算的 [89]。RPE 計算為漂移:每米的平移或旋轉(zhuǎn)誤差。這種局部精度與關(guān)鍵幀的數(shù)量無關(guān),并允許比較 VO 和 vSLAM。

RPE 通過檢查位姿-位姿變換的正確性來評估漂移誤差部分。例如,好的 RPE 和壞的 APE 可能表示漂移校正不好。它可能來自低效的回環(huán)框架和/或錯誤的初始化,因為知道初始化是 SLAM [20] 的弱點之一。這也可能意味著主要的“單一”錯誤很可能發(fā)生在本地并且沒有得到糾正。在這種情況下,最大 RPE 應(yīng)該比 RMSE RPE 大得多。

使用提供的時間戳,我們將實際位置與估計位置進行比較以計算 APE。它們在 EuROC 數(shù)據(jù)集的 3D 中計算,但對于 IRSTV 數(shù)據(jù)集僅在 2D 中計算,因為 PERSY 僅提供水平平面中行人路徑的基本事實。繪制累積 APE 分布函數(shù) (CDF) 以用于測試算法的全局準確性和穩(wěn)定性評估。誤差是在由形成局部水平面的 和 軸以及指向上方的軸定義的局部導(dǎo)航框架中計算的。為了模擬在不同環(huán)境中的各種任務(wù)之間不需要人工干預(yù)的實際應(yīng)用程序,運行計算所需的參數(shù)對于所有運行都是固定的。

我們還評估了與用例相關(guān)的五個功能的性能(第 7.1 節(jié)),以及穩(wěn)定性(對于給定場景從一次運行到另一次運行,結(jié)果是否可能會發(fā)生變化)、整體質(zhì)量 姿態(tài)估計,以及無需后處理即可估計真實比例的能力。對于最后一點,我們簡單地確定了結(jié)果和真值之間軌跡總長度上的相對誤差。

7.3. Detailed Analysis

分析從單目 ORB-SLAM2、Vins-Mono 和 DSO 開始,給出了三個 EuROC 上的最佳 RPE 和 APE。它繼續(xù)使用 LSD-SLAM 和 ROVIO,在 IRSTV 數(shù)據(jù)集上提供不太好的結(jié)果和失敗。

7.3.1. ORB-SLAM2 Result Analysis

總的來說,ORB-SLAM2 提供了最佳的 RPE RMSE。在 APE 方面,它在 RMSE 和最大誤差方面都優(yōu)于 DSO 和 Vins-Mono。這突出了其糾正漂移效應(yīng)的效率。圖 7 顯示了 3 EuROC 定位誤差的 CDF。我們觀察到一個非常好的穩(wěn)定性,最低的這個基準和最好的可預(yù)測性在 ROVIO 之后具有最低的 RMSE 標準偏差。ORB-SLAM2 提供了顯著的穩(wěn)定性,最大 APE/RMSE 比率約為 2,這是該基準測試的最低比率。除了 ROVIO 之外,它還提供了最佳的可預(yù)測性,并且 RMSE 的標準偏差最低。

MH01 和 MH03 結(jié)果相似,說明對運動具有良好的魯棒性。與 MH01 和 MH03 相比,MH05 幾乎不受干擾的 RPE 和 APE 似乎表明對缺乏紋理的魯棒性。然而,這僅僅是因為 ORB-SLAM2 具有重新定位和閉合回路的能力,詳見第 7.4 節(jié),其中 ORB-SLAM2 在沒有閉環(huán)的情況下進行了測試。ORB-SLAM2 的 VO 基礎(chǔ)實際上對缺少紋理的 MH05 部分非常敏感。IRSTV 的結(jié)果表明 ORB-SLAM2 可以完美處理大型困難環(huán)境。盡管沒有閉環(huán),但它輸出了相當精確的結(jié)果,在行駛距離上有 1.1% 的 APE RMSE 誤差。沒有觀察到由于環(huán)境或初始化發(fā)出的失敗。

總而言之,發(fā)現(xiàn) ORB-SLAM2 在各種測試場景(包括非常大的規(guī)模)中具有一致性和魯棒性,并且具有非??煽康膬?yōu)化和閉環(huán)框架。盡管僅使用高速視覺慣性數(shù)據(jù)集的視覺信息,但它的性能至少與包括 Vins-Mono 在內(nèi)的其他最先進方法一樣好。它的視覺里程計基礎(chǔ)對缺乏紋理非常敏感,但閉環(huán)和重新定位允許糾正軌跡。然而,讓我們注意到 ORB-SLAM2 有一個非常嚴格的關(guān)鍵幀剔除策略,這意味著它也輸出更少的位姿。與真正估計的相比,這顯然提高了輸出。這也意味著結(jié)果有時會在幾秒鐘內(nèi)沒有任何姿勢輸出,因為在此期間沒有捕獲新的關(guān)鍵幀(或后來被剔除),如圖 8 所示。這可以通過降低關(guān)鍵幀管理的嚴重性來避免代碼中的參數(shù)。禁用閉環(huán)的結(jié)果顯示在第 7.4 節(jié)中。

7.3.2. Vins-Mono Result Analysis

Vins-Mono RPE RMSE 是我們最好的基準測試之一。Vins-Mono APE 結(jié)果也是第二好(與 DSO 并列在 ORB-SLAM2 之后)。其 APE max/RMSE 比率為 2 比 3,其整體一致性 (, max) 可與 DSO 相媲美。然而,我們在 MH01 中獲得了不太可預(yù)測的結(jié)果(11.5%),這表明高速實際上有利于 Vins-Mono 的穩(wěn)健性。CDF 誤差圖的形狀(圖 9)還表明仍有一些奇異誤差使整體結(jié)果惡化。

Vins-Mono 最顯著的結(jié)果是真實尺度估計的高精度。MH01 為 2.7%,MH03 為 2.8%,MH05 為 0.9%。在 MH03 中,RPE 和 APE 并未真正受到運動增加的影響。與 MH01 或 MH03 相比,MH05 的結(jié)果也很棒,這表明對缺乏紋理的魯棒性。

對 IRSTV 數(shù)據(jù)集的測試輸出了行進距離的 3.3% 的 APE RMSE,對于大多數(shù)行人定位應(yīng)用來說,這是一個令人滿意的結(jié)果。然而,與 EuROC 不同,Vins-Mono 在初始化方面遇到了很多困難,可能是因為在沒有特定的初始化階段。當檢測到具有足夠視差的運動時,它通??梢猿跏蓟?。然而,此時估計的IMU加速度偏差的質(zhì)量是不確定的,這極大地影響了結(jié)果的準確性和魯棒性。我們還發(fā)現(xiàn)玻璃門反射反復(fù)是導(dǎo)致故障的原因。此外,對 IRSTV 數(shù)據(jù)集的實際規(guī)模估計遠不如在 EuRoC 的近距離環(huán)境中精確(大約 43% 的誤差!)。盡管如此,我們相信這些結(jié)果是可以改進的。在數(shù)據(jù)集的開頭為動態(tài)初始化添加特定的運動可能會改善結(jié)果和魯棒性。

總的來說,Vins-Mono 被發(fā)現(xiàn)對所呈現(xiàn)場景中的困難具有魯棒性,其出色的 RPE RMSE 有望用于長期實驗。雖然 ORB-SLAM2 的結(jié)果總體上還是比較好,但 Vins-Mono 的真正好處是它能夠準確估計真實的尺度。因此,結(jié)果可以很容易地在線解釋為給定地圖上的真實世界位姿。然而,IRSTV 數(shù)據(jù)集的結(jié)果表明,很難滿足硬件方面的要求以充分利用 Vins-Mono,或者可能需要特定的用戶移動來正確初始化 IMU 偏差。

7.3.3. DSO Result Analysis

與 Vins-Mono 和 ORB-SLAM2 一起,DSO 方法輸出所有測試方法的最佳 RPE RMSE 結(jié)果。作為一種純 VO 方法,其準確性僅取決于里程計的質(zhì)量。DSO 的結(jié)果也很明顯,因為它們與 APE σ和max的規(guī)律性與 Vins-Mono 的誤差相當。

由于 MH03 的結(jié)果與 MH01 的結(jié)果相當,并且 MH05 的結(jié)果與 MH01 的結(jié)果相當,因此發(fā)現(xiàn) DSO 對運動具有魯棒性。盡管 DSO 是純視覺里程計,但它的總體結(jié)果是我們基準測試中的第二好,并且有希望用于大規(guī)模環(huán)境(低 RPE RMSE),盡管圖 10 顯示誤差與軌跡長度有關(guān),而不是其他任何東西 (參見表 4)。與我們基準測試的其他兩種最佳方法相比,DSO 還具有在實時位姿估計上獲得這種精度的優(yōu)勢,而不僅僅是在軌跡重建上。

DSO 正確估計路徑并重建 IRSTV 數(shù)據(jù)集的環(huán)境。當相機從街道移動到一個大的地方時,尺度估計會失敗,并且軌跡是用兩種不同的尺度估計的。我們只考慮了 APE 誤差估計軌跡的第二部分,因為它是唯一通過三種方法重建良好的部分(圖 11)。在行駛距離上的 APE RMSE 為 3.8%,結(jié)果不如 ORB-SLAM2 和 Vins-Mono 的結(jié)果精確。讓我們注意,與 Vins-Mono cf 不同,DSO 沒有遇到初始化困難。第 7.3.2 節(jié)。較低的精度以及尺度估計問題可以通過使用滾動快門相機來解釋,而直接方法在全局快門下表現(xiàn)更好。

總體而言,DSO 在各種環(huán)境中都是精確、一致且穩(wěn)健的。重建的半稠密地圖給出了觀察到的周圍環(huán)境的易讀性。看到它對各種場景的適應(yīng)能力有多強,就結(jié)果而言,DSO 唯一真正的弱點是它純粹的 VO 性質(zhì)。即使在非常大的規(guī)模和困難的環(huán)境下,它也表現(xiàn)出色,但我們遇到了一個糟糕的尺度估計問題。將其與閉環(huán)框架結(jié)合以將其轉(zhuǎn)變?yōu)檎嬲?SLAM 方法可能會很有趣。還要注意的是,DSO 需要 GPU 加速,這意味著它不容易適應(yīng)廣泛的應(yīng)用程序。

7.3.4. LSD-SLAM Result Analysis

據(jù)我們所知,EuROC 上沒有公開的 LSD-SLAM 測試可用。它的包是這里測試的所有算法中最古老的,因此我們不否認可能適應(yīng) EUROC 的可能性(例如 Stereo 版本 [90] 可能在這里表現(xiàn)更好。(開源 github 項目似乎也不是 不再維護,也不會升級到最新的 Ubuntu 和 ROS 版本。)然而,通過使用今天可訪問的常規(guī)包、參數(shù)和建議,我們設(shè)法在 MH03 和 MH05 上運行 LSD-SLAM。盡管在 MH01 上取得了令人鼓舞的結(jié)果( 圖 12),它對運動的魯棒性和可能缺乏紋理不足以為 MH03 和 MH05 產(chǎn)生不錯的結(jié)果。此外,在我們進行的每次 MH03 運行結(jié)束前以及 MH05 上五分之三的運行中,跟蹤都失敗了。為了更好地支持 LSD-SLAM 的初始化,我們切斷了無人機不規(guī)則移動的數(shù)據(jù)集的開頭,以初始化其 IMU 參數(shù)。

觀察在多次運行中獲得的非常隨機的行為,很明顯 LSD-SLAM 在這里的失敗是由于初始化不當造成的。最有可能的是,LSD-SLAM 結(jié)果并沒有反映這種方法在理想條件下的真實能力。這個結(jié)果突出了一個事實,即在初始化期間需要特別注意的方法不太適合許多無法帶來這種注意的應(yīng)用程序。在選擇 SLAM 方法時,對特定用戶干預(yù)和控制的需求是需要考慮的關(guān)鍵因素。根據(jù)當前的設(shè)置和初始化過程,發(fā)現(xiàn) LSD-SLAM 對于類似于 EUROC Machine Hall 中呈現(xiàn)的場景不夠健壯。

7.3.5. ROVIO Result Analysis

查看數(shù)據(jù)集 MH01 和 MH03,在所有方法中,ROVIO 輸出最差的 RPE RMSE。累積誤差分布圖(如圖 13)所示,顯示 MH01 和 MH03 80% 的定位誤差在沿軸 25 cm、沿軸 20 cm 和沿軸 15 cm 以下??偟膩碚f,該方法仍然準確,例如,MH01 和 MH03 沿軸的最大誤差分別為 40 cm 和 80 cm。總的來說,它給出了最糟糕的 APE 之一(除了 LSD-SLAM 故障),APE RMSE 比其他方法差 3 到 20 倍,APE 最大差 3 到 12 倍。所有 ROVIO 運行在數(shù)據(jù)集上給出相同的結(jié)果;沒有隨機參數(shù)。

一般的尺度估計對于真實尺度的軌跡估計來說已經(jīng)足夠好了。MH01 的值等于 4.9%、MH03 的 4.7% 和 MH05 的 12.8%。與 MH01 相比,MH03 的性能并沒有特別改變(參見 APE 和 RPE),因此運動似乎很穩(wěn)健。然而,MH05 上非常糟糕的結(jié)果表明,它出人意料地(因為它是 VIO)受到無紋理環(huán)境中的通道的嚴重影響。對于大規(guī)模,精度的缺乏與純 VIO 性質(zhì)相結(jié)合可能會導(dǎo)致非常不精確的結(jié)果。然而,像 ROVIO 一樣,純 VO 在長期實驗的內(nèi)存管理方面顯示出優(yōu)勢,因為它僅適用于關(guān)鍵幀窗口。

總結(jié)一下 ROVIO,發(fā)現(xiàn)它不如其他方法精確。它只是一個沒有閉環(huán)和全局優(yōu)化的純 VIO。例如,它仍然是一種有趣的 VIO 方法,用于在線控制無人機,或者任何更關(guān)注局部位姿估計而不是重建軌跡相對于參考真值的正確性的應(yīng)用程序。它的可預(yù)測性對于重復(fù)性任務(wù)和已知場景很有趣。然而,無紋理環(huán)境似乎會帶來嚴重的問題,并且結(jié)果缺乏一致性對于需要持續(xù)評估精度的應(yīng)用程序來說是個問題。ROVIO 在 IRSTV 數(shù)據(jù)集上失敗。

7.4. Comparative Analysis and Conclusion regarding Pedestrian Urban Navigation with Handheld Sensors

所有測試方法的比較位姿估計結(jié)果如圖 14-16 所示。僅就旋轉(zhuǎn)估計而言,所有方法都表現(xiàn)相對較好,沒有任何顯著差異。我們觀察到 ROVIO 的偏航估計有輕微的漂移趨勢。它用圖 17 中 MH03 的旋轉(zhuǎn)估計來說明。



由于閉環(huán)缺失以及我們關(guān)注實時位姿估計的正確性,因此需要強大的 VO 或 VIO 基礎(chǔ)。因此,我們在表 7 中添加了 Vins-Mono [74] 和 ORB-SLAM2 [76] 沒有閉環(huán)的結(jié)果。還需要實際尺度估計能力,因為這將大大簡化在線應(yīng)用解決方案的開發(fā)。

表 7 顯示 ORB-SLAM2 在測試的 EuROC 上很少使用回環(huán),因為 MH01 和 MH03 的結(jié)果幾乎相同。但是,它在更大范圍內(nèi)使用它來校正漂移。在MH05中,黑暗中的通道引入了很大的定位不確定性,這意味著軌跡從那里漂移到最后。如果不可能閉環(huán),則結(jié)果完全取決于在無紋理部分期間位姿估計的糟糕程度。在這里,APE RMSE 結(jié)果范圍從 14 cm 到 3.7 m。Vins-Mono 似乎更頻繁地使用閉環(huán),因為它的缺失會使錯誤加倍。然而,由于 IMU 集成,誤差是有界的且更可預(yù)測。如果閉環(huán)在所考慮的環(huán)境中難以執(zhí)行,則選擇 ORB-SLAM2 以獲得更精確的結(jié)果可能是一個危險的賭注。原因是由于暫時缺乏紋理,其結(jié)果受到位姿估計問題的嚴重影響。

最后,對 IRSTV 數(shù)據(jù)集的計算發(fā)現(xiàn) ORB-SLAM2 是最穩(wěn)健的方法。它可以處理城市空間困難(玻璃反射、尺度變化和行人運動),甚至是室內(nèi)到室外的過渡,因為光照變化不會像 MH05 沒有閉環(huán)那樣導(dǎo)致嚴重的 ORB-SLAM2 故障??傊珼SO、Vins-Mono 和 ORB-SLAM2 都是我們用例的合適選擇,即帶有手持傳感器的步行城市導(dǎo)航。選擇還取決于可用的硬件類型:用于 DSO 的 GPU+全局快門、緊密同步的 IMU 和用于 Vins-Mono 的相機。使用高端硬件,DSO 可能更適合具有嚴重無紋理地方的城市環(huán)境,而 Vins-Mono 可以提供更逼真的比例估計,而無需進一步操作(正確初始化時)。然而,在考慮用戶友好性(即易于初始化)、易于設(shè)置、硬件和計算能力要求以及全局魯棒性和準確性時,ORB-SLAM2 成為我們用例的首選。

8 結(jié)論

我們對重要的 SLAM 方法進行了綜述,并詳細介紹了 vSLAM 和 viSLAM 的核心概念以及不同的現(xiàn)有設(shè)計。我們將這一理論綜述與歷史概述聯(lián)系起來,以確定 SLAM 進化中的主要里程碑,分為三個主要時期。最后,我們對一些最著名的方法進行了分類,比較了它們的主要設(shè)計特征、目標以及它們在各種場景中的預(yù)期穩(wěn)健性,使用五個描述常見用例性質(zhì)的關(guān)鍵特征。我們的實驗基準側(cè)重于在城市環(huán)境中使用手持設(shè)備進行行人位姿估計。它強調(diào)了三種可靠的 SLAM 方法:Vins-Mono、DSO 和 ORB-SLAM2??傮w而言,ORB-SLAM2 提供了最佳性能。但是,對于需要在線進行實際規(guī)模估計的應(yīng)用程序,則需要一個額外的框架。這樣的框架可以解決在行人應(yīng)用程序中經(jīng)常出現(xiàn)的非常大的軌跡上缺少閉環(huán)的問題。例如,使用已知的可識別城市位置(例如自行車站或公交車站)來校正位姿是一個有趣的解決方案 [91]。將 vSLAM 的實驗基準擴展到測試現(xiàn)有方法對用于描述常見用例的五個關(guān)鍵特征的穩(wěn)健性似乎很有趣。它將支持專門評估這些關(guān)鍵特征(例如,在幀中手動引入光照變化),但也可以擴大對其他特定用例的評估,以進行一般和詳細分析。[3] 中的工作就是一個例子,不幸的是,它只測試了 viSLAM 方法。

我們的用例位于動態(tài)環(huán)境中。因此,有趣的是使用新的語義 SLAM 算法來區(qū)分固定和移動元素,并通過環(huán)境特征(例如平面)來輔助該過程 [61]。另外兩種類型的信息可以添加到未來的工作中。首先,在同一區(qū)域多次經(jīng)過后合并地圖的方法建議使用預(yù)先存在的城市空間地圖。事實上,3D 地圖越來越豐富和分布,盡管它們的更新率仍然存在問題。其次,我們打算專注于更好地建模個人步行步態(tài)模式,以支持行人應(yīng)用和精確的城市定位。

備注:作者也是我們「3D視覺從入門到精通」特邀嘉賓:一個超干貨的3D視覺學習社區(qū)

原創(chuàng)征稿

初衷
3D視覺工坊是基于優(yōu)質(zhì)原創(chuàng)文章的自媒體平臺,創(chuàng)始人和合伙人致力于發(fā)布3D視覺領(lǐng)域最干貨的文章,然而少數(shù)人的力量畢竟有限,知識盲區(qū)和領(lǐng)域漏洞依然存在。為了能夠更好地展示領(lǐng)域知識,現(xiàn)向全體粉絲以及閱讀者征稿,如果您的文章是3D視覺、CV&深度學習、SLAM、三維重建、點云后處理自動駕駛、三維測量、VR/AR、3D人臉識別、醫(yī)療影像、缺陷檢測、行人重識別、目標跟蹤、視覺產(chǎn)品落地、硬件選型、求職分享等方向,歡迎砸稿過來~文章內(nèi)容可以為paper reading、資源總結(jié)、項目實戰(zhàn)總結(jié)等形式,公眾號將會對每一個投稿者提供相應(yīng)的稿費,我們支持知識有價!

投稿方式

郵箱:vision3d@yeah.net 或者添加小助理微信:CV_LAB,另請注明原創(chuàng)投稿。

微信交流群:

歡迎加入「3D視覺工坊」交流群,方向涉及3D視覺、計算機視覺、深度學習、vSLAM、激光SLAM、立體視覺、自動駕駛、點云處理、三維重建、多視圖幾何、結(jié)構(gòu)光、多傳感器融合、VR/AR、學術(shù)交流、求職交流等。工坊致力于干貨輸出,為3D領(lǐng)域貢獻自己的力量!歡迎大家一起交流成長~

添加小助手微信:CV_LAB,備注學校/公司+姓名+研究方向即可加入工坊一起學習進步。





視覺/視覺慣性SLAM最新綜述:領(lǐng)域進展、方法分類與實驗對比的評論 (共 條)

分享到微博請遵守國家法律
金华市| 潼关县| 泰安市| 桐城市| 巴马| 临西县| 岗巴县| 家居| 新丰县| 绥滨县| 宁国市| 石屏县| 兴安县| 新邵县| 蓝田县| 和龙市| 无为县| 南充市| 鲁山县| 咸丰县| 南昌市| 峨眉山市| 庄河市| 彩票| 阿图什市| 吴桥县| 金华市| 西吉县| 兴安盟| 高台县| 苏尼特右旗| 竹溪县| 墨脱县| 伊吾县| 南部县| 山东| 平罗县| 威宁| 来安县| 敖汉旗| 孝感市|