【论文分享】NerfDiff: Single-image View Synthesis with NeRF-guided Distillation from 3D-aware Diffusion

论文地址:NerfDiff

Pipeline

pipeline
训练-调整两阶段方法

Contributions 主要贡献:

  • 开发了一个新的框架——NerfDiff,联合训练 NeRF 和 CDM,在测试时对 learned NeRF 进行finetune;
  • 引入了一种高效的、以图像为条件的 NeRF 表示法,基于 camera-aligned triplanes
  • 提出了一种3D-aware CDM,将体渲染纳入二维扩散模型,提高了新颖试图的泛化能力。

Training Phase

1. Single-image NeRF with Local Triplanes

nerf
concat左侧部分

回顾NeRF

        NeRF简单来说就是训练了一个网络   f_\theta:(x, d) \rightarrow(c, \sigma),其中 x 表示点的三维位置,d 表示光线方向,输出颜色值 c 和密度值 \sigma,再通过体渲染获得图像。其中,为了使网络获得高频细节,提高渲染能力,对 x 和 d 分别使用了位置编码(Positional Encoding)

本文对NeRF的优化

图像编码器使用U-Net结构,其输出层同时包含局部信息和全局信息;最后一层输出被重塑为三平面,三平面的空间分辨率与输入图像相同,特征维度设置为48。

将图像特征 W 表示为相机坐标系下的 triplane(三平面结构) { Wxy, Wxz, Wyz }    

在三个平面内进行双线性插值,每个3D点都会得到一个唯一的特征向量:

$\xi_W(\boldsymbol{x})=W_{x y}\left(\tilde{\boldsymbol{x}}_{x y}\right)+W_{x z}\left(\tilde{\boldsymbol{x}}_{x z}\right)+W_{y z}\left(\tilde{\boldsymbol{x}}_{y z}\right)$

好处:

  • 可以在xz, yz平面分配深度信息,不需要使用位置编码来表示空间信息
  • 浅层MLP代替深层MLP,提高渲染效率

 2. 3D-aware Conditional Diffusion Models

cdm
粉色方框右侧部分

使用 NeRF 渲染出的 target-view 图像作为 CDM 的条件(而不是input-view)

渲染图像与噪声图像拼接

可以在 CDM U-Net和 图像编码器 U-Net之间使用交叉注意力机制增强条件 

3. Training Loss

Loss = Rendering Loss + Denoising Loss

两个加权系数lamda都为1。

这里解释一下为什么要联合使用NeRF + CDM

如果只使用NeRF,在只有一张输入图像的条件下,NeRF对图片中物体背面的信息是完全不可见的,因此渲染出的图像会出现模糊的结果;

如果只使用CDM,diffusion model生成每个视角的图像都是独立进行的,因此会出现多视角不一致的结果。

通过将二者结合,向NeRF引入生成式的扩散模型,在未知信息的部分通过生成可以很好的解决模糊的问题;同时CDM也需要NeRF的监督和引导来实现多视角一致的结果。


Finetuning Phase

  • 生成虚拟视图:根据已训练的 NeRF,生成若干个虚拟视图
  • 多视角扩散:对每个虚拟视图,进行64步DDIM扩散
  • 更新参数:每一步扩散过程中,更新NeRF参数(MLP 和 triplane)

NeRF Guided Distillation (NGD) 

直接输出的结果包含许多模糊的细节和伪影,提出NGD,考虑多视角一致性,引入了所有虚拟视图的联合分布,经过一系列计算,得到了损失函数,即最小化所有虚拟视图中去噪图像和Nerf渲染图像之间的均方差MSE loss:

 算法


 Experiment

与VisionNeRF对比实验,同时做了消融实验(w/o NGD & CDM),分别是没有NGD和没有NeRF监督的消融实验,最右为Ground Truth。

NerfDiff-Basic 与 NerfDiff-Large   参数量不同

Conclusion

  • 提出一种单张图像进行视图合成的生成式框架——NerfDiff
  • triplane结构对传统NeRF位置编码的更新
  • finetune的不同策略(SDS、NGD等)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
数据免费知识蒸馏与软目标传输集合合成是一种通过利用现有数据集来提高深度神经网络的性能的方法。这种方法主要包括两个步骤:知识蒸馏和软目标传输集合合成。 首先,知识蒸馏是指将一个已经训练好的大型模型的知识转移到一个小型模型中。这样做的好处是,小型模型可以通过利用大型模型的知识来提高其性能。知识蒸馏的过程包括将大型模型的输出(一般是概率分布)作为目标分布,然后使用目标分布和小型模型的输出之间的交叉熵作为损失函数进行训练。通过这种方式,小型模型可以学习到大型模型的知识,并提高其性能。 其次,软目标传输集合合成是指通过合成新的目标数据集来进一步提高小型模型的性能。这是通过将已有数据集中的样本与大型模型的输出结合起来产生的。具体而言,对于每个样本,使用大型模型进行预测,并根据预测结果以及训练集中的标签来合成一个新的目标分布。然后,再次使用目标分布和小型模型的输出之间的交叉熵作为损失函数进行训练。通过这种方式,小型模型可以进一步学习到大型模型的知识,并提高其性能。 总之,数据免费知识蒸馏与软目标传输集合合成是一种提高深度神经网络性能的有效方法。通过利用已有的数据集和大型模型的知识,可以帮助小型模型更好地学习并提高其性能。这种方法在许多领域中都有广泛的应用,例如计算机视觉、自然语言处理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

juvenility

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值