摘 ?要:隨著智能時代的到來,視覺機器人在自然場景中會遇到行人位姿變化、障礙物遮擋等復(fù)雜環(huán)境,使特征點誤匹配。文章先對Mask R-CNN算法應(yīng)用于動態(tài)環(huán)境下的SLAM中進行研究。通過深度神經(jīng)網(wǎng)絡(luò)優(yōu)化SLAM視覺前端,使得神經(jīng)網(wǎng)絡(luò)能夠?qū)討B(tài)物體進行檢測并能在很大程度上識別動態(tài)特征點,減少了特征點的誤匹配,提高了相機位姿估計的準確性。最后與ORB-SLAM2進行仿真對比,結(jié)果表明,該文算法和ORB-SLAM2算法相比精度提高了96%以上,能夠明顯的提高SLAM算法匹配的正確率。
關(guān)鍵詞:Mask R-CNN;動態(tài)環(huán)境;特征點匹配;視覺SLAM
中圖分類號:TP391.41;TP242 ? ? 文獻標識碼:A 文章編號:2096-4706(2020)21-0080-04
Research on ORB-SLAM Based on Mask R-CNN in Dynamic Environment
WANG Weiliang
(Shenyang Jianzhu University,Shenyang ?110168,China)
Abstract:With the advent of the intelligent era,visual robots will encounter complex environments such as pedestrian pose change and obstacles occlusion in natural scenes,which makes feature points mismatched. The article first studies the Mask R-CNN algorithm applied to SLAM in a dynamic environment. The SLAM vision front end is optimized by the deep neural network,so that the neural network can detect dynamic objects and identify dynamic feature points to a large extent,reduce the mismatch of feature points,and improve the accuracy of camera pose estimation. Finally,a simulation comparison with ORB-SLAM2 shows that the accuracy of this algorithm is improved by more than 96% compared with ORB-SLAM2,which can significantly improve the accuracy of SLAM algorithm matching.
Keywords:Mask R-CNN;dynamic environment;feature point matching;visual SLAM
0 ?引 ?言
近幾年,以機器學(xué)習(xí)、深度學(xué)習(xí)為代表的人工智能技術(shù)逐漸變得越來越普及。從家用掃地機器人到無人自動駕駛技術(shù)的成熟發(fā)展,大家已經(jīng)越來越依賴機器人視覺導(dǎo)航科技帶給我們的便利。這些技術(shù)的成熟運用離不開人工智能技術(shù)與SLAM技術(shù)的長期研究,特別是最近這幾年,得益于數(shù)據(jù)的增多、計算能力的增強、學(xué)習(xí)算法的成熟以及應(yīng)用場景的豐富,越來越多的人開始關(guān)注深度學(xué)習(xí)與SLAM結(jié)合的問題。但目前視覺SLAM在動態(tài)環(huán)境下還未形成統(tǒng)一成熟方案,現(xiàn)在依然處于各個算法錯綜復(fù)雜,因此研究在語義環(huán)境下SLAM算法有著很大的意義。
本文來源于課題“基于環(huán)境感知的室內(nèi)移動機器人定位與導(dǎo)航關(guān)鍵技術(shù)研究”,是沈陽自動化研究所是SLAM定位機器人的子課題,應(yīng)用于工業(yè)或家用機器人的算法優(yōu)化方面,對于整個機器人學(xué)研究有著重要的意義。
同步定位與建圖(Simultaneous Localization And Mapping,SLAM)技術(shù)是實現(xiàn)視覺機器人自主導(dǎo)航的一項關(guān)鍵性技術(shù),視覺SLAM是使用相機作為傳感器進行實時定位和繪制地圖的一種重要方法。隨著現(xiàn)有技術(shù)性能的不斷提高,視覺SLAM算法在視覺算法上也取得了長足的進步,無論是無人駕駛還是家用智能機器人,視覺SLAM技術(shù)均成為研究的熱點。當下視覺SLAM的主要研究方向偏向于靜態(tài)場景下的定位與建圖,對于動態(tài)環(huán)境下的視覺SLAM研究還沒有形成成熟可靠的方案,并且大部分動態(tài)環(huán)境下視覺SLAM的準確率較差且運行實時效率較低。
在動態(tài)背景環(huán)境下,用深度學(xué)習(xí)算法基于目標環(huán)境檢測主要有兩個大類,分別為:
(1)基于神經(jīng)網(wǎng)絡(luò)候選區(qū)上,分為兩個步驟進行檢測的算法,例如:區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Regions with CNN features,R-CNN)、Fast R-CNN等算法。
(2)基于端到端,只需一個階段就能完成檢測的算法,如:YOLO、YOLOv3等。
本文使用Mask R-CNN算法進行動態(tài)物體的像素進行分割。Mask R-CNN是在R-CNN系列目標檢測模型框架下進行改進的。與Fast R-CNN算法相比,Mask R-CNN用ROI Align替代了ROI Pooling,并增加了全卷積網(wǎng)絡(luò)來產(chǎn)生對應(yīng)分支:分類預(yù)測(class)和分割掩碼(mask)的分支。Mask R-CNN對于每個class類別都一一對應(yīng)一個mask類別,避免了相同類別間的模塊競爭,使算法的檢測性能有了明顯的提升。因此進一步提高了算法的性能與速度。
本文采用ORB-SLAM算法進行特征點提取并在視覺前端部分做出了改進,增加了在動態(tài)環(huán)境下物體識別的分支任務(wù),利用Mask R-CNN算法將環(huán)境中移動人員進行識別,并使用神經(jīng)網(wǎng)絡(luò)對動態(tài)物體進行檢測與剔除,使得SLAM算法能夠處理室內(nèi)動態(tài)場景。最后通過與ORB-SLAM2對比驗證本文算法的精確性與時效性。
1 ?基于Mask R-CNN動態(tài)物體檢測
1.1 ?Mask R-CNN算法
R-CNN是最先運用于目標檢測的一種神經(jīng)網(wǎng)絡(luò)算法。R-CNN算法首先對輸入數(shù)據(jù)選擇若干個提議區(qū)域并對其類目判定和邊界框分別進行有效標注;其次,用卷積神經(jīng)網(wǎng)絡(luò)模型對每一個提議區(qū)前反饋計算選擇特征;最后,再與識別庫中類別進行類目對比和對邊界框劃定。Mask R-CNN在R-CNN系列目標檢測模型框架下進行改進,如圖1所示。Mask R-CNN算法用ROI Align代替了原有的ROI Pooling,同步對分割掩碼的分支進行了有效補充。Mask R-CNN網(wǎng)絡(luò)模型是由輸入數(shù)據(jù)生成其對應(yīng)的候選區(qū)域。開始基礎(chǔ)的特征提取網(wǎng)絡(luò),Mask R-CNN采用殘差網(wǎng)絡(luò)(ResNet)和特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)的組合的方式對輸入數(shù)據(jù)的特征進行提取,輸出經(jīng)過候選區(qū)域網(wǎng)絡(luò)RPN判斷背景進行二值分類并生成候選框,同時生成的候選框通過RoI Align輸出與特征圖中的像素一一對應(yīng),之后的一個分支用于分目的判斷和反饋回歸,另一個分支分割生成mask。
Mask R-CNN定義了一個多任務(wù)的損失函數(shù):
L=Lcls+Lbox+Lmask
其中,Lcls和Lbox為分類誤差和檢測誤差,計算公式為:
Lmask為分割分支的損失,輸入mask分支的每個特征圖經(jīng)過一系列卷積操作后輸出特征圖,Ncls為每維度分類誤差,Nreg為每個維度二值交叉熵函數(shù),pi、pi*為特征圖維度類別,λ為維度系數(shù),ti、ti*為像素值,Lreg為平均二值交叉熵函數(shù),該函數(shù)會對每一個像素進行分類,判斷是否為此類別。本文算法流程圖如圖2所示。
R-CNN具體算法步驟為:
(1)首先將卷積層變換卷積神經(jīng)網(wǎng)絡(luò)的輸出進行輸出,輸出的通道數(shù)記為c,得到一個長度為c的新特征。
(2)以特征圖每個單元為中心,標注每個單元不同大小和畫面比的錨框。
(3)用錨框中心單元長度為c的特征函數(shù)分別預(yù)測該錨框的二元類目和邊界框的范圍。
(4)用非極大值抑制原理,從預(yù)測類別為目標的預(yù)測邊界中剔除相似的特征值。最后輸出的預(yù)測邊界框即興趣區(qū)域池化層所需要的提議區(qū)域。
1.2 ?動態(tài)特征點的判別
本文采用五個相鄰幀去判斷特征點是否為移動目標。對于一個新到的幀,選擇和它重疊區(qū)域最大的先前特征點,數(shù)目為五是為了考慮了計算成本和精度。
計算先前幀的所有特征點到當前幀的對應(yīng)點和投影深度,并計算對應(yīng)點和3D點之間的視差角,如果這個角度大于30度,則認為這個點“堵塞了”,選擇放棄。因為當這個角度大于30度后,視角的不同會導(dǎo)致一些靜態(tài)目標被誤認為是動態(tài)目標。動態(tài)環(huán)境下識別的特征點與動態(tài)特征點軌跡如圖3所示。
計算當前點對應(yīng)投影深度和(RGB-D相機對應(yīng)的深度)之間的重投影誤差,當這個誤差大于門限值時(0.4 m),則認為這個點是動態(tài)點,從而找出動態(tài)目標區(qū)域。從動態(tài)特征點開始在深度圖中進行區(qū)域增長,比較動態(tài)點和鄰居點之間的深度差,如果不超過門限(0.2 m),就認為屬于同一個幾何動態(tài)區(qū)域,將這兩種結(jié)果融合最終得到動態(tài)目標區(qū)域。識別的動態(tài)區(qū)域為實驗員的座椅和手中的書本。
2 ?實驗與分析
為了驗證本文算法的性能,在公開數(shù)據(jù)集進行了兩組數(shù)據(jù)集的對比實驗。實驗的操作系統(tǒng)為Ubuntu16.04,CPU為i5-7300HQ,8 GB內(nèi)存。SLAM系統(tǒng)主要用C++和Python編程語言進行編寫,配置的環(huán)境主要有SciPy、OpenCV2.4.11、Tensorflow1.12.3、Keras2.0.9等。
本實驗使用德國TUM大學(xué)的Computer Vison小組提供的公開視頻數(shù)據(jù)資源作為數(shù)據(jù)集。因為本文研究的是動態(tài)環(huán)境下視覺SLAM,所以選用了rgbd_dataset_freiburg3_long_office_household、freiburg3_walking_xyz具有大量運動篇幅的數(shù)據(jù)集,如圖4所示。
為了對本文視覺SLAM精度進行準確的評估,本文將絕對軌跡誤差(Absolute Trajectory Error,ATE)作為參照依據(jù)。絕對軌跡誤差表示真實軌跡點坐標與SLAM系統(tǒng)定位點坐標的誤差,用兩者的軌跡誤差均方根進行計算:
其中, 為SLAM系統(tǒng)估計的某個相機位姿,xi為對應(yīng)的真實坐標位姿,n為坐標位姿采集次數(shù)。
本文在兩組公開數(shù)據(jù)集下進行了實驗,本文算法視覺SLAM和ORB-SLAM2進行對比實驗。圖中內(nèi)側(cè)黑色線條軌跡表示視覺相機的真實軌跡位姿,外側(cè)虛線線條軌跡表示為SLAM算法估計得到的相機軌跡位姿,中間區(qū)域表示同一時間相機估計位姿與真實位姿之間的位姿誤差距離,可以得出延伸越長以及扇形灰色區(qū)域越大表示誤差越大,位姿估計的準確性越低。最后通過計算ATE來評估系統(tǒng),實驗結(jié)果為:
數(shù)據(jù)集1:freiburg3_long_office_household如圖5所示。
數(shù)據(jù)集2:freiburg3_walking_xyz如圖6所示。
將實驗得到的ATE進行匯總,如表1、表2所示。
3 ?結(jié) ?論
本文將Mask R-CNN深度學(xué)習(xí)網(wǎng)絡(luò)應(yīng)用于動態(tài)環(huán)境下的視覺SLAM中。通過深度神經(jīng)網(wǎng)絡(luò)優(yōu)化視覺前端,使用深度學(xué)習(xí)算法進行動態(tài)物體識別,并能在很大程度上剔除動態(tài)特征點以及動態(tài)區(qū)域中包含的特征點,減少了特征點的誤匹配;最后通過仿真對比試驗表1、2得出,本文算法與ORB-SLAM2算法相比精度提高了96%以上,執(zhí)行速度和原有的ORB-SLAM2算法執(zhí)行速度基本相差不大,精度的提升完全沒有影響到本文算法的執(zhí)行速度。表明了本文SLAM算法在動態(tài)場景下能夠具有較大優(yōu)勢,定位的準確度更高。
參考文獻:
[1] 張文.基于多傳感器融合的室內(nèi)機器人自主導(dǎo)航方法研究 [D].合肥:中國科學(xué)技術(shù)大學(xué),2017.
[2] GRISETTI G,STACHNISS C,BURGARD W. Improved Techniques for Grid Mapping With Rao-Blackwellized Particle Filters [J].IEEE Transactions on Robotics,2007,23(1):34-46.
[3] 石杏喜,趙春霞,郭劍輝.基于PF/CUKF/EKF的移動機器人SLAM框架算法 [J].電子學(xué)報,2009,37(8):1865-1868.
[4] 劉雅彬,陳萬米.融合激光與視覺信息的自主移動機器人的SLAM研究 [J].工業(yè)控制計算機,2015,28(9):70-72+74.
[5] 侯榮波,魏武,黃婷,等.基于ORB-SLAM的室內(nèi)機器人定位和三維稠密地圖構(gòu)建 [J].計算機應(yīng)用,2017,37(5):1439-1444.
[6] SIMONYAN K,ZISSERMAN A. Two-stream convolutional networks for action recognition in videos [C]//Proceedings of the 27th International Conference on Neural Information Processing Systems.Cambridge:MIT Press,2014:568-576.
作者簡介:王偉良(1995.06—),男,漢族,遼寧沈陽人,研究生在讀,研究方向:移動機器人控制技術(shù)。