天天看點

【論文筆記】基于點雲柱面投影圖的平面特征提取SLAM: Fast planar surface 3D SLAM using LIDAR 2017

論文首先将三維點雲投影在了三個平面上得到無直線畸變的投影視圖,然後利用《Fast segmentation of range imagery into planar regions》中的方法對投影圖進行分割得到連通的近似平面子集,使用《Place recognition based on matching of planar surfaces and line segments》中的方法對場景中的平面特征進行表示(高斯不确定性模型),實作了對場景中平面特征的高校提取、表達與比對。

本文提出了可以在大場景下實時運作的SLAM系統,其使用平面表面段(planar surface segments)來表示環境,因為它們在室内和室外城市空間中都很普遍。

本文的三個創新點:

  1. 使用了現有的方法(原本是設計用于RGBD資料),在全景視圖上對點雲進行分割:将點雲劃分為三個雙通道的全景圖上,基于Delaunay三角剖分以及區域合并,實作點雲的2.5D快速分割。
    《Fast pose tracking based on ranked 3D planar patch correspondences》
  2. 利用現有的基于平面分割比對的相對位姿估計模型(《Place recognition based on matching of planar surfaces and line segments》)在點雲全景圖上進行操作,極大地減少了位姿限制計算中outlier的數目,提高了處理速度。
  3. 本文提出了一個基于平面分割段的全局地圖建構方法,減少了地圖表達時需要的平面表面分割段的數目。其減少的原因在于,不同時間獲得的場景觀測會有重疊部分。這些重疊部分在全局地圖中不會形成新的平面分割段。

論文方法

一、局部地圖建構

局部地圖包含了從點雲中提取的planar surface segment(表平面分割段)。

局部圖用于建立全局地圖,并用于計算相對位姿,其可作為SLAM姿态圖中的姿态限制。

1.1 特征提取:Detection of planar surface segments

點雲投影

特征提取過程基于三角化(2D Delaunay triangulation),是以需要對點雲進行合适的2D平面投影。然而,點雲的柱面全景投影視圖中,三維空

間中的直線會發生畸變變成曲線。是以,通過Delaunay三角剖分法獲得的三角形應用于這種投影實際上并不表示三角表面。

作者的方法是将點雲分别投影在三個平面上,得到三個雙通道的柱面投影圖:

【論文筆記】基于點雲柱面投影圖的平面特征提取SLAM: Fast planar surface 3D SLAM using LIDAR 2017

這樣每個點雲經過投影後會有三個圖像坐标(ui,vi),i=1,2,3:

x i = − s n ( i ) Z + c n ( i ) X y i = Y z i = c n ( i ) Z + s n ( i ) X u i = f u x i z i + u c v i = f v y i z i + v c \begin{array}{l} x_{i}=-s_{n}(i) Z+c_{n}(i) X \\ y_{i}=Y \\ z_{i}=c_{n}(i) Z+s_{n}(i) X \\ u_{i}=f_{u} \frac{x_{i}}{z_{i}}+u_{c} \\ v_{i}=f_{v} \frac{y_{i}}{z_{i}}+v_{c} \end{array} xi​=−sn​(i)Z+cn​(i)Xyi​=Yzi​=cn​(i)Z+sn​(i)Xui​=fu​zi​xi​​+uc​vi​=fv​zi​yi​​+vc​​

其中: s n = { 0 , sin ⁡ ( 2 π / 3 ) , − sin ⁡ ( 2 π / 3 ) } , c n = { 1 , cos ⁡ ( 2 π / 3 ) , cos ⁡ ( 2 π / 3 ) } s_{n}=\{0, \sin (2 \pi / 3),-\sin (2 \pi / 3)\}, \\ c_{n}=\{1, \cos (2 \pi / 3), \cos (2 \pi / 3)\} sn​={0,sin(2π/3),−sin(2π/3)},cn​={1,cos(2π/3),cos(2π/3)}

最後對每個點,取其圖像坐标滿足 u i > = 0 , u i < = u max ⁡ , v i > = 0 , 且 v i < = v max ⁡ u_{i}>=0, u_{i}<=u_{\max }, v_{i}>=0,且v_{i}<=v_{\max } ui​>=0,ui​<=umax​,vi​>=0,且vi​<=vmax​的一個作為在三個投影圖中最終的所在投影圖。

這樣就得到了三個點雲的2.5D投影圖。

投影圖分割

使用《Fast segmentation of range imagery into planar regions》中提出的分割合并算法對對投影圖進行分割得到連通的近似平面子集。其中分割合并算法由疊代Delaunay三角剖分方法和區域合并組成。得到的表平面分割段用于SLAM系統中的環境表達和軌迹估計:

【論文筆記】基于點雲柱面投影圖的平面特征提取SLAM: Fast planar surface 3D SLAM using LIDAR 2017

支撐平面分割段的平面的參數由分割段的支撐點(supporting points)與平面之間的最小二乘拟合來确定。

每個平面分割段都配置設定有一個支撐點集合的中心原點,以及一個與支撐平面平行的Z軸正方向。支撐平面的x,y軸由支撐點集的協方差矩陣的特征值決定。此外,每個平面分割段還配置設定有一個參考幀S_F,用于後續的表面分割段比對以及基于EKF的位姿估計。

1.2 特征表達:Representation of planar surface segments

表平面分割段的表示方法與論文**《Place recognition based on matching of planar surfaces and line segments》**中的相同,即用一系列的2D多邊形來表示。每個2D多邊形是根據3D支撐平面以及内點、外點的數目來決定的:

( F n ) T ⋅ F p = F ρ \left({ }^{F} n\right)^{\mathrm{T}} \cdot{ }^{F} p={ }^{F} \rho (Fn)T⋅Fp=Fρ

上式一共有三項,第一項代表 表平面分割段的參考平面S_F的機關法向量。第二項代表 S_F中的任意一點, 第三項代表參考平面S_F的原點,

支撐平面的參數是根據三個随機變量建構的擾動向量 q = [ s x , s y , r ] T q=\left[s_{x}, s_{y}, r\right]^{\mathrm{T}} q=[sx​,sy​,r]T來描述的,這三個變量描述了真實平面參數與被測平面參數的偏差。理想情況下,被測平面與真實平面相同,真實平面的法向量與S_F的z軸坐标相同,是以 F n = [ 0 , 0 , 1 ] T ,  while  F ρ = 0 { }^{F} n=[0,0,1]^{\mathrm{T}}, \text { while }{ }^{F} \rho=0 Fn=[0,0,1]T, while Fρ=0.

在實際情況中,使用上述三個随機變量來表述真實平面的法向量與S_F的z軸之間的偏差。

【論文筆記】基于點雲柱面投影圖的平面特征提取SLAM: Fast planar surface 3D SLAM using LIDAR 2017

随機變量r代表真實平面與S_F原點的距離: F ρ i , j = r { }^{F} \rho_{i, j}=r Fρi,j​=r

真實平面的機關法向量可以表示為:

F = 1 s x 2 + s y 2 + 1 [ s x s y 1 ] T F=\frac{1}{\sqrt{s_{x}^{2}+s_{y}^{2}+1}}\left[\begin{array}{lll}s_{x} & s_{y} & 1\end{array}\right]^{\mathrm{T}} F=sx2​+sy2​+1

​1​[sx​​sy​​1​]T

論文使用高斯不确定性模型,其中擾動矢量q以0均值和協方差矩陣∑q為正态分布。 協方差矩陣Σ是對角矩陣,方差為 σ s x 2 , σ s y 2 \sigma_{s x}^{2}, \sigma_{s y}^{2} σsx2​,σsy2​ and σ r 2 \sigma_{r}^{2} σr2​

最終從點雲P_L中提取出的表平面分割段F可以表示為:

F = ( F R , F t , Σ q , Σ p ) , 前 兩 項 是 S F 與 點 雲 位 姿 P L 之 間 的 相 對 位 姿 變 換 , F=\left({ }^{F} R,{ }^{F} t, \quad \Sigma_{q}, \quad \Sigma_{p}\right),\\ 前兩項是S_F與點雲位姿P_L之間的相對位姿變換, F=(FR,Ft,Σq​,Σp​),前兩項是SF​與點雲位姿PL​之間的相對位姿變換,

對于在第j個local map中的第i個平面分割段,記為:

F i , j = ( F R i , j , F t i , j , Σ q i , j , Σ p i , j ) F_{i, j}=\left({ }^{F} R_{i, j},{ }^{F} t_{i, j}, \Sigma_{q_{i, j}}, \Sigma_{p_{i, j}}\right) Fi,j​=(FRi,j​,Fti,j​,Σqi,j​​,Σpi,j​​)

有關特征提取和表達部分的實驗結果:

【論文筆記】基于點雲柱面投影圖的平面特征提取SLAM: Fast planar surface 3D SLAM using LIDAR 2017
【論文筆記】基于點雲柱面投影圖的平面特征提取SLAM: Fast planar surface 3D SLAM using LIDAR 2017

繼續閱讀