新智元报道
编辑:一今好困
只需要一行字的黑科技!UC 伯克利提出 Instruct-NeRF2NeRF,一键图像编辑进阶一键 3D 场景编辑。
由于神经 3D 重建技术的发展,捕获真实世界 3D 场景的特征表示从未如此简单。
然而,在此之上的 3D 场景编辑却一直未能有一个简单有效的方案。
最近,来自 UC 伯克利的研究人员基于此前的工作 InstructPix2Pix,提出了一种使用文本指令编辑 NeRF 场景的方法——Instruct-NeRF2NeRF。
论文地址:https://arxiv.org/abs/2303.12789
利用 Instruct-NeRF2NeRF,我们只需一句话,就能编辑大规模的现实世界场景,并且比以前的工作更真实、更有针对性。
比如,想要他有胡子,脸上就会出现一簇胡子!
或者直接换头,秒变成爱因斯坦。
此外,由于模型能不断地使用新的编辑过的图像更新数据集,所以场景的重建效果也会逐步得到改善。
NeRF + InstructPix2Pix = Instruct-NeRF2NeRF
具体来说,人类需要给定输入图像,以及告诉模型要做什么的书面指令,随后模型就会遵循这些指令来编辑图像。
实现步骤如下:
-
在训练视角下从场景中渲染出一张图像。
-
使用 InstructPix2Pix 模型根据全局文本指令对该图像进行编辑。
-
用编辑后的图像替换训练数据集中的原始图像。
-
NeRF 模型按照往常继续进行训练。
实现方法
相比于传统的三维编辑,NeRF2NeRF 是一种新的三维场景编辑方法,其最大的亮点在于采用了「迭代数据集更新」技术。
虽然是在 3D 场景上进行编辑,但论文中使用 2D 而不是 3D 扩散模型来提取形式和外观先验,因为用于训练 3D 生成模型的数据非常有限。
这个 2D 扩散模型,就是该研究团队不久前开发的 InstructPix2Pix——一款基于指令文本的 2D 图像编辑模型,输入图像和文本指令,它就能输出编辑后的图像。
然而,这种 2D 模型会导致场景不同角度的变化不均匀,因此,「迭代数据集更新」应运而生,该技术交替修改 NeRF 的「输入图片数据集」,并更新基础 3D 表征。
这意味着文本引导扩散模型(InstructPix2Pix)将根据指令生成新的图像变化,并将这些新图像用作 NeRF 模型训练的输入。因此,重建的三维场景将基于新的文本引导编辑。
在初始迭代中,InstructPix2Pix 通常不能在不同视角下执行一致的编辑,然而,在 NeRF 重新渲染和更新的过程中,它们将会收敛于一个全局一致的场景。
总结而言,NeRF2NeRF 方法通过迭代地更新图像内容,并将这些更新后的内容整合到三维场景中,从而提高了 3D 场景的编辑效率,还保持了场景的连贯性和真实感。
可以说,UC 伯克利研究团队的此项工作是此前 InstructPix2Pix 的延伸版,通过将 NeRF 与 InstructPix2Pix 结合,再配合「迭代数据集更新」,一键编辑照样玩转 3D 场景!
仍有局限,但瑕不掩瑜
不过,由于 Instruct-NeRF2NeRF 是基于此前的 InstructPix2Pix,因此继承了后者的诸多局限,例如无法进行大规模空间操作。
此外,与 DreamFusion 一样,Instruct-NeRF2NeRF 一次只能在一个视图上使用扩散模型,所以也可能会遇到类似的伪影问题。
下图展示了两种类型的失败案例:
(1)Pix2Pix 无法在 2D 中执行编辑,因此 NeRF2NeRF 在 3D 中也失败了;
(2)Pix2Pix 在 2D 中可以完成编辑,但在 3D 中存在很大的不一致性,因此 NeRF2NeRF 也没能成功。
再比如下面这只「熊猫」,不仅看起来非常凶悍(作为原型的雕像就很凶),而且毛色多少也有些诡异,眼睛在画面移动时也有明显的「穿模」。
自从 ChatGPT,Diffusion, NeRFs 被拉进聚光灯之下,这篇文章可谓充分发挥了三者的优势,从「AI 一句话作图」进阶到了「AI 一句话编辑 3D 场景」。
尽管方法存在一些局限性,但仍瑕不掩瑜,为三维特征编辑给出了一个简单可行的方案,有望成为 NeRF 发展的里程碑之作。
一句话编辑 3D 场景
最后,再看一波作者放出的效果。
不难看出,这款一键 PS 的 3D 场景编辑神器,不论是指令理解能力,还是图像真实程度,都比较符合预期,未来也许会成为学术界和网友们把玩的「新宠」,继 ChatGPT 后打造出一个 Chat-NeRFs。
即便是随意改变图像的环境背景、四季特点、天气,给出的新图像也完全符合现实逻辑。
原图:
秋天:
雪天:
沙漠:
暴风雨:
参考资料: