SUDS: Scalable Urban Dynamic Scenes
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} x∈R3表示位置, d ∈ R 3 \mathbf{d}\in\mathbb{R}^3 d∈R3表示视角方向, 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′∈[t−1,t+1]∑x∥st′(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利用未标记的输入来学习语义感知和场景流,使其能够执行多个下游任务,同时超越依赖人工标注的最先进方法。尽管论文提出了构建城市规模动态环境的初步尝试,但在构建真正逼真的表示之前仍然存在许多挑战。
相关文章:
SUDS: Scalable Urban Dynamic Scenes
SUDS: Scalable Urban Dynamic Scenes:可扩展的城市动态场景 创新点 1.将场景分解为三个单独的哈希表数据结构,以高效地编码静态、动态和远场辐射场 2.利用无标签的目标信号,包括RGB图像、稀疏LiDAR、现成的自监督2D描述符,以及…...
蓝桥杯算法双周赛心得——迷宫逃脱(记忆化搜索)
大家好,我是晴天学长,非常经典实用的记忆化搜索题,当然也可以用dp做,我也会发dp的题解,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .迷宫逃脱 迷官逃脱…...
nodejs+vue线上生活超市购物商城系统w2c42
超市管理系统的开发流程包括对超市管理系统的需求分析,软件的设计建模以及编写程序实现系统所需功能这三个阶段。对超市管理系统的需求分析。在这个阶段,通过查阅书籍,走访商场搜集相关资料,了解经营者对软件功能的具体所需和建议…...
飞翔的小鸟
运行游戏如下: 碰到柱子就结束游戏 App GameApp类 package App;import main.GameFrame;public class GameApp {public static void main(String[] args) {//游戏的入口new GameFrame();} } main Barrier 类 package main;import util.Constant; import util.Ga…...
浅析OKR的敏捷性
前言 OKR对于工作的提升有着一定的不可替代的作用。特别在敏捷方面。 OKR的敏捷性 OKR(Objectives and Key Results)是一种目标设定框架,它的敏捷性主要体现在以下几个方面: 公开透明 OKR要求完全公开透明,让每个员…...
Linux+qt:创建动态库so,以及如何使用(详细步骤)
目录 1、根据安装Qt Creator的向导进行创建 2、开发动态库注意的一些细节 3、给动态库添加一个对外开放的接口文件 4、了解下Qt的 .pri文件(非常实用) 5、如何调用动态库.so 1、根据安装Qt Creator的向导进行创建 (1)选择“…...
如何将Docker的构建时间减少40%
与许多公司类似,我们为产品中使用的所有组件构建docker映像。随着时间的推移,其中一些映像变得越来越大,我们的CI构建花费的时间也越来越长。我的目标是CI构建不超过5分钟——差不多是喝杯咖啡休息的理想时间。如果构建花费的时间超过这个时间…...
二分查找——经典题目合集
文章目录 🦜69. x 的平方根🌼题目🌻算法原理🌷代码实现 🐳35. 搜索插入位置🌼题目🌻算法原理🌷代码实现 🦭852. 山脉数组的峰顶索引🌼题目🌻算法原…...
在Jupyter Lab中使用多个环境,及魔法命令简介
一、Jupyter Lab使用conda虚拟环境 1、给虚拟环境添加 ipykernel 方法一: 创建环境时直接添加ipykernel 方法:conda create -n 【虚拟环境名称】python3.8 ipykernel实例如下: conda create -n tensorflow_cpu python3.8 ipykernel 方法二ÿ…...
知虾数据软件:电商人必备知虾数据软件,轻松掌握市场趋势
在当今数字化时代,数据已经成为了企业决策的重要依据。对于电商行业来说,数据更是至关重要。如果你想在电商领域中脱颖而出,那么你需要一款强大的数据分析工具来帮助你更好地了解市场、分析竞争对手、优化运营策略。而知虾数据软件就是这样一…...
c语言中*p1++和p1++有啥区别
在C语言中,*p1和p1是两个不同的表达式,有以下区别: *p1:这是一个后缀递增运算符的组合。首先,*p1会取出指针p1所指向的值,并且对p1进行递增操作。简而言之,这个表达式会先取出p1指向的值&#x…...
2
【任务 2】私有云服务运维[10 分] 【适用平台】私有云 【题目 1】OpenStack 开放镜像权限[0.5 分] 使 用 OpenStack 私 有 云 平 台 , 在 OpenStack 平台的 admin 项 目 中 使 用 cirros-0.3.4-x86_64-disk.img 镜像文件创建名为 glance-cirros 的镜像,通…...
SELinux零知识学习二十二、SELinux策略语言之类型强制(7)
接前一篇文章:SELinux零知识学习二十一、SELinux策略语言之类型强制(6) 二、SELinux策略语言之类型强制 3. 访问向量规则 AV规则就是按照对客体类别的访问许可指定具体含义的规则,SELinux策略语言目前支持四类AV规则:…...
cadence layout lvs时出现error
Error:Schematic export failed or was cancelled.Please consult the transcript in the viewer window. 解决办法同下: cadence layout lvs时出现error-CSDN博客...
python练习题(markdown中的60道题)
1.Demo01 摄氏温度转化为华氏温度 celsius float(input(输入摄氏温度:)) fahrenheit (9/5)*celsius 32 print(%0.1f 摄氏温度转为华氏温度为 %0.1f % (celsius, fahrenheit))结果: 2.Demo02 计算圆柱体的体积 h, r map(float, input().split())# …...
【JavaSE】-4-单层循环结构
回顾 运算符: 算术 --、逻辑 && & || |、比较 、三元 、赋值 int i 1; i; j i; //j2 i3 syso(--j"-----"i) //1 3 选择结构 if(){} if(){}else{} if(){}else if(){}else if(){}else{}//支持byte、short、int //支持char //支持枚举…...
12、人工智能、机器学习、深度学习的关系
很多年前听一个机器学习的公开课,在Q&A环节,一个同学问了老师一个问题“机器学习和深度学习是什么关系”? 老师先没回答,而是反问了在场的同学,结果问了2-3个,没有人可以回答的很到位,我当时也是初学一脸懵,会场准备的小礼品也没有拿到。 后来老师解释“机器学习和…...
webpack external 详解
作用:打包时将依赖独立出来,在运行时(runtime)再从外部获取这些扩展依赖,目的时解决打包文件过大的问题。 使用方法: 附上代码块 config.set(externals, {vue: Vue,vue-router: VueRouter,axios: axios,an…...
代码混淆不再愁:一篇掌握核心技巧
1. 概述 代码混淆是将计算机程序的代码转换成一种功能上等价,但是难以阅读和理解的形式。 对于软件开发者来说,代码混淆可以在一定程度上保护程序免被逆向。 对于逆向工程师来说,学习代码混淆可以帮助我们研究反混淆技术。 2. 常见混淆…...
华为云IoT与OpenHarmony深度协同,加速设备上鸿即上云【云驻共创】
本次专题论坛探讨了华为云IoT与Open Harmony的深度协同、边缘屏蔽硬件差异、实现智慧隧道全方位智能化管理,以及华为云与Open Harmony生态的合作。同时也介绍了华为云物联网卡平台、HTTP2协议以及华为物联网在交通领域的应用。 一.华为云IoT与Open Harm…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
