读 On the Spectral Bias of Neural Networks
On the Spectral Bias of Neural Networks 关于神经网络的谱偏差
读 NeRF 论文
读 NeRF 论文摘要:之前是只听说过,然后简单了解了机理,没真正读过NeRF。这次来读一下,就是先翻译,然后记下来。肯定有疏漏,或许有不对的地方,不过对我够用了。我把直接翻译出来的用黑体表示, 把和具体实现相关的用斜体表示,我能看懂的拿我理解的话说出来。
NeRF全程叫 Representing Scences as Neural Radiance Fields for View Synthesis。字面意思大概是:对于视角合成问题,将场景描述为神经辐射场。
就是说,发明了一种方法,具体就是说,用一系列稀疏的视图集合,还原出场景的新视图。(注意到这里说的不是还原出整个场景)。
算法使用全连接(特意强调了一下不用卷积)深度神经网络表达一个场景,输入是五维坐标,输出是“the volume density and view-dependent emitted radiance at that spatial location”,在空间位置的体积密度以及依赖于视角的发射的radiance。
如何用我们的刚才说的算法合成这个场景的新视角视图呢:论文中说的是,沿着相机射线查询5D坐标(相机位置 ...
Physics-Based Ray Tracing
Physics-Based Ray TracingRay-Triangle Intersection有很多关于光线和三角形求交的算法,这里学习一下包含三角形的参数平面重心坐标算法,因为它不包含除了三角形顶点的长期存储。
为了将一个光线和参数平面求交,我们设置了一个笛卡尔坐标方程组:
等号左边是光线经过了多少t和三角形相交,右边是光线和三角形交点坐标在三角形参数平面上的uv坐标。
在参数平面上,所有点都是abc三个点的线性组合,也就是说:
其中beta和gamma需要当且仅当$\beta>0,\ \gamma>0,\ \beta+\gamma<1$时,交点才在三角形上。从上面的方程可以得到关于t,beta,gamma的方程组:
易转换为线性系统:
经典的算法是用克拉默法则(Cramer’s Rule)嗯算。这里貌似也只讲了克拉默法则嗯算,算出t,beta和gamma。
最后程序的结果是这样
不过为啥我看的shader里面的求交算的比这个麻烦很多,因为涉及到很多数值计算上的细节。
读 Relighting Humans 论文
读 Relighting Humans 论文[TOC]
基本思想记下来。不然时间长又忘了。
首先说一下这篇论文想解决的问题:现有relight方法对于阴影遮挡这部分的无力。
之前的方法都是使用球谐函数直接照明而忽略了遮挡问题,导致一些比如说腋窝等部位异常明亮。但实际上这些部位由于大部分被自身遮挡,不应该出现过多的明亮现象。
实际上不是之前的人不想解决这个问题,而是考虑这个问题之后会使计算变得很复杂。回顾 irradiance 的方程:$$E(\textbf{n})=\int_{\Omega(\textbf{n})}L(\omega_i)V(\omega_i)max(\textbf{n}\cdot \omega_i, 0)\mathrm{d}\omega_i$$对于一个shading point,这里面,n是其单位法向量,omega指的是方向角,L就是对应角度传来的radiance,后面的点乘表示的是一个余弦衰减系数。V是visibility项,表示这个方向是否被遮挡。对于每个shading point来讲,如果不考虑V term,计算相对容易。实际上用prt加上V term, ...
GAMES202 10 Real-time Physically-based Materials (surface models)
Lecture 10 Real-time Physically-based Materials (surface models)PBR and PBR Materials 基于物理渲染的材质PBR = Physically-Based Rendering 基于物理的渲染
任何渲染都可以是基于物理
材质、光照、相机、光线传播等等
不只是限制在材质范围内,但是指的往往是材质
在RTR中的PBR材质
RTR中使用的材质要远少于在offline中的材质
RTR中说是基于物理的,但实际上并不是基于物理
分两类,基本上和离线渲染差不多,但是更多着眼于技巧来提升速度
表面材质(微表面模型、迪士尼原则BRDFs Hyperion)
对体积(非表面模型)来说,头发、云、皮肤等,大多都是着眼于快速和近似的方法实现单散射和多次散射
这里复习了一下材质的BRDF,这里面包含:
菲涅尔项
NDF 法线分布函数,有很多类
Beckmann NDF 形式上很像高斯正态分布,各向同性的结果(也能异性),其中 $\alpha$表示粗糙程度,$\theta_h$表示入射与出射角的半矢量h与法线的夹 ...
Fundamentals of Computer Graphics
Fundamentals of Computer Graphics 1Contents 目录
Introduction 简介
Miscellaneous Math 各种数学
Raster Image 光栅图像
Ray Tracing 光线追踪
Surface Shading 表面着色
Linear Algebra 线性代数
Transformation Matrices 矩阵转换
Viewing 视图
The Graphics Pipeline 图形管线
Signal Processing 信号处理
Texture Mapping 纹理映射
Data Structures for Graphics 图形学数据结构
Sampling 采样
Physics-Based Rendering 基于物理的渲染
Curves 曲线
Computer Animation 计算机动画
Using Graphics Hardware 使用图形学硬件
Color 颜色
Visual Perception 视觉感知
Tone Reproduction 色调再现
Implicit Modeling 隐式模型
...
GAMES202 9 Real-time Global Illumination 3 (screen space cont.)
Screen Space Directional Occlusion (SSDO)What is SSDO?
SSAO加强版,考虑了间接光照
Key Idea
和Path Tracing很像
在shading point,随即发射射线,如果没有照射到障碍物,就是直接光照(AO认为是间接光照)
如果照射到障碍物,就是间接光照(AO认为是没有光照)
实际使用:
从shading point出射一个半球,选一系列采样点。
用采样点从camera的可见性来近似为从p的可见性
如果采样点被挡住,就是算间接光照;否则取直接光照
问题:
只能应对小范围的GI,不能得到远距离的间接光照
从screen space研究,肯定会丢失相关信息
Screen Space Reflection (SSR)What is SSR?
实时渲染中的一种引入全局光照的方法
使用了光线追踪
仍在Screen Space中研究问题
怎么做?
Shade Sence + Nromal Vector + Depth -> SSR
先求交点:intersection
使用Linear Raym ...
GAMES202 8 Real-time Global Illumination 2 (screen space)
Lecture 8 Real-time Global Illumination 2 (screen space)Light Propagation Volumes (LPV)Key Problem 主要问题
要实现任何一个Shading Point的间接光照,要先知道这一个点的Radiance
Key Idea 主要思路
在一个直线上传播的Radiance(单位立体角单位面积接收到的能量)是一个不变的量。
Key Solution 主要方法
用一个3D网格,作为传播介质,来传播从物体表面到任何其他地方的直接照射的radiance。
Step 步骤
首先生成一系列点,就是被直接光照照射到的点
用RSM就足够了,但是还是存在计算量的问题
将这些虚拟光源的点集合“注入”到格子(Radiance Volumn)里面
先将场景预处理分成一个个的格子
对每一个格子,计算相邻的source light
将直接光照的分布加起来
把得到的次级光照分布使用前两阶(4terms)SH进行压缩
用Volumn Radiance 进行光线传播计算
对于每个格子,收集6个方向的radianc ...
GAMES202 7 Real-time Global Illumination (in 3D)
Wavelet 小波 2D Harr Wavelet也是一套基函数。不同函数的定义域也有所不同。小波的压缩方式和SH等其他不同,他的基函数系数有的很接近0,就可以直接当作0作为展开方式,并且可以保留全频率。这时候用的多是Cube Map。
优点:小波变换可以保留高频信息,属于全频滤波,比起只保留低频信号的SH更清晰,看起来效果很好。
缺点:不易进行旋转变换
Global Illumination 实时渲染中的全局光照直接光照好做,间接光照麻烦。每个直接光照的点,都应该作为间接光照的次级光源。
Reflective Shadow Map (RSM)
把每一个像素都作为一个次级光源
把Rendering Equation的 $d\omega$ 变换为 $dA$
(看不懂了,明天再看吧)
相比于SM存Depth,多存了世界坐标、法线、Flux。适合用于在手电筒的场景下
优点
易实现
缺点
运算量和直接光源呈现线性增长
不会判断间接光照的可见性,会有所不真实
有许多数学上的约等或者说假设
采样率和质量上的Trade off
GAMES202 6 Real-time Enviroment Mapping 2
Background Knowledges 一些理解:Product-integral=滤波=卷积=加权平均:
卷积 $\int_{\Omega}f(x)g(x)dx$
滤波 考虑傅里叶变换,先乘积再积分和频域上的滤波结果相同
加权平均,把 $f(x)$ 看成权重函数, $g(x)$ 看成被积函数
Fourier Transfer 傅里叶变换:
低频信号:分布在频域图中间,表示的是模糊
高频信号:分布在周围,表示的更多是图像的边界
Basis Function 基函数:
可以类比于线性空间的标准正交基。傅里叶级数的每个项都是标准正交基
可以用一套基函数的线性组合来表达该函数空间中的任何函数,比如说三角函数代表的傅里叶展开,以及幂级数代表的泰勒展开。
Real Time Environment Lighting (& global illumination)Spherical Harmonics 球面谐波函数(SH)What 是什么:
一系列 定义在球面上的 二维 函数 $B_i(\omega)$
另外一个理解:一维情况下的傅里叶函数
...