泡泡圖靈智庫,帶你精讀機器人頂級會議文章
標題:Leveraging Planar Regularities for Point Line Visual-Inertial Odometry
作者:李鑫 Yijia He; etc.
來源:arxiv 2020
編譯:鄭帥康
審核:wanyc
提取碼: xwpf
這是泡泡圖靈智庫推送的第 479 篇文章,歡迎個人轉發朋友圈;其他機構或自媒體如需轉載,後臺留言申請授權
大家好,今天為大家帶來的文章是 --Leveraging Planar Regularities for Point Line Visual-Inertial Odometry
該文章發表於arxiv 。
利用單目VIO可以同時估計三維點雲和攝像機運動。由於純稀疏的三維點提供了環境的無結構表示,從稀疏點生成三維網格可以進一步建模環境拓撲並生成稠密地圖。為了提高三維網格生成和定位的精度,我們提出了一種緊耦合的單目VIO系統,該系統利用點特徵、線特徵以及平面規則。在狀態估計器中,共面約束被用來利用額外的結構信息來更精確地估計三維點和空間線。為了對平面和三維網格進行魯棒性檢測,我們將檢測方法中的線特徵和點特徵結合起來。在合成數據和公共數據集上驗證了該方法的有效性,並與其他先進算法進行了比較。
1)提出了一種非迭代的平面檢測方法和基於稀疏點和空間線的3D網格生成方法。相比於只利用稀疏點的方法,該方法可以提高正確率和魯棒性。
2)開發的單目VIO系統利用多層次的特徵,包括點、線、面以及平面約束。豐富的特徵和空間約束可以提高估計精度和魯棒性。
本PLP-VIO方案基於將線特徵添加到Vins-Mono構成的PL-VIO系統。首先對2D點線特徵三角化得到3D地圖路標。其次利用3D路標生成平面和3D網格,以及提取路標的共面約束。然後通過滑動窗口優化,最小化IMU殘差、視覺重投影殘差和共面約束殘差,對IMU的姿態和地圖3D路標進行優化。最後剔除無效平面,如果該平面上有效的點線特徵少於30,則剔除該平面和該約束。
點特徵利用歸一化相機坐標和逆深度表示;線特徵利用Plucker坐標表示,包含線段在相機系下方向向量和由線和相機中心構成平面的法向量;平面特徵利用其世界系下法向量以及到原點的距離表示,由於法向量只有兩個自由度,故在正切空間上優化。
由於直接利用3D稀疏地標生成3D網格比較困難,我們採取的策略是在關鍵幀上利用2D Delaunay三角剖分對點和線特徵網格化。相比於一般剖分,我們保留線段的邊緣以利用結構化信息。由於是從2D觀測上進行的剖分,可能出現無效的網格,濾除策略為:如果3D三角網格在一個平面上,則至少有兩個臨近的網格他們之間法向量夾角小於一定值;另外,3D三角網格不應該是尖銳的三角形,可以利用長徑比和內角大小判斷。我們在滑動窗口上維護3D網格地圖的更新。當三維點和線被邊緣化時,相關聯的網格將被固定。考慮到直線端點檢測的不穩定性,我們不直接在幀之間傳播網格,而是在每一幀上檢測網格並將其合併到局部地圖中。網格融合是通過在滑動窗口中將當前的3D三角形網格片與之前的網格片進行比較,並去除重複的。如果狀態估計器沒有提供任何可能在快速旋轉時發生的3D點或線,則不會生成3D網格。
在場景中得到3D網格後,我們可以從這些三角形格片和空間線條中檢測出平面,如圖4所示。與只使用三角形格片或只使用直線相比,同時使用三角形格片和所有空間線來檢測平面不僅更適合點豐富的場景,也更適合無紋理的場景。在平面檢測前,對三角格片和空間線進行有效的劃分。我們將平面劃分為水平、垂直和其他類型的平面。水平和垂直劃分可利用IMU檢測的重力向量判斷。對於水平平面,尋找垂直於重力的格片和直線,然後建立他們的高度直方圖。直線的權重為點權重的4倍,然後進行局部最大值抑制,最後提取出直方圖局部最大值對應的平面,並且大於閾值。對於豎直平面,建立關于格片和直線的方位角和距離的二維直方圖,並選取候選平面。對於其他平面不再進行檢測,對於結構化環境影響不大。當平面的參數非常接近時則合併他們,當3D點接近平面時則合併到平面。滑動窗口優化後的孤立點線形成的網格將被剔除。
本VIO系統在滑窗中的狀態量包括IMU狀態,點特徵深度,3D線路標,平面狀態等。定義如下:
其中rp為先驗,rb為IMU殘差,rf為點投影誤差,rL為線投影誤差,h表示點線在面約束。
點在歸一化像平面的測量誤差為:
線段誤差通常採用端點到投影像平面中線的距離表示,但同一空間線在不同坐標系下的觀測結果卻有不同的長度。因此,我們用線段長度作為我們的線重投影殘差來歸一化這個距離,s和e表示端點,n為法向量:
共面約束定義為3D路標到平面的距離,其中線路標還具有方向向量與平面法向量正交的關係:
實驗對比基於VINS-Mono擴展的不同層次特徵的方案,P,PP,PL,PLP分別代表點、點面、點線、點線面。評估絕對和相對位姿誤差。
合成方形四面圍牆的點線特徵,相機640*480像素,在特徵點線端點加上高斯白噪聲。地圖誤差是指真實三維位置與我們估計的位置之間距離的均方根誤差。結果表明,共面約束可以提高軌跡精度,而我們提出的PLP優於比較方法。對於地圖質量,可以看出PL中最大的地圖誤差是由於直線端點的三角剖分不準確造成的。而平面約束可以有效提高直線的精度和地圖結果。
PLP可以提高PL對所有序列的性能,但PP不一定對P有效。這說明僅使用稀疏點特徵來檢測平面有時會帶來不正確的結構信息,引入直線可以提高平面檢測的精度。此外,我們的方法使用所有點、線和面特徵,在除V1 02以外的所有序列上實現最小的平移誤差。因為此序列紋理豐富,僅使用點特徵已經很好,誤匹配的線可能降低精度。
在網格重構過程中,直線給出了更好的結構信息,尤其是對於沒有紋理的物體,如圖9中紅線標記的大框物體,PLP給出了比P更完整的稠密圖。此外,PLP的平均距離誤差(2.8cm)也低於P(3.6cm)得益於平面的規律性。
我們的非迭代方法有效地檢測出了平面並創建了網格,運行時間在2ms以下。優化和邊緣化的時間成本只增加了幾毫秒。這是因為採用了Schur補技巧來加速求解器,並且滑動窗口中的面數(5)和線數(30)比點數(200)要少。
Abstract
With monocular Visual-Inertial Odometry (VIO) system, 3D point cloud and camera motion can be estimated simultaneously. Because pure sparse 3D points provide a structureless representation of the environment, generating 3D mesh from sparse points can further model the environment topology and produce dense mapping. To improve the accuracy of 3D mesh generation and localization, we propose a tightlycoupled monocular VIO system, PLP-VIO, which exploits point features and line features as well as plane regularities. The coplanarity constraints are used to leverage additional structure information for the more accurate estimation of 3D points and spatial lines in state estimator. To detect plane and 3D mesh robustly, we combine both the line features with point features in the detection method. The effectiveness of the proposed method is verified on both synthetic data and public datasets and is compared with other state-of-the-art algorithms.
如果你對本文感興趣,想要下載完整文章進行閱讀,可以關注【泡泡機器人SLAM】公眾號。
點擊閱讀原文, 提取碼:xwpf,即可獲取本文下載連結。
歡迎來到泡泡論壇,這裡有大牛為你解答關於SLAM的任何疑惑。
有想問的問題,或者想刷帖回答問題,泡泡論壇歡迎你!
泡泡網站:www.paopaorobot.org
泡泡論壇:http://paopaorobot.org/bbs/
泡泡機器人SLAM的原創內容均由泡泡機器人的成員花費大量心血製作而成,希望大家珍惜我們的勞動成果,轉載請務必註明出自【泡泡機器人SLAM】微信公眾號,否則侵權必究!同時,我們也歡迎各位轉載到自己的朋友圈,讓更多的人能進入到SLAM這個領域中,讓我們共同為推進中國的SLAM事業而努力!
商業合作及轉載請聯繫liufuqiang_robot@hotmail.com