[23] Instruct 3D-to-3D: Text Instruction Guided 3D-to-3D conversion

news/2024/7/24 7:19:51 标签: 计算机视觉, 人工智能, AIGC, 3D-to-3D, NeRF

  • 本文提出一种3D-to-3D转换方法:Instruct 3D-to-3D
  • 借助预训练的Image-to-Image扩散模型,本文方法可以使各个视角图片的似然最大;本文方法显式地将source 3D场景作为condition,可以有效提升3D连续性和可控性。
  • 同时,本文还提出dynamic scaling,使得几何变换的强度是可调整的。

目录

Related Works

Text-to-3D models

Proposed Method

3D-to-3D-toc" style="margin-left:40px;">Pipeline of Instruct 3D-to-3D

Dynamic Scaling

Experiments

Qualitative Evaluations

Quantitative Evaluations

User Study

Sensitivity to the Scaling Strategy

Limitations


Related Works

Text-to-3D models

DreamFields是第一个实现Text-to-3D的工作。DreamFields用CLIP引导生成,但是生成效果不佳。

DreamFusion是第一个将diffusion应用在Text-to-3D任务上的方法。对于任意输入图片,根据采样得到噪声和时间,生成噪声图像:。噪声图像可用于计算损失的梯度:

其中,y是文本描述。但是现有方法有两个问题:1)直接fine-tune 3D场景,可能到导致失去原3D场景的特征;2)需要对转换后的场景有详细的文本描述。

Proposed Method

3D-to-3D">Pipeline of Instruct 3D-to-3D

1. target model基于source model初始化;

2. 随机相机位姿c,用target model渲染目标图像I_tgt;将I_tgt送入StableDiffusion的encoder获得对应的隐码特征L_tgt。

3. 添加噪声:

4. 用source model和相机位姿c,渲染source image I_src;

5. 将x_t送入InstructPix2Pix,其中,source image I_src和text instruction y是控制条件。

6. 由于有两个控制条件,最后的噪声由下式求得,其中s_I和s_T是用于控制图片和文本控制强度的超参数。

7. 梯度可求得:

Dynamic Scaling

本文使用DVGO,该方法是一中voxel grid-based implicit 3D representations,以3D vocel grid的形式保留密度和颜色信息。

voxel grid是3D空间的离散部分,每个vertex描述颜色和密度信息。体渲染是基于射线周围vertices的插值信息求得。

3D场景的分辨率由voxels数量决定。DVGO中使用progressive scaling策略,在训练过程中逐步增加voxels数量:

本文中,vocels的数量初始化为N,但这会导致形状较难改变,因此本文提出dynamic scaling。该方法从N到N/2^l,逐渐减少voxels的数量,随后再逐渐恢复至N。图(3-b)展示了该过程。

Experiments

Qualitative Evaluations

 

Quantitative Evaluations

  • 计算CLIP score和BRISQUE score

 

User Study

Sensitivity to the Scaling Strategy

 

 

Limitations

 

 

 

 

 

 

 


http://www.niftyadmin.cn/n/4926354.html

相关文章

IntelliJ IDEA如何重新弹出git身份验证窗口

1、点击File菜单—>点击Settings—>点击Appearance & Behavior—>点击System Settings—>点击Passwords—>选中Do not save, forget passwords after restart—>点击Apply—>点击OK,如下所示: 2、重启IntelliJ IDEA—>通过g…

【雕爷学编程】Arduino动手做(199)---8x32位WS2812B全彩屏模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

FFmpeg接收UDP码流

一、FFmpeg参数初始化: //在打开码流前指定各种参数比如:探测时间/超时时间/最大延时等//设置缓存大小,1080p可将值调大av_dict_set(&options, "buffer_size", "8192000", 0);//以tcp方式打开,如果以udp方式打开将tcp替换为udpav_dict_set(…

数据结构【第4章】——栈与队列

队列是只允许在一端进行插入操作、而在另-端进行删除操作的线性表。 栈 栈与队列:栈是限定仅在表尾进行插入和删除操作的线性表。 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)&…

适用HarmonyOS 3.1版本及以上的应用及服务开发工具 DevEco Studio 3.1.1 Release 安装

文章目录 安装步骤1.下载安装包2.安装成功后,初次运行studio2.1 配置node与ohpm的环境2.2安装sdk2.3等待安装结束 3.创建项目3.1 点击Create Project3.2 选择一个空项目3.3 项目配置3.4 Finish、等待依赖下载完毕3.5 项目创建完成 tip 提示4.配置运行环境4.1 真机运…

VGG16模型详解

VGG16模型详解 0、VGG16介绍 VGG16是一种深度卷积神经网络,由牛津大学的研究团队于2014年开发。 VGG16在2014年的ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 竞赛中取得了显著的成绩。它在图像分类任务中获得了当年的第二名,其准确…

Python 条件语句的高级应用

文章目录 0、背景1、处理多个条件语句1.1 对于all()的一般例子如下: 1.2 对于any()的一般例子如下: 0、背景 原文链接点击这里,本文主要是做收藏。 1、处理多个条件语句 如果我们在代码中需要检查多个条件语句,此时我们可以使用 all() 或any() 函数来…

【力扣】61. 旋转链表 <快慢指针>

【力扣】61. 旋转链表(每个节点向右移k个单位) 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 示例 2&a…