GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis

news2024/10/7 10:24:28

GRAF: Generative Radiance Fieldsfor 3D-Aware Image Synthesis(基于产生辐射场的三维图像合成)

思维导图:https://blog.csdn.net/weixin_53765004/article/details/137944206?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22137944206%22%2C%22source%22%3A%22weixin_53765004%22%7D

Abstract

虽然二维生成对抗网络能够实现高分辨率的图像合成,但是它们在很大程度上缺乏对三维世界和图像形成过程的理解。因此,他们不提供精确的控制相机的视点或对象的姿态。为了解决这个问题,最近的一些方法利用了中间基于体素的表示结合可微渲染。然而,现有的方法要么产生较低的图像分辨率,要么在相机和场景的分离属性方面存在不足,例如,物体的识别可能会因视点的不同而不同。在这篇文章中,我们提出了一个辐射场的生成模型,这个辐射场最近被证明是成功的,用于单个场景的新视图合成与基于体素的表示相比,辐射场并不局限于对三维空间的粗糙离散化,而是允许在存在重建模糊的情况下优雅地分离相机和场景属性。 通过引入一个多尺度的基于补丁的鉴别器,我们演示了高分辨率图像的合成,同时从非定位的二维图像单独地训练我们的模型。我们系统地分析了我们的方法在几个具有挑战性的合成和真实世界的数据集。我们的实验表明,辐射场是一个强大的表示生成图像合成,导致三维一致的模型渲染高保真度。

三、Method

我们考虑了三维感知图像合成的问题,即在生成高保真图像的同时提供摄像机旋转和平移的显式控制。我们主张用场景的辐射场来表示场景,这样的连续表示可以很好地衡量图像的分辨率和内存消耗,同时允许基于物理的和无参数的投影映射。在接下来的文章中,我们首先简要回顾了构成生成辐射场(GRAF)模型基础的神经辐射场(NeRF)

3.1 Neural Radiance Fields

Neural Radiance Fields:

辐射场是从3D 位置和2D 观察方向到 RGB 颜色值的连续映射。Mildenhall提议使用神经网络来表示这种映射。更具体地说,他们首先使用固定位置编码将一个三维位置 x ∈ R3和一个观察方向 d ∈ S2映射到一个更高维的特征表示,该编码按元素方式应用于 x 和 d 的所有三个分量:
在这里插入图片描述
遵循最近的隐式模型,然后他们应用一个参数 θ 的多层感知器 fθ (·),将得到的特征映射为颜色值 c ∈ R^3和体积密度σ ∈ R ^+:
在这里插入图片描述与直接使用 x 和 d 作为多层感知器 fθ (·)的输入相比,位置编码 γ (·)能够更好地拟合高频信号。我们通过消融研究证实了这一点。由于体积颜色 c 随观察方向的变化比随3D 位置的变化更为平滑,所以观察方向通常使用较少的组件进行编码,即 Ld < Lx。

Volume Rendering:

为了绘制辐射场 fθ (·)的二维图像,米尔登霍尔等人使用数值积分近似难以处理的体积投影积分。更正式地,设在这里插入图片描述
表示沿照相机射线 r 的 N 个随机样本的颜色和体积密度值。rendering operator(呈现操作符 ):π (·),将这些值映射到 RGB 颜色值 cr:
在这里插入图片描述
RGB 颜色值 cr 是使用 alpha 合成获得的
在这里插入图片描述
在这里插入图片描述
给定一组单个静态场景的二维图像,米尔登霍尔等人通过最小化观测值和预测值之间的重建损失(平方差之和)来优化神经辐射场 fθ (·)的参数 θ。给定 θ,可以通过对每个像素/光线调用 π (·)来合成新的视图。

3.2 Generative Radiance Fields

在这项工作中,我们感兴趣的辐射场作为表示的三维感知图像合成。与NeRF相反,我们不假设单个场景的大量姿势图像。相反,我们的目标是通过训练未定位的图像来学习一个新的场景合成模型。更具体地说,我们利用一个对抗性的框架来训练辐射场生成模型(GRAF)。
下图显示了我们模型的概况。生成器 Gθ 以摄像机矩阵 K、摄像机姿态 ξ、二维采样模式 ν 和形状/外观码 zs ∈ Rm/za ∈ R^n 为输入,预测图像补丁 P。鉴别器 Dφ 将合成的补丁 P’ 与从实际图像 I 中提取的补丁 P 进行比较。在推理时,我们为每个图像像素预测一个颜色值。然而,在训练时间,这太昂贵了。因此,我们预测一个固定大小的 K × K 像素片,它被随机缩放和旋转以提供整个辐射场的梯度在这里插入图片描述
该图: 生成辐射场。生成器 Gθ 以摄像机矩阵 K、摄像机姿态 ξ、二维采样模式 ν 和形状/外观码 zs ∈ Rm/za ∈ Rn 为输入,预测图像补丁 P’。我们使用平板符号来说明 R 射线和每条射线 N 个样本。注意,条件辐射场 gθ 是唯一具有可训练参数的分量。鉴别器 Dφ 将合成的补丁 P’ 与从实际图像 I 中提取的实际补丁 P 进行比较。在训练时,我们使用大小为 K × K 像素的稀疏二维采样模式来提高计算和存储效率。在推理时,我们为目标图像中的每个像素预测一个颜色值。

3.2.1 Generator

我们从一个位姿分布中取样摄像机的姿态 ξ = [ R | t ]。在我们的实验中,我们在上半球的相机位置,相机面向坐标系的起点,使用一个均匀分布。根据数据集的不同,我们也会均匀地改变摄像机到原点的距离。我们选择 K,使得主要点位于图像的中心。

V = (u,s)决定了我们要生成的虚 K × K 补丁 P (u,s)的中心 u = (u,v)∈ R^2,标度 s ∈ R + 。这使我们能够使用卷积鉴别器独立于图像分辨率。我们从图像域 Ω 上的均匀分布中随机抽取补丁中心 u~ U (Ω) ,从均匀分布 s~ U ([1,S ])中抽取补丁尺度 s,其中 S = min (W,H)/K,W 和 H 表示目标图像的宽度和高度。此外,我们确保整个补丁是在图像域 Ω 内。分别从形状和外观分布中提取了形状和外观变量 zs 和 za。在我们的实验中,我们对 ps 和 pa 都使用了一个标准的正态分布/高斯分布。

Ray Sampling:

K × K 贴片 P (u,s)由一组二维图像坐标确定在这里插入图片描述
它描述了图像域 Ω 中贴片的每个像素的位置,如图
在这里插入图片描述
图3:给定摄像机姿态 ξ,根据 ν = (u,s)对光线进行采样,确定 K × K 补丁的连续二维平移 u ∈ R^2和标度 s ∈ R ^+ 。这使我们能够使用卷积鉴别器独立于图像分辨率。

这些坐标是实数,而不是离散的整数,使我们能够不断评估辐射场。相应的三维射线由 P (u,s)、摄像机姿态 ξ 和内参矩阵 K 唯一确定。我们用 r 表示像素/射线索引,用 dr 表示归一化的3D 射线,用 R 表示射线数,其中训练期间 R = K^2,推断期间 R = WH。

3D Point Sampling:

对于辐射场的数值积分,我们沿着每个射线 r 采样 N 个点{ xi r }。

使用NeRF中的分层抽样方法,见附录详细资料。

Conditional Radiance Field:

辐射场由一个具有参数 θ 的深度全连通神经网络表示,该神经网络映射位置编码三维位置 x ∈ R^3,视方向 d ∈ S ^2,得到 RGB 颜色值 c 和体积密度 σ:在这里插入图片描述
gθ 是以两个附加的潜码为条件的: 一个形状码 zs ∈ R^(Ma) 决定物体的形状,一个外观码 za ∈ R ^ (Ma) 决定物体的外观。因此我们称 gθ 为条件辐射场.

我们的条件辐射场 gθ 的网络结构如图所示。我们首先从 x 和形状代码 z 的位置编码计算一个形状编码 h。密度头 σθ 将此编码转换为体积密度 σ。为了预测三维位置 x 处的颜色 c,我们将 h 与 d 的位置编码和外观编码 za 连接起来,并将得到的向量传递给颜色头 cθ。我们独立于视点 d 和外观代码 za 计算 σ,以鼓励多视点一致性,同时从外观中分离形状。这鼓励网络使用潜在代码 zs 和 za 分别建模形状和外观,并允许在推断期间分别操作它们。更正式地说,我们有:在这里插入图片描述
所有的映射(hθ,cθ 和 σθ)都是使用具有 ReLU 激活的完全连通网络来实现的。为了避免符号混乱,我们使用相同的符号 θ 来表示每个网络的参数。
在这里插入图片描述
图: 条件辐射场。当体积密度 σ 完全取决于3D 点 x 和形状编码 z 时,预测的颜色值 c 还取决于视向 d 和外观编码 za,建模视相关的外观,例如,反射率。

Volume Rendering:

给定沿着光线 r 的所有点的颜色和体积密度在这里插入图片描述
利用方程rendering operator,我们得到了对应于光线 r 的像素的颜色 cr ∈ R^3.结合所有 R 射线的结果,我们将预测的补丁表示为 P’

3.2.2 Discriminator

鉴别器 Dφ 是作为一个卷积神经网络实现的。它将预测的补丁 P’ 与从数据分布 pD 中提取的实际图像中提取的补丁 P 进行比较。为了从实际图像 I 中提取 K × K 贴片,我们首先从相同的分布中提取 ν = (u,s) ,然后再从上面的分布中提取生成贴片。然后,我们通过使用双线性插值在二维图像坐标 P (u,s)上查询 I 来对真正的补丁 p 进行采样。下面我们用 Γ (I,ν)来表示这种双线性采样运算。注意,我们的鉴别器类似于 PatchGAN ,除了我们允许连续位移 u 和标度 s,而 PatchGAN 使用 s = 1。进一步需要注意的是,我们并没有基于 s 减少真实图像的样本,而是在稀疏位置查询 I 以保留高频细节,见图3。

在实验上,我们发现一个具有共享权重的单一鉴别器对于所有的斑块都是足够的,即使这些补丁是在不同尺度的随机位置采样的。注意,缩放决定了补丁的接收字段。为了便于培训,我们从更大的接收字段补丁开始,以捕获全局上下文。然后,我们逐步抽样带有较小接收字段的补丁来细化局部细节。

3.2.3 Training and Inference(训练和推理)

I从数据分布 pD 表示一个图像,让 pν 表示随机补丁上的分布(见3.2.1节)。我们使用 R1 正则化 的非饱和 GAN 损耗(non-saturating GAN loss)来训练我们的模型
在这里插入图片描述
其中 f (t) =-log (1 + exp (- t))和 λ 控制正则化器的强度。我们在我们的鉴别器中使用谱归一化和实例归一化,并使用 RMSprop训练我们的方法,其批量大小为8,生成器和鉴别器的学习速率分别为0.0005和0.0001。在推理中,我们随机抽取 zs,za 和 ξ,并预测图像中所有像素的颜色值。

四、 Experiments

五、结论

我们引入了生成辐射场(GRAF)用于高分辨率的三维感知图像合成。结果表明,与基于体素的方法相比,我们的框架能够生成具有更好的多视点一致性的高分辨率图像。然而,我们的结果仅限于单个对象的简单场景。我们相信结合归纳偏差,例如深度图或对称性,将允许我们的模型扩展到未来更具挑战性的现实世界场景。

Broader Impact更广泛的影响

3D 感知图像合成是一个相对较新的研究领域,尚未扩展到生成复杂的现实世界场景,阻碍了社会的直接应用。然而,我们的工作朝着这一目标迈出了重要的一步,因为它能够实现超过642像素分辨率的高保真重建,同时不需要3D 监督作为输入。从长远来看,我们希望我们的研究能够促进3D 感知生成模型在虚拟现实、数据增强或机器人技术等应用中的应用。例如,自动驾驶汽车等智能系统需要大量数据进行训练和验证,而使用静态离线数据集无法收集这些数据。我们相信,建立我们的世界的生成,照片真实和大规模三维模型将最终允许成本效益的数据收集和模拟。虽然许多用例是可能的,但是我们相信这些类型的模型特别有利于缩小现实世界和合成数据之间现有的领域差距。然而,使用生成模型也需要小心。虽然生成逼真的3D 场景是非常有趣的,但它也承担着操纵和创造误导性内容的风险。特别是,能够创建3D 一致性假图像的模型可能会提高假内容的可信度,并可能会欺骗依赖于多视点一致性的系统,例如现代人脸识别系统。因此,我们认为,社区发展能够明确区分合成内容和现实世界内容的方法同样重要。我们看到这方面的进展令人鼓舞。

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

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

相关文章

电商技术揭秘三十:知识产权保护浅析

电商技术揭秘相关系列文章&#xff08;上&#xff09; 相关系列文章&#xff08;中&#xff09; 电商技术揭秘二十&#xff1a;能化供应链管理 电商技术揭秘二十一:智能仓储与物流优化(上) 电商技术揭秘二十二:智能仓储与物流优化(下) 电商技术揭秘二十三&#xff1a;智能…

【深度学习】wandb模型训练可视化工具使用方法

【深度学习】wandb模型训练可视化工具使用方法 wandb简介功能介绍登陆注册以及API keysproject和runsproject和runs的关系 wandb的配置实验跟踪版本管理Case可视化分析可视化自动调参&#xff08;wandb.sweep&#xff09;配置wandb.sweep1.配置 sweep_config2.初始化 sweep con…

机器学习周报第35周SE-LSTM

文章目录 week35 SE-LSTM摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构3.1 Savitsky-Golay 滤波器3.2 模型结构——SE-LSTM 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 训练参数4.3.2 数据集4.3.3 实验设置4.3.4 实验结果 5. python环境下基于scipy实现…

【Godot4自学手册】第三十九节利用shader(着色器)给游戏添加一层雾气效果

今天&#xff0c;主要是利用shader给游戏给地宫场景添加一层雾气效果&#xff0c;增加一下气氛&#xff0c;先看一下效果&#xff1a; 一、新建ParallaxBackground根节点 新建场景&#xff0c;根节点选择ParallaxBackground&#xff0c;命名为Fog&#xff0c;然后将该场景保…

Docker安装教程,什么系统都有

下载Docker 如果你的系统是图形界面的&#xff0c;比如windows、mac、ubuntu等&#xff0c;到 Docker 官网下载 Docker Desktop。 官网链接: https://www.docker.com/products/docker-desktop/ 根据你的系统选择对应的安装包&#xff0c;然后下载&#xff0c;是不是特别简单&a…

代码随想录算法训练营DAY27|C++回溯算法Part.3|39.组合总和、40.组合总和II、组合问题小总结、131.分割回文串

文章目录 39.组合总和思路伪代码实现剪枝优化CPP代码普通版本剪枝版本 40.组合总和II思路伪代码CPP代码不采用used数组的去重方法 组合问题小总结131.分割回文串思路伪代码CPP代码优化方法 39.组合总和 力扣题目链接 文章讲解&#xff1a;39.组合总和 视频讲解&#xff1a;Leet…

Vmware ---快捷键

Vi 文件名.c xrandr 查看分辨率 xrandr -s 分辨率 调你自己想要的分辨率 ctr shift 放大字体 ctr - 缩小字体 ctr alt t 打开控制台 cd caoshupei 进入曹树培文件夹 cd .. 退回上层文件夹 ls 列出生成的文件 ls -a 显示所有文件&#xff0c;包含隐藏的文件和文件…

【AIGC】文本与音频生成引领行业革新

AIGC技术崛起 一、AIGC技术概述二、文本生成&#xff1a;结构化与创作型并进三、实例与代码解析四、音频生成&#xff1a;语音合成技术大放异彩五、结语 在科技的浪潮中&#xff0c;人工智能与大数据的结合不断推动着时代的进步。其中&#xff0c;AIGC&#xff08;Artificial I…

天软因子数据系列课堂回顾——“委托订单:流动性因子”

高频因子库4月更新&#xff0c;新增5张表单&#xff0c;51个因子。目前&#xff0c;高频因子数量扩容到628个&#xff0c;涵盖了从2000年开始的全A市场。本次“天软因子数据系列课堂”在线分享的即是最新发布因子列表之一的流动性因子&#xff0c;剖析微观角度下因子的底层逻辑…

[BT]BUUCTF刷题第19天(4.19)

第19天&#xff08;共3题&#xff09; Web [BSidesCF 2019]Futurella 这道题显示内容是外星语&#xff0c;但是F12后可以在源代码中直接看到flag&#xff0c;猜测前端通过一定的转换规则将字母换成了对应的外星符号 [SUCTF 2019]Pythonginx 打开网站显示了Flask的源代码&…

PSA Group EDI 需求分析

PSA集团&#xff08;以下简称PSA&#xff09;中文名为标致雪铁龙集团&#xff0c;是一家法国私营汽车制造公司&#xff0c;致力于为全球消费者提供独具特色的汽车体验和自由愉悦的出行方案&#xff0c;旗下拥有标致、雪铁龙、DS、欧宝、沃克斯豪尔五大汽车品牌。 汽车制造企业对…

启动 UE4编辑器报 加载 Plugin 失败

启动 UE4编辑器报 加载 Plugin 失败&#xff0c;报如下错误&#xff1a; Plugin ‘SteamVR’ failer to load because module ‘SteamVR’ could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project. …

kubebuilder(1)开发环境搭建

开发一个k8s operator,当然可以在官方原生的controller-runtime 项目上从头构建&#xff0c;但是比较复杂。现在一般基于operator脚手架进行开发。目前最流行的的脚手架是Kubebuilder 或 OperatorSDK。Kubebuilder 或 OperatorSDK都是对controller-runtime 项目进行了上层的封装…

Python 中整洁的并行输出

原文&#xff1a;https://bernsteinbear.com/blog/python-parallel-output/ 代码&#xff1a;https://gist.github.com/tekknolagi/4bee494a6e4483e4d849559ba53d067b Python 并行输出 使用进程和锁并行输出多个任务的状态。 注&#xff1a;以下代码在linux下可用&#xff0c…

【LLM 论文】Self-Consistency — 一种在 LLM 中提升 CoT 表现的解码策略

论文&#xff1a;Self-Consistency Improves Chain of Thought Reasoning in Language Models ⭐⭐⭐⭐⭐ ICLR 2023, Google Research 文章目录 论文速读 论文速读 本工作提出了一种解码策略&#xff1a;self-consistency&#xff0c;并可以用于 CoT prompting 中。 该策略提…

VScode配置launch+tasks[自己备用]

VScode配置launchtasks[自己备用]&#xff0c;配置文件详解 launch.json 字段 name &#xff1a;启动配置的名称&#xff0c;也就是显示在调试配置下拉菜单中的名字&#xff0c;如果添加了多个配置可以用此作为区分 字段 program &#xff1a;可执行文件完整路径。 ① 由于 C…

3分钟看懂Microchip 32位MCU CAN模块的配置

文章目录 CAN模块系统框图Microchip MCC Harmony下CAN模块配置选项CAN模块工作模式CAN模块中断模式CAN工作速率Bit Timing Calculation配置CAN 接收的配置CAN 发送的配置CAN 过滤器工作流程说明CAN 过滤器的配置 CAN模块系统框图 CAN的英文全称&#xff1a;Control Area Networ…

ubuntu在xshell中使用快捷方式操作命令,减少命令行的数入量

第一步 第二步 然后无脑确定 第三步 在xshell的显示方式 方式一 这样就会在每个窗格中进行显示 方式二 效果显示–> 这种窗格的显示是全局的 然后你双击这个process就会自动把命令打在命令行上&#xff0c;减少你的输入量

Ansible初识以及安装

1. Ansible应用简述&#xff1a; Ansible基于python语言实现&#xff0c;由Paramiko和PyYAML两个关键模块构建。具有独特的设计理念&#xff1a; 1&#xff09;安装部署简单 2&#xff09;管理主机便捷&#xff0c;支持多主机并行管理 3&#xff09;避免在被管理主机上安装客户…

小红书情感博主暴力玩法,流量巨大,客单300+

这个项目的盈利核心在于提供情感咨询服务&#xff0c;每笔交易的利润通常在200到300元之间&#xff0c;这种方式比撰写大量情感内容来吸引流量要简单得多&#xff0c;可以说是一种快速超车的策略。 项 目 地 址 &#xff1a; laoa1.c n 我们以男性的视角提供感情建议&a…