金字塔地图(pyramid map)
金字塔模型是图像处理中的重要手段,常用作多分辨率模型。
在apollo点云地图中,使用点云特征提取地面特征平面层,再将地面层上的点云数据存储在金字塔模型中。
通过使用金字塔模型对建立不同分辨率(resolution)地图数据进行存储,每一层的数据结构都是统一的,只是保存不同分辨率的数据而已。
每一层的金字塔,主要由以下几个关键数据结构抽象搭建的架构,
MapMatrix⊂MapNode⊂MapNodePool
MapNode存储的是点云点的位置(Pose)所确定的范围信息, 它的作用是将确定的地理范围划分成若干个node节点,并以Nodeindex来存取相应区域的地图数据。,其Index是根据以下公式计算所得
Nodeindex=(Posx,y−minx,y)/(Nodesize×resolution)
目前固定每个 Nodesize=1024×1024,
默认点云地图的分辨率是 0.125m,即最小Cell的边长为 0.125m,
所以一个node所能涵盖的单方向的地理距离就是(1024×0.125)m
其中Posx,y∈R2 是UTM座标,x指向东,y指向北,
(minx,miny)是当前地图区域的最小边界值,也是UTM座标,
例如,
$m=(x−minx)/(1024∗0.125),n=(y−miny)/(1024∗0.125),$
MapMatrix 存储每个点云点的相关信息,其Index是根据以下公式计算所得
Cellindex=(Pglobal−Plefttop)/resolution