91、MERF: Memory-Efficient Radiance Fields for Real-time View Synthesis in Unbounded Scenes

news/2025/1/11 7:04:31/

简介

主页:https://merf42.github.io
在这里插入图片描述
可在网页渲染的实时无界场景NeRF

结合稀疏特征网格和高分辨率2D特征平面,减少了先验稀疏体积辐射场的内存消耗,将场景坐标映射到有界体积中,同时仍然允许有效的射线盒相交

实现流程

基础知识

NeRF公式
在这里插入图片描述
SNeRG在训练期间使用大型 MLP,并在收敛到块稀疏网格后将其烘焙以进行实时渲染。
在这里插入图片描述
在这里插入图片描述
场景压缩Mip-NeRF360
在这里插入图片描述

MERF

在这里插入图片描述
对于沿射线的位置x:
(1)在低分辨率3D网格上查询它的八个相邻位置;把它投影到三个轴向平面上,然后在一个高分辨率的二维网格上查询每个投影的四个邻居。
(2)对8个低分辨率3D邻域进行评估和三线性插值,对3组4个高分辨率2D邻域进行评估和两线性插值,并将所得特征求和为单个特征向量 t。
(3)对特征向量进行分割并非线性映射为3个分量:密度 τ \tau τ、RGB颜色 c d c_d cd 和编码视图依赖效应的特征向量 f。

低分辨率 L × L × L L \times L \times L L×L×L 3D 网格 V,三个 2D R × R R \times R R×R 平面 P x , P y , P z P_x,P_y,P_z Px,Py,Pz分布表示 y z , x z , x y yz,xz,xy yz,xz,xy平面,网格和平面存储了 C = 4+ K 维特征向量,实验中,C=8,L=512,R=2048

任意空间点可表示为:
在这里插入图片描述
3D网格点 V : R 3 → R c V:R^3 \to R^c V:R3Rc,2D平面点 P i : R 2 → R c P_i:R^2 \to R^c Pi:R2Rc

通过网络获得密度 τ ~ ∈ R \tilde{\tau}\in R τ~R,颜色 c ~ d ∈ R 3 \tilde{c}_d \in R^3 c~dR3,视图依赖效应的特征向量 f ~ ∈ R K \tilde{f} \in R^K f~RK,之后使用归一化函数
在这里插入图片描述
σ \sigma σ 是对数sigmoid函数,将颜色和特征向量限制在(0,1),在插值和求和后使用归一化

在这里插入图片描述

左边为mip-NeRF的样本压缩,右边为MERF的空间压缩
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

建模高分辨率的大规模场景需要高容量的表示,在训练期间可能会消耗大量的内存。在训练期间消耗的内存明显多于呈现期间,因为训练需要为了反向传播而存储中间激活,并且需要为Adam优化器积累更高精度的每个参数统计信息。

训练需要的视频内存是渲染的12倍以上。因此,通过将MERF的低分辨率体素网格和高分辨率2D平面参数化为具有多分辨率哈希编码的mlp来优化其压缩表示

然而,将mlp的输出烘焙到离散网格上进行渲染会导致用于训练和渲染的表示之间的不匹配。之前的工作通过对烘焙表示进行微调来解决这个问题,但是微调需要将整个表示存储在内存中,并且受到上述可扩展性问题的影响。相反,在训练期间通过查询虚拟网格角处的mlp来模拟有限的网格分辨率,并使用高分辨率2D网格的双线性插值和低分辨率体素网格的三线性插值来插值结果输出

为了减少系统在渲染时的内存消耗,希望将网格中每个位置的每个维度量化为单个字节。然而,在训练后简单地量化优化的网格值会导致优化模型与用于渲染的模型之间的不匹配,从而导致渲染质量下降,如表2 (b)所示

解决方案是在优化过程中量化每个位置的变量值。也就是说,使用一个s形函数(φ)将它们非线性映射到[0,1]中,然后使用量化函数𝑞将它们量化为单个字节,最后将结果仿射映射到范围[−𝑚,𝑚],即:
在这里插入图片描述
其中选择𝑚= 14密度(使用指数非线性计算),𝑚= 7 漫射颜色和特征。注意,这只是量化存储在网格中的值,然后在线性插值和求和这些值之后应用方程6中的非线性。
在这里插入图片描述
其中∇ (·)是一个停止梯度,它可以防止梯度反向传播到其输入。这种停止梯度的使用允许通过将𝑞作为反向传递期间的恒等函数来获得不可微舍入函数的梯度,这被称为直通估计器。

训练后,评估并存储离散网格上的MLP输出以进行实时渲染。首先,计算一个二进制3D网格a,表示对任何训练图像有贡献的体素(即,如果体素对应于遮挡的内容,没有被任何训练射线采样,或者不透明度低,则不应存储它们)。为了填充A,渲染所有的训练射线,并从中提取一组加权点{(x,𝑤)},其中x是点的位置,𝑤是公式1中相关的体积渲染权值。请注意,当使用proposal-MLP进行采样时,这些点聚集在场景中的表面周围。

如果体渲染权重 w i w_i wi 和不透明度 a i a_i ai 超过阈值设置为0.005,将包围给定点 x i x_i xi的八个体素标记为已占用。为了尽可能积极地剔除,基于实时渲染器使用的样本之间的距离 σ i \sigma_i σi计算 a i a_i ai 回想一下,它以一个小的统一步长在收缩的空间中步进。正如 proposal- mlp通常建议的步骤大于 σ i \sigma_i σi,计算 a i a_i ai这种方式可以导致更好的剔除。然而,仍然保证在最终的采样方案中,贡献显著不透明度值( a i a_i ai> 0.005)的体素不会被剔除。请注意,虽然不透明度 a i a_i ai只取决于 x i x_i xi的密度,权重 w i w_i wi也取决于沿整个射线的密度,使 w i w_i wi的使用必须考虑可见性。观察到,基于实时渲染器步长的不透明度检查显着降低了标记为占用的体积的比例。请注意,这是在只考虑由proposal-MLP采样的位置中的体素已经实现的稀疏性的基础上增加的。相比之下,现有的烘焙管道通常不考虑proposal-mlp,并对均匀间隔的样本点进行可见性剔除。这通常会导致雾状的伪影和浮动的斑点,因为底层3D场在proposal-MLP未采样的区域中可以具有任意值。表2表明,proposal - mlp感知烘焙管道几乎是无损的

在计算二值网格A后,对三个高分辨率二维平面和低分辨率三维体素网格进行烘烤。遵循SNeRG,以块稀疏格式存储该体素网格,其中我们仅存储包含已占用体素的数据块。对于空白空间跳跃,我们使用最大池创建了多个低分辨率版本的二进制占用网格A。为了减少存储空间,将纹理编码为png。

当透射率值 T i T_i Ti(在公式1中定义)低于 2 × 1 0 − 4 2 × 10^{−4} 2×104时,终止射线沿射线行进

为了进一步减少渲染过程中的内存访问次数,将纹理分成密度和外观(包含漫射RGB颜色和特征向量)组件。当在任何位置访问MERF表示时,首先查询密度分量,如果从返回的密度计算的体素不透明度非零,则只读取相应的外观分量。此外,还通过优化延迟渲染MLP获得了4倍的额外加速。更具体地说,执行循环展开,修改内存布局以促进线性访问,并利用快速的mat4乘法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于使用了SNeRG 中引入的视图依赖模型,也继承了它的局限性:通过每条光线评估一次视图依赖颜色,无法忠实地为与半透明物体相交的光线建模视图依赖外观。此外,由于微型MLP的容量有限,它可能难以扩展到更大的场景或具有复杂反射的对象。

此外,仍然执行体积渲染,这将其限制在配备了足够强大的GPU的设备,如笔记本电脑,平板电脑或工作站。在更小、散热受限的设备(如手机或耳机)上运行模型将需要进一步减少内存和运行时间。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/228955.html

相关文章

DOM03

DOM03 DOM03复习双标签内容计数器计数器升级计数器委托小计数组转HTML练习练习 - 升级练习练习 - 将数据显示在表格中购物车 - 1.7pm 108分 DOM03 复习 DOM: Document Object Model 文档对象模型 HTML文本代码 -> 转化成DOM -> 显示在浏览器上 浏览器展示的是DOM, 通…

ME-05

English中文含义assign选派;分配deploy部署,调集enter考入graduate毕业post派驻join/join up/enlist参军,入伍promote晋升transfer调动,转职serve服役leave/get out退伍continue/stay on继续服役apply for/put in for申请professi…

9.MetaObject

1.MetaObject功能 MetaObject类相当于一个工具类,Mybatis在sql参数设置和结果集映射里经常使用到这个对象。 映射是指结果集中的列填充至JAVA Bean属性。这就必须用到反射,而Bean的属性 多种多样的有普通属性、对象、集合、Map都有可能。为了更加方便的…

作为ARM Cortex-M家族的继承者 Cortex-M23与M33有哪五大特色?

http://news.eeworld.com.cn/xfdz/article_2017011259937.html 集微网消息,ARM处理器在嵌入式设备领域的应用非常广泛。基于ARM Cortex处理器的片上系统(SoC)解决方案适用于多种嵌入式设计细分市场,如物联网、电机控制、医疗、…

【开发心得】Chrome/Edge 91版本SameSite by default cookies被移除后的解决方案

前言:场景是cas单点登录,使用iframe解决跨域问题。 chrome 版本大于80 且 小于91的情况,可以通过 在chrome浏览器地址栏输入chrome://flags并回车 在搜索栏中输入SameSite by default cookies搜索,并禁用如图中的两项设置 ,改为…

MT290\291\292\295\296\298\299

MT 290 Advice of Charges,Interest and Other Adjustments收费、利息和其他调整通知 参考Common Group Message,MTn90Advice of Charges, Interest and Other Adjustments,查看此电文类型相关详情。 http://blog.csdn.net/shuytu/article/details/780…

深度学习预预训练与MMPretrain

MMPretrain算法库 优势: 含有各种主干网络模型自监督学习功能多模态学习功能丰富的数据集含有训练技巧和策略易用,例如可解释性分析、推理api 包含多种丰富任务的开箱即用推理api 图像分类图像语义描述视觉问答视觉定位检索 安装步骤 配置文件中含有…

Qcom_hexagon编译自动获取目录和特定文件的方法

一,简介 本文主要介绍,如何在高通hexagon ide中的hexagon.min中添加获取目录和.c文件的方法,供参考。 二,具体命令 OBJ_PATH : ./awinic_sp_module/algo_libINCLUDE_PATH : $(shell find $(OBJ_PATH ) -type d) SRC_C_FILE : …