Abstract
HDMap: 矢量的地图
我们用立体相机 和 roadmark.
我们引入了路信息 的8-bit 表示.
现状 现存的方法没有完全的利用地图信息, 只是估计了部分pose.
我们展现了6DOF的定位, 用了立体相机.
我们利用了粒子滤波和一个6DOF的优化器. 平均误差在 - 0.3m,.
1. Introduction
A. 2D Digital Map-based Localization
低精度的航拍图和向量的2D图.
[3] 用航拍图提取的roadmark和poles作为路标. Pole状的特征从LiDAR点云中提取, roadmark像箭头, 停止线和人行道用图像检测. 然后用这些估计位姿.
[4] 用SVM(Support Vector Machine) 来定义车道线像素, marking是用canny edge来检测, 然后估计了每个marking的中心, 最后通过匹配车道线和航拍图的中心来估计位姿.
[6] 用了航拍图提取的墙的方向来修正航向角.
[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]的矢量地图.
-
从立体相机获得视差图和语义label.
-
把hdmap从shapefiles转船成8-bit图.
-
用粒子滤波估计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
投影方程:
它把全局坐标系里的点云投影到了图像坐标(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
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}\)
给定global HDMap tile图\(I_G\) 和 patch图 \(\hat{I_{p_I}}\) , 我们做了AND操作:
粒子的权重是用上式更新的.
5. Pose and Height Estimation
在更新粒子的权重之后, 最后的车辆位姿是用更新后的权重估计的. top 3% 的粒子的平均pose是最终的pose估计.
因为粒子滤波使用里2D图像匹配, 只有 \(t_x, t_y, r_z\) 可以用这个方法计算. 全局高度(\(t_z\))是用HDMap的高度信息更新的.
E. Optimization
最后的优化处理了roll和pitch.
从点云获得平面方程会被转换到车辆坐标, 用RANSAC算法.
3. Experimental Results
..
4. Conclusion
没啥.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步