Range image
**距离图(range image)**是三维激光雷达扫描的一种二维投影。对于旋转式激光雷达,自然的投影方式是圆柱投影:每一列对应一个方位角,每一行对应一个激光环(俯仰角),每个像素存储测得的深度——通常还伴有强度和环索引。方位角为 、俯仰角为 的一个点映射为
对应一个 的图像。这种方式之所以可行,是因为旋转式激光雷达本质上就是一个旋转的一维传感器阵列——距离图不过是恢复了传感器原生的二维结构,而这个结构在被展平为无序点列表时丢失了。具体来说,一个 64 线传感器给出 行,而水平分辨率由方位角步长决定(角步长为 会给出 列)。
为何这种表示如此有用
-
廉价的邻域关系:一个点的邻居就位于相邻像素中,因此可以直接从邻近像素估计法向量和局部曲率,而不需要任何三维最近邻搜索。
-
投影式数据关联:SuMa 从当前位姿估计出发,将其面元地图渲染成一张合成距离图 ;像素 处的扫描点会与同一像素处渲染出的面元相匹配,并用点到平面的目标函数
来精化位姿。逐像素查找取代了 k-d 树搜索——速度大幅提升,且对 GPU 友好,因为渲染本身就是关联步骤。
-
对激光雷达进行二维深度学习:RangeNet++ 在距离图上运行编码器-解码器 CNN,实现实时语义分割。SuMa++ 利用这些逐像素标签在配准中过滤动态物体——标记为汽车、行人或自行车的点会直接被排除在 ICP 对应集合之外,——并根据标签是否一致来加权对应关系。
-
紧凑性:一整帧扫描变成一张稠密图像,便于压缩、可见性检查和遮挡推理——从某个位姿渲染地图,立刻就能知道从那里应该能看到什么。
常见陷阱
- 量化碰撞:多个三维点可能落入同一个像素(应保留最近的那个),而且角分辨率意味着同一个像素所覆盖的物理面积会随距离增大——远离传感器处基于邻域的法向量估计会变得嘈杂。
- 行的几何结构是硬件决定的,不是数学决定的:真实的旋转式激光雷达具有非均匀分布的激光俯仰角,因此按传感器的环索引来索引行,比上面那个线性于 的公式更为准确。
- 每次扫描只有一个视点:该投影假设所有点都是从单一位姿采集的;扫描过程中的运动必须在投影之前进行补偿(去畸变),否则图像会出现拖影。
- 固态激光雷达打破了这一模型:不规则、非重复的扫描模式(例如 Livox 式扫描)无法干净地映射到图像网格上——这也是随着此类传感器普及,直接处理点云的方法(FAST-LIO2 系)逐渐占据主导地位的原因之一。
对SLAM的意义
距离图是激光雷达处理与图像处理及 CNN 这一成熟工具箱之间的桥梁。整整一支激光雷达 SLAM 分支——SuMa 的投影式 ICP、SuMa++ 的语义过滤、在距离视图上运行的学习式描述子和回环检测网络——都依赖于它。了解一个方法是操作原始点云(LOAM、FAST-LIO2)还是距离图(SuMa 系列),能告诉你很多关于其速度特性、硬件需求和传感器假设的信息。