基于哈希八叉树的三维高斯同步定位与建图方法及系统
本发明属于计算机视觉与机器人,特别涉及基于哈希八叉树的三维高斯同步定位与建图方法及系统。
背景技术:
1、同步定位与建图(simultaneous localization and mapping,slam)技术用于在未知或部分未知环境中估计传感器位姿并构建环境地图。传统方法常采用点云、体素或面元等显式几何表示;神经辐射场等隐式场景表示能够产生较高质量的外观重建结果,但在线体渲染和网络优化通常具有较高的计算开销。三维高斯泼溅(3d gaussian splatting,3dgs)使用一组可微的各向异性三维高斯椭球体表示场景,兼具显式结构和较高的渲染效率,因而逐渐被用于在线三维重建和同步定位与建图。
2、一种现有的三维高斯同步定位与建图方法融合激光雷达、惯性测量单元和相机数据,以三维高斯椭球体表示场景并增量构建三维高斯地图。在该方法的高斯建图过程中,当前帧被判定为关键帧后,从全部关键帧中随机选择若干关键帧作为训练视角,对三维高斯地图执行迭代优化。在该方法的一种实现中,已建立的三维高斯地图整体保持在图形处理器侧,三维高斯点的颜色、尺度、旋转和不透明度参数以及相应的梯度与优化器状态均随地图规模增长而持续占用图形处理器存储空间。
3、随着场景范围扩大,上述组织方式存在以下问题:
4、(1)已建立的全局三维高斯地图整体常驻图形处理器侧,三维高斯参数、梯度以及优化器状态持续增长,容易超出资源受限平台的可用存储空间;
5、(2)当前观测区域以外的三维高斯点虽然与当前局部建图关系较弱,仍会占用图形处理器侧存储空间;
6、(3)从全局关键帧集合中随机选择训练视角,会引入与当前局部场景共视关系较弱的观测,造成训练视角冗余。
7、此外,增量建图过程中需要频繁执行三维高斯点的空间查重、局部点集检索以及当前优化点集的更新。若缺少适于大规模增量地图的分层空间索引,则相关访问和筛选开销容易随地图规模增长;仅按照时间顺序维护固定大小的关键帧窗口,也可能在相机停留时产生大量相似关键帧,并在快速转向或者场景切换时保留与当前区域关联较弱的历史关键帧。
8、因此,需要一种能够保持全局三维高斯地图完整性、对全局三维高斯点进行高效空间管理,并仅将当前有效观测区域对应的三维高斯点组织为设备侧优化工作集,同时依据场景共视关系管理训练关键帧的同步定位与建图方法。
9、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了解决或至少缓解以上问题中的一个或多个,提供了一种基于哈希八叉树的三维高斯同步定位与建图方法及系统,能够在保持全局三维高斯地图完整性的同时限制图形处理器侧优化工作集的规模,并使关键帧选择与当前局部场景的实际观测关系相匹配。
2、为实现上述目的,按照本发明的第一方面,提供基于哈希八叉树的三维高斯同步定位与建图方法,其特征在于,对经时间同步的激光雷达点云、惯性测量数据和相机图像进行处理,并由多传感器定位前端估计当前帧位姿,以各向异性三维高斯椭球体作为场景表示基元,包括以下步骤:
3、s1、构建全局哈希八叉树地图:
4、在主存侧根据三维高斯点中心位置确定粗体素坐标,以哈希映射管理粗体素,并在各粗体素内设置细粒度八叉树,对全局三维高斯点进行分层空间索引和持久化存储;
5、s2、构建可见性驱动的活跃子地图:
6、依据当前帧位姿、相机视锥以及共视关键帧的观测范围确定当前参与优化的粗体素,将对应粗体素内的三维高斯点自所述全局哈希八叉树地图加载至图形处理器侧的活跃子地图,并将满足休眠条件的三维高斯点从所述活跃子地图移除,使其继续保留在所述全局哈希八叉树地图中;
7、s3、进行共视关键帧管理:
8、为候选关键帧和窗口内已有关键帧分别确定可见三维高斯点集合,根据所述可见三维高斯点集合之间的交并关系计算共视系数,并依据所述共视系数以及关键帧之间的位姿差异执行关键帧的插入、替换或边缘化,以形成用于活跃子地图优化的关键帧集合;
9、s4、进行活跃子地图优化与写回:
10、从所述关键帧集合中选择训练视角,对图形处理器侧活跃子地图中的三维高斯点执行可微渲染并计算损失,并根据三维高斯点对渲染结果的有效贡献确定待更新三维高斯点,对所述待更新三维高斯点执行参数更新;优化完成后,将更新后的三维高斯参数以及与其对应的优化器状态写回主存侧全局哈希八叉树地图中的对应叶节点。
11、进一步地,s1中,所述全局哈希八叉树地图包括粗粒度哈希网格和粗体素内部细粒度八叉树两级空间索引;将三维高斯点中心位置按预设粗体素边长量化为整数粗体素坐标,以所述整数粗体素坐标作为哈希键定位对应粗体素;在对应粗体素内按照三轴方向逐层将空间划分为八个子区域,直至达到预设最大深度;每个八叉树叶节点至多存储一个三维高斯点,且每个粗体素维护其已占用叶节点的引用列表,以便在不递归遍历整棵八叉树的情况下访问该粗体素内的三维高斯点。
12、进一步地,所述三维高斯点至少包括中心位置、外观参数、尺度参数、旋转参数和不透明度参数,并包括用于表征其是否位于活跃子地图以及其在活跃子地图中对应位置的状态标识;向所述全局哈希八叉树地图插入新的三维高斯点时,对候选激光雷达点依次执行:基于当前高斯模型渲染透射率的覆盖筛选,以剔除已被充分建模区域中的候选点;基于图像投影像素的深度去重,在同一像素对应多个候选点时保留深度最小的候选点;以及基于八叉树叶节点占用状态的空间去重,仅在目标叶节点未被占用时创建并插入新的三维高斯点。
13、进一步地,s2中,活跃子地图同步维护:活跃粗体素集合、与活跃三维高斯点一一对应的叶节点引用列表、活跃三维高斯参数数组以及优化器状态数组;所述叶节点引用列表、三维高斯参数数组和优化器状态数组按同一索引对应同一三维高斯点。
14、进一步地,活跃子地图的更新包括重构更新、增量追加和保持不变三种状态:当存在达到预设条件的不可见三维高斯点需要移出活跃子地图时,执行重构更新;当仅存在新激活的三维高斯点时,执行增量追加;当活跃集合与图形处理器侧参数集合一致时,保持不变;并通过上限阈值、下限阈值、最小更新间隔和最小移除数量中的至少一种约束降低频繁重构造成的开销。
15、进一步地,s3中,每个关键帧通过位集记录其在活跃子地图中可见的三维高斯点,所述位集的第i位取值为1表示活跃子地图中的第i个三维高斯点位于该关键帧相机前方并落入该关键帧的预设视锥内;关键帧a和关键帧b的共视系数采用可见三维高斯点集合的杰卡德系数表示,即所述共视系数为两关键帧可见三维高斯点集合的交集元素数量与并集元素数量之比。
16、进一步地,候选关键帧的管理依次包括:当候选关键帧与已有关键帧的共视系数高于预设冗余阈值时,以所述候选关键帧替换对应的冗余关键帧;否则,当候选关键帧与最近关键帧之间的位置距离和视轴夹角同时低于相应阈值时跳过插入;其余情况下插入所述候选关键帧并增量更新共视关系;当新插入的关键帧与窗口内已有关键帧的最大共视系数低于预设场景切换阈值时,保留最近的预设数量个关键帧;当关键帧窗口容量超限时,执行关键帧边缘化;执行关键帧边缘化时,保护最新关键帧、平均共视系数最低的关键帧以及对活跃子地图存在独占观测贡献的关键帧,对其余关键帧根据冗余度、与最新关键帧的共视度、归一化驻留时长和覆盖影响计算边缘化评分,并移除评分满足预设边缘化条件的关键帧。
17、进一步地,从所述关键帧集合中选择训练视角时,根据各关键帧已被选择的次数确定基础采样权重,已被选择次数越多的关键帧其基础采样权重越小;进一步根据候选关键帧与近期已选择关键帧之间的共视度对所述基础采样权重进行多样性修正,与近期已选择关键帧共视度越低的候选关键帧其修正后的权重越大;将修正后的权重归一化得到各关键帧的采样概率,并按照所述采样概率选择训练视角。
18、进一步地,s4中,在每次前向可微渲染后,根据三维高斯点是否对至少一个像素产生有效合成贡献确定待更新集合,仅对所述待更新集合中的三维高斯点执行反向传播和优化器参数更新,对未参与当前渲染的三维高斯点保持参数不变;所述优化器状态包括自适应矩估计优化器的一阶矩状态和二阶矩状态;三维高斯点从活跃子地图移出时,将其优化器状态持久化至对应八叉树叶节点;所述三维高斯点再次被激活时,从对应八叉树叶节点恢复所述优化器状态,以延续该三维高斯点的优化过程。
19、为实现上述目的,按照本发明的第二方面,提供基于哈希八叉树的三维高斯同步定位与建图系统,包括:
20、数据同步与位姿估计模块,用于对激光雷达点云、惯性测量数据和相机图像进行时间同步,并由多传感器定位前端估计当前帧位姿;
21、全局地图管理模块,用于在主存侧根据三维高斯点中心位置确定粗体素坐标,以哈希映射管理粗体素,并在各粗体素内设置细粒度八叉树,对全局三维高斯点进行分层空间索引和持久化存储;
22、可见性子地图模块,用于依据当前帧位姿、相机视锥以及共视关键帧的观测范围确定当前参与优化的粗体素,将对应粗体素内的三维高斯点自所述全局哈希八叉树地图加载至图形处理器侧的活跃子地图,并将满足休眠条件的三维高斯点从所述活跃子地图移除,使其继续保留在所述全局哈希八叉树地图中;
23、共视关键帧管理模块,用于为候选关键帧和窗口内已有关键帧分别确定可见三维高斯点集合,根据所述可见三维高斯点集合之间的交并关系计算共视系数,并依据所述共视系数以及关键帧之间的位姿差异执行关键帧的插入、替换或边缘化,以形成用于活跃子地图优化的关键帧集合;
24、三维高斯优化与写回模块,用于从所述关键帧集合中选择训练视角,对图形处理器侧活跃子地图中的三维高斯点执行可微渲染并计算损失,并根据三维高斯点对渲染结果的有效贡献确定待更新三维高斯点,对所述待更新三维高斯点执行参数更新,以及将更新后的三维高斯参数以及与其对应的优化器状态写回主存侧全局哈希八叉树地图中的对应叶节点。
25、采用上述技术方案后,本发明与现有技术相比具有以下有益效果。
26、本发明通过哈希粗定位与八叉树细定位相结合,对全局三维高斯点建立分层空间索引,使空间查重、局部点集访问和高斯点状态管理主要围绕局部粗体素及其叶节点进行,降低随地图规模增长而进行全局扫描的需求。
27、本发明通过主存侧全局持久地图与图形处理器侧活跃子地图相分离,仅将当前视角及共视关键帧相关的三维高斯点加载为设备侧优化工作集,从而限制设备侧常驻三维高斯规模并减少与当前局部场景无关的优化开销。
28、本发明通过基于可见三维高斯点集合的共视关键帧管理,使关键帧选择与当前局部场景的实际观测关系相关,减少高度冗余视角,并在视角快速变化或者场景切换时及时更新训练关键帧集合。
29、本发明通过仅对当前渲染产生有效合成贡献的三维高斯点执行梯度更新,减少未参与当前渲染的三维高斯点所带来的无效梯度计算。
30、本发明通过叶节点引用关系以及优化器状态持久化,在三维高斯点进入和退出活跃子地图时保持参数与优化状态的一致对应,使再次激活的三维高斯点能够延续先前的优化状态。
31、下面结合附图对本发明的具体实施方式作进一步详细的描述。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com