Mip-NeRF学习

Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields**:抗混叠神经辐射场的多尺度表示**
这篇论文中提出了NeRF在渲染中会出现的一个问题:当训练或测试图像以不同分辨率观察场景内容时,可能会产生过度模糊或混叠的渲染。NeRF中可以通过每个像素渲染多条光线来进行超级采样的方案,但是这是很浪费的,需要使用很多次网络。所以本文提出了利用圆锥来代替光线,圆台代替采样点,对每一部分的圆台进行编码,将NeRF扩展为以连续值的比例表示场景。可以有效解决分辨率不同时出现的模糊等。

对出现混叠现象的解释可以看这篇博客

Mip-NeRF中将像素点看为一个锥体的圆形截面
原始nerf的一个像素点对应mip-nerf的一块区域
原始nerf的一条射线对应mip-nerf 的一个圆锥
原始nerf的一个采样点对应mip-nerf的一个圆台
如下图
Mip-NeRF学习_第1张图片
所以需要解决的就是原来的位置编码需要修改成对圆台进行位置编码,将圆台设置成服从高维的高斯分布(高斯分布表示圆台),在进行积分求期望编码,然后将位置与观看方向输入MLP得到颜色和密度,接着沿着这些圆台进行积分或加权平均。

位置编码

在圆台里则是直接对位置编码求了个积分(类似于求积分),称为IPE,也就是积分位置编码。
求期望时积分必须有概率密度,这里定义的是一个三维的高斯分布,在一个圆台中,去设定好中心点和方差,构建一个三维的高斯分布,然后再去做积分。
NeRF中的位置编码,由于是均匀采样,所以对高分辨率的信号就会延长为低分辨率,造成模糊
在这里插入图片描述
Mip-NeRF中的被积函数就是上图的位置编码函数,服从三维高斯分布,详细推导可以看相关博客
Mip-NeRF学习_第2张图片

**当考虑更宽阔的区域时(远景),高频信息会自动收缩到零,从而为网络提供更多低频信息。随着区域缩小(近景),这些位置特征信号会接近经典位置编码。**这种动态的设置,使得nerf处理远景自动过滤高频信息,缓解了锯齿现象(即去除了景象中的高频分量),处理近景时恢复对高频信息的处理。

Mip-NeRF学习_第3张图片
从上图的对比中,高斯分布更关注集中区域的信号,高频信号选择性过滤掉,类似的,积分得到的圆台区域,如果某个频率的周期大于IPE构造出来的区域,该频率的编码不会影响,如果周期小于间隔(高频率),这种频率的编码就会缩小接近于0

IPE每次采样都能确保相对于IPE特征间隔的高频特征被弱化,因为每个圆锥截锥体的高斯分布总是跟随IPE特征间隔动态变化的
这里只是用了一个MLP网络进行训练,因为这里的位置编码能够自适应的获取位置信号,进行不同尺度的采样。
损失函数如下,损失函数还是分成了粗糙和精细,参数 λ \lambda λ=0.1
在这里插入图片描述

学习参考链接

https://zhuanlan.zhihu.com/p/532337023
https://blog.csdn.net/qq_40943760/article/details/125238788

你可能感兴趣的:(学习)