点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
欢迎添加小助理微信AIDriver004,加入我们的技术交流群
论文作者 | Chenxing Jiang
编辑 | 3D视觉之心
不降低算力,再酷炫也没用
现有稠密建图主要分为显示和隐式。前者得益于物理意义,易于优化而快速处理速度快,但需要大量内存处理高分辨率的建图,且没办法做新视角生成;后者使用更少的内存生成高保真度的重建,并通过不断查询场景属性从新颖视角生成高质量的图像,但高维特征和神经网络缺乏物理意义,导致训练时间长。
一个建图系统必须满足四个关键要求:
适应增长的场景,允许机器人在没有先验知识的情况下动态扩展地图
高水平的细节
实时能力和高内存效率
新颖的视角合成能力,允许从稀疏输入视角之外的视角渲染高质量图像。
H2-Mapping是第一个在边缘设备上实时运行的NeRF-based建图方法。主要的创新点是
初始化技术的分层混合表示:使用显式的八叉树SDF先验来描述粗糙的场景几何;使用隐式多分辨率哈希编码来以内存高效的方式编码高分辨率场景属性,来表示几何细节和纹理。将体素顶点投影到深度图像上,并计算相关的SDF值,来快速初始化八叉树SDF先验。
覆盖最大化关键帧选择策略:为了避免跨所有关键帧的冗余样本计算,确保边缘区域的质量,从而无需增加训练样本的数量,解决在线建图任务中的关键遗忘问题。
(大拇指往上滑,点击最上方的卡片关注我,整个操作只会花你 1.328 秒,然后带走未来、所有、免费的干货,万一有内容对您有帮助呢~)
H2-Mapping 细节
分层混合表示
1)扩展八叉树SDF先验
八叉树SDF先验:当接收到新帧时,根据给定的姿态和深度图像分配新的体素,并增量地维护一个稀疏体素八叉树,覆盖所有可见区域。只将包含超过十个点的体素添加到稀疏体素八叉树中,以减少测量噪声的影响。点的数量是通过实验确定的。对于每个体素,我们在每个顶点存储可优化的SDF,以表示场景的粗略几何。叶节点中任何采样点的粗略SDF 是通过其周围八个顶点的三线性插值函数 获得的:
为了加速收敛速度,在分配新体素时为每个 提供一个初始的 SDF。如图3所示,将每个体素的每个顶点投影到RGB-D相机帧中的相应像素上,以获得该位置的近似 SDF:
为了避免由于遮挡导致的不合理 SDF 先验,只向满足 的顶点提供先验。图3右图展示了仅使用 SDF 先验而未进行任何优化的重建结果。这些粗略的几何先验通过在早期阶段提供准确的几何形状,加速了几何优化并增强了场景的外观。
扩展体素分配:如果表面接近体素的边界,靠近表面的顶点位置的准确SDF将接近0。所以存储在该顶点的SDF先验可能会被优化为错误的符号,从而导致表面的丢失。
为了确保表面能够被创建,如果从深度图像反投影到体素中的所有点都位于边缘,将扩展一个新体素。
如图4,上部顶点的准确SDF先验应该是正值,但接近0。优化中的任何微小扰动都可能导致这些值变为负值,导致没有表面被重建(图4b)。然而,如果在其顶部分配一个额外的体素,无论靠近表面的顶点被优化为何种符号,都会创建一个表面(图4cd)。
2)多分辨率哈希编码
采用多分辨率哈希编码方法,只利用多分辨率哈希编码来处理比场景完整SDF更容易学习的残差SDF。多分辨率哈希编码的工作原理是将特定采样点周围的体素排列在 个分辨率级别。在每个级别,通过查找哈希表将 维特征分配给体素的角点。为了获得采样点的特征,执行三线性插值,并将每个级别的特征连接起来。使用两个多分辨率哈希编码和浅层MLP单独表示场景的颜色和残差SDF,以紧凑的方式表示场景:
最大覆盖关键帧选择
对于新的输入RGB-D帧,如果 (∩)/ (∪) 的比率小于一个阈值,将其插入为一个新的关键帧,其中 是当前观测到的体素数量, 是在上一个插入的关键帧中观测到的体素数量。关键帧插入策略确保关键帧集合中的帧具有相对较少的重叠。
最大覆盖关键帧选择策略在初始时间步 ,所有体素都被标记为未观测。
首先从整个关键帧集合中选择覆盖体素最多的 个关键帧。
将这些覆盖的体素标记为已观测,然后联合优化这些选定的关键帧和当前帧。
在下一个时间步 ,使用相同的最大覆盖策略,但仅针对仍标记为未观测的体素。如果所有体素都被标记为已观测,将之前标记为已观测的体素重置为未观测
并重复上述过程。通过迭代使用这种策略,可以覆盖所有场景区域。如图5(a)所示,大多数体素在 时被覆盖。在图5(b)和(c)中,策略继续覆盖场景的其他剩余部分,确保边缘区域的重建质量。
基于SDF的体积渲染
只对与任意体素相交的射线进行采样,然后按如下方式获取每条射线的渲染颜色 和深度 :
优化过程
损失函数
我们对一批射线 使用 loss 有RGB、深度、free space、SDF
最终的 loss function
自适应提前结束
在训练过程中,当前帧和选定的关键帧将被多次用于优化。如图10所示,不同场景中达到颜色优化收敛的平均迭代时间各不相同。因此,为了自适应地选择合适的迭代时间,以在各种场景中平衡时间消耗和映射精度,如果总损失超过当前训练轮次平均总损失的两倍,将采用提前停止策略。这表明进一步的优化只会带来微小的改进。
效果欣赏
重建和渲染性能的定量比较
纹理网格定性分析
运行时间表现
消融实验
总而言之
H2-Mapping是一种基于NeRF的稠密建图系统,利用分层混合表示,可以部署在边缘计算机上,实现实时且高质量的建图效果。主要特点为:
快速初始化和收敛:通过粗略的几何结构使用八叉树SDF先验以显式方式表示
高分辨率的几何细节和纹理:用多分辨率哈希编码的方式隐式编码,使内存利用更高效
提高边缘区域的重建质量:提出一种覆盖率最大化的关键帧选择策略
缺陷:无法处理动态物体和长期姿态漂移
参考
[1] H2-Mapping: Real-time Dense Mapping Using Hierarchical Hybrid Representation-
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!
① 全网独家视频课程
BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
网页端官网:www.zdjszx.com② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】全平台矩阵