Project指路:https://ml.cs.tsinghua.edu.cn/prolificdreamer/
论文简介:截止2023/8/10,text-to-3D的baseline SOTA,提出了VSD优化方法
text-to-3D 解决的问题就是给定一段话,生成视角一致的3D场景,如果了解过这个领域的可以略过不看
研发路线大概是dreamfeild->dreamfusion->polificdreamer
text-to-image领域Diffusion Model很厉害,所以基本上就是Extend Diffusion Model to 3D,想看Diffusion Model简介可以看我之前的博文:
生成模型的Basic Idea就是真实图片作为随机分布,每个text是条件。
优化一个参数分布,使得它和Diffusion Model生成的结果接近(pretrained)
min μ D K L ( q 0 μ ( x 0 ∣ y ) ∥ p 0 ( x 0 ∣ y ) ) \min_\mu D_{KL}(q_0^\mu(x_0|y)\| p_0(x_0|y)) μminDKL(q0μ(x0∣y)∥p0(x0∣y))
根据上述优化目标,可以提出如下的Loss
BTW,为什么这个等号成立我是不太理解的(原论文说是KL Divergence的性质),占个坑
我认为这个步骤其实就是cover Diffusion Model的步骤, q t μ ( x t ∣ y ) : = ∫ q 0 μ ( x 0 ∣ c , y ) p t 0 ( x t ∣ x 0 ) d x 0 q_t^\mu(x_t|y):=\int q_0^\mu(x_0|c,y)p_{t0}(x_t|x_0)dx_0 qtμ(xt∣y):=∫q0μ(x0∣c,y)pt0(xt∣x0)dx0,也就是给定camera,把某张图片渲染出来之后拿去上t步高斯噪声的分布,让这个分布和Diffsuion Model 第t步的图片分布尽可能接近。
这已经是一个非常形式化的优化目标了。接下来考虑优化手段。
采用Wasserstein gradient flow of VSD,简单理解就是,用 { θ } i = 1 n \set\theta_{i=1}^n {θ}i=1n这n个参数“粒子”去模拟 μ ( θ ∣ y ) \mu(\theta|y) μ(θ∣y),然后优化的时候就是优化每个粒子参数。
基于此,问题转化解如下的一个ODE:
第一项是Diffusion Model生成的带噪音的真实图片的score function,所以它由预训练好的 ϵ p r e t r a i n ( x t , t , y ) \epsilon_{pretrain}(x_t,t,y) ϵpretrain(xt,t,y)生成
第二项是渲染出来图片生成的带噪声的图片的score function,它由根据一个新网络 ϵ ϕ ( x t , t , c , y ) \epsilon_\phi(x_t,t,c,y) ϵϕ(xt,t,c,y)生成,这个网络采用LoRA 技术,微调 ϵ p r e t r a i n \epsilon_{pretrain} ϵpretrain再embedding一个c进去。
占坑代填,孩子暂时不会泛函推不了