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

news2024/12/26 11:38:35

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

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

相关文章

JavaGUI之SWT框架【Button】

文章目录 1. 按钮类型1.1 普通按钮1.2 单选按钮1.3 多选按钮 2. 文字风格3. 按钮外观风格 录制的视频 按钮Button,SWT框架中常见的组件。针对Button的设置分为三个层面,分别是按钮类型,按钮文字对齐风格,按钮外观风格 1. 按钮类型…

SpringBoot将第三方的jar中的bean对象自动注入到ioc容器中

新建一个模块,做自动配置 config:需要准备两个类,一个自动配置类,一个配置类 CommonAutoConfig:此类用于做自动配置类它会去读取resoutces下的META-INF.spring下的org.springframework.boot.autoconfigure.AutoConfig…

NoSQL基本内容

第一章 NoSQL 1.1 什么是NoSQL NoSQL(Not Only SQL)即不仅仅是SQL,泛指非关系型的数据库,它可以作为关系型数据库的良好补充。随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,…

苹果macOS 恶意软件家族被曝光:通过破解软件分发,可窃取敏感信息

卡巴斯基安全实验室近日发布博文,发现了一种针对苹果 macOS 设备的新型恶意软件家族,并提醒苹果 Mac 用户谨慎下载破解软件。 报告称这种新型恶意软件家族高度复杂,主要伪装成为各种知名 macOS 软件的破解版分发,用户下载恶意 PKG…

InitVerse:为云计算服务带来更高的透明度和可验证性

InitVerse:为云计算服务带来更高的透明度和可验证性 在云计算服务领域,透明度和可验证性是构建信任的关键要素。传统的云计算市场往往缺乏透明度,用户难以了解其数据和计算资源的实际使用情况。然而,通过利用区块链技术&#xff0…

2024.1.27 GNSS 学习笔记

1.精确的描述轨道的一组数据(星历)是实现精确定位与导航的基础。 2.GNSS卫星广播星历的提供方式一般有两种:一种是提供开普勒轨道参数和必要的轨道摄动改正项参数,如GPS、BDS、Galileo三大系统采用此种模式,还有QZSS系统;另一种是…

苹果提审被拒反馈崩溃日志.text | iOS 审核被拒crashLog

iOS审核人员拒绝后每个截图,只给了几个text文件,这种情况就是审核的时候运行你的代码,崩溃了。 仅仅看text文件,是看不出所以然来的,所以我们要将日志转换成.crash格式 1.将.text文件下载下来,将 .text手动…

快快销ShopMatrix 分销商城多端uniapp可编译5端-代理商收益管理:差价奖励和销售额统计

代理商收益管理是一种针对代理商的利润分配模式,主要通过差价奖励和销售额统计来实现。这种模式的核心思想是通过激励代理商的销售行为,提高代理商的积极性和销售效率,从而实现整个销售网络的增长。 差价奖励是代理商收益管理中的一种常见方…

Pyecharts 风采:从基础到高级,打造炫酷象形柱状图的完整指南【第40篇—python:象形柱状图】

文章目录 引言安装PyechartsPyecharts象形柱状图参数详解1. Bar 类的基本参数2. 自定义图表样式3. 添加标签和提示框 代码实战:绘制多种炫酷象形柱状图进阶技巧:动态数据更新与交互性1. 动态数据更新2. 交互性设计 拓展应用:结合其他图表类型…

MySQL的外键和连接,如何做到关联查询?

目录 一、MySQL介绍 二、什么是外键 三、什么是连接 四、如何实现关联查询 一、MySQL介绍 MySQL是一种开源的关系型数据库管理系统,它是目前最流行的数据库之一。MySQL由瑞典MySQL AB公司开发,后被Sun Microsystems收购,随后又被Oracle收…

Java基础知识-异常

资料来自黑马程序员 异常 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是: 异常 :指的是程序在执行过程中,出现的非正常的情况,…

【单片机】使用AD2S1210旋变芯片读取转子位置和速度

历时两周的反复调试,终于跑通了。只能说第一次做这种小工程确实缺乏经验,跟书本上学的还是有些出入。做下记录,方便后面来查看。 0. 实验要求 基于STM32单片机,使用AD2S1210旋变芯片读取电机转子位置和速度。   硬件设施&#x…

生信技能树--转录组--个人笔记

这周主要内容是学习转录组的比对,选择的软件为hisat2,该笔记仅供个人参考谨慎搬运代码。 # hisat2 可以快速准确地将测序得到的 RNA 片段(reads)比对到参考基因组,从而确定这些RNA 片段在基因组上的精确位置&#xff…

MYSQL表的约束详解!

文章目录 前言一、空属性二、默认值三、列描述四、zerofill五、主键六、自增长七、唯一键八、外键 前言 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据…

excel统计分析——卡方检验(基本原理)

参考资料:生物统计学 卡方检验(chi-square test)又称检验,是英国数理统计学家Karl Pearson推导出来的,该方法是处理分类变量或离散型数据的一类重要方法。分类变量或离散型数据时生物学和医学领域常见的数据类型。 1、…

ETCD高可用架构涉及常用功能整理

ETCD高可用架构涉及常用功能整理 1. etcd的高可用系统架构和相关组件1.1 Quorum机制1.2 Raft协议 2. etcd的核心参数2.1 常规配置2.2 特殊优化配置2.2.1 强行拉起新集群 --force-new-cluster2.2.2 兼容磁盘io性能差2.2.3 etcd存储quota 3. etcd常用命令3.1 常用基础命令3.1.1 列…

人脸识别 FaceNet人脸识别(一种人脸识别与聚类的统一嵌入表示)

人脸识别 FaceNet人脸识别(一种人脸识别与聚类的统一嵌入表示) FaceNet的简介Facenet的实现思路训练部分 FaceNet的简介 Facenet的实现思路 import torch.nn as nndef conv_bn(inp, oup, stride 1):return nn.Sequential(nn.Conv2d(inp, oup, 3, stride…

C++20 高级编程

文章目录 前言前奏lambda浅谈std::ref的实现浅谈is_same浅谈std::function的实现std::visit 与 std::variant 与运行时多态SFINAE类型内省标签分发 (tag dispatching)软件设计六大原则 SOLID To be continue.... 前言 C20 是C在C11 之后最大的一次语言变革, 其中引入了大量具有…

Python网络爬虫实战——实验7:Python使用apscheduler定时采集任务实战

【实验内容】 本实验主要介绍在Django框架中使用APScheduler第三方库实现对数据的定时采集。 【实验目的】 1、掌握APScheduler库的使用; 2、学习在Django中实现多个定时任务调度; 【实验步骤】 步骤1 Apscheduler简介与特点 步骤2 Apscheduler基本…

【开源】基于JAVA语言的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…