3DGS 其二:Street Gaussians for Modeling Dynamic Urban Scenes

3DGS 其二:Street Gaussians for Modeling Dynamic Urban Scenes

  • 1. 背景介绍
    • 1.1 静态场景建模
    • 1.2 动态场景建模
  • 2. 算法
    • 2.1 背景模型
    • 2.2 目标模型
  • 3. 训练
    • 3.1 跟踪优化
  • 4. 下游任务

Reference:

  1. Street Gaussians for Modeling Dynamic Urban Scenes

1. 背景介绍

1.1 静态场景建模

基于场景表达的不同,可以将场景重建分为 volume-basedpoint-based
我感觉这里说的其实是隐式辐射场和显式辐射场更贴切。

  • volume-based:用 MLP 网络表示连续的体积场景,如 Mip-NeRF360、DNMP 等将其应用场景扩展到了城市街景,已去的不错的渲染效果。
  • point-based:在点云上定义学习神经描述符,并使用神经渲染器执行可微分的光栅化,大大可以提高了渲染效率。然而,它们需要密集的点云作为输入,并在点云稀疏区域的结果相对模糊。
  • 3D Gaussian Splatting 在 3D 世界中定义了一组各向异性的高斯核,并执行自适应密度控制,以仅使用稀疏的点云输入实现高质量的渲染结果。可以把 3DGS 理解成介于 volume-based 和 point-based 的中间态,所有同时拥有 volume-based 方法的高质量,也拥有 point-based方法的高效率。然而,3DGS 假定场景是静态的,不能模拟动态移动的对象

1.2 动态场景建模

可以从不同的角度来实现动态场景建模:

  • 目标:在单个对象场景上构建 4D 神经场景表示(比如 HyperReel)。
  • 场景:通过在光流(如 Suds) 或 视觉变换器特征(Emernerf)监督下的实现场景解耦。

然而,这些方法均无法对场景进行编辑,限制了其在自动驾驶仿真中的应用。还有一种方式,使用神经场将场景建模为移动对象模型和背景模型的组合(比如 NSG、Panoptic Neural Fields),然而,它们需要精确的对象轨迹,并且在内存成本和渲染速度上存在问题。

2. 算法

考虑到自动驾驶场景中都是通过车载相机得到图像序列,我们希望构建一个模型,可以生成任意时间和视角的高质量图像。为实现这一目标,我们提出了一种新颖的场景表示,命名为 Street Gaussians

如下图所示,我们将动态城市街景表示为一组点云,每个点云对应静态背景移动车辆----这种基于点的表示可以轻松组合多个独立的模型,实现实时渲染以及解耦前景对象以实现场景编辑。

文中提出的场景表示可以仅使用 RGB 图像进行训练,同时结合车辆位姿优化策略,进一步增强动态前景的表示精度。
在这里插入图片描述

2.1 背景模型

背景模型由一组世界坐标系点组成。每个点都被分配了一个 3D 高斯,来柔和的表示连续的场景几何和颜色。高斯的参数由一个协方差 Σ b \Sigma_b Σb、一个代表了中值的位置向量 μ b ∈ R 3 \mu_b\in\mathbb{R}^3 μbR3、一个透明度值 α b ∈ R 3 \alpha_b\in\mathbb{R}^3 αbR3、一组球谐系数 Z b Z_b Zb 组成。与 3DGS 一文一样,协方差的表示方式也是一个四元数 R b R_b Rb 和三个实数表达的协方差矩阵 S b S_b Sb

为了表示 3D 语义信息,每个点加一个语义对数(概率) β b ∈ R M \beta_b\in\mathbb{R}^M βbRM,其中 M M M 为语义类的个数(所以这里的语义用什么跑出来的,大模型?)。

2.2 目标模型

考虑一个场景内包含 N N N 个移动的前景目标车辆。每个对象都用一组可优化的跟踪车辆姿态和一个点云来表示,点云内的每个点都被分配了一个 3D 高斯、语义对数,和一个动态外观模型。

高斯性质上,目标与背景相似,在透明度 α o \alpha_o αo 和尺度矩阵 S 0 S_0 S0 上的含义相同;而目标的 位置、旋转、外观模型 与背景不同。位置 μ o \mu_o μo 和旋转 R o R_o Ro 是在目标局部坐标系下定义的。要将这些坐标转换到世界坐标系(背景使用的坐标系),这里引入了坐标跟踪位姿的定义。已知有 N t N_t Nt 帧图像,跟踪车辆的位姿的 旋转矩阵与平移向量分别为 { R } t = 1 N t \{\mathbf{R}\}^{N_t}_{t=1} {R}t=1Nt { T t } t = 1 N t \{\mathbf{T_t}\}^{N_t}_{t=1} {Tt}t=1Nt(不是自车,是跟踪车辆相对世界坐标的位姿。文内没说使用的检测网络还是通过什么方式)
μ w = R t μ o + T t , R w = R o R t T , (1) \tag{1} \begin{aligned}&\boldsymbol{\mu}_w=\mathbf{R}_t\boldsymbol{\mu}_o+\mathbf{T}_t,\\&\mathbf{R}_w=\mathbf{R}_o\mathbf{R}_t^T,\end{aligned} μw=Rtμo+Tt,Rw=RoRtT,(1)这样就将目标的高斯转到了世界坐标系。但是,来自现成的跟踪器所追踪到的车辆位姿的噪声是相当大的,为了解决这个问题,文内将跟踪车辆位姿视为可学习的参数,这将在下一节详细描述。

仅使用球谐系数简单表示物体外观不足以模拟移动车辆的外观,如下图所示,因为移动车辆的外观受到其在全局场景中位置的影响。如果使用单独的球谐来表示每个时间的对象,会显著增加存储成本,文内的解决方案是引入了 4D 球谐模型,通过用一组傅里叶变换系数 f ∈ R k f\in\mathbb{R}^k fRk 来替代每一个球谐系数 z m , l z_{m,l} zm,l,当给定任意时间 t t t,可以通过逆傅立叶变换来求出对应的球谐系数 z m , l z_{m,l} zm,l
z m , l = ∑ i = 0 k − 1 f i cos ⁡ ( i π N t t ) . (2) \tag{2} z_{m,l}=\sum_{i=0}^{k-1}\boldsymbol{f}_i\cos\left(\frac{i\pi}{N_t}t\right). zm,l=i=0k1ficos(Ntt).(2)基于这种方式,文内将时间信息编码到外观中,而且不增加额外存储成本。
在这里插入图片描述
对象模型的语义表示与背景模型的语义表示不同。主要区别在于对象模型的语义是一个一维标量 β o \beta_o βo,而不是像背景模型那样是一个 M M M 维向量 β b \beta_b βb。该前景对象车辆模型的语义模型可以看作是一个二分类或置信度预测问题,因为目标只有两个语义类别,即车辆语义类(来自跟踪器)和非车辆。

3. 训练

3.1 跟踪优化

本文2.2节内在渲染期间的位置和协方差矩阵的高斯与在 Eq.1 内跟踪的位姿参数密切相关。然而,通过跟踪模型得到的 bounding-box 噪声太大,直接使用它们来优化文中的场景表示会导致渲染质量下降。因此,文中通过将可学习的变换添加到每个变换矩阵中,将跟踪的姿势视为可学习的参数。具体来说,Eq.1 中的 R t R_t Rt T t T_t Tt 被替换为 R t ′ R'_t Rt T t ′ T'_t Tt,定义为:
R t ′ = R t Δ R t , T t ′ = T t + Δ T t , \begin{aligned}\mathbf{R}_t^{\prime}&=\mathbf{R}_t\Delta\mathbf{R}_t,\\\mathbf{T}_t^{\prime}&=\mathbf{T}_t+\Delta\mathbf{T}_t,\end{aligned} RtTt=RtΔRt,=Tt+ΔTt,其中 Δ R t \Delta R_t ΔRt Δ T t \Delta T_t ΔTt 是可学习的变换。文中使用一三维向量表示 Δ T t \Delta T_t ΔTt,并使用一由 yaw 角偏移角 Δ θ t \Delta \theta_t Δθt 转换的旋转矩阵 Δ R t \Delta R_t ΔRt。这些转换的梯度可以直接在没有任何隐式函数或中间过程的情况下获得,这在反向传播期间不需要任何额外的计算。

4. 下游任务

Street Gaussians 可以被应用到很多下游任务当中,包括场景的前背景解耦、场景的可控编辑、语义分割等。丰富且高质量的下游任务适配,大大提高了 Street Gaussians 的应用上限。

  • 文中模型可以实现场景前背景解耦,细节上相比之前的方法有明显提升:
    在这里插入图片描述

  • 文中模型支持便捷的场景编辑,如下图分别是车辆增加、替换和交换的编辑操作:
    在这里插入图片描述

  • 文中模型还支持拓展到语义分割任务,依靠该建模方式,对于前景目标的分割更加细腻:
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序之页面导航、生命周期和WXS脚本

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

Genome-wide association studies in R

全基因组关联(GWA)研究扫描整个物种基因组,寻找多达数百万个SNPs与特定感兴趣特征之间的关联。值得注意的是,感兴趣的性状实际上可以是归因于群体的任何类型的表型,无论是定性的(例如疾病状态)还…

分布式数据实现跨设备数据同步的N个秘密 | 分布式数据管理解析(二)

上期我们给大家带来分布式数据管理如何完成数据存储,数据同步,数据跨端访问,并保证整个过程中跨设备数据安全的解读。 这都得益于分布式数据管理平台抽象出的三大关键技术——分布式数据库,分布式文件系统和融合搜索。 那么这三…

Scrapy IP()类 编程指南(基础)

Scrapy IP()类 编程指南(基础) IP简介 工欲善其事,必先利其器,在聊Scapy IP类时,我们先要了解IP是什么。 IP指的是Internet Protocol(互联网协议)的数据包。Internet Protocol是互联网上用于在…

取消Vscode在输入符号时自动补全

取消Vscode在输入符号时自动补全 取消Vscode在输入符号时自动补全问题演示解决方法 取消Vscode在输入符号时自动补全 问题演示 在此状态下输入/会直接自动补全, 如下图 笔者想要达到的效果为可以正常输入/而不进行补全, 如下图 解决方法 在设置->文本编辑器->建议, 取消…

经典目标检测YOLO系列(三)YOLOV3的复现(1)总体网络架构及前向处理过程

经典目标检测YOLO系列(三)YOLOV3的复现(1)总体网络架构及前向处理过程 和之前实现的YOLOv2一样,根据《YOLO目标检测》(ISBN:9787115627094)一书,在不脱离YOLOv3的大部分核心理念的前提下,重构一款较新的YOLOv3检测器,来对YOLOv3有…

<蓝桥杯软件赛>零基础备赛20周--第19周--最短路

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…

OpenCV-28 全局二值化

一、形态学概念 什么是形态学? 1)指一系列处理图像型状特征的图像处理技术 2)形态学的基本思想是利用一直特殊的结构元(本质上是卷积核,且这个卷积核的值只有1和0)来测量或提取输入图像中相应的型状或特…

17. Spring Boot Actuator

17. Spring Boot Actuator Spring Boot执行器(Actuator)提供安全端点,用于监视和管理Spring Boot应用程序。 默认情况下,所有执行器端点都是安全的。 在本章中,将详细了解如何为应用程序启用Spring Boot执行器。 启用Spring Boot Actuator …

CAD-autolisp(三)——文件、对话框

目录 一、文件操作1.1 写文件1.2 读文件 二、对话框DCL2.1 初识对话框2.2 常用对话框界面2.2.1 复选框、列表框2.2.2 下拉框2.2.3 文字输入框、单选点框 2.3 Lisp对dcl的驱动2.4 对话框按钮实现拾取2.5 对话框加载图片2.5.1 幻灯片图片制作2.5.1 代码部分 一、文件操作 1.1 写…

架构篇28:业务高可用的保障-异地多活架构

文章目录 应用场景架构模式小结无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。但在一些极端场景下,有可能所有服务器都出现故障。例如,典型的有机房断电、机房火灾、地震、水灾……这些极端…

【阿里云服务器数据迁移】 同一个账号 不同区域服务器

前言 假如说一台云服务器要过期了,现在新买了一台,有的人会烦恼又要将重新在新的服务器上装环境,部署上线旧服务器上的网站项目, 但是不必烦恼,本文将介绍如何快速将就旧的服务器上的数据迁移到新的服务器上. 包括所有的环境和网站项目噢 ! 步骤 (1) 创建旧服务器自定义镜像…

AI作画工具 stable-diffusion-webui 一键安装工具(A1111-Web-UI-Installer)

安装 下载最新版本确保你的 NVIDIA 显卡驱动程序是最新的(起码不能太老)启动安装程序在欢迎屏幕上单击下一步在屏幕上,选择要安装的内容如果你已经安装了 Python 3.10 和 Git,那么可以取消选中如果你不知道这些是什么&#xff0c…

Spring boot + Azure OpenAI 服务 1.使用 GPT-35-Turbo

Azure OpenAI 服务使用 GPT-35-Turbo 先决条件 maven 注意 beta.6 版本 <dependency><groupId>com.azure</groupId><artifactId>azure-ai-openai</artifactId><version>1.0.0-beta.6</version></dependency>问答工具类 pack…

Django介绍

一、介绍 Django是Python语言中的一个Web框架,Python语言中主流的web框架有Django、Tornado、Flask 等多种 优势:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等功能,是一个全能型框架,拥有自己的Admin数据管理后台,第三方工具齐全,性能折中 缺点:…

【深度学习:t-SNE 】T 分布随机邻域嵌入

【深度学习&#xff1a;t-SNE 】T 分布随机邻域嵌入 降低数据维度的目标什么是PCA和t-SNE&#xff0c;两者有什么区别或相似之处&#xff1f;主成分分析&#xff08;PCA&#xff09;t-分布式随机邻域嵌入&#xff08;t-SNE&#xff09; 在 MNIST 数据集上实现 PCA 和 t-SNE结论…

Sentinel:微服务守护神的崛起

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Sentinel&#xff1a;微服务守护神的崛起 前言Sentinel简介&#xff1a;微服务流控的新宠Sentinel工作原理 前言 想象一下你正在主持一场盛大的马拉松比赛&#xff0c;参赛者如潮水般汇聚&#xff0c…

换个思维方式快速上手UML和 plantUML——类图

和大多数朋友一样&#xff0c;Jeffrey 在一开始的时候也十分的厌烦软件工程的一系列东西&#xff0c;对工程化工具十分厌恶&#xff0c;觉得它繁琐&#xff0c;需要记忆很多没有意思的东西。 但是之所以&#xff0c;肯定有是因为。对工程化工具的不理解和不认可主要是基于两个逻…

JVM篇----第九篇

系列文章目录 文章目录 系列文章目录前言一、分代收集算法二、新生代与复制算法三、老年代与标记复制算法前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、分代…

数据结构(1)--> 顺序表

定义&#xff1a; 顺序表存储定义&#xff1a; 把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构&#xff0c;顺序表功能的实现借助于数组&#xff0c;通过对数组进行封装&#xff0c;从而实现增删查改的功能&#xff0c;严格意义上来说&#xff08;数组无法实现…