LR:HDMI-Loc

Abstract

HDMap: 矢量的地圖git

咱們用立體相機roadmark.算法

咱們引入了路信息8-bit 表示.優化

現狀 現存的方法沒有徹底的利用地圖信息, 只是估計了部分pose.spa

咱們展示了6DOF的定位, 用了立體相機.3d

咱們利用了粒子濾波和一個6DOF的優化器. 平均偏差在 - 0.3m,.orm

1. Introduction

A. 2D Digital Map-based Localization

低精度的航拍圖向量的2D圖.blog

[3] 用航拍圖提取的roadmark和poles做爲路標. Pole狀的特徵從LiDAR點雲中提取, roadmark像箭頭, 中止線和人行道用圖像檢測. 而後用這些估計位姿.it

[4] 用SVM(Support Vector Machine) 來定義車道線像素, marking是用canny edge來檢測, 而後估計了每一個marking的中心, 最後經過匹配車道線和航拍圖的中心來估計位姿.io

[6] 用了航拍圖提取的牆的方向來修正航向角.class

[7] 用了2D數字地圖來存儲建築

B. 3D Pointcloud Map-Based Localization

[9] 用點雲的廣度信息來估計位姿.

[10] 用NMI(Normalized互信息).

[11] 用立體相機和3D地圖來定位.

C. HD Map-based Localization

Naver Labs 的地圖11x11km的須要17Mbyte.

2. Proposed Method

用了[13]的矢量地圖.

  1. 從立體相機得到視差圖語義label.

  2. 把hdmap從shapefiles轉船成8-bit圖.

  3. 用粒子濾波估計4DOF(3DOF和平移和yaw)的位姿. 經過圖像匹配和全局HDmap圖. query的patch和全局HDMap圖都是8-bit圖, 因此能夠用與計算. 最後在非線性優化在算6DOF.

B. Pre-processing and 8-bit Representation

在匹配前, 咱們把HDMap向量數據->8-bit表示, 叫作tile, 保存在圖像.

1. HDMap -> 8 bit image tile

咱們把上圖的shapefile進行轉化. 第1/2/3 bit表示lane, stop lines, 和signs.

上圖一個塊就是一個tile. 每一個像素都是以8-bit表示, 每一個bit表示一個label.

2. Search Tree for HD Map Tiles

有一個HDMap中心樹, 這個中心數是由每一個tile的中心組成的.

3. Stereo Image to Labeled Pointcloud

4. Labeled Pointcloud to Subpatch

咱們經過投影有類別的點雲(從立體相機)到z平面(鳥瞰投影). 這個8-bit圖像表示叫作subpatch, 最後會組合成一個patch.

一個patch有 \(l_{patch}\) (5) 個序列的 subpatch.

C. Patch Maintenance

1. Patch Update

投影方程:

\[^{p_{0}} P=\pi_{0}\left({ }^{G} P_{S, t}\right) \]

它把全局座標系裏的點雲投影到了圖像座標(z-plane). 投影的結果包含圖像座標和label信息: \(^{p_{0}} P^{(k)}=\left\{u^{(k)}, v^{(k)}, l^{(k)}\right\}\)

2. Patch Selection

...

D. Bitwise Particle Filter

\(\overline{\mathbf{T}}_{V}^{G}\) : 表示最終優化的位姿

\(\mathbf{T}_{V}^{G}\) : 里程計的推算位姿

粒子濾波 有三個狀態量(\(t_x, t_y, r_z\)).

1. Partical Re-sampling

\[n_{\text {particle}}=\min \left(n_{\min } \frac{l_{\max }}{n_{\text {patch}} \cdot l_{\text {patch}}}, n_{\max }\right) \]

2. Partical Prediction

3. Candidate Tileset Creation

4. Particle Weight Update

粒子權重會根據bit-wise的匹配分數來更新.

對於匹配, patch圖像 (\(I_{p_i}\))是經過 粒子位姿\(\hat{\theta}_{p_{i}}\)和里程計位姿\(\theta_{p_i}\) 來旋轉的 ---- 繞着 patch圖的中心點 \(c_{p_i}\)

\[\hat{I}_{p_{i}}=t\left(\mathbf{c}_{p_{i}}\right) r\left(\hat{\theta}_{p_{i}}-\theta_{p_{i}}\right) t\left(-\mathbf{c}_{p_{i}}\right) I_{p_{i}} \]

給定global HDMap tile圖\(I_G\) 和 patch圖 \(\hat{I_{p_I}}\) , 咱們作了AND操做:

\[I_{M, p_{i}}=\operatorname{AND}\left(I_{G}, \hat{I}_{p_{i}}\right) \]

粒子的權重是用上式更新的.

5. Pose and Height Estimation

在更新粒子的權重以後, 最後的車輛位姿是用更新後的權重估計的. top 3% 的粒子的平均pose是最終的pose估計.

由於粒子濾波使用裏2D圖像匹配, 只有 \(t_x, t_y, r_z\) 能夠用這個方法計算. 全局高度(\(t_z\))是用HDMap的高度信息更新的.

E. Optimization

最後的優化處理了roll和pitch.

從點雲得到平面方程會被轉換到車輛座標, 用RANSAC算法.

\[V_{\mathbf{n}_{t}}=\left\{{ }^{V} n_{t, x},{ }^{V} n_{t, y},{ }^{V} n_{t, z},{ }^{V} d_{t}\right\} \]

\[$r_{x}^{*}, r_{y}^{*}=\underset{r_{x}, r_{y}}{\operatorname{argmin}} \sum_{k=0}^{N}\left({ }^{V} \mathbf{n}_{t} \cdot{ }^{V} P_{m a p}^{(k)}\right)$ \]

3. Experimental Results

..

4. Conclusion

沒啥.

本站公眾號
   歡迎關注本站公眾號,獲取更多信息