国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

RGB-D SLAM綜述

2017-12-06 05:22:14王旒軍陳家斌朱匯申
導(dǎo)航定位與授時 2017年6期
關(guān)鍵詞:回環(huán)位姿深度

王旒軍,陳家斌,余 歡,朱匯申

(北京理工大學(xué) 自動化學(xué)院,北京 100081)

RGB-DSLAM綜述

王旒軍,陳家斌,余 歡,朱匯申

(北京理工大學(xué) 自動化學(xué)院,北京 100081)

RGB-D SLAM是指使用RGB-D相機(jī)作為視覺傳感器,進(jìn)行同時定位與地圖構(gòu)建(SLAM)的技術(shù)。RGB-D相機(jī)是近幾年推出的能夠同時采集環(huán)境RGB圖像和深度圖像的視覺傳感器。首先對主流RGB-D相機(jī),RGB-D SLAM算法框架流程做了介紹,然后對RGB-D SLAM算法的國內(nèi)外主要標(biāo)志性成果,以及RGB-D SLAM的研究現(xiàn)狀進(jìn)行介紹,并對RGB-D SLAM方法前端視覺里程計(jì)中特征檢測與匹配、后端位姿圖優(yōu)化、回環(huán)檢測等關(guān)鍵技術(shù)進(jìn)行介紹總結(jié)。最后,對RGB-D SLAM算法的優(yōu)缺點(diǎn)進(jìn)行了分析,并對RGB-D SLAM算法的研究熱點(diǎn)及發(fā)展趨勢進(jìn)行了討論。

RGB-D相機(jī);同時定位與地圖構(gòu)建;視覺里程計(jì);位姿圖優(yōu)化;回環(huán)檢測

0 引言

對于自主移動機(jī)器人,在導(dǎo)航定位方面涉及三個方面的問題:1)我在哪里(where am I);2)我要去哪里(where am I going);3)我要怎么去(How should I get there)[1]。其中第一個是定位問題,第二個是任務(wù)規(guī)劃問題,第三個為路徑規(guī)劃問題。

同時定位與地圖構(gòu)建( Simultaneous Localization and Mapping,SLAM) 問題描述為:一個機(jī)器人在一個陌生的環(huán)境中運(yùn)動,通過自身攜帶的傳感器對周圍環(huán)境進(jìn)行感知,然后繪制陌生環(huán)境的地圖,同時定位自己在地圖中的位置[2]。利用SLAM方法可以解決自主移動機(jī)器人的定位與建圖問題。使用相機(jī)作為傳感器的SLAM方法被稱為視覺 SLAM(VSLAM)。相比于傳統(tǒng)的慣性器件(Inertial Measurement Unit,IMU)和激光雷達(dá)(Laser Scanner)等傳感器,相機(jī)具有體積小、質(zhì)量小和價格低等突出的優(yōu)點(diǎn),因此,VSLAM成為近年來SLAM算法研究的熱點(diǎn)。

RGB-D相機(jī)是新興的視覺傳感器,它可以同時獲取周圍環(huán)境的RGB圖像和每個像素的深度(Depth)信息。相比于單目相機(jī)和雙目立體相機(jī)利用算法計(jì)算空間點(diǎn)的三維坐標(biāo),RGB-D相機(jī)獲取空間點(diǎn)的3D信息更加直接方便,深度信息通過紅外結(jié)構(gòu)光(Structured Light)或飛時(Time-of-flight,TOF)原理測得,和激光雷達(dá)有些相似。所以,有時候RGB-D相機(jī)又被稱為偽激光雷達(dá)(Fake Laser)。由于RGB-D相機(jī)能相對容易地獲取RGB圖像上每一個像素的深度數(shù)據(jù),并且RGB-D相機(jī)價格相對便宜,近年來RGB-D SLAM技術(shù)得到快速發(fā)展。

1 RGB-D SLAM介紹

RGB-D SLAM使用RGB-D深度相機(jī)作為傳感器實(shí)現(xiàn)同時定位與地圖構(gòu)建。經(jīng)過十多年的研究,雖然不同的研究團(tuán)隊(duì)使用的具體VSLAM算法有所區(qū)別,但是這些VSLAM算法都可以歸為前端和后端兩部分,RGB-D SLAM作為VSLAM的一個分支,當(dāng)然也不例外。本節(jié)首先介紹目前使用的主流RGB-D相機(jī)的種類并做出對比,然后簡要介紹RGB-D SLAM算法流程,最后介紹RGB-D SLAM的標(biāo)志性成果。

1.1 RGB-D相機(jī)介紹

微軟公司于2010年推出的Kinect相機(jī)是世界上首款RGB-D相機(jī),Kinect相機(jī)是微軟公司針對Microsoft Xbox 360發(fā)布的一款由PrimeSense公司開發(fā)的體感設(shè)備。它由RGB相機(jī)、3D深度傳感器、麥克風(fēng)陣列和機(jī)動傾斜馬達(dá)等組成[3](圖1)。Kinect相機(jī)中間部位是一款RGB彩色鏡頭,圖像分辨率為640×480,最大幀率為30Hz。兩邊分別為紅外發(fā)射和接收裝置,組成Kinect的深度傳感器。其深度傳感器的分辨率為320×240,幀率同樣為30Hz。RGB-D相機(jī)采集的圖像數(shù)據(jù)如圖2所示[4]。

圖1 微軟Kinect相機(jī)Fig.1 Microsoft Kinect

圖2 RGB圖像(左)和Depth圖像(右)[4]Fig.2 RGB image (left) and Depth image (right) [4]

隨后華碩也發(fā)布了其體感控制設(shè)備Xtion Pro Live,它在外觀上和Kinect相似,但比Kinect尺寸略小,RGB和深度傳感器的配置和Kinect相差無幾。華碩Xtion Pro Live相機(jī)如圖3所示。Xtion Pro Live和Kinect參數(shù)對比如表1所示。

圖3 華碩Xtion Pro LiveFig.3 Asus Xtion Pro Live

屬性微軟Kinectv1華碩XtionProLive長/cm2818寬/cm63.6高(帶底座)/cm7.55深度感應(yīng)有效距離/m1.2~3.50.8~3.5有效視角/(°)水平:57垂直:43水平:58垂直:45電源/接口外接電源+USB2.0USB2.0圖像大小、幀率彩色640×480、32bit、30fps深度320×240、16bit、30fps彩色640×480、32bit、30fps深度320×240、16bit、30fps

后來,微軟和英特爾(Intel)又相繼推出了Kinect V2 和Realsense 體感設(shè)備,使用了更加先進(jìn)的技術(shù),并在硬件品質(zhì)上有所提升。由于RGB-D相機(jī)功能強(qiáng)大并且價格低廉,引起了社會的極大關(guān)注,并逐漸在SLAM領(lǐng)域占有一席之地。

1.2 RGB-D SLAM算法流程

RGB-D SLAM算法大體上可分為前端視覺里程計(jì)、后端優(yōu)化、回環(huán)檢測(又稱閉環(huán)檢測)和建圖幾個部分。

算法前端根據(jù)輸入RGB圖像和Depth圖像,對RGB圖像進(jìn)行特征點(diǎn)檢測和特征描述子的計(jì)算(僅討論基于特征的方法);然后根據(jù)特征描述子進(jìn)行相鄰兩幀圖像的特征匹配,得到2D-2D特征匹配點(diǎn)集;然后根據(jù)Depth圖像的深度信息,計(jì)算2D-2D特征匹配點(diǎn)對的空間三維坐標(biāo),得到3D-3D匹配點(diǎn)集。由匹配好的3D-3D點(diǎn)就可以計(jì)算出相鄰兩幀圖像間的旋轉(zhuǎn)和平移矩陣[4],最后對運(yùn)動估計(jì)誤差進(jìn)行優(yōu)化,得到誤差最小的位姿估計(jì)結(jié)果。這樣就可以根據(jù)輸入的視頻流,不斷地得到相機(jī)位姿的增量變化,所以算法前端構(gòu)建了視覺里程計(jì)(VO)。

算法后端主要是為了優(yōu)化SLAM過程中的噪聲問題。實(shí)際應(yīng)用當(dāng)中,再精確的傳感器獲取的數(shù)據(jù)也會帶有一定的噪聲。所以,通過前端得到相鄰兩幀圖像之間的運(yùn)動估計(jì)之后,還要關(guān)心這個估計(jì)帶有多大的噪聲。后端優(yōu)化就是從這些帶有噪聲的數(shù)據(jù)中,估計(jì)整個系統(tǒng)的狀態(tài),給出這個狀態(tài)的最大后驗(yàn)概率(Maximum a Posteriori,MAP)。具體來說,后端接收不同時刻視覺里程計(jì)測量的相機(jī)位姿和回環(huán)檢測的約束信息,采用非線性優(yōu)化得到全局最優(yōu)的位姿。在VSLAM中,前端和計(jì)算機(jī)視覺研究領(lǐng)域更為相關(guān),例如圖像的特征點(diǎn)檢測與匹配,而后端則主要是濾波與非線性優(yōu)化算法。

回環(huán)檢測又稱為閉環(huán)檢測(Loop Closure Detection),主要解決機(jī)器人位置隨時間漂移的問題?;丨h(huán)檢測就是讓機(jī)器人具有識別曾經(jīng)到達(dá)過的場景的能力。視覺回環(huán)檢測就是通過比較兩幅圖像數(shù)據(jù)的相似性,由于圖像信息豐富,使得視覺回環(huán)檢測比較容易實(shí)現(xiàn)。如果回環(huán)檢測成功,則認(rèn)為機(jī)器人曾經(jīng)來過這個地點(diǎn),把比對信息輸送給后端優(yōu)化算法,后端根據(jù)回環(huán)檢測的信息,調(diào)整機(jī)器人軌跡和地圖。通過回環(huán)檢測,可以顯著地減小累積誤差[4](圖4)。

圖4 累積誤差與回環(huán)檢測校正結(jié)果[4]Fig.4 Cumulative error and the result after loop closing[4]

建圖(Mapping)是指構(gòu)建地圖的過程,只有構(gòu)建環(huán)境的地圖,才能實(shí)現(xiàn)機(jī)器人的定位或?qū)Ш焦δ?。根?jù)實(shí)際應(yīng)用的需要,SLAM算法構(gòu)建的地圖大體可分為度量地圖(Metric Map)和拓?fù)涞貓D(Topological Map)兩種。

根據(jù)以上的敘述,RGB-D SLAM算法流程如圖5所示。

圖5 RGB-D SLAM算法流程圖Fig.5 Flow chart of RGB-D SLAM algorithm

1.3 RGB-D SLAM標(biāo)志性成果

華盛頓大學(xué)(University of Washington)的Peter Henry、Michael Krainin、Evan Herbst聯(lián)合英特爾(Intel)實(shí)驗(yàn)室的Xiaofeng Ren、Dieter Fox[4]最早提出基于RGB-D相機(jī)的SLAM算法。Peter Henry等使用尺度不變特征轉(zhuǎn)換(Scale Invariant Feature transform, SIFT)[6]方法對相鄰兩幀RGB圖像進(jìn)行特征檢測與描述子提取,然后加入Depth圖像的數(shù)據(jù)生成3D-3D特征點(diǎn)對信息,使用隨機(jī)采樣一致性(Random Sample Consensus,RANSAC)方法[8]對3D-3D匹配點(diǎn)對進(jìn)行配準(zhǔn)并求出對應(yīng)的變換矩陣,采用迭代最近點(diǎn)(Iterative Closest Point,ICP)[10]方法對運(yùn)動變換進(jìn)行優(yōu)化。后端采用基于樹的網(wǎng)絡(luò)優(yōu)化(Tree-based network Optimizer, TORO)[11]算法并加入基于視覺的回環(huán)檢測約束最終得到全局最優(yōu)的三維場景地圖。

隨后不久,Peter Henry等又對他們之前提出的算法進(jìn)行了改進(jìn)[12]。針對SIFT方法速度較慢的缺陷,在特征提取時采用基于加速段的特征檢測子(Features from Accelerated Segment Test,FAST)[13]方法,描述子的計(jì)算采用Calonder方法。并對RANSAC階段預(yù)投影誤差進(jìn)行了優(yōu)化,提出只有當(dāng)特征匹配失敗或者是匹配結(jié)果中包含的匹配點(diǎn)對數(shù)目較少時才進(jìn)行ICP優(yōu)化。后端使用性能更加優(yōu)秀的稀疏光束平差法(Sparse Bundle Adjustment,SBA)[14]代替TORO算法進(jìn)行全局優(yōu)化,通過場景識別提高了閉環(huán)檢測的效率。

德國弗萊堡大學(xué)(University of Freiburg)計(jì)算機(jī)科學(xué)系的Nikolas Engelhard、Felix Endres和Jurgen Hess開發(fā)出了一套基于手持Kincet相機(jī)的RGB-D SLAM系統(tǒng)[15],在SLAM 算法前端使用基于加速魯棒性特征(Speeded Up Robust Features,SURF)[16]算法對輸入的RGB圖像進(jìn)行特征檢測與特征描述子提取,對相鄰兩幀RGB圖像進(jìn)行特征匹配。然后加入Depth圖像中的深度信息對匹配的特征點(diǎn)計(jì)算出三維空間坐標(biāo)。運(yùn)動估計(jì)與優(yōu)化方面使用RANSAC方法估計(jì)兩幀圖像之間的運(yùn)動,使用改進(jìn)的ICP方法優(yōu)化相機(jī)的運(yùn)動轉(zhuǎn)移矩陣。算法后端使用HOGMAN位姿圖求解方法對前端計(jì)算出的運(yùn)動轉(zhuǎn)移矩陣進(jìn)行全局優(yōu)化以得到全局最優(yōu)位姿。最后輸出彩色點(diǎn)云數(shù)據(jù)表示的三維環(huán)境地圖。

之后,F(xiàn)elix Endres等又開發(fā)出了一套新的RGB-D SLAM系統(tǒng)[17]。在新的系統(tǒng)中,他們提出在后端優(yōu)化部分使用開源的圖優(yōu)化庫(General Graph Optimization,g2o)[18]進(jìn)行全局位姿圖優(yōu)化,得到一個全局的3D點(diǎn)云表示的三維環(huán)境地圖。最后,使用基于八叉樹(Octtree-based Mapping,OctoMap)的地圖構(gòu)建框架對得到的點(diǎn)云進(jìn)行體素(Voxel)化表示,最終得到一個3D柵格地圖。所得到的3D柵格地圖可以直接被用于機(jī)器人定位、路徑規(guī)劃和導(dǎo)航。

Willow Garage公司的Nicola Fioraio和Kurt Konolige提出了一種利用RGB-D相機(jī)構(gòu)建稠密地圖的SLAM算法[19]。該算法在Depth圖像的兩兩配準(zhǔn)中使用光束平差法(Bundle Adjustment,BA)[14]同時對Depth圖像和RGB圖像進(jìn)行匹配,一方面根據(jù)所得2D匹配結(jié)果生成稀疏圖(Sparse Graph),另一方面根據(jù)所得的2D匹配結(jié)果使用RANSAC方法估算相機(jī)位姿,再利用GICP(Generalized-ICP)[20]方法以所得相機(jī)位姿為初始值對采樣后的兩幀圖像進(jìn)行配準(zhǔn);后端全局配準(zhǔn)中每當(dāng)檢測到閉環(huán)時則使用g2o方法對稀疏圖進(jìn)行優(yōu)化,以得到全局最優(yōu)配準(zhǔn)結(jié)果。號稱此算法對兩幀圖像進(jìn)行GICP配準(zhǔn)時只需要10ms,具有實(shí)時性,比其他幾個RGB-D SLAM算法性能更優(yōu)秀。

為了對來自世界各個機(jī)構(gòu)和高校研究者提出的RGB-D SLAM 算法進(jìn)行評估,德國Munich 理工大學(xué)的Jurgen Sturm 和Daniel Cremers 聯(lián)合Freiburg 大學(xué)的Nikolas Engelhard 和Felix Endres 一起制作了標(biāo)準(zhǔn)的RGBD SLAM 數(shù)據(jù)集[21]。他們采用高速運(yùn)動攝像捕捉系統(tǒng)VICON捕捉手持的Kinect 的位置和姿態(tài)數(shù)據(jù)。這些數(shù)據(jù)被作為真實(shí)的軌跡(Ground Truth),可以和通過RGBD SLAM 算法程序估算出來的位姿和姿態(tài)信息作比較。此外,標(biāo)準(zhǔn)數(shù)據(jù)集還包括以時間戳命名的匹配好的RGB 圖像和Depth圖像。錄制數(shù)據(jù)集時,選取了工廠、辦公室等許多場景,具有代表性的數(shù)據(jù)集有FR1 ROOM 、FR2 DESK 、FR3 LONG OFFICE等 。

帝國理工學(xué)院(Imperial College London)的Richard A. Newcombe、Andrew J. Davison等聯(lián)合微軟研究院(Microsoft Research)的Shahram Izadi、Otmar Hilliges等提出的KinectFusion[22]是第一個基于Kinect深度相機(jī)的,能在GPU上實(shí)時構(gòu)建稠密三維環(huán)境地圖的SLAM 算法。該算法僅使用Kinect相機(jī)一個傳感器計(jì)算相機(jī)的位姿并構(gòu)建環(huán)境的三維地圖。

西班牙薩拉戈薩大學(xué)(University of Zaragoza)的Raul Mur-Artal和Juan Domingo Tardos繼2015年提出比較完整的單目ORB-SLAM算法[23]后,2016年他們又加入了對雙目相機(jī)和RGB-D相機(jī)的支持[24]。ORB-SLAM算法采用多線程處理,分為追蹤(Tracking)、地圖構(gòu)建(Local Mapping)、閉環(huán)檢測(Loop Closing)幾個線程進(jìn)行處理。特征提取與匹配、稀疏地圖創(chuàng)建和回環(huán)位置識別都是基于ORB(Oriented Robust Brief)[25]特征,在標(biāo)準(zhǔn)CPU上運(yùn)行就可以實(shí)時地進(jìn)行SLAM運(yùn)算,而且精度很高。

2 RGB-D SLAM關(guān)鍵技術(shù)

2.1 特征點(diǎn)提取

VSLAM算法根據(jù)利用圖像信息的不同可以分為基于特征的SLAM算法和直接SLAM(Direct SLAM)[26]算法?;谔卣鼽c(diǎn)法的前端,長久以來被認(rèn)為是SLAM的主流方法,它運(yùn)行穩(wěn)定,對光照、動態(tài)物體不敏感,是目前比較成熟的解決方案。

特征點(diǎn)是由關(guān)鍵點(diǎn)(Key Point)和描述子(Descriptor)兩部分組成。關(guān)鍵點(diǎn)是指該特征點(diǎn)在圖像里的位置,描述子通常是一個向量,按照人們的需求描述關(guān)鍵點(diǎn)周圍像素的信息。常用的特征提取算法有SIFT[6]、SURF[16]和ORB[25]等。

1999年British Columbia大學(xué)的David G.Lowe教授總結(jié)了基于不變量技術(shù)的特征檢測方法,并正式提出了一種基于尺度空間的、對圖像縮放、旋轉(zhuǎn)甚至仿射變換保持不變性的圖像局部特征描述算子SIFT,這種算法在2004年被加以完善[6]。SIFT算法經(jīng)過十多年的發(fā)展,已經(jīng)取得了巨大的成功[31-34]。在文獻(xiàn)[4]中,Peter Henry等使用SIFT算法對相鄰兩幀RGB圖像進(jìn)行特征提取與描述子計(jì)算,在室內(nèi)大型場景環(huán)境下測試取得了較好的結(jié)果。

SIFT算法充分考慮了圖像變換過程中出現(xiàn)的光照、尺度和旋轉(zhuǎn)等變化,但是計(jì)算量也隨之增大。到目前為止,普通的CPU還無法實(shí)時地計(jì)算SIFT特征,為此,Herbert Bay 等在2006年提出了SURF[16]算法。SURF算法中采用積分圖、近似的Hessian矩陣和Haar小波變換運(yùn)算來提高時間效率,采用Haar小波變換增加魯棒性。與SIFT特征相比,SURF算法時間復(fù)雜度有所降低, 同樣具有尺度和旋轉(zhuǎn)不變性,且相對于SIFT特征的算法速度提高了3~7倍[35-37]。文獻(xiàn)[15]使用速度更快的SURF算法對Kinect相機(jī)采集的RGB圖像進(jìn)行特征檢測與描述子提取,最終實(shí)現(xiàn)了實(shí)時地構(gòu)建環(huán)境的3D模型。

ORB算法是由Ethan Rublee 在ICCV 2011上提出的[25]。該算法采用改進(jìn)的具有方向性的FAST[38]和速度極快的二進(jìn)制穩(wěn)健基元獨(dú)立特征(Binary Robust Independent Elementary Features, BRIEF)[39]描述子。在文獻(xiàn)[25]中,作者測試了SIFT、SURF和ORB算法的性能:對同一幅圖像提取約1000個特征點(diǎn)的情況下,SIFT耗時約5228.7ms,SURF花費(fèi)約217.3ms,而ORB則用了15.3ms。由此可以看出,ORB算法在兼有SIFT和SURF算法旋轉(zhuǎn)、尺度不變性的基礎(chǔ)上速度方面大為提升。文獻(xiàn)[23]中,University of Zaragoza的Raul Mur-Artal和Juan Domingo Tardos構(gòu)建了基于單目相機(jī)的ORB特征檢測SLAM框架,并在小型、大型室內(nèi)環(huán)境和常用的數(shù)據(jù)集上測試ORB-SLAM算法,實(shí)驗(yàn)結(jié)果表明ORB-SLAM算法相比其他頂尖的SLAM算法性能大為提升。文獻(xiàn)[24]中,Raul Mur-Artal和Juan Domingo Tardos改進(jìn)了原有的算法提出ORB-SLAM2算法,并增加了對雙目立體相機(jī)和RGB-D相機(jī)的支持。

2.2 后端優(yōu)化

后端的優(yōu)化方法一般分為兩大類:基于濾波器的方法和基于圖優(yōu)化(Graph Optimization)[42]的方法。基于濾波器的方法理論基礎(chǔ)是概率論里的貝葉斯公式,利用控制信息對機(jī)器人的位姿進(jìn)行先驗(yàn)估計(jì),然后利用觀測信息對機(jī)器人位姿和地圖進(jìn)行后驗(yàn)估計(jì)。早期的SLAM方法多采用濾波器優(yōu)化,通常使用擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF)和粒子濾波(Particle Filter, PF)濾波器。直至21世紀(jì)早期,基于EKF濾波器的方法仍然占據(jù)了SLAM的主導(dǎo)地位。文獻(xiàn)[40]提出的最早的實(shí)時SLAM系統(tǒng)既是基于EKF濾波器開發(fā)的。

為了克服EKF濾波器的缺點(diǎn):線性化誤差和噪聲高斯分布假設(shè),研究者們提出了粒子濾波和非線性優(yōu)化[41]等方法?;趫D優(yōu)化的非線性優(yōu)化方法將機(jī)器人的位姿轉(zhuǎn)化成圖論中的頂點(diǎn)(Vertex),將機(jī)器人位姿之間的約束,以及位姿與觀測量間的約束則構(gòu)成了邊(Edge),從而將SLAM問題轉(zhuǎn)化為一個優(yōu)化問題,并利用最小二乘法進(jìn)行求解(圖6)。由于SLAM問題中雅可比矩陣具有稀疏結(jié)構(gòu),并得益于計(jì)算機(jī)技術(shù)和算法的優(yōu)化,使得圖優(yōu)化方法成為現(xiàn)實(shí)。

圖6 圖優(yōu)化示意圖Fig.6 Graph Optimization

g2o[18]是一個開源的圖優(yōu)化庫,是目前最常用的后端優(yōu)化器,可供選擇的梯度下降方法有GN(Gauss-Newton)、LM(Levernberg-Marquardt)[43]和DogLeg(Powell’s dogleg)等。文獻(xiàn)[17]中Felix Endres等利用g2o優(yōu)化器對位姿進(jìn)行優(yōu)化,得到全局一致的三維地圖。針對FR1數(shù)據(jù)包[21],該文詳細(xì)地敘述了其算法的運(yùn)行速度和定位精度。因此該方法可以成為利用RGB-D數(shù)據(jù)完成SLAM的比較基準(zhǔn)。

2.3 回環(huán)檢測

回環(huán)檢測的關(guān)鍵,就是如何能正確有效地判斷相機(jī)經(jīng)過同一個地方,從而為后端提供更加有效的位姿約束,進(jìn)而消除累積誤差,得到全局一致(Global Consistent)的位姿估計(jì)(圖7)。

圖7 回環(huán)檢測與優(yōu)化Fig.7 Loop Closing and Optimization

回環(huán)檢測一般有兩種方案:基于里程計(jì)(Odometry Based)[44]和基于外觀(Appearance Based)[47]的?;诶锍逃?jì)的回環(huán)檢測通過當(dāng)前相機(jī)的位置判斷是否曾經(jīng)到達(dá)過先前的某個位置附近,檢測有沒有回環(huán)關(guān)系。但是由于累積誤差的存在,檢測相機(jī)回到之前位置附近在邏輯上存在悖論,因此,累積誤差較大時無法給出準(zhǔn)確的結(jié)果[45]?;谕庥^的回環(huán)檢測僅根據(jù)圖像相似關(guān)系來檢測回環(huán),與之前的位姿沒有直接關(guān)系,因而使得回環(huán)檢測相對獨(dú)立于前端和后端,能給出更加真實(shí)有效的檢測結(jié)果,成為VSLAM回環(huán)檢測的主流方法[23,46-47]。

基于外觀的回環(huán)檢測多使用圖像特征的方法,詞袋(Bag of Words,BoW)[48]方法因其有效性得到了廣泛應(yīng)用[23,49-51]。詞袋方法首先通過對大量的訓(xùn)練圖像提取特征(SIFT、SURF、ORB等),并對這些特征(Word)進(jìn)行分類(經(jīng)典的是K-means聚類算法[52])獲得葉子節(jié)點(diǎn)即為詞典(Dictionary)。這樣,一幅圖像就可以根據(jù)是否出現(xiàn)相應(yīng)的單詞(Word)描述為詞典下的一個向量。

文獻(xiàn)[51]中,使用一種K-means 擴(kuò)展的K叉樹來表達(dá)詞典。在根節(jié)點(diǎn),使用K-means++[53]方法把所有樣本聚成k類;對每一層的每個節(jié)點(diǎn),把屬于該節(jié)點(diǎn)的樣本再聚成k類,得到下一層;以此類推,最終得到深度為L,每層分叉為k的樹,可以容納kL個單詞。樹的中間結(jié)構(gòu)僅供快速查找時使用,在查找給定特征對應(yīng)的單詞時,只需將它與每個中間節(jié)點(diǎn)的聚類中心比較(一共比較L次),即可找到最后的單詞,保證了對數(shù)級別查找的高效率。文獻(xiàn)[6]使用SIFT特征進(jìn)行全局定位,用KD樹來排列地圖點(diǎn)。文獻(xiàn)[54-55]使用基于SURF特征描述子的詞典方法去進(jìn)行閉環(huán)檢測特征, 提取約耗時400ms。文獻(xiàn)[23-24]使用效率和精度折中的ORB特征進(jìn)行回環(huán)檢測,即使用基于ORB特征的詞典篩選出閉環(huán),再通過相似性[56-57]計(jì)算進(jìn)行閉環(huán)的驗(yàn)證。

3 RGB-D SLAM優(yōu)缺點(diǎn)與發(fā)展趨勢

3.1 RGB-D SLAM優(yōu)缺點(diǎn)

單目SLAM系統(tǒng)無法通過單張圖像獲取像素的深度信息,一般通過三角測量的方法估計(jì)像素的深度。并且由于單目視覺的尺度不確定性,單目SLAM系統(tǒng)必須進(jìn)行初始對準(zhǔn)。雙目SLAM系統(tǒng)通過視差原理測得深度信息,利用左右相機(jī)的圖像的特征匹配獲取像素點(diǎn)對,消除了單目VSLAM系統(tǒng)的初始化問題。相比單目、雙目等SLAM系統(tǒng),RGB-D SLAM系統(tǒng)能夠通過傳感器在硬件層面上測得圖像點(diǎn)的深度,無需考慮單目SLAM系統(tǒng)的初始對準(zhǔn)問題,也不必像雙目SLAM系統(tǒng)消耗大量的資源計(jì)算深度。利用RGB-D SLAM進(jìn)行稠密地圖的構(gòu)建相對容易,并且RGB-D相機(jī)使用紅外結(jié)構(gòu)光或飛時原理測量深度,保證了深度數(shù)據(jù)對紋理的無關(guān)性,這樣即使面對純色的物體,只要它能夠反光,RGB-D SLAM也能夠比較準(zhǔn)確地獲取深度數(shù)據(jù)。

RGB-D SLAM也有其相應(yīng)的缺點(diǎn)。由于RGB-D相機(jī)測量深度的原理,使得RGB-D相機(jī)容易受到日光或者其他傳感器發(fā)射的紅外光的干擾,因此使用多個RGB-D相機(jī)時會相互干擾,在室外使用效果也不好。對于透明材質(zhì)的物體,因?yàn)榉瓷涔廨^少,也無法很好地測量其深度。而且由于主流RGB-D相機(jī)深度有效測量距離在0.5~4m的區(qū)間內(nèi),使得RGB-D SLAM無法應(yīng)用在室外大場景下,應(yīng)用環(huán)境受限。此外,RGB-D SLAM算法實(shí)時運(yùn)行對計(jì)算平臺要求較高,還不能應(yīng)用到輕量級的嵌入式平臺上。

3.2 RGB-D SLAM發(fā)展趨勢

RGB-D的一個研究熱點(diǎn)方向就是和深度學(xué)習(xí)相結(jié)合。到目前為止,SLAM的方案都處于特征點(diǎn)或者像素級別,利用特征點(diǎn)或像素的方法和我們?nèi)粘I顚?shí)踐中的方式很不一樣。

很久之前,研究者就試圖將物體信息結(jié)合到SLAM中。文獻(xiàn)[58-61]中把物體識別和VSLAM結(jié)合起來,構(gòu)建帶標(biāo)簽的地圖。文獻(xiàn)[62]將標(biāo)簽信息引入到優(yōu)化端的目標(biāo)函數(shù)中進(jìn)行優(yōu)化。以上的工作都稱為語義SLAM(Semantic SLAM)(圖8[70])。綜合來說,SLAM與語義的結(jié)合點(diǎn)有以下兩個方面[63]:一方面語義輔助SLAM。傳統(tǒng)的語義分割和物體識別往往只考慮一幅圖片,而在SLAM中利用一臺移動的相機(jī),如果把語義分割應(yīng)用到SLAM中,將得到一個帶有標(biāo)簽的語義地圖。另外,語義信息也可以為回環(huán)檢測和BA優(yōu)化提供更多的信息。另一方面SLAM輔助語義。物體識別和語義分割都需要大量的訓(xùn)練數(shù)據(jù),并且需要人工從不同視角采集該物體的圖片,輸入分類器進(jìn)行識別。利用SLAM,可以自動地計(jì)算物體在圖像中的位置,節(jié)省人力成本,并且能加快分類器的訓(xùn)練。

圖8 語義SLAM[70]Fig.8 Semantic SLAM[70]

此外,基于詞袋的回環(huán)檢測算法完全依賴于外觀而沒有利用任何其他信息,這導(dǎo)致外觀相似的圖像容易被當(dāng)成回環(huán)。從詞袋的模型來說,它本身是一個非監(jiān)督的機(jī)器學(xué)習(xí)過程:構(gòu)建詞典相當(dāng)于對特征描述子進(jìn)行聚類。因此,基于深度學(xué)習(xí)的框架完全可以應(yīng)用到回環(huán)檢測當(dāng)中[68-69]。

文獻(xiàn)[64-65]使用深度學(xué)習(xí)網(wǎng)絡(luò)對圖像進(jìn)行識別、檢測和分割。文獻(xiàn)[66]利用RGB-D相機(jī)采集的室內(nèi)RGB圖像和Depth圖像,進(jìn)行了輪廓檢測,自底向上分組,目標(biāo)檢測和語義分割(圖9)。文獻(xiàn)[67]創(chuàng)新性的將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)應(yīng)用到SLAM本身的位姿估計(jì)與回環(huán)檢測當(dāng)中。雖然這些方法還沒有成為主流,但將SLAM與深度學(xué)習(xí)結(jié)合處理圖像將是一個很有前景的研究方向。

圖9 RGB-D圖像語義分割[66]Fig.9 Semantic segmentation of RGB-D images[66]

4 結(jié)束語

自從微軟2010年針對Microsoft Xbox 360 發(fā)布第一款RGB-D相機(jī)Kinect以來,世界各地的研究者們就競相將RGB-D相機(jī)應(yīng)用到VSLAM技術(shù)當(dāng)中。經(jīng)過近些年的發(fā)展,RGB-D SLAM算法框架趨于成熟,也取得了比較好的實(shí)驗(yàn)效果。但是,RGB-D SLAM算法遠(yuǎn)沒有達(dá)到完善的地步:除了比較常用的特征點(diǎn)法,基于像素的直接法近年來也嶄露頭角;實(shí)際應(yīng)用當(dāng)中,RGB-D 相機(jī)與慣性器件(IMU)、激光雷達(dá)等傳感器的融合會得到更好的效果;將深度學(xué)習(xí)應(yīng)用到RGB-D SLAM中將是今后的一個發(fā)展方向;RGB-D SLAM應(yīng)用到AR、VR領(lǐng)域?qū)淖內(nèi)藗兊纳?。相信隨著硬件技術(shù)的進(jìn)步、算法的日趨完備,RGB-D SLAM最終能揚(yáng)長避短,得到廣泛的應(yīng)用。

[1] Leonard J J, Durrant-Whyte H F, Cox I J. Dynamic map building for an autonomous mobile robot[M]. Sage Publications, Inc. 1992.

[2] 祝繼華, 鄭南寧, 袁澤劍,等. 基于ICP算法和粒子濾波的未知環(huán)境地圖創(chuàng)建[J]. 自動化學(xué)報, 2009, 35(8):1107-1113.

[3] 丁潔瓊. 基于RGB-D的SLAM算法研究[D]. 西安:西安電子科技大學(xué), 2014.

[4] Henry P, Krainin M, Herbst E, et al. RGB-D mapping: Using depth cameras for dense 3D modeling of indoor environments[J]. International Journal of Robotics Research, 2010, 31(5):647-663.

[5] Newman P, Ho K. SLAM-loop closing with visually salient features[C]//Proceedings of the 2005 IEEE International Conference on Robotics and Automation. IEEE, 2006:635-642.

[6] Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.

[7] Bay H, Ess A, Tuytelaars T, et al. Speeded-up robust features (SURF)[J]. Computer Vision and Image Understanding, 2008, 110(3): 346-359.

[8] Rublee E, Rabaud V, Konolige K, et al. ORB: An efficient alternative to SIFT or SURF[C]//IEEE International Conference on Computer Vision. IEEE Computer Society, 2011:2564-2571.

[9] Fischler M A, Bolles R C . Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[J]. Communications of the ACM, 1981, 24(6):381-395.

[10] Zhang Z. Iterative point matching for registration of free-form curves and surfaces[J]. International Journal of Computer Vision, 1994, 13(2):119-152.

[11] Burgard W, Brock O, Stachniss C. A tree parameterization for efficiently computing maximum likelihood maps using gradient descent[C]//Robotics:Science and System, 2007:65-72.

[12] Henry P, Krainin M, Herbst E, et al. RGB-D mapping: Using Kinect-style depth cameras for dense 3D modeling of indoor environments[M]//Experimental Robotics. Springer Berlin Heidelberg, 2014:647-663.

[13] Rosten E, Drummond T. Machine learning for high-speed corner detection[C]//Proceedings of the European Conference on Computer Vision. 2006:430-443.

[14] Triggs B, Mclauchlan P F, Hartley R I, et al. Bundle adjustment - a modern synthesis[C]//International Workshop on Vision Algorithms: Theory and Practice. Greece, 1999:298-372.

[16] Bay H, Ess A, Tuytelaars T, et al. Speeded-up robust features[J]. Computer Vision amp; Image Understanding, 2008, 110(3):404-417.

[17] Endres F, Hess J, Engelhard N, et al. An evaluation of the RGB-D SLAM system[C]//IEEE International Conference on Robotics and Automation. IEEE, 2012:1691-1696.

[18] Kümmerle R, Grisetti G, Strasdat H, et al. g2o: A general framework for graph optimization[C]//2011 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2011: 3607-3613.

[19] Fioraio N, Konolige K. Realtime visual and point cloud SLAM[C]//Proceedings of the RGB-D Workshop on Advanced Reasoning with Depth Cameras at Robotics: Science and Systems Conference(RSS). 2011: 27.

[20] Segal A, Haehnel D, Thrun S. Generalized-ICP[C]//Proceedings of the Robotics: Science and Systems Conference(RSS). 2009: 435.

[21] Sturm J, Engelhard N, Endres F, et al. A benchmark for the evaluation of RGB-D SLAM systems[C]//2012 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS). IEEE, 2012:573-580.

[22] Newcombe R A, Izadi S, Hilliges O, et al. KinectFusion: Real-time dense surface mapping and tracking[C]//2010 10thIEEE International Symposium on Mixed and Augmented Reality(ISMAR). IEEE Computer Society, 2011:127-136.

[23] Mur-Artal R, Montiel J M M, Tardós J D. ORB-SLAM: a versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics, 2015, 31(5):1147-1163.

[24] Murartal R, Tardos J D. ORB-SLAM2: An open-source SLAM system for monocular, stereo and RGB-D cameras[J]. IEEE Transactions on Robotics, 2017, 33(5): 1255-1262.

[25] Rublee E, Rabaud V, Konolige K, et al. ORB: An efficient alternative to SIFT or SURF[C]//2011 IEEE International Conference on Computer Vision(ICCV). IEEE Computer Society, 2011:2564-2571.

[26] Hmer J, Gumhold S, Cremers D. Real-time dense geometry from a handheld camera[C]//Joint Pattern Recognition Symposium. Springer, Berlin, Heidelberg, 2010: 11-20.

[27] Engel J, Sturm J, Cremers D. Semi-dense visual odometry for a monocular camera[C]//2013 IEEE International Conference on Computer Vision(ICCV). IEEE Computer Society, 2013:1449-1456.

[28] Newcombe R A, Lovegrove S J, Davison A J. DTAM: Dense tracking and mapping in real-time[C]//2011 IEEE International Conference on Computer Vision(ICCV). IEEE Computer Society, 2011:2320-2327.

[29] Forster C, Pizzoli M, Scaramuzza D. SVO: Fast semi-direct monocular visual odometry[C]//2014 IEEE International Conference on Robotics and Automation(ICRA). IEEE, 2014:15-22.

[30] Engel J, Sch?ps T, Cremers D. LSD-SLAM: Large-scale direct monocular SLAM[C]//Proceedings of the European Conference on Computer Vision. Springer, Cham, 2014: 834-849.

[31] Ali A M, Nordin M J. SIFT based monocular SLAM with multi-clouds features for indoor navigation[C]//TENCON 2010 - 2010 IEEE Region 10 Conference. IEEE, 2010:2326-2331.

[32] Wu E Y, Zhao L K, Guo Y P, et al. Monocular vision SLAM based on key feature points selection[C]//2010 IEEE International Conference on Information and Automation(ICIA).Harbin,China,2010:1741-1745.

[33] Chen C H, Chan Y P. SIFT-based monocluar SLAM with inverse depth parameterization for robot localization[C]//2007 IEEE Workshop on Advanced Robotics and Its Social Impacts(ARSO). IEEE, 2007:1-6.

[34] Zhu D X. Binocular vision-SLAM using improved SIFT algorithm[C]//2010 2ndInternational Workshop on Intelligent Systems and Applications(ISA). IEEE, 2010:1-4.

[35] Zhang Z, Huang Y, Li C, et al. Monocular vision simultaneous localization and mapping using SURF[C]//2008 7thWorld Congress on Intelligent Control and Automation(WCICA). IEEE, 2008:1651-1656.

[36] Ye Y. The research of SLAM monocular vision based on the improved SURF feather[C]//2014 International Conference on Computational Intelligence and Communication Networks(CICN). IEEE, 2014:344-348.

[37] Wang Y T, Feng Y C. Data association and map management for robot SLAM using local invariant features[C]//2013 IEEE International Conference on Mechatronics and Automation(ICMA). IEEE, 2013:1102-1107.

[38] Rosten E, Drummond T. Machine learning for high-speed corner detection[C]//Proceedings of the Computer Vision. 2006:430-443.

[39] Calonder M, Lepetit V, Strecha C, et al. BRIEF: Binary robust independent elementary features[C]//Proceedings of the European Conference on Computer Vision. Springer-Verlag, 2010:778-792.

[40] Davison A J, Reid I D, Molton N D, et al. MonoSLAM: Real-time single camera SLAM[J]. IEEE Transactions on Pattern Analysis amp; Machine Intelligence, 2007, 29(6):1052-1067.

[41] Strasdat H, Montiel J M M, Davison A J. Visual SLAM: Why filter? [J]. Image amp; Vision Computing, 2012, 30(2):65-77.

[42] Lu F, Milios E. Globally consistent range scan alignment for environment mapping[J]. Autonomous Robots, 1997, 4(4):333-349.

[43] Moré J J. The Levenberg-Marquardt algorithm: Implementation and theory[M]//Numerical Analysis. Springer, Berlin, Heidelberg, 1978: 105-116.

[44] Hahnel D, Burgard W, Fox D, et al. An efficient fast SLAM algorithm for generating maps of large-scale cyclic environments from raw laser range measurements[C]//2013 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS). IEEE Xplore, 2003:206-211.

[45] Beeson P, Modayil J, Kuipers B. Factoring the mapping problem: Mobile robot map-building in the hybrid spatial semantic hierarchy[J]. The International Journal of Robotics Research, 2010, 29(4):428-459.

[46] Latif Y, Cadena C, Neira J. Robust loop closing over time for pose graph SLAM[J]. The International Journal of Robotics Research, 2013, 32(14):1611-1626.

[47] Ulrich I, Nourbakhsh I. Appearance-based place recognition for topological localization[C]//2000 IEEE International Conference on Robotics and Automation(ICRA). IEEE Xplore, 2000:1023-1029.

[48] Nister D, Stewenius H. Scalable recognition with a vocabulary tree[C]//2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE, 2006:2161-2168.

[49] Mur-Artal R, Tardós J D. Fast relocalisation and loop closing in keyframe-based SLAM[C]//2014 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2014: 846-853.

[50] Angeli A, Filliat D, Doncieux S, et al. A fast and incremental method for loop-closure detection using bags of visual words[J].IEEE Transactions on Robotics, 2008,24(5):1027-1037.

[51] Galvez-López D, Tardos J D. Bags of binary words for fast place recognition in image sequences[J]. IEEE Transactions on Robotics, 2012, 28(5):1188-1197.

[52] Lloyd S. Least squares quantization in PCM[J]. IEEE Transactions on Information Theory, 1982, 28(2):129-137.

[53] Arthur D, Vassilvitskii S. k-means++: The advantages of careful seeding[C]//Proceedings of the 18thAnnual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics, 2007: 1027-1035.

[55] Cummins M, Newman P. Appearance-only SLAM at large scale with FAB-MAP 2.0[J]. The International Journal of Robotics Research, 2011, 30(9):1100-1123.

[56] Sivic J, Zisserman A. Video Google: A text retrieval approach to object matching in videos[C]//2003 IEEE International Conference on Computer Vision. IEEE Xplore, 2003:1470-1477.

[57] Robertson S. Understanding inverse document frequency: on theoretical arguments for IDF[J]. Journal of Documentation, 2004, 60(5):503-520.

[58] Nüchter A, Hertzberg J. Towards semantic maps for mobile robots[J]. Robotics amp; Autonomous Systems, 2008, 56(11):915-926.

[59] Civera J, Glvez-Lpez D, Riazuelo L, et al. Towards semantic SLAM using a monocular camera[C]//2011 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS). IEEE, 2011:1277-1284.

[60] Koppula H S, Anand A, Joachims T, et al. Semantic labeling of 3D point clouds for indoor scenes[C]//Advances in Neural Information Processing Systems. 2011: 244-252.

[61] Anand A, Koppula H S, Joachims T, et al. Contextually guided semantic labeling and search for three-dimensional point clouds[J]. The International Journal of Robotics Research, 2013, 32(1):19-34.

[62] Fioraio N, Stefano L D. Joint detection, tracking and mapping by semantic bundle adjustment[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2013:1538-1545.

[63] Cadena C, Carlone L, Carrillo H, et al. Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age[J]. IEEE Transactions on Robotics, 2016, 32(6):1309-1332.

[64] Deng J, Dong W, Socher R, et al. ImageNet: A large-scale hierarchical image database[C]//2009 IEEE Conference onComputer Vision and Pattern Recognition(CVPR). IEEE, 2009:248-255.

[65] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2016:770-778.

[66] Gupta S, Arbelez P, Girshick R, et al. Indoor scene understanding with RGB-D images: Bottom-up segmentation, object detection and semantic segmentation[J]. International Journal of Computer Vision, 2015, 112(2): 133-149.

[67] Hou Y, Zhang H, Zhou S. Convolutional neural network-based image representation for visual loop closure detection[C]//2015 IEEE International Conference on Information and Automation. IEEE, 2015:2238-2245.

[68] Gao X, Zhang T. Loop closure detection for visual SLAM systems using deep neural networks[C]//2015 34thChinese Control Conference(CCC). IEEE, 2015:5851-5856.

[69] Gao X, Zhang T. Unsupervised learning to detect loops using deep neural networks for visual SLAM system[J]. Autonomous Robots, 2017, 41(1):1-18.

[70] Salas-Moreno R F, Glocken B, Kelly P H J, et al. Dense planar SLAM[C]//2014 IEEE International Symposium on Mixed and Augmented Reality(ISMAR). IEEE, 2014:157-164.

AnOverviewofRGB-DSLAM

WANG Liu-jun, CHEN Jia-bin, YU Huan, ZHU Hui-shen

(School of Automation, Beijing Institute of Technology, Beijing 100081,China)

RGB-D SLAM refers to Simultaneous Localization and Mapping (SLAM) using RGB-D camera as a visual sensor. RGB-D camera is a kind of vision sensor which can be used to capture RGB images and depth images of environment. Firstly, this paper introduced the RGB-D camera used frequently and the RGB-D SLAM algorithm framework. Then the main achievements of RGB-D SLAM method at home and abroad, research status of RGB-D SLAM and the key technologies of the RGB-D SLAM method, such as feature detection and matching, the pose graph optimization of the back end and the loop closure detection were introduced and summarized. Finally, the advantages and disadvantages of the RGB-D SLAM method were analyzed, and the research hotspot and development trend of the RGB-D SLAM method were discussed.

RGB-D camera; SLAM; Visual odometry; Pose graph optimization; Loop closure detection*

10.19306/j.cnki.2095-8110.2017.06.002

TP242.6

A

2095-8110(2017)06-0009-10

2017-04-15;

2017-09-06

國家國防基金(9140A09050313BQ01127);國家自然科學(xué)基金(91120010)

王旒軍(1992-),男,碩士,主要從事智能導(dǎo)航、視覺SLAM方向的研究。E-mail:wangliujun_bit@163.com

陳家斌(1964-),男,教授,博導(dǎo),從事慣性導(dǎo)航、智能導(dǎo)航方向研究。E-mail:chenjiabin@bit.edu.cn

猜你喜歡
回環(huán)位姿深度
深度理解一元一次方程
嘟嘟闖關(guān)記
深度觀察
深度觀察
深度觀察
透 月
寶藏(2018年3期)2018-06-29 03:43:10
基于共面直線迭代加權(quán)最小二乘的相機(jī)位姿估計(jì)
基于CAD模型的單目六自由度位姿測量
小型四旋翼飛行器位姿建模及其仿真
學(xué)習(xí)“騎撐前回環(huán)”動作的常見心理問題分析及對策
永宁县| 米泉市| 沾益县| 台中市| 莱阳市| 安陆市| 宁陵县| 龙南县| 尚义县| 绍兴县| 临猗县| 化州市| 东港市| 封开县| 荣昌县| 囊谦县| 兴城市| 冀州市| 宝应县| 竹溪县| 罗江县| 普陀区| 伊春市| 台东县| 旬阳县| 布尔津县| 手机| 松潘县| 天门市| 庄河市| 罗城| 肥城市| 额尔古纳市| 高安市| 墨江| 容城县| 平乐县| 弋阳县| 探索| 梧州市| 松溪县|