【论文笔记】CARFF: Conditional Auto-encoded Radiance Field for 3D Scene Forecasting

原文链接:https://browse.arxiv.org/abs/2401.18075

1. 引言

人类可以从部分视觉上下文中想象不能看到的部分(物体的存在与位置,以及场景与物体的形状、颜色、纹理等),这对安全决策至关重要。而自动驾驶系统的传统方法是将传感器输入转化为被跟踪物体的位置、速度等信息,通常会基于最坏的假设(可视区域边界存在高速运动的车辆)进行规划。

NeRF可以从无遮挡视角生成新视图,从而包含目标检测器可能丢失的重要视觉信息;此外,其使用隐式的密度图表达显式几何, 可以无需渲染就进行运动规划。但使用NeRF进行遮挡处的概率预测是很困难的。本文提出CRAFF,第一个 使用场景的部分观测进行3D表达随机预测,并有效整合视觉感知与显式几何 的方法。

CARFF提出PC-VAE(姿态条件变分自编码器),一种基于卷积和ViT的图像编码器,将部分观测的图像映射为潜在场景表达,包含带隐式概率的状态信念(belief)。此后会训练神经辐射场作为3D解码器,恢复任意视角下的3D场景。此外,还引入混合密度模型,在编码器的信念空间中随机预测3D场景随时间的变化。

3. 方法

本文的主要目标是在动态环境中建立模型进行3D场景的概率预测。但直接整合NeRF的3D场景表达与概率模型(如VAE)会导致非凸和相互影响的优化,从而导致训练不稳定。因此,本文将训练分为两个阶段(如下图所示),即首先训练PC-VAE得到视图不变的场景表达,再将解码器替换为NeRF从隐空间学习3D场景。这样,隐空间表达捕捉了环境的可能的状态和动态,而NeRF则在信念空间生成新视图,从而使未观测区域可见。预测时,不确定性可建模为从预测的高斯混合模型中自回归采样隐变量,从而进行高效决策。因此,本文将场景预测视为隐分布上部分可观测的马尔科夫决策过程(POMDP),在不确定性中捕捉多模态信念。
在这里插入图片描述

3.1 NeRF姿态条件VAE(PC-VAE)

结构:给定时间 t t t下的场景 S t S_t St,从相机姿态 c c c捕获以自车为中心的观测图像 I c t I_c^t Ict。目标是形成图像的3D表达,从而进行未来场景预测。本文使用以隐变量 z z z为条件的神经辐射场,隐变量从后验分布 q ϕ ( z ∣ I c t ) q_\phi(z|I_c^t) qϕ(zIct)中采样。本文使用PC-VAE学习后验分布。使用卷积与在ImageNet上预训练的ViT建立编码器,学习将图像空间映射为高斯分布的隐空间 q ϕ ( z ∣ I c t ) = N ( μ , σ 2 ) q_\phi(z|I_c^t)=\mathcal N(\mu,\sigma^2) qϕ(zIct)=N(μ,σ2),其中 μ \mu μ为均值, σ 2 \sigma^2 σ2为方差。解码器 p ( I ∣ z , c ) p(I|z,c) p(Iz,c)以相机姿态为条件,将隐变量 z ∼ N ( μ , σ 2 ) z\sim\mathcal N(\mu,\sigma^2) zN(μ,σ2)映射到图像空间得到 I I I。这使编码器生成与相机姿态无关的隐变量。

为进行3D场景建模,使用Instant-NGP,使用哈希编码和占用网格增强计算效率。使用小型MLP F θ ( z ) F_\theta(z) Fθ(z)建模密度与外观:
F θ ( z ) : ( x , d , z ) → ( ( r , g , b ) , σ ) F_\theta(z):(x,d,z)\rightarrow((r,g,b),\sigma) Fθ(z):(x,d,z)((r,g,b),σ)

其中 x ∈ R 3 x\in\mathbb{R}^3 xR3 d = ( θ , ϕ ) d=(\theta,\phi) d=(θ,ϕ)分别表示位置向量和视角。

训练方法:本文使用两阶段训练流程以稳定训练。首先在语义丰富的2D像素空间优化基于卷积ViT的编码器和姿态条件卷积解码器,以处理复杂而真实的场景。通过将解码器限制在相机姿态上,可以实现相机视角与场景上下文的解耦,使得表达是视角不变的、编码器是3D感知的。然后,将解码器替换为以隐变量为条件的NeRF,并冻结编码器,在3D空间中重建编码器的信念,并进行新视图合成。

损失:使用标准VAE损失,即均方误差(MSE)和给定证据下界(ELBO)的KL散度(KLD):
L P C − V A E = L M S E , P C − V A E + L K L D = ∥ p ( I ∣ z , c ′ ′ ) − I c ′ ′ t ∥ 2 + E q ( z ∣ I c t ) [ log ⁡ p ( I ∣ z ) ] − w K L D K L ( q ϕ ( z ∣ I c t ) ∣ ∣ p ( I ∣ z ) ) \mathcal{L}_{PC-VAE}=\mathcal L_{MSE,PC-VAE}+\mathcal L_{KLD}=\|p(I|z,c'')-I_{c''}^t\|^2+\mathbb{E}_{q(z|I_c^t)}[\log p(I|z)]-w_{KL}D_{KL}(q_{\phi}(z|I_c^t)||p(I|z)) LPCVAE=LMSE,PCVAE+LKLD=p(Iz,c′′)Ic′′t2+Eq(zIct)[logp(Iz)]wKLDKL(qϕ(zIct)∣∣p(Iz))

其中 w K L w_{KL} wKL为KL散度损失权重, z ∼ q ϕ ( z ∣ I c t ) z\sim q_\phi(z|I_c^t) zqϕ(zIct)。为使编码器是3D感知的,后验使用相机姿态 c c c编码,而解码器以随机采样的姿态 c ′ ′ c'' c′′为条件。

KL散度正则化隐空间,以平衡条件重建和遮挡下的随机性。增大 w K L w_{KL} wKL可以使隐变量趋向正态分布 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1),以保证部分观测下的概率采样。但过度的正则化会使隐变量不可分离,从而使模式崩溃。本文使用延迟线性KL散度损失权重调度,以得到平衡的权重。

然后在VAE的后验上使用基于NeRF的解码器以建模场景。在每个时刻 t t t,使用逐像素的MSE损失训练NeRF:
L M S E , N e R F = ∥ I c t − r e n d e r ( F θ ( ⋅ ∣ q ϕ ( z ∣ I c t ) ) ) ∥ 2 \mathcal L_{MSE,NeRF}=\|I_c^t-render(F_\theta(\cdot|q_\phi(z|I_c^t)))\|^2 LMSE,NeRF=Ictrender(Fθ(qϕ(zIct)))2

使用标准的渲染算法。最后,在姿态条件编码器学习到的隐空间上使用预测模型。

3.2 场景预测

问题表达:为预测未来的场景,需要预测未来的隐变量分布。本文将预测视为在PC-VAE隐空间中后验分布 q ϕ ( z ∣ I c t ) q_\phi(z|I_c^t) qϕ(zIct)上部分可观测的马尔科夫决策过程(POMDP)。

推断时,学习代表不同场景可能性的混合高斯分布。使用混合密度网络(MDN)建模POMDP,用多头MLP预测 K K K个高斯的混合。每个时刻 t t t下的分布为:
q ϕ ′ ( z t ∣ I c t − 1 ) = M D N ( q ϕ ( z t − 1 ∣ I c t − 1 ) ) q'_\phi(z_t|I_c^{t-1})=MDN(q_\phi(z_{t-1}|I_c^{t-1})) qϕ(ztIct1)=MDN(qϕ(zt1Ict1))

模型以后验分布 q ϕ ( z t − 1 ) q_\phi(z_{t-1}) qϕ(zt1)为条件,预测每个时刻的后验分布 q ϕ ( z t ∣ I c t − 1 ) q_\phi(z_t|I_c^{t-1}) qϕ(ztIct1)。预测的后验分布由高斯的混合给出:
q ϕ ′ ( z t ) = ∑ i = 1 K π i N ( μ i , σ i 2 ) q'_\phi(z_t)=\sum_{i=1}^K\pi_i\mathcal{N}(\mu_i,\sigma_i^2) qϕ(zt)=i=1KπiN(μi,σi2)

其中 π i , μ i , σ i 2 \pi_i,\mu_i,\sigma_i^2 πi,μi,σi2为第 i i i个高斯的权重、均值和方差,均以后验 q ϕ ( z t − 1 ) q_\phi(z_{t-1}) qϕ(zt1)和采样隐变量 z t − 1 z_{t-1} zt1为条件。从混合高斯 q ϕ ′ ( z t ) q'_\phi(z_t) qϕ(zt)中采样 z t z_t zt,其结果最可能落在某个高斯模式内。通过NeRF渲染,可以反映该模式对应的场景。

损失:通过最小化负对数似然函数优化MDN:
L M D N = − ∑ i = 1 N log ⁡ ( ∑ j = 1 K π j N ( y i ; μ j , σ j 2 ) ) \mathcal L_{MDN}=-\sum_{i=1}^N\log(\sum_{j=1}^K\pi_j\mathcal{N}(y_i;\mu_j,\sigma_j^2)) LMDN=i=1Nlog(j=1KπjN(yi;μj,σj2))

其中 y i ∼ q ϕ ( z t ) y_i\sim q_\phi(z_t) yiqϕ(zt)从编码器学到的 z t z_t zt的分布中采样, N N N为样本数。

在这里插入图片描述
推断:如上图所示。将图像通过编码器得到后验 q ϕ ( z t ) q_\phi(z_t) qϕ(zt),然后预测未来可能的后验分布 q ϕ ′ ( z t + 1 ) q'_\phi(z_{t+1}) qϕ(zt+1),采样场景隐变量并进行规划。这可通过(a)NeRF的密度探测或(b)使用现成的方法如YOLO分割渲染的新视图图像(如下图所示)实现。这样,可以得到编码器隐空间中的高斯分布 q ϕ ( z t + 1 ) q_\phi(z_{t+1}) qϕ(zt+1),并自回归地送回MDN预测下一时刻。
在这里插入图片描述
在这里插入图片描述

4. 结果

本文使用CARLA驾驶模拟器,并设计基于CARFF的控制器,进行下游规划任务。

4.2 CARFF评估

PC-VAE性能和消融:实验表明,PC-VAE在给定部分观测的情况下能有效重建复杂环境。使用PSNR进行定量评估合成图像与真实图像的差异。

为衡量编码器生成的隐空间质量,还使用t-SNE可视化每张图像的隐变量样本分布,并使用基于SVM的指标定量衡量可视化簇,其值越高,关于时间的簇越可分,从而证明隐空间是视图不变的。错误分类样本或边界样本通常表达部分或完全遮挡的区域,可以对这些样本建模概率行为,并进行预测。结果表明,本文的PC-VAE比其余方法有优势,特别对于无条件VAE而言,因其只重建图像,而不捕捉3D几何。其余方法需要仔细微调超参数,且对相机剧烈运动的泛化能力较差。

因此,本文的方法可以通过隐变量表达保留随机特性,且同时能进行精确重建。

3D新视图合成:给定部分观测,本文方法可以保留所有可能的当前状态信念,并为每个信念生成任意视角下的新视图。

在完整和部分观测下的推断:完整观测下,CARFF可以根据参与者定位结果,生成稳定的信念,而避免不正确的预测;部分观测下,CARFF可以预测多种可能情况。

4.3 规划

设计控制器,以图像为输入,输出行为,并结合MDN中的样本一致性进行决策。

过度采样会使精度降低,导致不必要的随机性;缺少样本则会导致低召回率,即不包括所有的可能状态。因此本文设计开环规划控制器,通过超参数选择合适的样本数量。

5. 讨论

局限性:本文的NeRF使其依赖多视角相机图像,且难以处理非常复杂的场景。


附录

B. 与相关工作比较

与基于NeRF的、可建模不确定性和预测未来环境的方法相比,CARFF的性能最优,且能达到基于2D预测方法相当的水平。

C. 实施细节

C.2 混合密度网络

MDN以隐变量分布的均值方差为输入,通过MLP输出混合高斯的权重、均值和方差。

优化:训练时会为当前时刻 t − 1 t-1 t1下的均值和方差添加高斯噪声 ϵ ∼ N ( 0 , σ 2 ) \epsilon\sim\mathcal{N}(0,\sigma^2) ϵN(0,σ2),以防止过拟合并减小对环境伪影(如运动的树或水等)的敏感性。

C.3 NeRF

结构:为NeRF密度网络与色彩网络的输入附加隐变量。

优化:训练初期使用预定义的样本以加快速度,然后缓慢引入重采样的样本,使网络关注有代表性的隐变量样本。

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

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

相关文章

Linux 开发工具vim、gcc/g++、makefile

目录 Linux编辑器-vim 1. 基本概念 2. 基本操作 3. 正常模式命令集 4. 末行模式命令集 5. 其他操作 6. 简单vim配置 Linux编译器-gcc/g 1、基本概念 2、程序翻译的过程 3. gcc如何完成程序翻译 4、动静态库 Linux项目自动化构建工具-make/Makefile 1、背景 2、…

redis05 sprngboot整合redis

redis的Java客户端 整合步骤 添加redis的pom依赖 <!-- 引入redis依赖 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency><!-- 引入redis连…

Linux 常用的文本处理工具

目录 cat 连接 more/less 分页 tail 实时 cat 连接 将一个或多个文件的内容连接并显示在终端上&#xff0c;创建新文件或将内容追加到已有文件。 不会分屏显示文件内容&#xff0c;适用于较小的文件。 cat 文件1.txt 文件2.txt # 连接并显示文件1.txt和文件2.txt的内容 …

【k8s管理--集群日志管理elk】

1、ELKF日志部署框架 使用docker部署的k8s集群所有的容器日志统一都在目录&#xff1a;/var/log/containers/1、filebeat是一个轻量级的日志手机工具&#xff0c;主要功能是收集日志2、logstash通可以收集日志&#xff0c;也可以进行数据清洗&#xff0c;但是一般不用logstash来…

Linux笔记--GCC

GCC编译器是Linux系统下最常用的CIC编译器&#xff0c;大部分Linux发行版中都会默认安装。GCC编译器通常以gcc指令的形式在终端中使用。 一.gcc指令 1.直接编译 创建a.c文件 #使用gcc对程序进行编译&#xff0c;默认得到可执行文件的文件名为a.out gcc [文件名].c gcc a.c .…

MySQL:一行记录如何

1、表空间文件结构 表空间由段「segment」、区「extent」、页「page」、行「row」组成&#xff0c;InnoDB存储引擎的逻辑存储结构大致如下图&#xff1a; 行 数据库表中的记录都是按「行」进行存放的&#xff0c;每行记录根据不同的行格式&#xff0c;有不同的存储结构。 页…

数据迁移DTS | 云上MySQL 数据库迁移至达梦数据库

引入 云上 MySQL 数据库 —> 向达梦国产化数据库迁移 下载&安装 达梦客户端工具 DM->可参考之前国产化专栏达梦文章 创建模式 在客户端分别依次执行以下命令脚本&#xff08;这里没有通过客户端管理工具去创建达梦数据库的模式&#xff0c;当然也可以通过图形化界…

【Logback】Logback 的配置文件

目录 一、初始化配置文件 1、logback 配置文件的初始化顺序 2、logback 内部状态信息 二、配置文件的结构 1、logger 元素 2、root 元素 3、appender 元素 三、配置文件中的变量引用 1、如何定义一个变量 2、为变量设置默认值 3、变量的嵌套 In symbols one observe…

【计算机网络_应用层】TCP应用与相关API守护进程

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 相关使用接口2. 代码实现2.1 日志组件2.2 Server端2.3 Client端2.3 bug解决 3. 守…

【MySQL】数据库的操作

【MySQL】数据库的操作 目录 【MySQL】数据库的操作创建数据库数据库的编码集和校验集查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响数据库的删除 数据库的备份和恢复备份还原不备份整个数据库&#xff0c;而是备…

Qt 简约美观的加载动画 小沙漏风格 第六季

这次和大家分享一个沙漏风格的加载动画 效果如下: 这是本系列的第六季了, 本次内容的关键在于cubicTo函数的使用, 在这里分享一个非常好用的网站https://www.desmos.com/calculator/cahqdxeshd 在这上面可以手动拖动贝塞尔曲线的控制点, 并且显示了起终点和两个控制点的精确坐…

深入剖析k8s-Pod篇

为什么需要Pod&#xff1f; 进程是以进程组的方式组织在一起。受限制容器的“单进程模型”&#xff0c; 成组调用没有被妥善处理&#xff08;资源调用有限&#xff09;&#xff0c;使用资源囤积则导致复杂度上升。 在k8s项目中&#xff0c;Pod的实现需要使用一个中间容器——…

兰州理工大学数据科学与计算机科学20级学生实训项目正式开班

2月26日星期一&#xff0c;兰州理工大学数据科学与计算机科学20级学生实训项目正式开班。计通学院计算机科学与大数据专业相关领导及老师、泰迪智能科技华北区域负责人曹玉红参与本次开班仪式。 兰州理工大学计算机与通信学院&#xff08;软件学院&#xff09;肇始于1984年原甘…

Unity 游戏设计模式:单例模式

本文由 简悦 SimpRead 转码&#xff0c; 原文地址 mp.weixin.qq.com 单例模式 在 C# 游戏设计中&#xff0c;单例模式是一种常见的设计模式&#xff0c;它的主要目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点。单例模式在游戏开发中具有以下几个作用&#xf…

实例驱动计算机网络

文章目录 计算机网络的层次结构应用层DNSHTTP协议HTTP请求响应过程 运输层TCP协议TCP协议面向连接实现TCP的三次握手连接TCP的四次挥手断开连接 TCP协议可靠性实现TCP的流量控制TCP的拥塞控制TCP的重传机制 UDP协议 网际层IP协议&#xff08;主机与主机&#xff09;IP地址的分类…

软考53-上午题-【数据库】-关系模式的范式

一、范式 关系模式的规范化标准&#xff0c;达到范式的关系才是规范化的。 1-1、目前有6种范式&#xff1a; 第一范式&#xff1a;1NF&#xff1b;&#xff08;满足最低要求&#xff09;第二范式&#xff1a;2NF&#xff1b;&#xff08;在第一范式的基础上进一步的满足一些要…

2024最新版聚合支付彩虹易支付PHP源码

彩虹易支付是一种便捷的支付解决方案&#xff0c;属于聚合易支付平台的一部分。它提供了即时到账功能&#xff0c;无需签约即可使用。通过这个平台&#xff0c;您可以方便地接入多种支付方式&#xff0c;包括支付宝当面付、QQ钱包、财付通、微信扫码支付和个体商户聚合收款码等…

2024尼泊尔徒步旅行记

2.8日至2.24日这段时间去了尼泊尔徒步旅行&#xff0c;是的今年没有在家过春节。 加德满都 当我到了尼泊尔的首都加德满都&#xff0c;下飞机了坐在一辆狭小的出租车上&#xff0c;行驶在狭窄的路上。看到的是路上很多人&#xff0c;有很多摩托车&#xff0c;没有红绿灯&…

剑指 Offer 42. 连续子数组的最大和

目录 题目 代码实现 输出 题目 代码实现 #include <vector> #include <iostream> using namespace std;class Solution { public:int maxSubArray(vector<int>& nums) {vector<int> sum;sum.resize(nums.size() + 1);for (size_t i = 1; i <…

UCSF DOCK 分子对接详细案例(01)- rigid, fixed anchor, flexible dock

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …点击进入 文章目录 前言一、操作环境二、研究背景三、受体-配体结构文件准备3.1准备文件夹DOCK_workdir, 下载晶体结构3.1.1 来自湿实验的受体配体共晶结构&#xff1a;3.1.2 来自深度学习和语言模型推理预测的蛋白结构&a…