金字塔地圖(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