基于相交线的立体平面SLAM
點云PCL免費知識星球,點云論文速讀。
標題:Stereo Plane SLAM Based on Intersecting Lines
作者:Xiaoyu Zhang, Wei Wang*, Xianyu Qi and Ziwei Liao
來源:分享者
代碼:https://github.com/fishmarch/Stereo-Plane-SLAM.git
歡迎各位加入免費知識星球,獲取PDF論文,歡迎轉發朋友圈分享快樂。
論文閱讀模塊將分享點云處理,SLAM,三維視覺,高精地圖相關的文章。公眾號致力于理解三維視覺領域相關內容的干貨分享,歡迎各位加入我,我們一起每天一篇文章閱讀,開啟分享之旅,有興趣的可聯系微信dianyunpcl@163.com。
摘要
平面特征是SLAM系統中減小漂移誤差的一種穩定標志。從密集點云中提取平面是一種簡單、快速的方法,常用于RGB-D相機或激光雷達。但是對于立體相機來說,密集點云的精確高效計算是一個難點。本文提出了一種從立體圖像中提取相交線計算平面參數的新方法。平面特征普遍存在于人造物體和構筑物的表面,具有規則的形狀和直線的線條。在三維空間中,兩條相交的直線可以確定這樣一個平面。因此,我們從立體左、右圖像中提取直線段。通過立體匹配,計算出三維空間中的端點和直線方向,進而計算出平面。在立體SLAM系統中加入這樣的計算平面特征可以減小漂移誤差,提高系統性能。我們在公共數據集上測試了我們提出的系統,并與最先進的SLAM系統進行了比較,證明了它的魯棒性和精確性。
主要內容
本文提出了一種從立體圖像中計算平面特征的新方法。平面特征普遍存在于人造物體和結構的表面。這些平面通常有規則的形狀和直線。在三維空間幾何中,兩條相交的直線可以確定一個平面。因此,用直線來計算平面特征是合理和可行的。立體匹配可以從立體圖像中計算出三維直線[4]。計算平面特征的示例如圖1所示。與直接使用線特征相比,平面特征避免了復雜的參數化,實現了簡單而穩健的數據關聯。此外,平面也是更精確的地標,計算平面特征的過程也起到了濾除不精確線段的作用。
綜上所述,我們的貢獻如下:
?一種基于相交線的立體圖像平面特征計算方法。
?使用提取點和計算平面的立體SLAM系統。
?在公共數據集上進行評估,系統得到了穩健和準確的估計結果,并實現了先進的性能。
相交線提取平面特征
本節主要介紹平面特征的計算方法。我們首先從兩幅立體圖像中提取線段。通過匹配直線段及其端點,計算直線端點和方向向量的三維位置。然后我們檢查它們的位置,找出相交的線。最后,我們計算了平面參數
A?符號說明
我們將平面表示為p=(n^T,d)^T,其中n=(nx;ny;nz)^T是表示平面方向的單位法向量,d是平面到原點的距離。我們使用常用的形式Tcw屬于se(3)來表示相機的姿勢,p=(x,y,z,1)^T來表示點。因此,Tcw*pi_w將三維點從世界變換到攝影機坐標系,而Tcw^-T*pw將平面從世界變換到攝影機坐標系,對于直線,我們只記錄它們的端點(ps;pe)和單位方向向量nl,這足以計算平面特征。
B?線段檢測和計算
立體相機的幀由左圖像和右圖像組成。使用線段檢測器(LSD)從兩幅立體圖像中提取線段,并用LBD描述子進行匹配。在一幀立體圖像中,直線匹配具有足夠的精確性和魯棒性。如圖2(a)所示,以不同的顏色繪制線段,并且在Il和Ir中匹配的線段是相同的顏色。對于左圖像Il中的每一個匹配線段,假設它們在立體幀中的行位置不變,在右圖像Ir中找到其端點的對應點。如圖2(b)所示,匹配的端點通過橫線連接。為了清晰起見,只繪制那些成功計算平面特征的端點。根據端點的立體匹配,基于視差delta_u計算出它們的3D位置p。線方向n_l也由其兩個端點(pe?ps)定義
C?線段計算
在計算平面特征之前,需要檢查直線之間的關系。在三維空間幾何中,相交線或平行線位于同一平面上。然而,對于平行線,很難判斷它們是否是從同一個真實平面提取的,因此由它們計算的平面容易帶來較大的誤差。因此,只計算相交線的平面。為了快速檢查相交線,發現滿足以下條件的直線:
?兩條直線之間的角度大于閾值(在實驗中為10°)
?它們的中心點之間的距離小于直線長度。
? 這兩條直線的四個端點位于同一平面上。
中心點pc由直線端點ps和pe計算。從前兩個條件中,實際上找到了那些緊密的線段用線方向向量的叉乘來計算平面法向量。
利用平面法向量n_pi和四個端點p_k(k=1,2,3,4),計算四個不同的平面系數d_k:
面與面之間的距離為
如果D小于閾值(在實驗中為5cm),這兩條線滿足第三個條件,并且計算了平面系數pi,這里是d_k的算術平均值。有時計算的平面可能不是場景中的真實平面,例如門框線的平面。但是這樣的平面也足夠穩定,并且提供了精確的約束,因此我們將它們視為真實平面。在這些條件下,我們首先計算盡可能多的平面,稍后檢查計算的平面并刪除無效平面。
基于檢測平面的SLAM系統
點和平面都被用作地標,并在我們的SLAM系統中得到優化。因為平面特征通常不能完全約束攝像機的姿態。我們的系統基于公開提供的ORB-SLAM stereo版本,其中包括特征跟蹤和捆綁調整優化。
A、 系統概述
提出的SLAM系統的流程如圖3所示。它可以分為幀處理、跟蹤和建圖三個部分。還沒有添加回環檢測部分,因為平面特征現在只對相機姿態跟蹤有幫助。
在立體相機處理中,我們從左右圖像中提取特征點和線段,并基于描述子對這些特征進行匹配。然后我們可以使用上述方法計算平面特征。在跟蹤過程中,根據匹配的特征估計出攝像機的每個姿態。首先在最后一個關鍵幀對攝像機姿態進行估計,然后在局部地圖上進行優化。從關鍵幀創建地圖點和平面并將其保存在地圖中。為了獲得更精確的估計,進行了局部地圖優化。
B、 優化公式
SLAM通常被描述為一個非線性最小二乘優化問題,而捆集平差法(BA)通常用于點特征。和點一樣我們的系統設計了平面特征的優化公式。在我們的SLAM系統中,我們將攝像機的姿態、點特征和平面特征分別表示為C,P,L,則優化問題可以表述為:
e分別表示攝像機位姿、攝像機平面的測量誤差。S是相應的協方差矩陣。優化問題可以用g2o中的LevenbergMarquardt或Gauss-Newton法求解
C、測量誤差
1) 攝像機位姿點誤差:在我們的系統中,我們使用標準的重投影誤差來測量攝像機位姿。
這里Tcw是攝像機的姿態,pw是世界坐標系中的點參數,uc是觀測到的像素,r是將3D點投影到圖像上的攝像機模型。在優化中,攝像機姿態Tcw被映射到李代數x屬于se(3)。
2)相機平面特征誤差:由于三維平面只有三個自由度,因此pi參數化過多。因此,需要額外的約束來保證平面法向量的單位長度,在優化中增加了額外的計算量。為了克服這個問題,在優化中使用平面t的最小化參數,其中?括號里分別是平面法線的方位角和仰角:
所以我們定義最小化參數的測量誤差方程:
這里pw是世界坐標系中的平面參數,pc是相機坐標系中的平面觀測值。相機平面誤差測量的是平面地標與其在相機坐標系中的相應觀測值之間的距離。
實驗
使用兩個流行的公共數據集來評估提出的SLAM系統:EuRoC數據集和KITTI vision benchmark。這兩個數據集都提供立體圖像。所有的實驗都在一臺筆記本電腦上運行,它有 i7-7700HQ 2.80 GHz CPU, 16GB RAM, 沒有GPU.
比較了不同SLAM系統的估計結果。這里我們使用絕對平移均方根誤差(RMSE)來評估估計結果
EuRoC數據集與ORB_SLAM2的軌跡比較
EuRoC數據集構建的點云及平面地圖
KITTI數據集其一軌跡比較
KITTI數據集的地圖構建結果
總結
提出了一種從立體圖像中計算平面特征的新方法。許多以前的工作已經證明了在SLAM系統中添加平面特征的好處,但大多數都是針對RGB-D相機的。在本文中,我們根據兩條相交線決定一個平面的事實,從立體圖像中計算平面特征。在進一步的驗證之后,將計算出的平面加入到我們的立體SLAM系統中。我們給出了兩個公共數據集的實驗結果,證明了系統的準確性和魯棒性。
從實驗結果來看,我們的系統明顯優于目前最先進的基于特征點的SLAM系統。與基于線的SLAM系統相比,我們的系統也得到了可比的結果。平面計算濾除了這些不精確的線段,并添加了穩定的約束來估計攝像機的姿態。從構建的地圖中,發現一些不精確的平面特征仍然存在,這給數據關聯帶來了很大的挑戰。未來,我們將對平面計算和檢查方法進行改進,以獲得更精確、更穩健的平面特征。此外,我們還需要一個更健壯的數據關聯算法,消除估計誤差的影響。
資源
三維點云論文及相關應用分享
【點云論文速讀】基于激光雷達的里程計及3D點云地圖中的定位方法
3D目標檢測:MV3D-Net
三維點云分割綜述(上)
3D-MiniNet: 從點云中學習2D表示以實現快速有效的3D LIDAR語義分割(2020)
win下使用QT添加VTK插件實現點云可視化GUI
JSNet:3D點云的聯合實例和語義分割
大場景三維點云的語義分割綜述
PCL中outofcore模塊---基于核外八叉樹的大規模點云的顯示
基于局部凹凸性進行目標分割
基于三維卷積神經網絡的點云標記
點云的超體素(SuperVoxel)
基于超點圖的大規模點云分割
更多文章可查看:點云學習歷史文章大匯總
SLAM及AR相關分享
【開源方案共享】ORB-SLAM3開源啦!
【論文速讀】AVP-SLAM:自動泊車系統中的語義SLAM
【點云論文速讀】StructSLAM:結構化線特征SLAM
SLAM和AR綜述
常用的3D深度相機
AR設備單目視覺慣導SLAM算法綜述與評價
SLAM綜述(4)激光與視覺融合SLAM
Kimera實時重建的語義SLAM系統
SLAM綜述(3)-視覺與慣導,視覺與深度學習SLAM
易擴展的SLAM框架-OpenVSLAM
高翔:非結構化道路激光SLAM中的挑戰
SLAM綜述之Lidar SLAM
基于魚眼相機的SLAM方法介紹
往期線上分享錄播匯總
第一期B站錄播之三維模型檢索技術
第二期B站錄播之深度學習在3D場景中的應用
第三期B站錄播之CMake進階學習
第四期B站錄播之點云物體及六自由度姿態估計
第五期B站錄播之點云深度學習語義分割拓展
第六期B站錄播之Pointnetlk解讀
[線上分享錄播]點云配準概述及其在激光SLAM中的應用
[線上分享錄播]cloudcompare插件開發
[線上分享錄播]基于點云數據的?Mesh重建與處理
[線上分享錄播]機器人力反饋遙操作技術及機器人視覺分享
[線上分享錄播]地面點云配準與機載點云航帶平差
點云PCL更多活動請查看:點云PCL活動之應屆生校招群
掃描下方微信視頻號二維碼可查看最新研究成果及相關開源方案的演示:
如果你對本文感興趣,請點擊“原文閱讀”獲取知識星球二維碼,務必按照“姓名+學校/公司+研究方向”備注加入免費知識星球,免費下載pdf文檔,和更多熱愛分享的小伙伴一起交流吧!
以上內容如有錯誤請留言評論,歡迎指正交流。如有侵權,請聯系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關注我們
讓我們一起分享一起學習吧!期待有想法,樂于分享的小伙伴加入免費星球注入愛分享的新鮮活力。分享的主題包含但不限于三維視覺,點云,高精地圖,自動駕駛,以及機器人等相關的領域。
分享及合作方式:群主微信“920177957”(需要按要求備注) 聯系郵箱:dianyunpcl@163.com,歡迎企業來聯系公眾號展開合作。
點一下“在看”你會更好看耶
總結
以上是生活随笔為你收集整理的基于相交线的立体平面SLAM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速精确的体素GICP三维点云配准算法
- 下一篇: Open3d学习计划—高级篇 7(颜色映