71、AdaNeRF: Adaptive Sampling for Real-time Rendering of Neural Radiance Fields

news2025/1/20 14:58:19

简介

官网:https://thomasneff.github.io/adanerf/

新的双网络架构,它采用正交方向,通过学习如何最好地减少所需样本点的数量,将网络分为联合训练的 sample 和 shading 网络,训练方案在每条射线上采用固定的样本位置,并在整个训练过程中逐步引入稀疏性,即使在低样本计数下也能实现高质量,在对目标样本数进行微调后,生成的紧凑神经表示可以实时呈现
在这里插入图片描述
贡献点:

  • 一种新型的双网络架构,用于联合学习紧凑实时神经辐射场的sample 和 shading 网络,优于现有的基于sample 网络的方法。
  • 额外的可调自适应采样方案,只遮挡每射线最重要的样本,在相同的平均样本计数下,进一步提高质量和效率。
  • 一个实时渲染实现,依赖于紧凑的双网络表示的动态稀疏采样,目标是在性能、质量和内存之间权衡的最佳点。

实现过程

AdaNeRF采用 single-evaluation sample 网络和 multi-evaluation shading 网络,以显著减少每个视图射线所需的网络评估数量,对于每条射线,采样网络预测一个估计样本密度 δ δ δ 的向量,每个向量恰好对应一个样本位置
在这里插入图片描述
将原始NeRF的粗网络替换为每射线只评估一次的 sample 网络 S,最大限度地减少了生成最终图像的网络评估次数,sample 网络以射线原点 p 和射线方向 d 为输入。sample 网络的输出是一个预测向量 δ δ δ,对应于沿着每条射线的样本的预测重要性。

shading 网络 T 对采样网络进行预测,对贡献最大的样本进行位置编码,输出其密度 σ 和颜色 c,通过对 sample 网络进行一次评估,可以剔除大部分贡献较小的样本,提高了管道的整体效率

End-to-end Trainable Sampling Network

将 sample 网络的预测单样本密度 δ i δ_i δi 与 shading 网络的预测单样本密度 σ i σ_i σi 相乘,如此公式允许反向传播到达 sample 网络

通过沿每条射线使用固定的样本位置,并在沿每条射线离散空间时,在每个单元格的中心放置一个样本来实现。

注意,论文不要求真实深度

在这里插入图片描述
$\hat{C} 为估计的累积颜色, N 为沿射线的样本数量, 为估计的累积颜色,N 为沿射线的样本数量, 为估计的累积颜色,N为沿射线的样本数量,T_i$ 为沿射线的累积透过率, t i t_i ti 为相邻样本之间的距离, σ i σ_i σi 为样本 i 的着色网络的输出密度, δ i δ_i δi为采样网络预测每个采样点的密度(重要性)

引入 δ i δ_i δi 的乘法,可以使 sample 网络通过其预测直接增加或减少样本的重要性,并从MSE颜色重建损失中接收梯度

Sparse Adaptive Sampling Network Distillation

仅仅修改射线累积并不能确保 sample 网络输出稀疏预测——它可能总是输出1个向量,导致 shading 网络在每个单元格中放置一个样本,有效地忽略了 sample 网络的预测

通过将稀疏性引入 sample 网络,将 δ δ δ 从 shading 网络密度中分离出来,这迫使网络只选择最重要的密度值

AdaNeRF 对 sample 网络和 shading 网络进行端到端的训练,并逐步减少每个视图射线所需的样本,通过累积RGB颜色的标准MSE损失来训练 shading 网络,sample 网络损耗由稀疏性损耗组成,稀疏性损耗包括与 shading 网络的输出密度匹配的 L1-loss,以及由 shading网络的MSE损耗派生的额外密度乘法项
在这里插入图片描述
AdaNeRF采用 soft student-teacher 正则化训练方案,分为4个阶段
在这里插入图片描述

Dense Training

最初的密集训练阶段通过鼓励 sample 网络通过其所有输出趋向 δ = 1 δ = 1 δ=1 的 L1-loss 来输出密集预测,从而建立教师。这可以通过将网络权值直接初始化为输出1来替代,以提高训练速度,但可能会损失传播到采样网络的信息。如此,shading 网络都对整个输入空间进行采样,以提供对场景的初始估计,这防止了两个网络在后期阶段崩溃。

Sparsification

向 sample 网络引入了额外的 L1-loss,迫使大多数预测趋向于 0。在此阶段中,在强迫 sample 网络输出向 1 和 0 之间进行线性混合,并通过一个 L1-term 混合一个 soft student-teacher 正则化损失,以鼓励采样网络输出 δ δ δ 遵循与 σ σ σ 类似的分布。从 t d t_d td 迭代持续时间的迭代 t 0 t_0 t0 (以及给定的当前迭代 t c t_c tc ),将稀疏化损失定义为
在这里插入图片描述
L1-term ∣ σ i − δ i ∣ |\sigma_i - \delta_i| σiδi 保证 sample 网络不会坍缩到单个常数0或1向量,强制 sample 网络遵循已建立的 shading 网络的场景表示,稀疏化阶段逐渐增加 sample 网络的稀疏性,导致更少的重要输出(随后在射线积累期间具有零贡献)

Sparse Training

为了让 shadomg 网络利用 sample 网络的稀疏性,在稀疏训练期间锁定 sample 网络的权重,尽管 shading 网络仍然沿着每条射线查询所有样本(如在密集训练阶段),但现在可以自由更改已经被 sample 网络抑制的样本的输出(由于密度乘法),这使得网络能够将其容量集中在那些实际上对输出有贡献的样本上

Fine-tuning

微调 shading 网络以获得所需的每条射线的最大样本数量,通常为2,4,8,16。这个阶段是快速的,因为每条射线的样本数量很少。微调可以提高质量,因为它完全删除了几乎对最终输出没有贡献的样本,并允许着色网络只关注有贡献的样本。此阶段为每个最大样本计数产生单独的 shading 网络,而所有都依赖于相同的 sample 网络

Real-time Rendering with Adaptive Sampling

通过启用每条射线的可变样本计数来进一步提高性能。这种自适应采样方案利用了AdaNeRF沿着射线最多只能包含一个样本的固定采样位置这一事实

首先,添加一个自适应采样阈值 τ τ τ,它定义了采样网络预测的截止点 δ δ δ。使能够在不需要多于几个样本的区域(如统一颜色的天空或简单的几何对象)保存 shading 网络评估,这反过来增加了管道的整体效率。

然后,将允许的最大样本数量限制为 N m a x N_{max} Nmax,并区分以下情况,这取决于 sample 网络预测的数量 N s N_s Ns 超过阈值 τ τ τ

  1. N s N_s Ns = 0:如果没有采样网络预测 δ i δ_i δi 超过 τ τ τ,将一个样本放置在与 sample 网络最大预测相对应的射线段的中心
  2. N s N_s Ns N m a x N_{max} Nmax:如果超过 τ τ τ 的 sample 网络预测 δ i δ_i δi 的数量最多为 N m a x N_{max} Nmax,将样本放置在它们所有段的中心。
  3. N s N_s Ns > N m a x N_{max} Nmax:如果超过 τ τ τ 的 sample 网络预测的数量 δ i δ_i δi 大于允许的最大样本数量 N m a x N_{max} Nmax,将每个样本放置在 N m a x N_{max} Nmax 最大预测的中心。

这种自适应采样方案可以使用 warp通信原语在gpu上有效实现,与首先需要从概率密度函数生成累积分布函数的典型重要性采样设置相比,能够进一步提高效率。请注意,所提出方法是第一个依赖于体集成的神经表示,并且(1)可以降至每条射线只有一个样本;(2)支持每条射线的可变样本计数,而不需要空间数据结构

实验

在Nvidia RTX 3090,shading 网络和 sample 网络都是 8 层 256 大小的mlp网络结构,使用Adam优化器,学习率为 5 e − 4 5e^{-4} 5e4,dense training 进行25k次迭代,sparsification 进行50k次迭代,sparse training 进行225k次迭代,fine-tuning 进行300k次迭代,损失函数各项权重为, λ 0 = 0.001 , λ 1 = 1.0 \lambda_0 = 0.001,\lambda_1 = 1.0 λ0=0.001λ1=1.0 τ τ τ在[0.05,0.40] 之间,采样点数量 N = [8,16]

消融实验
在这里插入图片描述
τ τ τ大小的影响
在这里插入图片描述
实验数据结果
在这里插入图片描述
在这里插入图片描述

Limitations

尽管AdaNeRF已经在真实世界的数据上取得了很好的结果,但评估没有对相机参数进行优化,因此可能会受到输入数据不完全一致的影响。特别是对于非常低的样本计数,获得精确的表面信息对于实现良好的质量至关重要,并且为相机参数和/或照明的一致性添加额外的优化步骤可以进一步改善结果。其次,自适应采样的阈值,以及主优化函数的权重(最大化采样网络的稀疏性同时防止崩溃)影响AdaNeRF的稀疏性,影响整体质量和实时性。虽然这些参数可以相当稳健地应用于不同的数据集,但为了获得最佳性能,建议使用网格搜索。未来,可以从数据中学习这些参数,以节省超参数调优的时间。

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

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

相关文章

Nginx 高级篇

文章目录Nginx 高级篇一、 负载均衡1、 负载均衡概述2、 处理方式2.1 用户手动选择2.2 DNS 轮询2.3 四 / 七层负载均衡3、 七层负载均衡3.1 七层负载均衡指令3.1.1 upstream3.1.2 server3.2 实现流程3.3 负载均衡的状态3.3.1 down3.3.2 backup3.3.3 max_conns3.3.4 max_fails &…

Docker前世今生

文章目录Docker背景Docker历史docker 理念Docker能做什么虚拟机的缺点容器虚拟化技术Docker学习途径Docker背景 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发运维之间的协作我们需要 关心很多东西,这也是…

ChatGPTAPI Key申请教程

ChatGPTAPI Key申请教程 一、API Key申请使用 在浏览器打开网址:https://openai.com/api/ 等待网页加载完成后,点击右上角 LOG IN 进入登录界面 进入登录界面后,依次输入注册的邮箱–Continue–输入密码–Continue,完成登录&…

< CSS小技巧:filter滤镜妙用>

文章目录👉 前言👉 简述👉 基本语法及案例》语法简述》案例👉 拓展1. drop-shadow 更加智能的阴影效果2. 网页置灰3. 元素强调、高亮4.节省空间,提高网页加载速度👉 具体案例网页参考文献往期内容 &#x1…

如何有效进行团队建设:从关注事到关注人

咱打工人都想趁着年终总结这个契机,拿着工作数据跟领导们提涨薪!但是入行没多久的社畜们却没有这个底气,虽累但没结果(暗指身兼数职的项目经理小白们),主要是觉得自己的工作成绩不够优秀。这几天办公室的项…

Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

摘要 我们为元学习提出了一个算法是模型无关model−agnosticmodel-agnosticmodel−agnostic. 在某种意义上,其与用梯度下降训练的模型是兼容的,可以应用在大量不同的学习问题上。包括:分类、回归、和加强学习。 元学习的目标是正在学习任务…

TAZ生成实践(Intel芯片Mac Python 3.7.9)

参考文章 https://blog.csdn.net/weixin_42632778/article/details/115164518 TAZ生成 https://zhuanlan.zhihu.com/p/343576683 使用ArcGIS实现线转栅格 https://pro.arcgis.com/zh-cn/pro-app/latest/tool-reference/conversion/polyline-to-raster.htm ArcGIS Pro 折线转栅格…

第②篇 Spring IoC——容器

Spring最成功的是其提出的理念,而不是技术本身。 概念 Spring所依赖的两个核心理念: 一个是控制反转(IoC)。另一个是面向切面编程(Aspect Oriented Programming,AOP)。 IoC是Spring的核心&am…

JS入门到精通详解(1)

JavaScript概述(需要记)什么是javascript?是一门(基于对象)和(事件驱动)的(脚本语言)。js诞生于哪一年?哪个公司?谁?第一个名字叫什么?1995年 网景 布兰登 l…

【Python】type、isinstance、issubclass详解

type type方法有两种重载形式: type(o: object);type(name: str, bases:Tuple[type, ...], dict:Mapping[str: Any], **kwds) 使用第一种重载形式的时候,传入一个【object】类型,返回一个【type】对象,通常与object…

解决使用element-plus时使用el-select-v2组件时,选中后无法移除focus的状态的方法。

我们可以使用element-ui-plus的el-select-v2的组件&#xff0c;实现复合搜索和下拉框的功能。 使用如下模块&#xff1a; <template><el-select-v2 v-model"value" filterable :options"options" placeholder"Please select"visibleCha…

爸妈记性变差怎么办?

记不住事的时候&#xff0c;我们总会自嘲“老了&#xff0c;脑子不好使了”。记忆力总是和年龄挂钩的&#xff0c;所以很多子女听到父母这样说&#xff0c;也不会放在心上。但有时&#xff0c;记性变差不一定因为年龄&#xff0c;还有可能是患病的前兆。当父母出现频繁忘事的情…

zerotier虚拟网络配置,局域网与外网如同局域网一样访问。

zerotier:可以搭建用于自己的虚拟网络&#xff0c;经过授权连接成功之后彼此都在同一网段&#xff0c;可以像在局域网一样互相访问。 1.创建zerotier账户 2.创建网络&#xff08;Create A Network&#xff09;并记住网络标识&#xff08;NETWORK ID&#xff09; 一、openwrt设…

中华财险进击数字化

本文来源 / 瞭望 中华联合财产保险股份有限公司&#xff08;下称中华财险&#xff09;&#xff0c;是一家 36 年的老牌国有保险公司&#xff0c;全国营业网点超过 2900 个。近年来&#xff0c;中华财险在业务高速发展的同时&#xff0c;从难啃的硬骨头下手&#xff0c;重构核心…

Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 -- 入门(二)

可寻址系统面板介绍 -- 入门&#xff08;二&#xff09;一&#xff0c;可寻址系统目录介绍1.2 创建分组1.2 目录介绍二&#xff0c;可寻址系统设置介绍2.1 Profile - 配置文件2.2 Catalog - 目录2.3 Content Update - 内容更新2.4 Downloads - 下载2.5 Build - 构建2.6 Build a…

【数据结构】5.6 树和森林

文章目录5.6.1 树的存储结构&#xff08;不是二叉树&#xff09;双亲表示法孩子表示法结构定义双亲孩子法孩子兄弟法5.6.2 二叉树的转换树与二叉树的转换将树转换成二叉树将二叉树转换成树森林与二叉树的转换森林转换成二叉树二叉树转换成森林5.6.3 树和森林的遍历树的遍历森林…

Nginx简介

一、什么是Nginx?Nginx是一个高性能的HTTP和反向代理Web服务器&#xff0c;同时也提供IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3/SMTP&#xff09;代理服务器。Nginx的特点是&#xff1a;占有内存少&#xff0c;并发能…

JJWT实现令牌Token

登录实现方式 Session 详情&#xff1a; https://www.cnblogs.com/andy-zhou/p/5360107.html 会话的概念 会话就好比打电话&#xff0c;一次通话可以理解为一次会话。我们登录一个网站&#xff0c;在一个网站上不同的页面浏览&#xff0c;最后退出这个网站&#xff0c;也是…

【Java AWT 图形界面编程】Container 容器 ② ( Frame 窗口示例 | Panel 示例 | 窗口中文乱码处理 )

文章目录一、Frame 窗口示例二、Panel 示例三、窗口中文乱码处理一、Frame 窗口示例 首先 , 创建 Frame 实例对象 , 该对象就是 操作系统中应用软件的 窗口 ; // 1. 创建窗口 Frame frame new Frame("AWT 图形界面编程");Frame 是 Window 的子类 , public class F…

前端号外—2022年最受欢迎居然是它,Node.js危已

导读 | 2022年是艰难的一年&#xff0c;不仅有互联网的寒冬、还有新冠疫情的洗礼。但是似乎这一切都阻挡不了JavaScript的内卷&#xff0c;一年不长不短的时间中&#xff0c;JavaScript从创新、性能、功能等多维度深度进化&#xff0c;给前端带来了诸多惊喜。本文基于github上流…