CVPR 2024 | 仅需文本或图像提示,新框架CustomNeRF精准编辑3D场景

news2024/11/19 17:20:46

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注


美图影像研究院(MT Lab)与中国科学院信息工程研究所、北京航空航天大学、中山大学共同提出了 3D 场景编辑方法 ——CustomNeRF,同时支持文本描述和参考图像作为 3D 场景的编辑提示,该研究成果已被 CVPR 2024 接收。

自 2020 年神经辐射场 (Neural Radiance Field, NeRF) 提出以来,将隐式表达推上了一个新的高度。作为当前最前沿的技术之一,NeRF 快速泛化应用在计算机视觉、计算机图形学、增强现实、虚拟现实等领域,并持续受到广泛关注。

有赖于易于优化和连续表示的特点,NeRF 在 3D 场景重建中有着大量应用,也带动了 3D 场景编辑领域的研究,如 3D 对象或场景的纹理重绘、风格化等。为了进一步提高 3D 场景编辑的灵活性,近期基于预训练扩散模型进行 3D 场景编辑的方法也正在被大量探索,但由于 NeRF 的隐式表征以及 3D 场景的几何特性,获得符合文本提示的编辑结果并非易事。

为了让文本驱动的 3D 场景编辑也能够实现精准控制,美图影像研究院(MT Lab)与中国科学院信息工程研究所、北京航空航天大学、中山大学,共同提出了一种将文本描述和参考图像统一为编辑提示的 CustomNeRF 框架,可以通过微调预训练的扩散模型将参考图像中包含的特定视觉主体 V∗嵌入到混合提示中,从而满足一般化和定制化的 3D 场景编辑要求。该研究成果目前已被 CVPR 2024 收录,代码已开源。

图片

  • 论文链接:https://arxiv.org/abs/2312.01663

  • 代码链接:https://github.com/hrz2000/CustomNeRF

图片

图 1:CustomNeRF 在文本驱动(左)和图像驱动(右)的编辑效果

CustomNeRF 解决的两大挑战

目前,基于预训练扩散模型进行 3D 场景编辑的主流方法主要分为两类。

其一,是使用图像编辑模型迭代地更新数据集中的图像,但是受限于图像编辑模型的能力,会在部分编辑情形下失效。其二,则是利用分数蒸馏采样(SDS)损失对场景进行编辑,但由于文本和场景之间的对齐问题,这类方法在真实场景中无法直接适配,会对非编辑区域造成不必要的修改,往往需要 mesh 或 voxel 等显式中间表达。

此外,当前的这两类方法主要集中在由文本驱动的 3D 场景编辑任务中,文本描述往往难以准确表达用户的编辑需求,无法将图像中的具体概念定制化到 3D 场景中,只能对原始 3D 场景进行一般化编辑,因此难以获得用户预期中的编辑结果。

事实上,获得预期编辑结果的关键在于精确识别图像前景区域,这样能够在保持图像背景的同时促进几何一致的图像前景编辑。

因此,为了实现仅对图像前景区域进行准确编辑,该论文提出了一种局部 - 全局迭代编辑(LGIE)的训练方案,在图像前景区域编辑和全图像编辑之间交替进行。该方案能够准确定位图像前景区域,并在保留图像背景的同时仅对图像前景进行操作。

此外,在由图像驱动的 3D 场景编辑中,存在因微调的扩散模型过拟合到参考图像视角,所造成的编辑结果几何不一致问题。对此,该论文设计了一种类引导的正则化,在局部编辑阶段仅使用类词来表示参考图像的主体,并利用预训练扩散模型中的一般类先验来促进几何一致的编辑。

CustomNeRF 的整体流程

如图 2 所示,CustomNeRF 通过 3 个步骤,来实现在文本提示或参考图像的指导下精确编辑重建 3D 场景这一目标。

图片

图 2 CustomNeRF 的整体流程图

首先,在重建原始的 3D 场景时,CustomNeRF 引入了额外的 mask field 来估计除常规颜色和密度之外的编辑概率。如图 2(a) 所示,对于一组需要重建 3D 场景的图像,该论文先使用 Grouded SAM 从自然语言描述中提取图像编辑区域的掩码,结合原始图像集训练 foreground-aware NeRF。在 NeRF 重建后,编辑概率用于区分要编辑的图像区域(即图像前景区域)和不相关的图像区域(即图像背景区域),以便于在图像编辑训练过程中进行解耦合的渲染。

其次,为了统一图像驱动和文本驱动的 3D 场景编辑任务,如图 2(b)所示,该论文采用了 Custom Diffusion 的方法在图像驱动条件下针对参考图进行微调,以学习特定主体的关键特征。经过训练后,特殊词 V∗可以作为常规的单词标记用于表达参考图像中的主体概念,从而形成一个混合提示,例如 “a photo of a V∗ dog”。通过这种方式,CustomNeRF 能够对自适应类型的数据(包括图像或文本)进行一致且有效的编辑。

在最终的编辑阶段,由于 NeRF 的隐式表达,如果使用 SDS 损失对整个 3D 区域进行优化会导致背景区域发生显著变化,而这些区域在编辑后理应与原始场景保持一致。如图 2(c)所示,该论文提出了局部 - 全局迭代编辑(LGIE)方案进行解耦合的 SDS 训练,使其能够在编辑布局区域的同时保留背景内容。

具体而言,该论文将 NeRF 的编辑训练过程进行了更精细的划分。借助 foreground-aware NeRF,CustomNeRF 可以在训练中灵活地控制 NeRF 的渲染过程,即在固定相机视角下,可以选择渲染前景、背景、以及包含前景和背景的常规图像。在训练过程中,通过迭代渲染前景和背景,并结合相应的前景或背景提示,可以利用 SDS 损失在不同层面编辑当前的 NeRF 场景。其中,局部的前景训练使得在编辑过程中能够只关注需编辑的区域,简化复杂场景中编辑任务的难度;而全局的训练将整个场景考虑在内,能够保持前景和背景的协调性。为了进一步保持非编辑区域不发生改变,该论文还利用编辑训练前的背景监督训练过程中所新渲染的背景,来保持背景像素的一致性。

此外,图像驱动 3D 场景编辑中存在着加剧的几何不一致问题。因为经过参考图像微调过的扩散模型,在推理过程中倾向于产生和参考图像视角相近的图像,造成编辑后 3D 场景的多个视角均是前视图的几何问题。为此,该论文设计了一种类引导的正则化策略,在全局提示中使用特殊描述符 V*,在局部提示中仅使用类词,以利用预训练扩散模型中包含的类先验,使用更几何一致的方式将新概念注入场景中。

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1594147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AutoGen - Build Powerful AI Agents with ChatGPT/GPT-4

原文:AutoGen - Build Powerful AI Agents with ChatGPT/GPT-4 | MLExpert - Crush Your Machine Learning interview In this tutorial, well explore AutoGen1, a Microsoft library that lets you create LLM applications with agents. These agents can communicate and …

Qt控件---输入类

文章目录 QLineEdit(单行输入)设置验证器 QTextEdit(多行输入)QComboBox(下拉框)通过读取文件设置条目 QSpinBox & QDoubleSpinBox(数字微调框)QDateEdit & QTimeEdit &…

十款组装台式电脑可能会用到的主板,看下有没有适合你的

序言 组装台式电脑,还是升级老化的电脑?以下是你需要了解的有关选择合适主板的所有信息。 如果说内存、显卡和 CPU 是 PC 充满活力的四肢,是完成工作和启动你喜爱的游戏的部件,那么主板就是骨架和结缔组织,甚至是灵魂。 可以肯定的是,其他组件在决定 PC 的整体性能和功…

golang 使用栈模拟计算器

思路: // Author sunwenbo // 2024/4/12 16:51 package mainimport ("errors""fmt""strconv" )// 使用数组来模拟一个栈的应用 type Stack struct {MaxTop int //表示栈最大可以存放数的个数Top int //表示栈底&#xff…

【Java集合进阶】数据结构(二又树,二又查找树,平衡二又树)

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

java项目实战之图书管理系统(1)

✅作者简介:大家好,我是再无B~U~G,一个想要与大家共同进步的男人😉😉 🍎个人主页:再无B~U~G-CSDN博客 1.背景 图书管理系统是一种用于管理图书…

MongoDB 初识

介绍 MongoDB是一种开源的文档型数据库管理系统,它使用类似于JSON的BSON格式(Binary JSON)来存储数据。与传统关系型数据库不同,MongoDB不使用表和行的结构,而是采用集合(Collection)(Mysql表)和…

Linux 快问快答

如果对于找 Java 后端开发的话,我感觉会这几个差不多了,面试官应该不会问的这么详细吧。一般就问问 Linux 的几个常用的命令,然后做一些简单的性能排查就好了。如果面试被问到另外的问题,那我再补充进来,现在先掌握这么…

979: 输出利用先序遍历创建的二叉树的后序遍历序列

解法&#xff1a; #include<iostream> using namespace std; struct TreeNode {char val;TreeNode* left;TreeNode* right;TreeNode(char c) :val(c), left(NULL), right(NULL) {}; }; TreeNode* buildTree() {char c;cin >> c;if (c #) {return NULL;}TreeNode*…

CTF之comment

网站的登录框里有提示 账号&#xff1a;zhangwei 密码&#xff1a;zhangwei***&#xff08;后三位要自己猜&#xff09; 用burpsuit抓包爆破发现密码为zhangwei666 进去后就一个留言榜&#xff08;目前没发现怎么用&#xff09; 扫一下网站发现git泄露 1.下载 进入root用户&…

964: 数细胞

样例&#xff1a; 解法&#xff1a; 1.遍历矩阵 2.判断矩阵[i][j]&#xff0c;若是未标记细胞则遍历相邻所有未标记细胞并标记&#xff0c;且计数 实现&#xff1a;遍历相邻所有未标记细胞 以DFS实现&#xff1a; function dfs(当前状态) {if (终止条件) {}vis[标记当前状…

构建动态交互式H5导航栏:滑动高亮、吸顶和锚点导航技巧详解

功能描述 产品要求在h5页面实现集锚点、吸顶及滑动高亮为一体的功能&#xff0c;如下图展示的一样。当页面滑动时&#xff0c;内容区域对应的选项卡高亮。当点击选项卡时&#xff0c;内容区域自动滑动到选项卡正下方。 布局设计 css 布局 为了更清晰的描述各功能实现的方式&…

CentOS 7安装Nginx

说明&#xff1a;本文介绍如何在CentOS 7操作系统中安装Nginx 下载安装 首先&#xff0c;去官网上下载Nginx压缩包&#xff0c;官网地址&#xff1a;https://nginx.org/en/download.html&#xff0c;我这里下载稳定版1.24.0&#xff1b; 上传到云服务器上&#xff0c;解压&am…

数据分析案例(三):基于RFM分析的客户分群

实验2 基于RFM分析的客户分群 Tips&#xff1a;"分享是快乐的源泉&#x1f4a7;&#xff0c;在我的博客里&#xff0c;不仅有知识的海洋&#x1f30a;&#xff0c;还有满满的正能量加持&#x1f4aa;&#xff0c;快来和我一起分享这份快乐吧&#x1f60a;&#xff01; 喜欢…

读书笔记:高效能人士的七个习惯

前言 恐惧感和不安全感 现代社会&#xff0c;太多的人饱受恐惧感的折磨。他们恐惧将来&#xff0c;恐惧失业&#xff0c;恐惧无力养家。这种弱点&#xff0c;常常助长了一种倾向&#xff1a;无论在工作时&#xff0c;还是回到家中&#xff0c;都倾向于零风险的生活&#xff0…

CMMI认证是什么?如何确定CMMI认证的目标和范围

CMMI&#xff08;Capability Maturity Model Integration&#xff09;认证是一种用于评估和改进组织软件和项目管理过程的框架。它由美国国防部软件工程所&#xff08;SEI&#xff09;开发&#xff0c;旨在帮助组织提高其软件和项目管理的成熟度水平。 CMMI认证的意义在于&…

Python求利率

要求 编写程序计算在给定利率、指定年数的情况下投资的未来值。这个计算公式如下。 使用文本域输入投资额、年份和利率。当用户单击“calculate”按钮时&#xff0c;在文本域中显示未来的投资值&#xff0c;如图所示。 代码实现 import tkinter as tkdef calculate():amou…

求圆、圆球和圆柱的面积和体积(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> //定义π常量的值&#xff1b; # define π 3.141526int main() {//初始化变量值&#xff1b;float r, h, S1, S2, P1, V1, V2;int judge 0;//提示用户&#x…

【Spring进阶系列丨第九篇】基于XML的面向切面编程(AOP)详解

文章目录 一、基于XML的AOP1.1、打印日志案例1.1.1、beans.xml中添加aop的约束1.1.2、定义Bean 1.2、定义记录日志的类【切面】1.3、导入AOP的依赖1.4、主配置文件中配置AOP1.5、测试1.6、切入点表达式1.6.1、访问修饰符可以省略1.6.2、返回值可以使用通配符&#xff0c;表示任…

设计模式之大话西游

8年前深究设计模式&#xff0c;现如今再次回锅&#xff5e; 还是大话设计模式 这本书还是可以的 大话西游经典的台词&#xff1a;“曾经有一份真挚的爱情摆在我面前,我没有珍惜,等我失去的时候,我才后悔莫及,人世间最痛苦的事莫过于此。如果上天能够给我一个再来一次的机会,我会…