SUDS: Scalable Urban Dynamic Scenes

news2024/9/20 21:48:13

SUDS: Scalable Urban Dynamic Scenes:可扩展的城市动态场景

创新点

1.将场景分解为三个单独的哈希表数据结构,以高效地编码静态、动态和远场辐射场
2.利用无标签的目标信号,包括RGB图像、稀疏LiDAR、现成的自监督2D描述符,以及最重要的2D光流
通过光度、几何和特征度量重建损失对这些输入进行操作,使得SUDS能够将动态场景分解为静态背景、单个对象和它们的运动。

方法

Inputs

监督:(1)对齐的稀疏LiDAR深度测量,(2)2D自监督像素(DINO [10])描述符来实现语义操作,以及(3)2D光流预测来建模场景动态。
以N个视频的有序RGB图像(在不同的天气和光照条件下拍摄)及其关联的相机姿态作为输入。

Representation

Scene composition

SUDS将场景分解为三个分支:(a)静态分支,包含在视频中一致的非移动地形,(b)动态分支,用于分解视频特定对象(移动或其他),(c)远场环境地图,用于表示远处对象和天空
受Instant-NGP的启发,论文使用F维特征向量的多分辨率哈希表实现每个分支,然后是一个小的MLP,沿着哈希函数来索引视频

Hash tables

在这里插入图片描述

如图所示,对于给定的输入坐标(x,d,t,vid), x ∈ R 3 \mathbf{x}\in\mathbb{R}^{3} xR3表示位置, d ∈ R 3 \mathbf{d}\in\mathbb{R}^3 dR3表示视角方向, t ∈ { 1 , . . . , T } t\in\{1,...,T\} t{1,...,T}表示帧的编号, v i d ∈ { 1 , . . . , N } \mathbf{vid}\in\{1,...,N\} vid{1,...,N}表示视频编号,类似于instant-ngp,在不同分辨率级别(l∈L)的每个哈希表中搜索周围的体素,并对这些网格的顶点进行哈希处理。
instant-ngp博客学习链接
静态分支(vl,s): 使用3D空间体素(vl,s)。
动态分支(vl,d): 使用4D时空体素(vl,d)。
远场分支(vl,e): 使用3D体素(vl,e),通过规范化的3D方向向量实现。这些体素用于索引环境地图。哈希函数如下

i l , s = static_hash ( s p a c e ( v l , s ) ) i l , d = dynamic.hash ( s p a c e ( v l , d ) , t i m e ( v l , d ) , v i d ) i l , e = env _ hash ( d i r ( v l , e ) , v i d ) \begin{aligned} &\mathbf{i}_{l,s} =\text{static\_hash}(space(\mathbf{v}_{l,s})) \\ &\mathbf{i}_{l,d} =\text{dynamic.hash}(space(\mathbf{v}_{l,d}),time(\mathbf{v}_{l,d}),\mathbf{vid}) \\ &\mathbf{i}_{l,e} =\text{env}\_\text{hash}(dir(\mathbf{v}_{l,e}),\mathbf{vid}) \end{aligned} il,s=static_hash(space(vl,s))il,d=dynamic.hash(space(vl,d),time(vl,d),vid)il,e=env_hash(dir(vl,e),vid)

论文通过插值将特征值映射到最近的体素顶点,并使用梯度平均处理哈希冲突。为了处理不同视频中可能存在的移动物体和照明条件的变化,论文使用视频编号作为哈希的辅助输入,但不参与插值。这样,可以有效地索引每个视频的插值函数,而不会线性增加内存。将每个级别的结果连接成特征向量,并通过 MLP 获取每个分支的输出。

Static branch

静态分支将从哈希表获得的特征向量映射为视图相关颜色cs和视图无关密度σs。通过视频特定矩阵Avid和傅立叶编码的时间索引F(t)的乘积作为潜在嵌入输入:
σ s ( x ) ∈ R c s ( x , d , A v i d F ( t ) ) ∈ R 3 . \begin{aligned}&\sigma_s(\mathbf{x})\in\mathbb{R}\\&\mathbf{c}_s(\mathbf{x},\mathbf{d},A_{vid}\mathcal{F}(t))\in\mathbb{R}^3.\end{aligned} σs(x)Rcs(x,d,AvidF(t))R3.

使其能够考虑跨视频的显著变化以及单个视频内的平滑过渡

Dynamic branch

而在动态分支中,cd,σd可以随时间变化。在计算动态辐射度时,论文省略了潜在的代码。论文发现阴影在城市场景的外观中起着至关重要的作用,所以显式地对标量值ρd∈[0,1]的阴影场进行建模,用于调整静态颜色cs
σ d ( x , t , v i d ) ∈ R ρ d ( x , t , v i d ) ∈ [ 0 , 1 ] c d ( x , t , v i d , d ) ∈ R 3 \begin{aligned} &\sigma_{d}(\mathbf{x},\mathbf{t},\mathbf{vid})\in\mathbb{R} \\ &\rho_{d}(\mathbf{x},\mathbf{t},\mathbf{vid})\in[0,1] \\ &\mathbf{c}_d(\mathbf{x},\mathbf{t},\mathbf{vid},\mathbf{d})\in\mathbb{R}^3 \end{aligned} σd(x,t,vid)Rρd(x,t,vid)[0,1]cd(x,t,vid,d)R3
在这里插入图片描述
如上图,论文中学习了一个显式的阴影场(a)作为静态颜色的逐点减少,与(b)相比,能够实现更好的深度重建和静态/动态因子分解。

Far-field branch

因为天空需要考虑到远场辐射,并且在不同的视频中可能发生巨大的变化,论文使用一个依赖于观察方向d,和视频id vid的环境图 c e ( d , v i d ) ∈ R 3 \mathbf{c}_e(\mathbf{d},\mathbf{vid})\in\mathbb{R}^3 ce(d,vid)R3 对远处进行建模

Rendering

通过计算静态和动态分量的加权和,结合逐点阴影减少,得到任意位置的单个密度和辐射值
σ ( x , t , v i d ) = σ s ( x ) + σ d ( x , t , v i d ) c ( x , t , v i d , d ) = σ s σ ( 1 − ρ d ) c s ( x , d , A v i d F ( t ) ) + σ d σ c d ( x , t , v i d , d ) \begin{aligned} \sigma(\mathbf{x},\mathbf{t},\mathbf{vid})& =\sigma_{s}(\mathbf{x})+\sigma_{d}(\mathbf{x},\mathbf{t},\mathbf{vid}) \\ \mathbf{c}(\mathbf{x},\mathbf{t},\mathbf{vid},\mathbf{d})& =\frac{\sigma_{s}}{\sigma}(1-\rho_{d})\mathbf{c}_{s}(\mathbf{x},\mathbf{d},A_{vid}\mathcal{F}(t)) \\ &+\frac{\sigma_{d}}{\sigma}\mathbf{c}_{d}(\mathbf{x},\mathbf{t},\mathbf{vid},\mathbf{d}) \end{aligned} σ(x,t,vid)c(x,t,vid,d)=σs(x)+σd(x,t,vid)=σσs(1ρd)cs(x,d,AvidF(t))+σσdcd(x,t,vid,d)

通过沿光线在采样点处累积透射率,并强制光线与远场环境贴图相交,以获得相机光线在给定帧和视频中的颜色:
C ^ ( r , t , v i d ) = ∫ 0 + ∞ T ( t ) σ ( r ( t ) , t , v i d ) c ( r ( t ) , t , v i d , d ) d t + T ( + ∞ ) c e ( d , v i d ) , w h e r e T ( t ) = exp ⁡ ( − ∫ 0 t σ ( r ( s ) , t , v i d ) d s ) . \begin{aligned} &\hat{C}(\mathbf{r},\mathbf{t},\mathbf{vid}) =\int_{0}^{+\infty}T(t)\sigma(\mathbf{r}(t),\mathbf{t},\mathbf{vid})\mathbf{c}(\mathbf{r}(t),\mathbf{t},\mathbf{vid},\mathbf{d})dt +T(+\infty)\mathbf{c}_{e}(\mathbf{d},\mathbf{vid}), \\ &\mathrm{where}T(t) =\exp\left(-\int_0^t\sigma(\mathbf{r}(s),\mathbf{t},\mathbf{vid})ds\right). & \end{aligned} C^(r,t,vid)=0+T(t)σ(r(t),t,vid)c(r(t),t,vid,d)dt+T(+)ce(d,vid),whereT(t)=exp(0tσ(r(s),t,vid)ds).

Feature distillation(特征蒸馏)

对于如何将语义识别集成到SUDS系统中,论文将自监督的2D特征提取器(DINO)的输出作为教师模型蒸馏到SUDS网络中。类似于达到语义分割的目的
DINO:把自监督学习下的vision transformer的自注意力图拿出来可视化,会发现他可以抓到每个物体的轮廓,甚至匹配语义分割的效果。

对于将图像转换为密集的RH×W×C特征网格的特征提取器,其中H和W分别为特征网格的高度和宽度,C是通道数,系统在每个分支上都添加了一个C维输出头。这些输出头分别表示为:
在这里插入图片描述

论文通过在N个输入视频中随机采样射线批次,并最小化以下损失函数来联合优化所提的三个模型分支和每个视频的权重矩阵Avid
在这里插入图片描述

Reconstruction losses

论文最小化L2光度损失函数(与原始NeRF相同): L c ( r ) = ∥ C ( r ) − C ^ ( r ) ∥ 2 \mathcal{L}_{c}(\mathbf{r})=\left\|C(\mathbf{r})-\hat{C}(\mathbf{r})\right\|^{2} Lc(r)= C(r)C^(r) 2

同样地,论文最小化教师模型和我们的网络的特征输出之间的L1差异(DINO网络损失): L f ( r ) = ∥ F ( r ) − F ^ ( r ) ∥ 1 \mathcal{L}_{f}(\mathbf{r})=\left\|F(\mathbf{r})-\hat{F}(\mathbf{r})\right\|_{1} Lf(r)= F(r)F^(r) 1

为了利用深度测量结果,将LiDAR扫描投影到相机平面上,并将预期深度 D ^ ( r ) \hat{D}(r) D^(r)与测量深度进行比较
L d ( r ) = ∥ D ( r ) − D ^ ( r ) ∥ 2 where D ^ ( r ) = ∫ 0 + ∞ T ( s ) σ ( r ( s ) ) d s \begin{aligned}\mathcal{L}_d(\mathbf{r})&=\left\|D(\mathbf{r})- \hat{D}(\mathbf{r})\right\|^2 \\\text{where}\hat{D}(\mathbf{r})&=\int_0^{+\infty}T(s)\sigma(\mathbf{r}(s))ds\end{aligned} Ld(r)whereD^(r)= D(r)D^(r) 2=0+T(s)σ(r(s))ds

Flow

论文使用2D光流来监督3D场景流的预测。对于每个相机光线,论文生成一个2D位移向量,首先通过将光线上的场景流邻居进行加权求和来预测其在3D空间中的位置
在这里插入图片描述

3D warping

论文还发现强制保持3D颜色(和特征)的一致性非常有用;即颜色在移动时保持不变。为了实现这一点,论文使用预测的正向和反向3D流场st+1和st-1将每个样本沿着光线迁移至下一帧/上一帧在这里插入图片描述
变形后的颜色和体密度被渲染成了变形后的颜色和特征: C ^ w ( r ) \hat{C}^{w}\left(\mathbf{r}\right) C^w(r) F w ~ ( r ) \tilde{F^{w}}(\mathbf{r}) Fw~(r)
添加损失以确保扭曲的颜色(和特征)与当前帧的地面实况输入匹配,使用动态几何和变形后的动态几何之间的差异来降低损失
在这里插入图片描述
在这里插入图片描述

Flow regularization

使用3D场景流循环项来鼓励前向和后向场景流预测之间的一致性,降低由于遮挡而导致的模糊区域的损失
在这里插入图片描述
还通过Lsm(r)鼓励空间和时间平滑,通过 L s l o ( r ) = ∑ t ′ ∈ [ t − 1 , t + 1 ] ∑ x ∥ s t ′ ( x , t ) ∥ 1 . \mathcal{L}_{slo}(\mathbf{r})=\sum_{t^{\prime}\in[\mathbf{t}-1,\mathbf{t}+1]}\sum_{\mathbf{x}}\left\|s_{t^{\prime}}(\mathbf{x},\mathbf{t})\right\|_{1}. Lslo(r)=t[t1,t+1]xst(x,t)1. 则化预测场景流向量的大小,以鼓励场景保持静态。

Static-dynamic factorization(静动态分解)

空间中的任意点都应该被静态或动态对象占据,论文通过偏向静态场景的偏斜二进制熵损失来鼓励静态和动态密度的空间比例接近于0或1

在这里插入图片描述

Shadow loss

论文对每条光线沿着光线路径对阴影比率的平方幅值进行惩罚,以防止其对暗区域进行过度解释。具体而言,论文使用以下损失函数进行惩罚:
L ρ ( r ) = ∫ 0 + ∞ ρ d ( r ( t ) ) 2 \mathcal{L}_{\rho}(\mathbf{r})=\int_{0}^{+\infty}\rho_{d}(\mathbf{r}(t))^{2} Lρ(r)=0+ρd(r(t))2

论文提出了一种模块化的方法,用于以前未开发的规模构建动态神经表示。论文的多分支哈希表结构使论文方法能够将静态几何和短暂对象高效地分离和编码,跨越成千上万的视频。SUDS利用未标记的输入来学习语义感知和场景流,使其能够执行多个下游任务,同时超越依赖人工标注的最先进方法。尽管论文提出了构建城市规模动态环境的初步尝试,但在构建真正逼真的表示之前仍然存在许多挑战。

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

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

相关文章

消息中间件——RabbitMQ(三)理解RabbitMQ核心概念和AMQP协议!

前言 本章学习,我们可以了解到以下知识点: 互联网大厂为什么选择RabbitMQ?RabbiMQ的高性能之道是如何做到的?什么是AMQP高级协议?AMQP核心概念是什么?RabbitMQ整体架构模型是什么样子的?Rabbi…

计算机基础知识——字,字节,进制,short,byte等

目录 进制位,字节,字Byte,ShortByteBuf有符号数和无符号数 进制 HEX,Hexadecimal ,十六进制。 DEC,Decimal ,十进制。 OCT,Octal ,八进制。 BIN,Binary &a…

语音识别技术在医疗行业中的应用案例

随着语音识别技术和计算机视觉技术的不断提高,现代医学正在进入全面数字化时代。 追求高质量的训练数据是人工智能产业的信条,得到更为精准的语音机器模型更离不开语音数据的不断供给。本文讲介绍: 什么是语音识别技术语音识别技术如何应用于医疗行业 …

SpringBoot:邮件发送

官网文档:39. Sending Email (spring.io)。 Sending Email Spring框架提供了JavaMailSender实例,用于发送邮件。 如果SpringBoot项目中包含了相关的启动器,那么就会自动装配一个Bean实例到项目中。 在SpringBoot项目中引入如下Email启动器&a…

小红书干货类笔记怎么写?建议收藏

小红书干货类笔记是指在小红书这个社交平台上,用户分享的各种实用、有价值的生活技巧、经验、心得等内容的笔记。这类笔记通常具有以下特点:内容详实、实用性强、独特见解、图文并茂。 比如:某个妆要怎么化、某种技能该怎么学、某个城市该怎…

前端环境变量释义import.meta.env.xxx

视频教程 彻底搞懂前端环境变量使用和原理,超清楚_哔哩哔哩_bilibili 添加命令行参数 --modexxxxx 新建.env.xxxx文件,其中.env文件会在所有环境下生效 以VITE_开头,字符串无需加双引号 使用import.meta.env.VITE_xxxxx进行调用

跨境电商客服系统:提升客户满意度与优化电商体验的关键

随着全球电子商务的快速发展,跨境电商已经成为新的商业发展趋势。在这个高度竞争的市场环境中,优质的客户服务成为区分优秀与平庸的关键因素。一个高效的跨境电商客服系统不仅可以提高客户满意度,还能帮助企业优化电商体验,进而提…

图解系列--密钥,随机数,应用技术

密钥 1.生成密钥 1.1.用随机数生成密钥 密码学用途的伪随机数生成器必须是专门针对密码学用途而设计的。 1.2.用口令生成密钥 一般都是将口令输入单向散列函数,然后将得到的散列值作为密钥使用。 在使用口令生成密钥时,为了防止字典攻击,需要…

flutter 极光集成华为厂商推送:Could not resolve com.huawei.agconnect:agcp:1.9.1.301

前提:已经按照极光官网配置好准备工作 问题截图: 主要一直通过vscode启动项目,下载华为包失败。通过和极光的开发沟通,在Android Studio中配置代理Ps:代理信息 检查链接成功,即可去下载插件包 然后正常执…

【技巧】PDF文件如何编辑?

日常办公中我们经常会用到PDF文件,PDF具备很好的兼容性、稳定性及安全性,但却不容易编辑,那PDF要如何编辑呢? 如果打开PDF文件就只是只读的性质,说明文件是在线打开,或者通过PDF阅读器打开的,这…

nodejs+vue线上生活超市购物商城系统w2c42

超市管理系统的开发流程包括对超市管理系统的需求分析,软件的设计建模以及编写程序实现系统所需功能这三个阶段。对超市管理系统的需求分析。在这个阶段,通过查阅书籍,走访商场搜集相关资料,了解经营者对软件功能的具体所需和建议…

人工智能和AR/VR:AI在AR和VR中扮演什么角色?行业应用有哪些?

增强现实技术和虚拟现实技术(AR/VR)发展前景广阔,备受各大企业关注。事实上,近四分之三的行业领导者表示,他们预计这些沉浸式技术将于未来五年内成为主流。高盛公司报告称,到2025年,AR/VR行业值…

Golang版本处理Skywalking Trace上报数据

Tips: 中间记录了解决问题的过程,如不感兴趣可直接跳至结尾 首先去es里查询skywalking trace的元数据 可以拿到一串base64加密后的data_binary(直接解密不能用,会有乱码,可参考https://github.com/apache/skywalking/issues/7423) 对data_b…

SkyWalking配置报警推送到企业微信

1、先在企业微信群里创建一个机器人,复制webhook的地址: 2、找到SkyWalking部署位置的alarm-settings.yml文件 编辑,在最后面加上此段配置 !!!一定格式要对,不然一直报警报不出来按照网上指导…

Leaflet结合Echarts实现迁徙图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>Leaflet结合Echarts4实现迁徙图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

计算机系统的存储原理

文章目录 高速缓存存储设备的层次结构操作系统的两个基本功能参考 高速缓存 高速缓存至关重要。 helloworld 程序揭示了一个重要的问题&#xff1a;系统花费了大量的时间把信息从一个地方挪到另一个地方。 程序的机器指令最初是存放在磁盘上&#xff0c;当程序加载时&#xf…

c语言打印金字塔

输入行数n,打印n行的金字塔。如图&#xff1a; 先分析其规律。 打印n行&#xff0c;即外层循环n次。再分析每一层的规律&#xff0c;先具体化举例&#xff0c;举一个行数为5的金字塔。可以发现每一行前面的空格呈递减趋势&#xff0c;且与行数有关系&#xff1a;空格数行数-层…

STM32_3(GPIO)

GPIO简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口8种输入输出模式输出模式可控制端口输出高电平&#xff0c;驱动LED、蜂鸣器、模拟通信协议输出时许等输入模式可读取端口的高低电平或电压&#xff0c;用于读取按键输入、外接模块电平信号输…

AD7021C 触摸感应加灯光调节芯片IC 可用于触摸台灯、触摸玩具灯等

AD7021C触摸感应 IC 是为实现人体触摸界面而设计的集成电路。可替代机械式轻触按键&#xff0c;实现防水防尘、密封隔离、坚固美观的操作界面。使用该芯片可以实现 LED 灯光亮度调节&#xff0c;方案所需的外围电路简单&#xff0c;操作方便。确定好灵敏度选择电容&#xff…

【MybatisPlus】简介与使用

MyBatisPlus 1.简介 MyBatisPlus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatis的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生 官网&#xff1a;https://baomidou.com/ MyBatis-Plus特性&#xff1a; 无侵入&#xff1a;只…