经典文献阅读之--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的视角方向可以计算为:

…详情请参照古月居

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何优化网站以提升UX设计质量

什么叫 UX 设计?UX 设计,即用户体验设计,是指为提升用户体验而进行的产品设计。 UX 在设计中,设计师通过调查和研究用户来掌握用户的需求和喜好,并利用这些信息来设计产品。设计师还会测试产品,以确保它们能…

【Python】成功解决读文件错误:`IOError: [Errno 0] Error`

【Python】成功解决读文件错误:IOError: [Errno 0] Error 在Python编程中,处理文件是常见的任务之一,但偶尔也会遇到各种错误,包括IOError。尽管Python 3.x中IOError已被OSError和FileNotFoundError等更具体的异常所取代&#xf…

【原创】【C++继承】【考法总结】派生类对象隐式转换为基类对象

(一)背景引入 尽管派生类对象也是基类对象,但派生类类型和基类类型是不同的。在公用继承(public继承)中,派生类对象能作为基类对象处理。由于派生类具有对应每个基类成员的成员(派生类的成员通常…

爬虫基本原理入门

在互联网时代,数据是驱动一切业务的核心资源之一。而爬虫技术,作为获取互联网数据的重要手段,被广泛应用于数据分析、信息聚合、搜索引擎优化等多个领域。本文将带你走进爬虫世界,了解爬虫的基本原理和基本概念,帮助你…

学习笔记之Java篇(0725)

p this 普通方法中,this总是指向调用该方法的对象。 构造方法中,this总是指向正要初始化的对象。 this()调用必须重载的构造方法,避免相同地址初始化代码,但只能在构造方法中用,比企鹅必须位…

不让录制的屏幕如何绕开?轻松突破录屏限制:三招搞定App录屏难题

在数字时代,屏幕录制已成为分享知识和记录重要信息的必备技能。然而,有些应用程序出于版权保护或其他原因,限制了屏幕录制功能。这是否意味着我们束手无策呢?当然不是!本文将为您揭秘三种简单易行的方法,让…

html+css前端作业 王者荣耀官网1个页面(带报告)

htmlcss前端作业 王者荣耀官网1个页面(带报告) 下载地址 https://download.csdn.net/download/qq_42431718/89575045 目录1 目录2 项目视频 王者荣耀首页1个页面(无js) 页面1

【QT】SARibbon编译安装开启frameless(QWindowkit)

1.cmake开启frameless 2.检查cmakecache 3.下载编译qwindowkit 拉取saribbon时请 git clone https://github.com/czyt1988/SARibbon.git --recursive使用--recursive可以拉取第三方库 手动下载:https://github.com/stdware/qwindowkit 4.cmake构建 和 visual stu…

2024-07-24 Linux C語言使用inotify进行文件变化检测

一、在Linux中,用C语言检测文件内容变化的方法有几种,最常用的包括以下几种: 轮询(Polling):周期性地读取文件并检查内容是否变化。inotify:使用Linux内核提供的inotify接口,这是一…

springSecurity学习之springSecurity过滤器

springSecurity提供的过滤器 SecurityContextPersistenceFilter 两个主要职责:请求来临时,创建 SecurityContext安全上下文信息,请求结束时清空 SecurityContextHolder。CsrfFilter 在spring4这个版本中被默认开启的一个过滤器,用…

pyvtk 渲染后得 colormap导出为json

要在Python中使用PyVTK进行渲染并将colormap导出为JSON格式,你可以先使用PyVTK渲染数据,然后将colormap转换为JSON格式。以下是一个简单的例子: import vtk import json# 创建一些数据 sphere vtk.vtkSphereSource() mapper vtk.vtkPolyDa…

Java项目中整合多个pdf合并为一个pdf

一、Java项目中整合多个pdf合并为一个pdf gitee笔记路径&#xff1a;https://gitee.com/happy_sad/drools一、依赖导入 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.6</version> …

Spark SQL----Hints

Spark SQL----Hints 一、描述二、语法三、分区提示3.1 分区提示类型3.2 例子 四、Join Hints4.1 Join提示类型4.2 例子 一、描述 提示(Hints)为用户提供了一种方法来建议Spark SQL如何使用特定的方法来生成其执行计划。 二、语法 /* hint [ , ... ] */三、分区提示 分区提示…

jstat -gc 60120 5000 100

这些参数和缩写通常是用于描述 Java 进程的内存使用情况和垃圾收集&#xff08;GC&#xff09;活动统计的指标&#xff0c;通常是从 JDK 提供的工具或者 JVM 的性能监控工具输出的结果。让我们逐个解释这些缩写的含义&#xff1a; S0C: Survivor 0 区的容量&#xff08;Capaci…

Centos8 yum 更换源以及安装内核头文件

文章目录 一、简介二、yum 更换源三、安装内核头文件 一、简介 CentOS 是一个开源项目&#xff0c;发布了两个不同的 Linux 发行版——CentOS Stream 和 CentOS Linux 。 CentOS Stream 是即将发布的红帽企业 Linux 产品的上游开发平台。 CentOS 项目将于 2024 年 6 月 30 日…

Android Handler之消息同步屏障

文章目录 Android Handler之消息同步屏障概述源码分析开启消息屏障取异步消息删除消息屏障 应用场景 Android Handler之消息同步屏障 概述 同步屏障&#xff1a;即消息的同步阻碍&#xff0c;指阻碍同步消息&#xff0c;只让异步消息通过。 平时我们通过 Handler 发送到消息…

力扣 1047删除字符串中的所有相邻重复项

思路&#xff1a; 用栈来实现&#xff0c;遍历s,如果当前元素与栈顶元素相同&#xff0c;则弹栈&#xff0c;否则入栈。 栈内剩下的元素全部弹栈&#xff0c;再翻转 代码方面&#xff1a;元素入栈的情况 if(mystack.empty() ||mystack.top() !num) 元素出栈&#xff0c;用…

嵌入式C++、ROS 、OpenCV、SLAM 算法和路径规划算法:自主导航的移动机器人流程设计(代码示例)

在当今科技迅速发展的背景下&#xff0c;嵌入式自主移动机器人以其广泛的应用前景和技术挑战吸引了越来越多的研究者和开发者。本文将详细介绍一个嵌入式自主移动机器人项目&#xff0c;涵盖其硬件与软件系统设计、代码实现及项目总结&#xff0c;并提供相关参考文献。 项目概…

基于区块链技术的高校教育资源共享的研究

&#xff08;一&#xff09;项目背景 时代变迁下的高教管理革新需求 当前&#xff0c;我国高等教育体系深受行政化管理模式影响&#xff0c;其在指引办学方向、资源优化配置及院校稳定上功不可没。然而&#xff0c;随着社会主义市场经济体系的深化发展&#xff0c;该模式逐渐显…

电脑录屏直播怎么录?3款软件推荐,达人必备

电脑录屏直播成为了一种新型、有趣且高效的传播方式。想象一下&#xff0c;当您喜欢的游戏博主进行精彩有趣的游戏直播&#xff0c;而您却因为没时间将要错过这场精彩绝伦的直播。这时&#xff0c;一款好用的录屏软件是您的必需品&#xff0c;电脑录屏能让您不再错过屏幕上的精…