当前位置: 首页 > news >正文

经典文献阅读之--LIV-GaussMap(实时3D辐射场地图渲染的LiDAR惯性视觉融合算法)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G的免费磁盘空间。通过链接注册并联系客服,可以获得20元代金券(相当于6-7H的免费GPU资源)。欢迎大家体验一下~

0. 简介

《LIV-GaussMap: LiDAR-Inertial-Visual Fusion for Real-time 3D Radiance Field Map Rendering》介绍了一种集成的精确激光雷达、惯性和视觉(LIV)多模态传感器融合映射系统,该系统基于可微表面散斑技术,提高了映射的保真度、质量和结构准确性。值得注意的是,这也是一种用于激光雷达-视觉-惯性传感器融合的紧密耦合映射的新形式。

该系统利用激光雷达和视觉数据的互补特性,捕获大规模三维场景的几何结构,并以高保真度恢复其视觉表面信息。使用激光雷达-惯性系统并采用尺寸自适应体素获得表面高斯场景的初始姿态。然后,我们通过视觉导出的光度梯度对高斯进行优化和精细化,以优化激光雷达测量的质量和密度。该方法与各种类型的激光雷达兼容,包括固态激光雷达和机械激光雷达,支持重复和非重复扫描模式。通过激光雷达加强结构构建,并支持跨多个LIV数据集实时生成逼真的渲染图。它在生成实时逼真场景方面显示出显著的韧性和多样性,可能适用于数字孪生和虚拟现实,同时也具有在实时SLAM和机器人领域的潜在应用性。作者说将在Github上开源。


1. 主要贡献

总的来说,本项工作的主要贡献可以总结如下:

  • 我们提出了利用激光雷达-惯性系统的高斯分布测量构建场景中平面表面的密集且精确的地图结构。这种测量允许我们准确地表示表面的特征并创建详细的地图
  • 我们提出使用具有球形谐波系数的可微椭球形高斯构建激光雷达-视觉地图,这意味着来自不同观看方向的视觉测量信息。这种方法使得实时渲染具有逼真的表现,提高了地图的准确性和真实感。
  • 我们进一步提出通过纳入可微分的椭球面高斯来优化地图的结构,以减轻由于扫描过程中关键注射角导致的点云分布不合理的问题,解决了点云分布不均或测量不准确的挑战。
  • 所有相关的软件和硬件包以及自行收集的数据集将公开提供,以造福社区。

据我们所知,这项研究是首次利用多模态传感器融合来构建精确且逼真的高斯地图。通过结合激光雷达-惯性系统的准确地图与视觉光度测量,我们实现了对环境的全面和详细的表示。我们提出的方法已在多个公共的真实世界数据集上进行了严格的测试和验证,包括不同类型的激光雷达,如机械式的Ouster OS1-128、半机械式的Livox Avia和固态的Realsense L515。评估场景涵盖了室内(有界场景)和室外(无界场景)。实验结果确认了我们的算法在有效捕捉和存储来自多个视点的图像信息方面的有效性。这种能力使得以提高的性能渲染新视图成为可能。


2. 方法

我们的系统如图4所示,整合了硬件和软件组件。在硬件方面,它配备了一个硬件同步的激光雷达-惯性传感器与相机,确保了激光雷达点云和图像捕捉的精确同步,实现了数据对齐和融合的准确性。在软件方面,过程开始于使用大小自适应体素地图表示平面表面的激光雷达-惯性定位[14]。激光雷达点云被分割成体素,计算平面的协方差以获取初始的椭圆形喷洒估计(见图3)。最终步骤涉及利用来自不同视角的图像,通过光度梯度优化球面谐

波系数和激光雷达高斯结构。这种方法产生了一个光度学精确的激光雷达-视觉地图,提高了映射精度和视觉真实性。

在这里插入图片描述

图4中的左侧展示了传感器输入和我们的设备设置。它包含了一个外部传感器组件,由一个同步的激光雷达-惯性传感器(Livox Avia)配合相机组成。右侧,我们展示了我们的算法流程,包括:1. 场景的初始表示来自于基于IESKF的激光雷达-惯性系统,使用大小自适应体素,为场景提供了初始的高斯结构。2. 随后,我们通过光度梯度优化高斯结构和球面谐波系数。这涉及到使用图像计算栅格化损失,以进一步精炼场景表示。

3. 使用激光雷达测量初始化高斯(做的其实就是3d高斯溅射中的msf初始化操作)

最初,我们使用大小自适应体素对激光雷达点云进行分割,灵感来自于[14]中讨论的Octree方法。我们精心构建了一个精细的高斯表面。最初,我们采用大小自适应体素将激光雷达点云分割,类似于Octree的方法,灵感来源于[14]。体素划分的适应性是基于评估某个参数 η η η来决定的,该参数作为判断体素内部是否具有平面特性的指标。为了获得具有高斯表面法向量的更精确的地图,我们允许更小的体素并进一步细分到更精细的级别。如果体素通过多次细分被划分得足够小,甚至曲面也可以被近似。

体素可以通过其平均位置 p p p、法向量 n n n和体素内的协方差矩阵 Σ n , p ˉ Σ_{n,\bar{p}} Σn,pˉ来描述。

在这里插入图片描述

体素的协方差 Σ n , p ˉ Σ_{n,\bar{p}} Σn,pˉ可以通过下列方法计算,这表示了点 w p i ^wp_i wpi的分布:

在这里插入图片描述

我们将特征向量 n n n标记为平面表面的法向量,用于表示假设高斯平面的协方差 Σ n , p ˉ Σ_{n,\bar{p}} Σn,pˉ [14]。相应的特征值 λ λ λ代表这个高斯平面在各个方向上的分布。如果 η η η——表明平面厚度的指标——仍然显著,就会进行进一步的细分。

在这里插入图片描述

分布矩阵 Σ n , p ˉ Σ_{n,\bar{p}} Σn,pˉ的计算是为了确定点云的近似形状和姿势,其中包含了表面高斯的姿势。然而,为了无缝地将这些LiDAR点与周围点整合,确保保持原始数据完整性的无空洞比例缩放,我们为每个点引入了一个由点密度决定的缩放因子 α i α_i αi。这个因子允许相应地重新缩放点。

Σ w p i = α i Σ n , p ˉ (4) Σw_{p_i} = α_i Σn,\bar{p} \tag{4} Σwpi=αiΣn,pˉ(4)

我们用以下方程式表示LiDAR点云的3D辐射场,采用椭球高斯的优雅形式

G ( x ) = e − 1 2 ( x − w p i ) T Σ w p i − 1 ( x − w p i ) ) (5) G(x)=e^{-\frac{1}{2}} (x - ^wp_i)^T Σ_{w_{p_i}}^{-1} (x - ^wp_i)) \tag{5} G(x)=e21(xwpi)TΣwpi1(xwpi))(5)

4. 利用光度梯度进行球面调和系数优化和图结构精化(核心算法,类似3D高斯溅射中的优化部分)

我们进一步使用视觉光度梯度来精炼由激光惯性系统提供的结构,以增强地图的细节表现。此外,我们采用高阶球谐函数,类似于计算机图形学中所使用的,来描述视角依赖的辐射表面。

我们利用二阶球谐函数(SHs)【22】,每个高斯需要总共27个谐波系数。这是复杂度(因而是计算成本)与精度之间的平衡。通过优化激光高斯的球谐系数,可以通过光度梯度获得更加真实感的地图。这种精炼的地图能够实现实时渲染,通过改进插值和外推法得到光真实感的地图。

世界坐标系中的点是 w p i ^wp_i wpi,LIV系统的姿态是 w T C n ^wT_{C_n} wTCn。从姿态 w T C n ^wT_{C_n} wTCn观察点 w p i ^wp_i wpi的视角方向可以计算为:

…详情请参照古月居

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • tmux相关命令
  • 2024年7月25日(Git gitlab以及分支管理 )
  • linux禁用root
  • C++中的依赖注入
  • 手机怎么设置不同的ip地址
  • PHP Filesystem 简介
  • 【WAF剖析】10种XSS某狗waf绕过姿势,以及思路分析
  • 探索PyMuPDF:Python中的强大PDF处理库
  • 单例模式_Golang
  • 可以免费合并pdf的软件 合并pdf文件的软件免费 合并pdf的软件免费
  • 二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)
  • {Spring Boot 原理篇} Spring Boot自动装配原理
  • Tracy 小笔记:微信小程序 mpx 雷达图的实现
  • godot新建项目及设置外部编辑器为vscode
  • Python --NumPy库基础方法(1)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【RocksDB】TransactionDB源码分析
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • ES6之路之模块详解
  • ESLint简单操作
  • Javascript设计模式学习之Observer(观察者)模式
  • Java精华积累:初学者都应该搞懂的问题
  • Linux中的硬链接与软链接
  • Netty 4.1 源代码学习:线程模型
  • php中curl和soap方式请求服务超时问题
  • springboot_database项目介绍
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 测试开发系类之接口自动化测试
  • 初探 Vue 生命周期和钩子函数
  • 给Prometheus造假数据的方法
  • 理解在java “”i=i++;”所发生的事情
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端自动化解决方案
  • 浅谈web中前端模板引擎的使用
  • 如何实现 font-size 的响应式
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用common-codec进行md5加密
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • $GOPATH/go.mod exists but should not goland
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (14)Hive调优——合并小文件
  • (js)循环条件满足时终止循环
  • (二)springcloud实战之config配置中心
  • (分布式缓存)Redis分片集群
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (面试必看!)锁策略
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)关于pipe()的详细解析