当前位置: 首页 > news >正文

3D 生成重建004-DreamFusion and SJC :TEXT-TO-3D USING 2D DIFFUSION

3D 生成重建004-DreamFusion and SJC :TEXT-TO-3D USING 2D DIFFUSION


文章目录

      • 0 论文工作
      • 1 论文方法
        • 1.1论文方法
        • 1.2 CFG
        • 1.3影响
        • 1.4 SJC
      • 2 效果

0 论文工作

对于生成任务,我们是需要有一个数据样本,让模型去学习数据分布 p ( x ) p(x) p(x),但是对于3d的生成来说,有两个挑战:1)一个完善的很大的3d数据数据集,对比2d的扩散模型是一个几亿的图像文本对上训练的,对于3d需要更大体量的数据;2)计算量,纯3d生成的策略相比2d计算度复杂度指数增加。所以前面的3d任务都是向办法,将3d监督转换成2d监督进行,减少数据和计算的问题。当然也有基于合成数据集做3d生成的,但是其中也存在一些其他问题。随着对比学习和transformer的进步,CLIP模型第一个比较理想的双模态大模型,打通了文本和图像之间的关系。研究者将模型引入到生成任务中去辅助3d的生成,主要路线是让不同视角的视图的相似度和文本保持一个较高的相似度Janus problem 多面的问题开始出现。
在3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成中已经介绍过从CLIP中提取信息的方法。
在这里插入图片描述
问题的根源是2d数据中虽然隐含了丰富的3d知识,但是是有偏见的,互联网用户显然更加钟爱‘face’,在物体的生成中这个问题的确不明显,因为对于一般的物体不涉及正面还是反面问题。为了解决多面问题,研究者进行过很多探索,主要的解决思路还是两条,一个形状先验,借助形状的引导去环节这个问题,另外一个就是3D经验。前面的zero123,sparseFusion和HOLOdiffusion整体都是基于这个思路,后续单独整理,当然形状本身就是3d,只不过在使用形式上不同。
基于CLIP模型,stable diffusion、DALLE2 和IMAGEN这些文生图模型快速发展。相比于CLIP,扩散模型的文生图在图像和文本之间引入了更加紧密的关联,约束性更强。
论文dreamFusion最早通过蒸馏2d扩散模型中的信息进行文生3d的任务,随后SJC在前者的基础上进行了更详细的公式推导。
参考
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成
dreaamFusion
SJC

1 论文方法

1.1论文方法

对于文生3d这样一个问题,作者采用一个随机初始化的nerf来表示一个三维物体,然后将物体渲染到图像空间,对图像加噪,放入到扩散模型,预测噪声。用预测噪声减去添加噪声作为更新方向。在代码实现过程中会用到一些前后左右上下view等关键词进行约束。
在这里插入图片描述

  上面的图是dreamfusion的整体过程。重点分析后面的实现部分。
  因为一般训练好的扩散模型在使用的过程中是直接输入文本从纯噪声中逐步回复过去,在测试阶段是没有加噪这个步骤的这里为什么是预测噪声减去添加的噪声作为梯度呢。目前的理解是这样预测图像减去输入加噪的图像是梯度二者一减就变成预测噪声-加入噪声了。但是这个地方实际存在一个小小的问题就是,默认要保证nerf的图像和加噪后的图像要保持一个相同的分布,他的梯度才有效引导,但是这里的采样实际加噪是随机的,不太能保证他们的分布吧,可能还需要细看看其中的细节。(ps理解有限)
  这里添加噪声,一个SJC的解释是out of distribution,OOD问题,因为nerf渲染的结果可能不满足预定分布还是什么,这个意思约等于为什么不是图像直接监督,另外一点就是在整体的不断迭代中增加nerf的整体性,因为我们在网络中也**设置了很高的CFG去引导扩散模型生成高确定性的内容。**实际上这个部分也可考虑从得分函数的角度理解,添加噪声就是基于score matching的考量。
参考
NeRF

1.2 CFG

  参考扩散模型基础,因为在条件生成中需要平衡条件和源得分之间的平衡,当这个系数比较小的时候,条件的影响力会降低,生成多样性较好,但是质量受影响。但是增加CFG生成的确定性增加,但是多样性受损。
在文生图的时候一般这个系数是0-10,但是在文生3d的时候设置成了100左右,就是让模型生成高度一致的内容,来保持一致性。但是只用这种方法很受限,所有论文也是用了基于nerf表示的很多次优化,来促进整体的一致性。
论文中使用的是这个形式的损失
在这里插入图片描述
但是在附录中推理他其实也是一种得分函数的形式
在这里插入图片描述
在这里插入图片描述
classifier guided diffusion在这里插入图片描述
当用一个条件去限制的时候能保证我们在一个更小的区间内进行采样。里面包含一个得分项,和一个分类项,分类项需要一直跟着扩散模型进行训练,识别不同噪声状态下的图像。相关的于要训练两个扩散模型。
基于以上一些问题,有一种CFG方法讲他们合并成一个复杂的得分函数。通过系数去控制条件得分和无条件得分之间的状态。这个系数就是dreamfusion中设置为100的系数。在stable diffusion的文生图中一般设置是3-10之间。这个系数过高就是过饱和的主要原因,之所以这么设置,是作者希望在生成的一致性和过饱和之间做个平衡。
在这里插入图片描述上面的两部分基本上是后面的条件生成的基础,比如GLIDE,stable diffusion和controlnet等。

1.3影响

这是一个影响力很强的论文,在讨论部分作者提出了一些未来的看法。这就是发生在差不多半年左右的事情。
1)过饱和跟CFG有关,后面的ProlificDreamer在这个基础上做了推广,一定程度缓解这个问题
2)这项将2D观测结果“提升”到3D世界的任务本质上是模糊的,并可能受益于更健壮的3D先验。实际上就是一致性的问题,后面的3dfuse ,zero123,sparseFusion,holodiffuion等等工作都围绕这一点。
3)论文在附录里面证明了这也是一种得分函数形式,SJC进一步推理验证优化部分细节。
4)提到分辨率问题,后面有magic3d跟进
5)后续从2d扩散模型去蒸馏信息进行3d任务的算法层出不穷,整体上都是受到这篇论文的启发。

1.4 SJC

虽然dreamFusion效果很好但是当时并不开源,SJC在他的基础上直接基于得分函数论证了OOD问题,为什么不直接输入渲染图像进入扩散模型去降噪,然后提出一个扰动平均得分,通过几个点的优化方向的均值作为整体方向。

2 效果

dreamfusion

相关文章:

3D 生成重建004-DreamFusion and SJC :TEXT-TO-3D USING 2D DIFFUSION

3D 生成重建004-DreamFusion and SJC :TEXT-TO-3D USING 2D DIFFUSION 文章目录 0 论文工作1 论文方法1.1论文方法1.2 CFG1.3影响1.4 SJC 2 效果 0 论文工作 对于生成任务,我们是需要有一个数据样本,让模型去学习数据分布 p ( x ) p(x) p(x…...

机械臂抓取的产业落地进展与思考

工业机械臂是一种能够模拟人类手臂动作的机械装置,具有高精度、高速度和高灵活性的特点。近年来,随着人工智能和机器人技术的快速发展,机械臂在工业生产、物流仓储、医疗护理等领域得到了广泛应用。机械臂抓取技术作为机械臂的核心功能之一&a…...

【RuoYi-Cloud项目研究】【ruoyi-auth模块】登录请求(/login)分析

文章目录 0. 网关如何处理登录请求1. Controller1.1. 获取用户信息1.2. 创建用户的token 2. Service2.1. FeignClient远程查询用户信息2.2. 验证密码 3. 何时刷新 token,如何刷新【本文重点】 本文主要是分析登录请求 /login 的过程。 调用过程是:ruoyi-…...

Git 学习笔记 | Git 项目创建及克隆

Git 学习笔记 | Git 项目创建及克隆 Git 学习笔记 | Git 项目创建及克隆创建工作目录与常用指令本地仓库搭建克隆远程仓库 Git 学习笔记 | Git 项目创建及克隆 创建工作目录与常用指令 工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是…...

C++默认参数(实参)

在本文中,您将学习什么是默认参数,如何使用它们以及使用它的必要声明。在C 编程中,您可以提供函数参数的默认值。默认参数背后的想法很简单。如果通过传递参数调用函数,则这些参数将由函数使用。但是,如果在调用函数时…...

Datax数据同步支持SqlServer 主键自增

允许写入的SQL SET IDENTITY_INSERT table_name ON;-- 插入数据,指定主键值 INSERT INTO table_name (id, column1, column2, ...) VALUES (new_id_value, value1, value2, ...);SET IDENTITY_INSERT table_name OFF; 写入插件处理 核心类:com.alibab…...

C++开发学习笔记3

C 中枚举的使用 在C中,枚举常量(Enumeration Constants)是一种定义命名常量的方式。枚举类型允许我们为一组相关的常量赋予有意义的名称,并将它们作为一个独立的类型来使用。 以下是定义和使用枚举常量的示例: enum…...

计算机中常说的SDK是什么意思?

SDK是Software Development Kit的英文缩写,意思是软件开发包。 软件开发包中往往包含有多种辅助进行软件开发的内容,包括一些软件开发工具、文档说明、库和示例代码。这些内容能够帮助使用SDK进行软件开发的人员更好地开发程序。 SDK的作用就是简化软件…...

漏刻有时数据可视化大屏(16)数据指标KPI和柱图折线图混排

CSS样式表 /*面板*/ .pannel {width: 100%;margin-top: 30px;clear: both; }.item_l {float: left;width: 20%; /*3格60%*/margin: 0; }.item_r {float: left;width: 10%; /*4格40%*/margin: 0; }.item_child {float: left;width: 50%; }.item_child_b {float: left;width: 10…...

基于Stable Diffusion的图像合成数据集

当前从文本输入生成合成图像的模型不仅能够生成非常逼真的照片,而且还能够处理大量不同的对象。 在论文“评估使用稳定扩散生成的合成图像数据集”中,我们使用“稳定扩散”模型来研究哪些对象和类型表现得如此逼真,以便后续图像分类正确地分配…...

云计算:常用运维软件工具

目录 一、理论 1.云管理工具 2.虚拟化工具 3.容器管理工具 4.运维自动化工具 5.版本控制工具 6.配置管理工具 7.编辑器工具 8.代码质量工具 9.网络管理工具 10.数据库管理工具 11.数据中心设备管理工具 12.数据可视化工具 13.服务器管理工具 14.应用性能管理工具…...

多测师肖sir_高级金牌讲师_python的安装002

一、python安装 1、python包(我们目前学习的版本是3.7) python-3.7.3 版本 2、Python下载的官网:https://www.python.org/downloads/ 最新包:3.12 3、下载好python安装包,在新建一个python文件件,我们要…...

gin实现event stream

event stream是属于http的一种通信方式,可以实现服务器主动推送。原理于客户端请求服务器之后一直保持链接,服务端持续返回结果给客户端。相比较于websocket有如下区别: 基于http的通信方式,在各类框架的加持下不需要开发人员自己…...

pytorch中transform库中常用的函数有哪些及其用法?

在PyTorch的torchvision.transforms库中,有许多常用的图像变换函数可用于数据增强和预处理。下面列举了一些常用的函数及其用法: Resize(size): 调整图像大小为给定的尺寸。 transform transforms.Resize((256, 256))RandomCrop(size, paddingNone): 随…...

抖音手机实景无人直播间怎么搭建?

手机无人直播已成为用户直播和商家直播带货的一项热门技术趋势,为消费者提供了全新的观看体验。无人直播,顾名思义,即通过无人直播软件或数字人来进行无人直播。这一技术的广泛应用,不仅为短视频渠道带来了更丰富的玩法&#xff0…...

【新书推荐】当 Python 遇到 ChatGPT —— 自动化办公落地

文章目录 当 Python 遇到 ChatGPT:一种强大的组合1. 文本生成2. 自动翻译3. 对话生成4. 情感分析 新书推荐《Python自动化办公应用大全(ChatGPT版):从零开始教编程小白一键搞定烦琐工作(上下册)》前言内容简…...

RSA攻击:Smooth攻击

目录 前言:缘起 P-1光滑攻击 P1光滑攻击 前缀知识 Lucas-Subsquence(卢卡斯序列) 编码实现与理解 小试牛刀 [NCTF 2019]childRSA 引用 前言:缘起 Smooth攻击(光滑攻击),在最近刷题的时候总是能偶尔蹦跶到我的脑子里面。不是天天遇见它&am…...

什么是位域和位段?如何定义和使用位域?

位域(Bit Fields)是C语言中一种用于在数据结构中以位为单位对数据进行精确控制的技术。它们允许程序员将一个整数字段分割成多个更小的部分,每个部分可以存储不同的信息。位域通常在对内存节省要求高、数据压缩或硬件寄存器描述等情况下使用。…...

网络攻防备课笔记

从“踩点”到“创建后门”的攻击流程 踩点:攻击者在实施攻击前对目标进行初步的探索和调查的过程,包括收集目标的IP地址、开放的端口、服务版本、可能的漏洞等信息。 扫描:使用工具如Nmap、Masscan等对目标进行端口扫描,找出开放…...

Apache Solr9.3 快速上手

Apache Solr 简介 Solr是Apache的顶级开源项目,使用java开发 ,基于Lucene的全文检索服务器。 Solr比Lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对Lucene的性能进行了优化。 安装 下载 : 下载地址解压 : tar -zxv…...

按关键字搜索淘宝商品API接口获取商品销量、优惠价、商品标题等参数示例

关键词搜索商品接口的作用是提供搜索功能,让用户根据关键词在电商平台上搜索商品,并根据搜索条件和偏好获取相关的商品列表和推荐结果,提高用户购物体验和准确度。对于电商平台而言,这个接口也能帮助用户发现更多商品、提升销量和…...

【外汇天眼】价格波动的节奏感:优化止盈方法!

止盈,依然是一种经验,而不是一种技术。它涉及到价格波动的灵活应对,以确保我们不会错失潜在的盈利,同时也不会让盈利被逆市波动所侵蚀。以下是关于如何有效实施止盈策略的一些建议: 首先,我们要明确&#…...

VMvare虚拟机安装国产麒麟V10桌面操作系统

一、系统下载 进入银河麒麟官网:https://www.kylinos.cn/ 选择桌面操作系统,然后进入操作系统版本选择页面,选择银河麒麟桌面操作系统V10 选择后,进入系统介绍页面,然后点击申请试用 点击后进入申请页面&#xf…...

Golang--channel+waitGroup控制并发量

文章目录 channelwaitGroup控制并发量前言示例 channelwaitGroup控制并发量 前言 golang的goroutine非常轻量级,同时启动数万协程都没问题。如果不对并发量进行控制,比如同时产生数百万的协程,会压垮服务器通过控制channel缓冲区的大小&…...

前端【响应式图片处理】之 【picture标签】

目录 &#x1f31f;前言&#x1f31f;目前最常见的解决方案&#x1f31f;新的解决方案<picture>&#x1f31f;<picture>的工作原理&#x1f31f;<picture> 兼容性解决方案&#x1f31f;写在最后 &#x1f31f;前言 哈喽小伙伴们&#xff0c;前端开发过程中经…...

js实现链式调用,查询和处理数据

实现一个 query 方法&#xff0c;实现对数据的链式查询和处理 要求如下 query 传入参数为原始数据&#xff08;数组格式&#xff0c;每个元素都是对象&#xff09; 通过进行链式调用对数据执行操作&#xff0c;支持的方法有where(predicate): 根据参数的条件进行筛选&#xff0…...

阿里云 腾讯云 配置二级域名并解析指向非80端口操作指南

目标&#xff1a;主域名 imps.com 已完成配置&#xff0c;新增配置 kpi.imps.com 等二级域名并指向 8083 端口。 &#xff08;此操作需要主域名已经通过备案3天后&#xff0c;最好指向的IP地址网站也通过了备案申请&#xff0c;否则会提示域名没有备案。&#xff09; 操作流程…...

菜单子节点的写法

菜单子节点的写法 1.测试数据2.实现代码3.获取父ID层级 1.测试数据 1.表结构SQL CREATE TABLE test (id int DEFAULT NULL,u_id int DEFAULT NULL,p_u_id int DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci;2.数据SQL INSERT INTO test (i…...

系统架构设计:9 论软件系统架构评估及其应用

目录 一 架构评估的意义 1 性能 2 可用性 3 安全性 4 可修改性 5 易用性...

javaee SpringMVC中json的使用

jsp <%--Created by IntelliJ IDEA.User: 呆萌老师:QQ:2398779723Date: 2019/12/6Time: 15:55To change this template use File | Settings | File Templates. --%> <% page contentType"text/html;charsetUTF-8" language"java" %> <%St…...

做程序的网站/百度保障中心人工电话

有时候添加网络打印机难免会出现稀奇古怪的问题。比如&#xff1a;开始运行中\\ip时候会出现以下提示&#xff1a;添加打印机显示你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。但是遇到这个问题对某些不懂电脑的人来说比较困难&#xff0c;…...

重庆市设计公司网站/宁波网站优化公司推荐

点击角色,显示该角色下的用户,并且可以对该角色下的用户进行添加或删除,此处类似一个穿梭框 SysRoleController部分代码如下: @RequestMapping("/changeUsers.json")@ResponseBodypublic JsonData changeUsers(@RequestParam("roleId") int roleId,...

黑彩网站怎么建设/怎么开网站平台挣钱

版权所有&#xff0c;转载请说明转自 http://my.csdn.net/weiqing1981127 二&#xff0e;内核代码 2.1输入子系统设备驱动层 我们先从设备驱动层进行讲解 首先设备驱动层调用input_allocate_device进行申请input_dev结构体&#xff0c;接着对该结构体进行赋值&#xff0c;然…...

天津网站建设公司推荐/seo查询官方网站

提前保存大量的资源&#xff0c;以备不时之需以及重复使用。池化技术应用广泛&#xff0c;如内存池&#xff0c;线程池&#xff0c;连接 池等等。 由于在实际应用当做&#xff0c;分配内存、创建进程、线程都会设计到一些系统调用&#xff0c;系统调用需要导致程 序从用户态切换…...

百度官网网站登录/网上的推广公司

bump chart图表通常用于在不同排名中连接相同的事物&#xff0c;显示排名之间的相互联系。 例如在下图所示的图表中&#xff0c;bump chart用来联系超市的每种商品在不同年份的销售额排名情况&#xff0c;以显示物品在不同年份的销售额变化。 一、绘制bump chart图 数据集使用…...

免99费视频在线观看大片/seo店铺描述例子

PACS是现代网络信息技术和医疗影像技术高速发展的产物。在建设数字化医院所需要的极为庞大的医学信息系统中&#xff0c;PACS占据着重要的地位&#xff0c;在某种程度上&#xff0c;PACS系统的成功运行也标志着一所医院是否真正地实现了数字化。1 、 PACS 功能全面实现影像数字…...