【自动驾驶】Submap总结

大规模建图优化问题

使用图像或雷达扫描点云帧序列完成大规模三维重建,如城市规模三维重建,将全局环境地图分割为submap(子地图),"各个击破"------逐一优化每个子地图,并优化子地图间关联关系,如相对位姿优化调整。

Ni Kai等人提出的主要流程:a. 消除每个submap内部的优化变量,只保留submap之间的变量 b. 优化submap之间的变量 c. 优化每个submap内部的变量。问题中变量是指传感器位姿和地图点坐标等。引入"局部坐标系",submap内部变量用基础节点(base node,笔者理解为根据submap设定的局部坐标系)表达相对坐标,submap之间优化通过调整基础节点实现,使得submap整体发生很大变化,但内部变量无需改变。

  1. 分割submap在工程上具体操作是什么?
    形如切豆腐,分割后一个几何空间中的路标点和相机位姿组成一个submap。
  2. submap间的约束如何构建?
    如使用重投影约束,子地图 A中某陆标点 X A \bold X_A XA(坐标为A对应的局部坐标系)被B中的相机观测到,可据此构建submap间的重投影约束。Ni Kai的方法以基础节点的姿态与位置参数为优化参数,间接改变陆标点坐标和相机的位姿参数,以优化重投影误差:该陆标点在B相应局部坐标系下的表达,

X B = R W B − 1 [ ( R W A X A + t W A ) − t W B ] \bold X_B=R_{WB}^{-1}[(R_{WA}\bold X_A+t_{WA})-t_{WB}] XB=RWB−1[(RWAXA+tWA)−tWB]

则在相机坐标系下的表达,
X C = R C B X B + t C B \bold X_C=R_{CB}\bold X_B+t_{CB} XC=RCBXB+tCB

其中, t C B t_{CB} tCB 为相机坐标系下B相应局部坐标系的原点坐标, R C B R_{CB} RCB为相机坐标系下B相应局部坐标系的姿态变换矩阵;陆标点在待投影相机的坐标系下表示为 X C \bold X_C XC,投影方程表达如下,
π ( X C ) = [ f u X C Z C + c u f v Y C Z C + c v ] \pi(\bold X_C)=\left[\begin{array}{ccc}f_u\frac{X_C}{Z_C}+c_u\\ f_v\frac{Y_C}{Z_C}+c_v\end{array}\right] π(XC)=[fuZCXC+cufvZCYC+cv]

设图像检测得同名点为 x x x,则重投影误差为,
e = ∣ ∣ x − π ( X C ) ∣ ∣ e=||x-\pi(\bold X_C)|| e=∣∣x−π(XC)∣∣

大规模点云地图可视化问题

大规模点云地图的点云数量一般为10的6+次方量级,直接而全部加载对内存大小要求高, 空间尺度大,不便于快速变换视角,为便于可视化,提高查看效率,可将原始点云按网格分组,如以20m见方将点云分划为不同的submap,可视化"缩略地图",每个submap以单个点显示,一瞥全貌,同时可选中感兴趣的区域,"放大",可显示选中区域的原始点云细节。

相关推荐
数字芯片实验室12 天前
特斯拉HW5要上3nm工艺,自动驾驶芯片的军备竞赛
人工智能·机器学习·自动驾驶
小虎卫远程打卡app12 天前
自动驾驶避障思考
人工智能·chatgpt·自动驾驶
点云SLAM12 天前
PyTorch 中torch.clamp函数使用详解和实战示例
人工智能·pytorch·python·自动驾驶·slam·3d深度学习·张量操作
aixingkong92112 天前
需求初步探讨-从OR-AR
服务器·嵌入式硬件·自动驾驶·硬件工程
地平线开发者13 天前
地平线高效 backbone: HENet - V1.0
算法·自动驾驶
摘取一颗天上星️17 天前
自动驾驶技术路线之争:视觉派、激光雷达派与融合派,谁将引领未来?
人工智能·机器学习·自动驾驶
一点.点17 天前
MPDrive:利用基于标记的提示学习提高自动驾驶的空间理解能力
人工智能·自动驾驶
vlln19 天前
【论文解读】AgentThink:让VLM在自动驾驶中学会思考与使用工具
人工智能·机器学习·自动驾驶
数据堂官方账号19 天前
七大技术路线解析:自动驾驶如何被数据重新定义
人工智能·机器学习·自动驾驶
地平线开发者19 天前
BEV 感知算法评价指标简介
算法·自动驾驶