paper-reading4
paper-reading about 3D generation
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
论文链接https://arxiv.org/abs/2003.08934
Neural Radiance Field Scene Representation 场景表示
用MLP拟合一个函数来表示场景
输入为空间中一个粒子的信息,
体积密度的视角不变性
体积密度与视角没有关系,视角只影响这个位置发出的光。
所以在MLP中,先输入位置x,经过一个MLP后输出体积密度
将这个特征向量与视角d拼接后,再经过一个MLP后输出颜色c。
即
位置编码
实验中发现,模型对高频信息的拟合效果不好,需要对输入进行位置编码,主要就是将低维的输入转为高维向量。
编码方程为
将这个方程分别应用于输入的每一维,就得到了实际的输入
Volume Rendering with Radiance Fields 体积渲染
得到三维场景的表示后,用传统的渲染方法得到二维图片,与真实图片进行对比,用loss函数进行训练。
二维图片中,一个像素的颜色对应一条光线
T(t)代表在t点之前,光线没有被阻碍的概率
将其离散化,将区间
则
proof:
我们假定每一段粒子的密度颜色相同,考虑一段的光强
分层采样
对于一条光线。平均分之后采样不是很高效,考虑根据模型预测的体积密度采样。
训练两个模型,一个为coarse
模型,另一个为fine
模型,先用coarse模型预测体积密度,然后根据体积密度用fine模型采样,将两个模型采样结果合并进行优化。
Deep Marching Tetrahedra: a Hybrid Representation for High-Resolution 3D Shape Synthesis
Sticking the Landing: Simple, Lower-Variance Gradient Estimators for Variational Inference
论文链接https://arxiv.org/abs/1703.09194
研究的对象为变分估计(Variational inference)
目标是最大化ELBO,对ELBO的无偏估计使得可以通过随机梯度下降来学习参数,我们需要减小这个估计的方差。
ELBO本身方差
可以有三种不同的estimator
作者提出:
- 当pq两个分布都是多元高斯(multivariate
Gaussians)时,最后一个等式最好,因为可以数值解出KL散度,减少了用Monte
Carlo估计的量。
- 当变分估计是精准的,即
时,第一个等式最好,因为这个估计的值是确定的,即与采样出来的z无关,则估计的方差为0。
ELBO梯度方差
当变分估计精准时,虽然第一个estimator的ELBO估计的方差为0,但是这个估计关于
利用重参数化技巧,可以把z表示为随机变量
TD means total derivative。
pq分布相同时,path derivative项为0,score
function项不为0,所以总方差不为0。
在参数更新前计算梯度时,可以忽略score function项,可以更快收敛。
DREAMFUSION: TEXT-TO-3D USING 2D DIFFUSION
利用NeRF,将3D模型的信息储存在MLP的权重中,用预训练的文生图模型指导这些权重的更新,类似于蒸馏。
流程
For each text prompt, we train a randomly
initialized NeRF from scratch. Each iteration of DreamFusion
optimization performs the following:
1. randomly sample a camera and light
2. render an image of the NeRF from that camera and
shade with the light
3. compute gradients of the SDS loss with respect to
the NeRF parameters
4. update the NeRF parameters using an optimizer.
SDS Loss
SDS Loss的选取是最关键的
预训练文生图模型的loss
可以看做模型在学习一系列的score function
对应的分布为
先考虑直接将其应用于本问题,即
但是实验效果不好
考虑loss的梯度
忽略U-Net Jacobian term并将
可以证明
proof:
B项可以与
A项为0,因为方差是固定的
根据Sticking the Landing: Simple, Lower-Variance Gradient Estimators for Variational Inference,作者忽略了score项,则
实验中发现保持
ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation
一些数学知识
核方法
参考
- https://xiaohan-wang.github.io/2020/06/16/%E6%A0%B8%E6%96%B9%E6%B3%95-%E6%A0%B8%E5%87%BD%E6%95%B0-%E6%A0%B8%E6%8A%80%E5%B7%A7/
- https://www.cnblogs.com/zhangcn/p/13289236.html
核函数
Cover’s theorem
指出,在低维空间中线性不可分的数据,通过非线性变换将其投影到高维空间之后,大概率会变为线性可分的数据。
希尔伯特空间
:具有完备性的内积空间。
设
特征空间的内积可以表示为输入空间的核函数,即
从而简化内积的计算。
核函数满足一些性质:
- 半正定性:对于任意的
, 定义的gram矩阵是半正定的。
- 对称性:
- 只要K是一个核函数,就存在一个特征空间
和一个映射 ,使得
再生核希尔伯特空间(RKHS)
设
定义一
若函数
1. 对于任意的
2. 再生性质:对于任意的x,
则称k为
k的再生性质不能脱离空间而存在。
对于再生核k,可以很容易定义映射函数
此为
定义二
先定义求值泛函:
对于一个固定的
性质
- Hilbert 空间和 RKHS 最本质的区别是Cauchy
列收敛条件。Hilbert 空间是完备的,所以 Hilbert 空间中的所有
Cauchy 列都是收敛的,即假设
是 Hilbert 空间中的 Cauchy 列,则对任意的 ,存在自然数 ,使得 时,有 。而在 RKHS 中,条件要求更严格,要要求所有的 Cauchy 列依点态收敛,即 ,式子 都成立。
- 对于一个核函数,可以对应多个希尔伯特特征空间
,但是作为再生核只对应一个RKHS,同时,RKHS是所有特征空间最为精简的一个,这里的精简体现在,无论在 中得到怎样的分类模型 ,在RKHS中都存在一个f可以得到和它相同的效果,因此对于某个核函数,RKHS代表了它最本征的信息。
- 任何核函数都可作为再生核函数对应一个RKHS。
- 再生核和再生核希尔伯特空间是一一对应的
- 因为我们已经找到了映射函数
,所以对于 中的元素f,可以表示为
Kernelized Stein Discrepancy
参考https://zhuanlan.zhihu.com/p/701255885
Stein's Identity
对于一个有光滑密度的分布p(x)以及任意一个函数f(x),并满足
有
记
为Stein算子。
Stein Discrepancy
可以看出,pq两个分布的差异可以通过
为了消除f的影响,取形式为
Kernelized Stein Discrepancy
限定f为RKHS的元素,根据可再生性,有
则
令
则优化问题可以定义为
很容易看出f和
Stein Variational Gradient Descent
在基于粒子的概率估计算法中,需要知道粒子移动的方向。设粒子的位移函数为
u表示粒子当前的分布,Tu表示更新后的分布,
可以证明:
而先前已经证明了
Variational Score Distillation
SDS的问题:over-saturation, over-smoothing, and low-diversity problems
SDS的思路是,给定一个文本,找到
但是上面的形式不好处理,因为p0比较稀疏,不容易预测梯度。所以采用下面的形式。
可以证明两个优化目标是等价的,即:
为了解决这个问题,使用particle-based variational
inference:,用
其中
对比一下SDS的更新规则:
VDS可以利用y来指导更新,比SDS含了更多信息,因此更遵从文本。