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 的应用上限。

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

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

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

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

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

相关文章

【Docker】Docker学习⑧ - Docker仓库之分布式Harbor

【Docker】Docker学习⑧ - Docker仓库之分布式Harbor 一、Docker简介二、Docker安装及基础命令介绍三、Docker镜像管理四、Docker镜像与制作五、Docker数据管理六、网络部分七、Docker仓库之单机Dokcer Registry八、 Docker仓库之分布式Harbor1 Harbor功能官方介绍2 安装Harbor…

OpenCV 1 - 加载 显示 修改 保存图像

1 加载图像(cv::imread) imread功能是加载图像文件成为一个Mat对象 第一个参数,表示图像文件名称第二个参数,表示加载的图像是什么类型,支持常见的三个参数值 参数注释IMREAD_UNCHANGED表示加载原图,不做任何改变IMREAD_GRAYSCALE表示把原图作为灰度图像加载进来IM…

Linux——常用命令

1、命令的基本格式 对服务器来讲,图形界面会占用更多的系统资源,而且会安装更多的服务、开放更多的端口,这对服务器的稳定性和安全性都有负面影响。其实,服务器是一个连显示器都没有的家伙,要图形界面干什么&#xff…

力扣hot100 字符串解码 栈 辅助栈

Problem: 394. 字符串解码 文章目录 思路💖 辅助栈 思路 👨‍🏫 路飞 💖 辅助栈 ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( n ) O(n) O(n) class Solution {public String decodeString(String s…

MCU启动文件小解一下

GD32启动文件分析 启动文件的一些指令.s启动文件分析栈空间分配堆空间管理中断向量表定义堆空间定义Reset_Handler复位程序HardFault_Handler_main文件分析用户堆栈初始化 GD32启动文件主要做了以下工作: 初始化SP_initial_sp , PCReset_Handler指针,设置…

C#,计算几何,随机点集之三角剖分的德劳内(Delaunay)算法的源代码

一、三角剖分Delaunay算法简介 点集的三角剖分(Triangulation),对数值分析(比如有限元分析)以及图形学来说,都是极为重要的一项预处理技术。尤其是Delaunay三角剖分,由于其独特性,关…

day04 两两交换链表中的节点、删除链表倒数第N个节点、链表相交、环形链表II

题目链接:leetcode24-两两交换链表中的节点, leetcode19-删除链表倒数第N个节点, leetcode160-链表相交, leetcode142-环形链表II 两两交换链表中的节点 基础题没有什么技巧 解题思路见代码注释 时间复杂度: O(n) 空间复杂度: O(1) Go func swapPairs(head *Li…

thinphp 调用 \think\Log::write 写入回调日志信息

//接口回调地址 public function back_content(){\think\Log::record(进来了, info); $data file_get_contents(php://input);$ret json_decode($data,true); \think\Log::write(调用第一张图片返回结果.$data,log,true); } Think\Log::record(测试日志信息,这是…

Spark面试全攻略:深入理解与高效准备指南

目录 基础问题 进阶问题 高阶问题 相关资料 基础问题<

class_19:抽象类(纯虚函数不能被实例化)

#include <iostream>using namespace std;class Teacher{ public:string name;string school;virtual void goinclass() 0;//纯虚函数不能被实例化 抽象类virtual void startclass() 0;//纯虚函数不能被实例化virtual void afterclass() 0;//纯虚函数不能被实例化 };…

Android App开发-简单控件(4)——按钮触控和图像显示

3.4 按钮触控 本节介绍了按钮控件的常见用法&#xff0c;包括&#xff1a;如何设置大小写属性与点击属性&#xff0c;如何响应按钮的点击事件和长按事件&#xff0c;如何禁用按钮又该如何启用按钮&#xff0c;等等。 3.4.1 按钮控件Button 除了文本视图之外&#xff0c;按钮…

优化无人机调试中的开源软件

优化无人机调试中的开源软件&#xff0c;可以从以下几个方面入手&#xff1a; 代码优化&#xff1a;检查软件的代码&#xff0c;查看是否存在冗余、低效的代码&#xff0c;或者是否有优化的空间。例如&#xff0c;优化算法、减少不必要的计算等。硬件资源优化&#xff1a;在无…

IMXULL驱动学习——通过总线设备驱动模型点亮野火开发板小灯【参考韦东山老师教程】

参考&#xff1a;【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想&#xff08;学习设备树过渡部分&#xff09;-CSDN博客 韦东山课程&#xff1a;LED模板驱动程序的改造_总线设备驱动模型 我使用的开发板&#xff1a;野火imx6ull pro 欢迎大家一起讨论学习 实现了总线设…

【探索科技 感知未来】文心一言大模型

【探索科技 感知未来】文心大模型 &#x1f6a9;本文介绍 文心一言大模型是由中国科技巨头百度公司研发的一款大规模语言模型&#xff0c;其基于先进的深度学习技术和海量数据训练而成。这款大模型具备强大的自然语言处理能力&#xff0c;可以理解并生成自然语言&#xff0c;为…

leetcode hot100岛屿数量

本题中要求统计岛屿数量&#xff08;数字1的上下左右均为1&#xff0c;则是连续的1&#xff0c;称为一块岛屿&#xff09;。那么这种类型题都是需要依靠深度优先搜索&#xff08;DFS&#xff09;或者广度优先搜索&#xff08;BFS&#xff09;来做的。这两种搜索&#xff0c;实际…

蓝牙----蓝牙GAP层

蓝牙协议栈----GAP GAP的角色连接过程连接参数 GAP&#xff1a;通用访问配置协议层 gap的角色发现的模式与过程连接模式与过程安全模式与过程 CC2640R2F的GAP层抽象 GAP的角色 Broadcaster 广播电台 -不可连接的广播者。Observer 观察者 -扫描广播者但无法启动连接。Periphe…

降低文件增长和失真的零系数JPEG图像可逆信息隐藏

一、研究概述和意义 随着多媒体技术和网络的迅猛发展&#xff0c;数字媒体的应用越来越广泛。在网络上传输的数字 媒体如音频、文本、视频和图像的内容及数据安全问题也随之而来。伴随着计算机技术发展与普及&#xff0c;数字媒体的机密性、完整性经常受到非法活动的威胁&…

vue中的computed

目录 一&#xff1a;介绍 二&#xff1a;例子演示 一&#xff1a;介绍 在 Vue.js 中&#xff0c;computed 属性是一种特殊类型的属性&#xff0c;它允许你声明依赖于其他数据属性的值。computed 属性的值是通过一个函数计算得出的&#xff0c;这个函数可以在其依赖的数据发生…

【MongoDB】mongodb安装及启动踩坑点

mongodb的安装&#xff0c;基本上参考文章[1]。 但是在过程中&#xff0c;有一些踩坑点。 1&#xff0c;高版本mongodb不自带mongo脚本 在文章1中&#xff0c;作者在解压后&#xff0c;直接使用了mongo脚本&#xff0c;而我下载的mongodb版本要更高&#xff0c;在解压后&…

深入理解stressapptest

文章目录 一、概述二、安装2.1、源码编译安装2.2、命令行安装2.3、安装确认三、重要参数详解3.1、查询支持的参数3.2、参数说明 四、实例4.1、随机测试&#xff08;默认模式&#xff09;4.2、循环测试4.2、全内存测试 团队博客: 汽车电子社区 一、概述 stressapptest是一款免费…