GS-LIVM Real-Time Photo-Realistic LiDAR-Inertial-Visual Mapping with Gaussian Splatting
项目社区 代码部分开源
2024年10月18日提交
GS-LIVM:基于高斯喷溅的实时逼真的LiDAR-惯性-视觉建图
目录
GS-LIVM:基于高斯喷溅的实时逼真的LiDAR-惯性-视觉建图
知识点补充
1.高斯喷溅
高斯喷溅(Gaussian Splatting)
高斯喷溅是一种计算机图形学中的渲染技术,主要用于将点云或稀疏的三维数据表示为高斯分布。这种方法通过在三维空间中生成高斯“点”,来创建平滑的表面和复杂的视觉效果。每个高斯点在空间中具有一个位置、方差和颜色信息,允许渲染系统根据这些信息生成自然的光照和模糊效果。
3DGS(3D Gaussian Splatting)
3DGS通常指的是“3D Gaussian Splatting”,是将高斯喷溅技术应用于三维场景的具体实现。这种技术通过结合多视角的图像数据,使用高斯分布来重建和渲染三维场景。3DGS能够高效处理稀疏的点云数据,常用于场景重建、视觉SLAM(同时定位与地图构建)和增强现实等领域。通过这种方法,可以在保留细节的同时,实现高效且高质量的渲染效果。
2.建图和渲染
建图(Mapping)和渲染(Rendering)是计算机视觉和图形学中的两个重要概念,它们在应用中有不同的目标和方法。
建图(Mapping)
-
定义:建图是指通过传感器数据(如相机、LiDAR等)生成环境的三维表示。这个过程通常涉及捕捉空间中的几何形状、特征和位置。
-
过程:
-
数据采集:使用传感器收集环境信息。
-
特征提取:识别并提取重要的视觉特征。
-
位置估计:通过对传感器运动的跟踪,计算出相对位置和姿态。
-
地图生成:将这些信息合成一个环境地图,可能是点云、网格模型或其他形式。
-
-
应用:用于机器人导航、自动驾驶、增强现实等领域。
渲染(Rendering)
-
定义:渲染是将三维模型或场景转化为二维图像的过程,涉及光照、材质、纹理等视觉效果的计算。
-
过程:
-
场景设置:定义场景中的对象、光源和相机视角。
-
光照计算:计算光源与物体表面之间的交互,模拟阴影、反射等效果。
-
图像生成:将计算结果生成最终的二维图像。
-
-
应用:用于电影特效、游戏、虚拟现实等领域。
总结
建图侧重于生成环境的三维表示,而渲染则关注于将这些表示转化为视觉图像。两者通常在机器人、增强现实和三维建模等应用中结合使用,通过建图提供环境模型,然后通过渲染生成可视化结果。
3.里程计输出
“里程计输出”指的是系统通过传感器(如IMU或视觉传感器)实时估计并输出的位姿数据,包括设备的位置信息(如XYZ坐标)和姿态信息(如旋转矩阵或四元数)。在机器人和SLAM系统中,里程计输出通常用于反映设备在环境中的连续位移和旋转变化,类似于车辆中的里程表记录行驶路径。
里程计输出在IMU频率下生成时,具有高频率的连续性,可以反映运动轨迹上的小幅变化。它在以下方面有重要作用:
1. 短时间运动跟踪:里程计输出能快速响应传感器的实时变化,用于记录设备在较短时间内的相对位置变化。这对于高频传感器(如IMU)特别重要,能够在每个时间步提供设备位姿。
2. 辅助其他传感器的数据处理:里程计输出可为低频传感器(如相机)提供位姿初值,帮助系统进行多传感器数据的融合。例如,视觉惯性里程计(VIO)常利用IMU的高频里程计输出,结合视觉数据实现平滑且精确的定位。
3. 构建连续路径和地图:在SLAM和导航中,里程计输出生成的位姿序列用于构建设备在环境中的移动路径,并作为后续地图构建和定位的基础。
框架结构
该系统处理从激光雷达获得的点云数据、从IMU获得的运动数据以及由摄像机捕获的单目彩色图像的输入。
在跟踪线程中,采用ESIKF算法跟踪运动进行状态估计,在IMU频率下产生里程计输出(相机或LiDAR采集的点云数据或图像坐标都可以通过这个运动估计转化为世界坐标系下的点坐标,ESIKF 的估计作为视觉SLAM 的初始位姿估计输入)。
在建图线程中,将渲染后的颜色点云用于体素-GPR,然后将初始化的三维高斯数据集成到密集的三维高斯地图中进行渲染优化。最终输出是一个高质量的,密集的3D高斯地图。符号C、D和S分别表示栅格化的彩色图像、深度图像和剪影图像。⊕表示全局哈希填色地图,为最近扫描的激光雷达点提供邻近的查询点。
摘要
介绍了GS-LIVM,一个针对室外场景的实时高仿真的雷达-惯性-视觉建图框架
-
基于高斯喷溅
-
实现实时高仿真建图并保证大规模无界室外环境中的高质量图像渲染
主要贡献
-
使用高斯过程回归(GPR)缓解稀疏和不均匀分布的光达观测问题
-
基于体素的3D高斯地图表示实现实时密集建图
-
以协方差为中心的框架设计
-
在多个室外数据集上进行评估,展示了卓越的建图效率和渲染质量
介绍
SLAM技术的发展
-
过去20年SLAM成为机器人和自动驾驶的基础技术
-
传统方法基于稀疏特征表示,在3D重建和环境渲染方面有局限性
-
神经场景表示技术(如NeRF和3DGS)的出现带来范式转变
现有方法的局限性
-
在室内环境中表现良好,但在室外场景应用受限
-
室外SLAM中的单向运动导致优化时出现偏向性
-
离线方法处理时间长,容易过拟合
GS-LIVM的提出
-
实现大规模无界室外场景的实时高仿真3DGS重建
-
使用紧耦合的雷达-惯性-视觉里程计进行精确状态估计
-
应用高斯过程回归(GPR)预测均匀分布的点云
-
利用协方差估计和图像渲染数据持续改进框架
相关工作
传统多传感器融合SLAM
-
基于滤波器或图优化
-
雷达-惯性-视觉SLAM系统提供高速率运动补偿、精确几何结构和丰富纹理信息
-
主要关注几何建图,限制了高仿真图像渲染能力
基于NeRF的SLAM
-
使用神经网络和体积渲染隐式学习3D场景
-
在大规模环境中计算时间显著增加
-
场景泛化能力差
-
一些方法结合体素或哈希三平面表示,但仍面临实时性挑战
基于3DGS的SLAM
-
使用球体显式场景表示,加速新视角合成(NVS)
-
在室内场景中表现良好
-
室外应用仍面临挑战,如处理时间长、GPU内存溢出等问题
方法
体素级高斯过程回归(Voxel-GPR)
-
解决光达点云稀疏和分布不均的问题
-
在体素级别使用GPR均匀变换点云
-
提高3D高斯地图优化效率
Voxel-GPR算法
-
使用哈希函数处理输入点云
-
对每个体素并行进行Voxel-GPR处理
-
通过主成分分析(PCA)确定值轴和参数轴
-
使用核函数定义高斯过程
-
生成均匀间隔的网格并进行预测
3D高斯的高效初始化
-
定义3D高斯参数:位置、协方差矩阵、不透明度和球谐系数
-
利用Voxel-GPR结果初始化3D高斯的尺度和旋转参数
-
加速优化过程,确保快速运动中的渲染质量
迭代式高仿真建图框架
-
地图扩展和协方差更新
-
渲染和深度相似度损失
-
结构相似度损失
-
训练过程包括当前相机窗口和历史相机队列
损失函数
其中包含图像损失、SSIM损失、深度相似度损失和结构相似度损失
实验
实验设置
-
使用多个公开的雷达-惯性-视觉数据集
-
与NeRF-SLAM、MonoGS和原始3DGS进行比较
-
使用PSNR、SSIM和LPIPS评估渲染性能
渲染评估
-
GS-LIVM在多个场景中表现优异
-
相比其他方法,能更好地处理大规模室外场景
运行时间和内存消耗分析
-
实现了实时处理性能
-
随时间增加,GPU内存消耗逐渐增加
-
在8GB GPU上能够完全处理所有序列
消融研究
-
验证了Voxel-GPR模块和3D高斯初始化算法的有效性
-
分析了结构相似度损失和深度相似度损失的影响
-
探讨了不同超参数对建图时间和渲染指标的影响
结论
-
GS-LIVM实现了大规模无界室外场景的实时高仿真建图
-
利用Voxel-GPR解决光达点云稀疏问题
-
基于体素的3D高斯地图表示实现实时密集建图
-
以协方差为中心的框架设计提高了系统性能
-
在多个室外数据集上验证了算法的优越性
-
开源代码促进进一步研究和开发
补充材料
补充实验
与完全优化的离线3DGS比较
-
为公平比较,原始3DGS实现限制训练3000次迭代
-
发现3DGS在充分优化时间后确实能达到比本方法更好的指标(表4)
-
3DGS离线长时间优化以过拟合训练数据
-
新视角合成(NVS)中存在局限性
-
过拟合导致3D高斯体延伸超出观察点,这是离线方法的主要问题
-
本方法可以克服过拟合的缺点
更多渲染和建图结果
-
额外收集Livox MID-360和HESAI Pandar XT-32序列验证不同LiDAR类型的性能
-
表5展示了扩展的渲染性能比较
-
本方法可在有限GPU资源(8GB)下重建整个场景
-
图9展示了对应全序列的渲染图像快照
-
本方法在大型室外场景下实时建图要求下仍保持优秀渲染质量
-
多线旋转式LiDAR的渲染性能略逊于Livox LiDAR,因点云密度差异
-
图10展示了hku_main_building和1005_01序列的重建3D高斯模型
更多消融实验
-
表6展示了额外序列的扩展消融实验
-
在传感器退化(Visual Challenge)或稀疏点云(eee_02)等具挑战性环境中
-
实验继续表明模块设计的鲁棒性,提升了这些场景下的照片级真实建图效果
跟踪性能
-
采用通用SLAM框架获取精确相机姿态
-
理论上可集成到任何通用LIVO框架
-
实验采用SR-LIVO框架并进行改进
-
与R3LIVE[18]、FAST-LIO2[43]和LVI-SAM[33]等方法比较
-
评估相对姿态误差(RPE)和绝对轨迹误差(ATE)
-
表7展示了在Botanic Garden数据集7个序列上的评估指标
-
图11展示了1006_01序列的轨迹比较
超长时间序列的时间消耗和内存使用
-
测试两个超长序列,设置nr=2
-
表8展示了建图时间、渲染指标等
-
图13描绘了hku_main_building序列(1170秒)各算法模块的时间和GPU内存消耗
-
长序列后期主要时间花在渲染超大3DGS地图、地图反馈和优化上
-
方法仍能实现超长序列的实时地图扩展,资源消耗在可接受范围内
局限性
-
主要关注实时性能,所有模块设计以最小化算法时间复杂度
-
3DGS模型初始化仅依赖点云数据,缺乏点云覆盖区域可能导致初始化失败
-
未来研究将探索集成图像数据辅助初始化
-
受实时约束,重建质量可能不及实际数据采集的图像
-
提高重建质量将是未来研究方向之一