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

news2024/11/17 12:47:31

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.coloradmin.cn/o/1949498.html

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

相关文章

一文总结代理:代理模式、代理服务器

概述 代理在计算机编程领域,是一个很通用的概念,包括:代理设计模式,代理服务器等。 代理类持有具体实现类的实例,将在代理类上的操作转化为实例上方法的调用。为某个对象提供一个代理,以控制对这个对象的…

Haproxy 下载、编译部署、使用

文章目录 前言Haproxy 下载、编译部署、使用1. 下载2. 编译部署3. 使用3.1. 验证配置文件3.2. 启动 HAProxy 并指定配置文件路径3.3. 关闭HAProxy3.4. 重载HAProxy 3. 测试 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊&am…

go-kratos 学习笔记(7) 服务发现服务间通信grpc调用

服务发现 Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取 创建一个 Discoverer 服务间的通信使用的grpc,放到data层,实现的是从uses服务调用orders服务 app/users/internal/data.go 加入 New…

可见性::

目录 定义: 解决方法: ①使用synchronized实现缓存和内存的同步 修改一: 加入语句: 代码: 修改2: 在代码块中加入: 代码: 执行结果: 原因: ②使用…

数字经济赋能爱疆事业:同疆共创,打造疆品出疆新通道

在数字化浪潮的推动下,新疆吐鲁番地区正迎来一场前所未有的变革。近日,由同疆共创公司承办的“品牌新力量,助农电商直播行,音乐嘉年华吐鲁番活动”在吐鲁番市火热开展,这一创新举措不仅彰显了同疆共创积极履行社会责任…

【redis】一致性hash算法和hash槽

普通hash取模 直接hash(key)%N , N为机器的数量,但不利于集器扩容或者缩容 一致性hash算法和hash槽 一致性hash算法是在redis 分片中使用,hash槽在redis cluster(集群)中使用 Redis一致性hash:Redis一致性hash是为…

AvaloniaUI的学习

相关网站 github:https://github.com/AvaloniaUI/Avalonia 官方中文文档:https://docs.avaloniaui.net/zh-Hans/docs/welcome IDE选择 VS2022VSCodeRider 以上三种我都尝试过,体验Rider最好。VS2022的提示功能不好,VSCode太慢&#xff0c…

Typora笔记上传到CSDN

1.Typora 安装 Typora链接:百度网盘 提取码:b6d1 旧版本是不需要破解的 后来的版本比如1.5.9把放在typora的根目录下就可以了 2.上传到CSDN 步骤 csdn 写文章-使用MD编辑器-导入本地md文件即可 问题 图片没法显示 原因 图片的链接是本地的 当然没法…

PySide(PyQt)使用QPropertyAnimation制作动态界面

主脚本: # encoding: utf-8 import os import sysfrom PySide6.QtCore import QPropertyAnimation, QEasingCurvefrom UIS import *# 主画面类 class MainWindow(QMainWindow, animationButton_ui.Ui_MainWindow):def __init__(self):super().__init__()self.setup…

【OpenCV C++20 学习笔记】图片处理基础

OpenCV C20 图片处理基础 VS 2022 C20 标准库导入的问题头文件包含以及命名空间声明main函数读取图片读取检查显式图片写入图片 完整代码bug VS 2022 C20 标准库导入的问题 VS还没有完全兼容C20。C20的import语句不一定能正确导入标准库,所以必须要新建一个头文件专…

基站光伏直流叠光能效管理方案

安科瑞 华楠 基站现状和趋势 5G基站是专门提供5G网络服务的公用移动通信基站。5G基站主要用于提供5G空口协议功能,支持与用户设备、核心网之间的通信。按照逻辑功能划分,5G基站可分为5G基带单元与5G射频单元,二者之间可通过CPRI或eCPRI接口…

Flink 技术与应用(一)

Flink技术与应用(初级篇) 起源 Apache Flink 是一个开源的大数据处理框架,其起源可以追溯到一个名为 Stratosphere 的研究项目,旨在建立下一代大数据分析引擎,2010 年,从 Stratosphere 项目中分化出了 Fl…

基于深度学习算法,支持再学习功能,不断提升系统精准度的智慧地产开源了。

智慧地产视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。通过计算机视觉和…

OpenCV图像滤波(2)均值平滑处理函数blur()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在OpenCV中,blur()函数用于对图像应用简单的均值模糊(mean blur)。这种模糊效果可以通过将图像中的每个像素替…

【OpenCV C++20 学习笔记】调节图片对比度和亮度(像素变换)

调节图片对比度和亮度(像素变换) 原理像素变换亮度和对比度调整 代码实现更简便的方法结果展示 γ \gamma γ校正及其实操案例线性变换的缺点 γ \gamma γ校正低曝光图片矫正案例代码实现 原理 关于OpenCV的配置和基础用法,请参阅本专栏的其…

项目管理中的常用工件(二):可视化工件

项目管理中的常用工件(二):可视化工件 亲和图(affinity diagram)因果图(cause-and-effect diagram)直方图(histogram)流程图(flowchart)散点图&am…

Golang学习笔记20240725,Go语言基础语法

第一个Go程序 package mainimport "fmt"func main() {fmt.Println("hello world") }运行方式1: go run main.go运行方式2: go build .\hello_go.exe运行方式3:goland右键运行 字符串拼接 使用加号可以对字符串进行…

数据结构初阶 · 二叉搜索树

目录 前言: 二叉搜索树的实现 二叉搜索树的基本结构 增 查 中序遍历 删 前言: 在最初学习二叉树的时候,就提及到过单独用树来存储数据是既不如链表也不如顺序表的,二叉树的用处可以用来排序,比如堆排序,也可以用来搜索数据…

雷军的逆天改命与顺势而为

雷军年度演讲前,朋友李翔提了一个问题:雷军造车是属于顺势而为还是逆势而为?评论互动区有一个总结,很有意思,叫“顺势逆袭”。 大致意思是产业趋势下小米从手机到IOT再切入汽车,是战略的必然,不…

学习Java的日子 Day58 Servlet的生命周期,安全问题,页面跳转,中文乱码问题

Day58 1.Servlet的生命周期 创建&#xff1a;第一次发送给该Servlet请求时 ​ 调用&#xff1a;构造方法、init() 销毁&#xff1a;服务器正常关闭 ​ 调用&#xff1a;destroy() Welcome.html 没有明确写出是什么请求&#xff0c;那就是get请求 <!DOCTYPE html> <ht…